北工大電子工程設(shè)計(jì)報(bào)告(小型溫度控制系統(tǒng))_第1頁(yè)
北工大電子工程設(shè)計(jì)報(bào)告(小型溫度控制系統(tǒng))_第2頁(yè)
北工大電子工程設(shè)計(jì)報(bào)告(小型溫度控制系統(tǒng))_第3頁(yè)
北工大電子工程設(shè)計(jì)報(bào)告(小型溫度控制系統(tǒng))_第4頁(yè)
北工大電子工程設(shè)計(jì)報(bào)告(小型溫度控制系統(tǒng))_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、電子工程設(shè)計(jì)報(bào)告題目:溫度測(cè)量系統(tǒng)/閉環(huán)溫度控制系統(tǒng)設(shè)計(jì)專業(yè):電子科學(xué)與技術(shù)小組:第14小組姓名學(xué)號(hào):王寧 高潔 指導(dǎo)教師:張印春完成日期:2014.12.20目錄中文摘要3關(guān)鍵詞31 課題背景41.1 課題背景41.2 設(shè)計(jì)概述42 簡(jiǎn)單電路的模塊化設(shè)計(jì)與實(shí)現(xiàn)52.1 單片機(jī)應(yīng)用電路設(shè)計(jì)與實(shí)現(xiàn)52.1.1基本要求52.1.2設(shè)計(jì)方案52.1.3單片機(jī)系統(tǒng)的調(diào)試72.1.4調(diào)試中遇到的問(wèn)題92.2模/數(shù)轉(zhuǎn)換電路設(shè)計(jì)與實(shí)現(xiàn)92.2.1實(shí)驗(yàn)要求92.2.2設(shè)計(jì)方案102.2.3電路主要參數(shù)計(jì)算112.2.4 模數(shù)轉(zhuǎn)換電路模塊的調(diào)試122.3顯示與鍵盤控制電路設(shè)計(jì)與實(shí)現(xiàn)132.3.1基本要求:132

2、.3.2設(shè)計(jì)方案:132.3.3顯示模塊模塊的調(diào)試152.3.4鍵盤模塊的調(diào)試172.4數(shù)/模(D/A)轉(zhuǎn)換電路設(shè)計(jì)與實(shí)現(xiàn)202.4.1基本要求:202.4.2設(shè)計(jì)方案202.4.3數(shù)模轉(zhuǎn)換模塊的調(diào)試223 整體電路的調(diào)試與功能實(shí)現(xiàn)243.1環(huán)境溫度顯示功能的實(shí)現(xiàn)243.2閉環(huán)溫度控制功能的實(shí)現(xiàn)24附錄26中文摘要本電子工程設(shè)計(jì)的任務(wù)是完成一套小型的溫度測(cè)量與控制系統(tǒng)。這個(gè)系統(tǒng)需要完成非電量到電量信號(hào)轉(zhuǎn)換、信號(hào)處理、數(shù)據(jù)采集、數(shù)據(jù)處理、人機(jī)交互、數(shù)據(jù)通信、控制等設(shè)計(jì)工作,幾乎覆蓋一般電子系統(tǒng)的所有設(shè)計(jì)環(huán)節(jié)。其中包含有三個(gè)階段。本報(bào)告為第二階段內(nèi)容,在第一階段電源模塊、變送器模塊,驅(qū)動(dòng)器模塊的基

3、礎(chǔ)上,又包含:?jiǎn)纹瑱C(jī)模塊的設(shè)計(jì)與實(shí)現(xiàn);數(shù)模轉(zhuǎn)換模塊的設(shè)計(jì)與實(shí)現(xiàn);模數(shù)轉(zhuǎn)換模塊的設(shè)計(jì)與實(shí)現(xiàn);鍵盤顯示模塊的設(shè)計(jì)與實(shí)現(xiàn)。在上述七個(gè)模塊的基礎(chǔ)上,通過(guò)軟件設(shè)計(jì)完成環(huán)境溫度的顯示與閉環(huán)溫度控制兩大功能。并通過(guò)鍵盤很方便的進(jìn)行兩大功能的自由切換和目標(biāo)控制溫度的設(shè)定。 本報(bào)告針對(duì)以上模塊分別詳細(xì)給出了設(shè)計(jì)要求、方案設(shè)計(jì)、電路設(shè)計(jì)、原理分析、電路調(diào)試、電路故障等方面的內(nèi)容,以完整反映實(shí)驗(yàn)過(guò)程。 關(guān)鍵詞【關(guān)鍵詞】 單片機(jī);溫度;閉環(huán)控制1 課題背景1.1 課題背景在化工、石油、冶金等生產(chǎn)過(guò)程的物理過(guò)程和化學(xué)反應(yīng)中,溫度往往是一個(gè)很重要的量,需要準(zhǔn)確地加以控制。因此以溫度作為被控制量的反饋控制系統(tǒng)廣泛的應(yīng)用于其

4、他領(lǐng)域,是用途很廣的一類工業(yè)控制系統(tǒng)。溫度控制系統(tǒng)常用來(lái)保持溫度恒定或者使溫度按照某種規(guī)定的程序變化。目前,溫度控制系統(tǒng)是應(yīng)用最廣泛的閉環(huán)控制系統(tǒng),不但走進(jìn)了工廠,而且走進(jìn)了千家萬(wàn)戶,為老百姓服務(wù)。本課程通過(guò)對(duì)閉環(huán)溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),逐步掌握系統(tǒng)的設(shè)計(jì)方法與設(shè)計(jì)流程,掌握單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與調(diào)試,并鍛煉在調(diào)試中發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的能力。1.2 設(shè)計(jì)概述本報(bào)告所涉及的小型溫度控制系統(tǒng)為教學(xué)實(shí)驗(yàn)系統(tǒng),所以只提出功能、指標(biāo)和采用元件的設(shè)計(jì)要求。(1)溫度控制范圍:0100 (2)測(cè)溫元件:半導(dǎo)體溫度傳感器AD592(3)溫度控制執(zhí)行元件:半導(dǎo)體制冷片(4)核心控制部件:C8051F系列單片機(jī)

5、小型溫度控制系統(tǒng)基本組成如圖所示: 圖1. 1 系統(tǒng)整體功能框圖 需要說(shuō)明的是本報(bào)告是在第一階段簡(jiǎn)單電路的模塊化實(shí)現(xiàn)的基礎(chǔ)上,通過(guò)更加復(fù)雜電路的設(shè)計(jì)與實(shí)現(xiàn),并配合相關(guān)軟件設(shè)計(jì),共同完成溫度控制任務(wù)。一般來(lái)說(shuō)一個(gè)比較復(fù)雜的電路系統(tǒng),可以按照電路實(shí)現(xiàn)的功能或電路的類型分為若干個(gè)模塊。其中有些模塊與其它模塊之間的界面清晰,入口參數(shù)和出口參數(shù)明確,能夠獨(dú)立工作,這類電路模塊可以稱之為獨(dú)立電路模塊。為了簡(jiǎn)化系統(tǒng)電路的設(shè)計(jì)工作,并且使系統(tǒng)便于組裝、調(diào)試,這類電路模塊可以單獨(dú)進(jìn)行設(shè)計(jì)、實(shí)現(xiàn)和調(diào)試、檢測(cè)。本階段的設(shè)計(jì)任務(wù)仍然采取模塊化的方法,分模塊進(jìn)行設(shè)計(jì)與焊接、調(diào)試。這樣可以有效降低模塊設(shè)計(jì)的難度,分模塊調(diào)

6、試,也是調(diào)試更加方便,降低了系統(tǒng)失敗的風(fēng)險(xiǎn)。本階段上上階段已完成電源模塊、變送器模塊和驅(qū)動(dòng)器模塊的設(shè)計(jì)與實(shí)現(xiàn)的基礎(chǔ)上。繼續(xù)完成單片機(jī)模塊、AD模塊、DA模塊、鍵盤顯示模塊的設(shè)計(jì)與實(shí)現(xiàn)。并在各模塊的基礎(chǔ)上完成軟件設(shè)計(jì),實(shí)現(xiàn)環(huán)境溫度的采集與顯示,環(huán)境溫度的閉環(huán)控制兩大功能,成功完成了預(yù)期目標(biāo)。2 簡(jiǎn)單電路的模塊化設(shè)計(jì)與實(shí)現(xiàn)2.1 單片機(jī)應(yīng)用電路設(shè)計(jì)與實(shí)現(xiàn)2.1.1基本要求片選信號(hào): 6個(gè) 地址信號(hào): 4個(gè)數(shù)據(jù)總線: AD0AD7控制信號(hào): WR,RD 安裝: 獨(dú)立電路板結(jié)構(gòu)2.1.2設(shè)計(jì)方案采用以MCS-51(C8051F023)為核心的單片機(jī)做為控制芯片。MCS-51系列單片機(jī)有眾多性能優(yōu)異的兼

7、容產(chǎn)品、成熟的開發(fā)環(huán)境、世界上最大的單片機(jī)客戶群、高性價(jià)比、暢通的供貨渠道,是初學(xué)者的首選機(jī)型。本電路直接采用成品單片機(jī)最小系統(tǒng)版,最小系統(tǒng)版內(nèi)置晶振與復(fù)位電路,可以簡(jiǎn)化設(shè)計(jì),方便焊接,也增加了設(shè)計(jì)與實(shí)現(xiàn)的成功率。是單片機(jī)模塊更加可靠。圖2. 1典型的51單片機(jī)的最小系統(tǒng)電路圖本次設(shè)計(jì)采取總線結(jié)構(gòu),把單片機(jī)的P1口作為數(shù)據(jù)總線接口,P1、P2口聯(lián)合使用作為地址總線接口。通過(guò)總線結(jié)構(gòu)設(shè)計(jì),可以有效減輕軟件設(shè)計(jì)難度,也是單片機(jī)控制的多個(gè)功能部件更加協(xié)調(diào)一致的工作。圖2. 2 單片機(jī)總線設(shè)計(jì)框圖如圖2.2所示,控制系統(tǒng)在數(shù)據(jù)/地址傳輸上采用數(shù)據(jù)/地址分離設(shè)計(jì);在控制上采用部分譯碼電路。數(shù)據(jù)/地址分離

8、電路設(shè)計(jì):?jiǎn)纹瑱C(jī)模塊P3口為數(shù)據(jù)/地址復(fù)用端口,為了得到低8位地址,采用74LS373鎖存器構(gòu)成典型的數(shù)據(jù)/地址分離電路。地址譯碼電路設(shè)計(jì):采用74LS138構(gòu)成部分譯碼電路。具體電路圖如下:圖2. 3單片機(jī)系統(tǒng)設(shè)計(jì)電路圖為便于各模塊協(xié)調(diào)一致的工作,電路設(shè)計(jì)統(tǒng)一接口模式,方便調(diào)試與查錯(cuò),單片機(jī)模塊安裝接口如圖2.4所示。圖2. 4 單片機(jī)模塊裝結(jié)構(gòu)圖2.1.3單片機(jī)系統(tǒng)的調(diào)試調(diào)試平臺(tái):電子工程設(shè)計(jì)訓(xùn)練調(diào)試臺(tái)調(diào)試內(nèi)容:地址譯碼電路輸出檢測(cè) 適用電路:部分地址譯碼電路 測(cè)試設(shè)備:JTAG適配器單片機(jī)應(yīng)用系統(tǒng)板150MHz數(shù)字雙蹤示波器調(diào)試方法:1、檢查電路連線無(wú)誤后,將電路板安裝在測(cè)試臺(tái)上2、斷開

9、譯碼電路負(fù)載,運(yùn)行測(cè)試程序,檢查各輸出引腳是否有輸出, 各個(gè)輸出之間相對(duì)位置關(guān)系是否正確;3、用示波器觀察CS0 CS5引腳,應(yīng)有圖示的波形輸出。如果沒(méi)有輸出或者彼此關(guān)系錯(cuò)亂,都表明電路中存在故障。CS0 CS5輸出波形圖如圖2.5所示:CS0:CS1:CS2:CS3:圖2. 5 單片機(jī)模塊調(diào)試波形圖調(diào)試程序:#include C8051F020.h#include absacc.h#include data_define.c#define C1 XBYTE0x0000#define C2 XBYTE0x2000#define C3 XBYTE0x4000#define C4 XBYTE0x6

10、000#include Init_Device.cvoid main(void) Init_Device();while(1) C1=0; C2=0; C3=0; C4=0;2.1.4調(diào)試中遇到的問(wèn)題剛開始調(diào)試的時(shí)候,我們直接用程序觀察模擬溫度的變化,發(fā)現(xiàn)出錯(cuò)。緊接著就用示波器觀察CS0CS5的波形,但是并沒(méi)有得到正確的波形,CS1常為高,CS3和CS5的波形也是不對(duì)。后又檢查電路,發(fā)現(xiàn)線路接線正確,又檢查線路通斷,發(fā)現(xiàn)我們的電路板本身應(yīng)該相連接的暗線部分沒(méi)有連通。隨后進(jìn)行了補(bǔ)救式的焊接,焊接問(wèn)題這次應(yīng)該解決了,我們就進(jìn)行了又一次的測(cè)試,結(jié)果發(fā)現(xiàn)仍然是沒(méi)有完全改善,CS1仍舊是常為高。這次我們

11、檢查了138、244和00這三片,發(fā)現(xiàn)不是芯片的問(wèn)題,最后尋求老師幫助,檢查得出結(jié)論,我們的單片機(jī)第6腳是壞掉的,這才導(dǎo)致CS1總是有問(wèn)題。換了一個(gè)備用單片機(jī),問(wèn)題迎刃而解,最終得到正確波形。完成了單片機(jī)模塊的設(shè)計(jì)與調(diào)試。表2. 1 常見故障及原因故障現(xiàn)象故障原因輸出全部沒(méi)有變化74LS373未接電源輸出全部沒(méi)有變化74LS373漏接+5V輸出全部沒(méi)有變化74LS373漏接地線輸出全部沒(méi)有變化未接ALE或ALE無(wú)效 輸出關(guān)系混亂 AD0 AD3接錯(cuò)對(duì)應(yīng)引腳無(wú)輸出AD0 AD3漏接2.2模/數(shù)轉(zhuǎn)換電路設(shè)計(jì)與實(shí)現(xiàn)2.2.1實(shí)驗(yàn)要求輸入信號(hào)范圍: 0V+5V分辨率: 8bit精度: 1LSB轉(zhuǎn)換時(shí)間

12、: 1ms安裝: 獨(dú)立電路板結(jié)構(gòu)2.2.2設(shè)計(jì)方案本次設(shè)計(jì)AD轉(zhuǎn)換電路采用芯片ADC0804,芯片主要參數(shù)如下:工作電壓:+5V,即VCC=+5V。 模擬輸入電壓范圍:0+5V,即0Vin+5V。 分辨率:8位,即分辨率為1/2=1/256,轉(zhuǎn)換值介于0255之間。 轉(zhuǎn)換時(shí)間:100us(fCK=640KHz時(shí))。 轉(zhuǎn)換誤差:1LSB。 參考電壓:2.5V,即Vref=2.5V。模數(shù)轉(zhuǎn)換器,是將模擬電信號(hào)轉(zhuǎn)變成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào)。在模數(shù)轉(zhuǎn)換中,應(yīng)根據(jù)測(cè)量精度要求,考慮轉(zhuǎn)換電路的精度和分辨率,并力求降低成本。模數(shù)轉(zhuǎn)換有多種方法可以實(shí)現(xiàn),如采用電壓/頻率變換器,以頻率或脈寬來(lái)計(jì)算溫度,也可以采

13、用A/D變換器或其它方法。如采用A/D變換器,應(yīng)考慮轉(zhuǎn)換器輸入阻抗和變送器輸出阻抗對(duì)信號(hào)的衰減可能引起的測(cè)試誤差,并盡量降低這一誤差。板間連接應(yīng)注意保護(hù)。根據(jù)課設(shè)要求,溫度0100 的變化是用電壓05V表示的,轉(zhuǎn)成數(shù)字表示,即0FFH。AD電路模塊電路圖如圖2.6所示圖2. 6AD模塊工作的時(shí)序圖如圖2.7所示。圖2. 72.2.3電路主要參數(shù)計(jì)算(1) 轉(zhuǎn)換精度:A/D轉(zhuǎn)換器也采用分辨率和轉(zhuǎn)換誤差來(lái)描述轉(zhuǎn)換精度。分辨率是指引起輸出數(shù)字量變動(dòng)一個(gè)二進(jìn)制碼最低有效位(LSB)時(shí),輸入模擬量的最小變化量。他反映了A/D轉(zhuǎn)換器對(duì)輸入模擬量微小變化的分辨能力。在最大輸入電壓一定時(shí),位數(shù)越多,量化單位越

14、小,分辨率越高。轉(zhuǎn)換誤差通常用輸出誤差的最大值形式給出,常用最低有效位的倍數(shù)表示,反映A/D轉(zhuǎn)換器實(shí)際輸出數(shù)字量和理論輸出數(shù)字量之間的差異。(2) 轉(zhuǎn)換時(shí)間:轉(zhuǎn)換時(shí)間是指轉(zhuǎn)換控制信號(hào)(vL)到來(lái),到A/D轉(zhuǎn)換器輸出端得到穩(wěn)定的數(shù)字量所需要的時(shí)間。轉(zhuǎn)換時(shí)間與A/D轉(zhuǎn)換器類型有關(guān),並行比較型一般在幾十個(gè)納秒,逐次比較型在幾十個(gè)微秒,雙積分型在幾十個(gè)毫秒數(shù)量級(jí)。實(shí)際應(yīng)用中,應(yīng)根據(jù)數(shù)據(jù)位數(shù)、輸入信號(hào)極性與范圍、精度要求和采樣頻率等幾個(gè)方面綜合考慮A/D轉(zhuǎn)換器的選用。(3) 8位數(shù)模轉(zhuǎn)換電路主要技術(shù)指標(biāo):分辨率 - 8位:表示能夠分辨的最小電壓變化DATA 為 1 時(shí)的 Vi 表示最小電壓變化 誤差 -

15、 1LSB轉(zhuǎn)換時(shí)間 - 100微秒為便于各模塊協(xié)調(diào)一致的工作,電路設(shè)計(jì)統(tǒng)一接口模式,方便調(diào)試與查錯(cuò),模數(shù)裝換模塊安裝接口如圖2.8所示。圖2. 8 模數(shù)轉(zhuǎn)換電路安裝結(jié)構(gòu)圖2.2.4 模數(shù)轉(zhuǎn)換電路模塊的調(diào)試改變?cè)O(shè)置溫度,運(yùn)行A/D測(cè)試程序,檢查模/數(shù)轉(zhuǎn)換結(jié)果。一般為05伏特之間改變,相應(yīng)數(shù)為0255.調(diào)試源程序?yàn)椋?include C8051F020.h#include absacc.h#include data_define.c#define CS1 XBYTE0x2000#define TIMER 0x8000#include Init_Device.cvoid delay(void);vo

16、id main(void) unsigned char x; Init_Device();while(1) CS1=x; delay(); x=CS1; delay(); void delay(void) unsigned int i; for(i=0;iTIMER;+i);一般故障檢測(cè)方法為:查數(shù)據(jù)線是否漏接, 若A/D轉(zhuǎn)換結(jié)果數(shù)值不隨設(shè)置溫度正比變化檢查數(shù)據(jù)線是否錯(cuò)接;查Vin(-)是否接GND;查 Vin(+) 是否有變化,如無(wú)變化,逆向檢查直至變送器輸出。 若電源連接正常,查CLK-IN引腳是否有鋸齒波信號(hào)輸出,若沒(méi)有輸出檢查相關(guān)元件連接是否正確,若頻率過(guò)高(正常約為640KHz)檢查

17、元件參數(shù)是否有誤。如果元件連接及元件參數(shù)無(wú)誤仍無(wú)信號(hào)輸出,則ADC0804損壞。若CLK-IN引腳有正常的鋸齒波信號(hào)輸出,可修改測(cè)試程序,將延時(shí)子程序或延時(shí)函數(shù)去掉,加快程序循環(huán)的時(shí)間,檢查轉(zhuǎn)換控制信號(hào)、和數(shù)據(jù)讀取控制信號(hào)WR/RD是否正常。若上述控制信號(hào)正常,則可能是ADC0804損壞。2.3顯示與鍵盤控制電路設(shè)計(jì)與實(shí)現(xiàn)2.3.1基本要求:1、4 位7 段數(shù)碼顯示,前 3 位含小數(shù)點(diǎn)2、0 9數(shù)字輸入鍵及若干功能設(shè)置按鍵控制3、獨(dú)立電路板安裝結(jié)構(gòu)2.3.2設(shè)計(jì)方案:?jiǎn)纹瑱C(jī)與LED顯示器有兩種接口方法。動(dòng)態(tài)顯示電路方案:電路簡(jiǎn)單,成本低,控制程序復(fù)雜,適用于顯示位數(shù)較多的場(chǎng)合。可使用智能芯片8

18、279完成。本階段我們用74LS273 設(shè)計(jì)顯示數(shù)據(jù)輸出電路,然后用74LS244設(shè)計(jì)鍵盤狀態(tài)讀入電路,最后設(shè)計(jì)出總的實(shí)驗(yàn)電路圖,顯示模塊的電路原理圖如圖2.9所示。圖2. 9 顯示模塊電路原理圖矩陣鍵盤電路方案:按鍵較多時(shí),成本低,控制程序較直讀電路復(fù)雜,適用于顯示位數(shù)較多的場(chǎng)合。鍵盤電路的電路圖如圖2.10所示。圖2. 10 鍵盤模塊電路圖鍵盤模塊工作的時(shí)序圖如圖2.11所示。圖2. 11鍵盤模塊工作時(shí)序圖為便于各模塊協(xié)調(diào)一致的工作,電路設(shè)計(jì)統(tǒng)一接口模式,方便調(diào)試與查錯(cuò),鍵盤顯示模塊安裝接口如圖2.12所示。圖2. 12 鍵盤顯示模塊安裝結(jié)構(gòu)圖2.3.3顯示模塊模塊的調(diào)試(1)顯示電路模塊

19、調(diào)試源程序:#include C8051F020.h#include absacc.h#include data_define.c#define DP1 XBYTE0x0000#define DP2 XBYTE0x0001#define DP3 XBYTE0x0002#define DP4 XBYTE0x0003#define TIMER 0x8000#include Init_Device.cunsigned char table =0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90;void delay(void);void display

20、(unsigned char x,y);void main(void) unsigned char i,num=0; Init_Device(); DP1=DP2= DP3=DP4=0xff; while(1) for(num=0;num10;+num) i+; if(i=4) display(i,num); else i=1; display(i,num); delay( ); 在使用了這個(gè)程序之后發(fā)現(xiàn),顯示模塊出現(xiàn)了問(wèn)題,于是在張老師的幫助下,幫我們修改了程序,這才在一周實(shí)驗(yàn)的最后結(jié)尾部分查出了問(wèn)題。程序如下:#include C8051F020.h#include absacc.h#in

21、clude data_define.c#define DP1 XBYTE0x0000#define DP2 XBYTE0x0001#define DP3 XBYTE0x0002#define DP4 XBYTE0x0003#define TIMER 0x8000#include Init_Device.cunsigned char data table1=0x10,0xF9,0x0A,0x09,0xE1,0x05,0x04,0xD9,0x00,0x01;unsigned char data table2=0x04,0xAF,0xC0,0x82,0x23,0x12,0x10,0x8F,0x00,

22、0x02;unsigned char data table3=0x40,0xF5,0x82,0x81,0x31,0x09,0x08,0xE5,0x00,0x01;unsigned char data table4=0x04,0xEE,0x58,0x4A,0xAA,0x0B,0x01,0x6E,0x00,0x02;void display(unsigned char x,unsigned char y) DP3=table3x; DP4=table4y; void main(void) unsigned char l_val,r_val,r_state,temp,conter,x,c; int

23、key; DP1=DP2=DP3=DP4=0xff; Init_Device();while(1) key=0x0004; for(x=1;x5;x+,key+) c=XBYTEkey; if(r_state=c&0x1f) for(conter=1,temp=0x01;conter6;+conter,temp=temp1) if(r_state&temp)!=0) r_val=conter; l_val=x; display(l_val,r_val); (2)顯示模塊故障檢測(cè)方法:運(yùn)行顯示模塊測(cè)試程序,如果電路工作正常,在4個(gè)數(shù)碼管上應(yīng)有數(shù)字 0-9 滾動(dòng)顯示。否則,說(shuō)明電路存在故障,可以根

24、據(jù)故障現(xiàn)象,按照下面的方法進(jìn)行檢查。全黑:數(shù)碼管未接電源, 74LS237未接電源或地, 74LS237觸發(fā)控制信號(hào)(CK)不正常, 數(shù)據(jù)線全部漏接全亮:74LS237的CLR引腳未接高電平,亂顯示且無(wú)規(guī)律、無(wú)變化:74LS237觸發(fā)控制信號(hào)(CK)不正常二次譯碼信號(hào)線上無(wú)信號(hào):一次譯碼信號(hào)線漏接或信號(hào)線上無(wú)信號(hào), 二次譯碼電路74LS138的E2、E3連接錯(cuò)誤, 二次譯碼電路74LS138漏接電源或地線, 地址信號(hào)( 74LS138 的A、B、C輸入)不正常, 訪問(wèn)地址錯(cuò)誤2.3.4鍵盤模塊的調(diào)試運(yùn)行鍵盤控制電路的測(cè)試程序,如果電路工作正常,在鍵盤上每按 1 個(gè)鍵,都會(huì)通過(guò) 2 位數(shù)碼顯示管

25、,顯示相應(yīng)的行編碼和列編碼。否則,說(shuō)明電路存在故障。調(diào)試源程序如下#include C8051F020.h#include absacc.h#include data_define.c#define DP1 XBYTE0x7000#define DP2 XBYTE0x7100#define DP3 XBYTE0x7200#define DP4 XBYTE0x7300#define TIMER 0x8000#include Init_Device.cunsigned char table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;void

26、 display(unsigned char x,unsigned char y) DP3=tablex; DP4=tabley;void main(void) unsigned char l_val,r_val,r_state,temp,cont,x,c; int key; DP1=DP2=DP3=DP4=0xff; Init_Device(); while(1) key=0x0004; for(x=1;x5;x+,key+) c=XBYTEkey; if(r_state=c&0x1f) for(cont=1,temp=0x01;cont6;+cont,temp=temp1) if(r_st

27、ate&temp)!=0) r_val=cont; l_val=x; display(l_val,r_val); 用此程序我們發(fā)現(xiàn)雖然顯示部分已經(jīng)沒(méi)問(wèn)題了,但是鍵盤部分又出現(xiàn)了問(wèn)題,幸好有張老師的幫助,老師在百忙之中幫我們修改程序,檢查問(wèn)題,之后我又細(xì)細(xì)檢查電路,發(fā)現(xiàn)是由于抄寫電路圖時(shí)的粗心,導(dǎo)致線路接錯(cuò)。調(diào)試時(shí)修改的程序如下:#include C8051F020.h#include absacc.h#include data_define.c#define DP1 XBYTE0x0000#define DP2 XBYTE0x0001#define DP3 XBYTE0x0002#define

28、 DP4 XBYTE0x0003#define TIMER 0xff#include Init_Device.cunsigned char data table1=0x10,0xF9,0x0A,0x09,0xE1,0x05,0x04,0xD9,0x00,0x01;unsigned char data table2=0x04,0xAF,0xC0,0x82,0x23,0x12,0x10,0x8F,0x00,0x02;unsigned char data table3=0x40,0xF5,0x82,0x81,0x31,0x09,0x08,0xE5,0x00,0x01;unsigned char da

29、ta table4=0x04,0xEE,0x58,0x4A,0xAA,0x0B,0x01,0x6E,0x00,0x02;void delay(void);void display(unsigned char x,unsigned char y);void main(void) unsigned char i=0,num=0; Init_Device();/while(1) DP1=DP2=DP3=DP4=0xff; while(1) for(num=0;num9;+num) i+; if(i=4) display(i,num); else i=1; display(i,num); delay(

30、 );delay( );delay( );delay( ); void display(unsigned char x,unsigned char y) if(x=1) DP1=table1y; else if(x=2) DP2=table2y; else if(x=3) DP3=table3y; else DP4=table4y; void delay(void) unsigned char data i,j; for(i=0;iTIMER;+i) for(j=0;jTIMER;+j); 2.4數(shù)/模(D/A)轉(zhuǎn)換電路設(shè)計(jì)與實(shí)現(xiàn)2.4.1基本要求:輸入范圍: 00H 0FFH 對(duì)應(yīng)輸出: -

31、10V+10V 誤差: 1%FSR 響應(yīng)時(shí)間: 1ms電源供電: +5V,12V安裝: 獨(dú)立電路板結(jié)構(gòu)2.4.2設(shè)計(jì)方案D/A的作用是把輸入的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)。有電流開關(guān)型、脈寬調(diào)制型等。在這里,我們采用DAC0832構(gòu)成D/A電路。 DAC0832是8 位乘算型電流輸出的典型產(chǎn)品,具有MCU兼容接口,使用方便,價(jià)格低,能滿足設(shè)計(jì)要求。數(shù)模轉(zhuǎn)換器是整個(gè)控制系統(tǒng)將計(jì)算機(jī)輸出的數(shù)字信號(hào)轉(zhuǎn)化成模擬信號(hào)的重要部件,它的特性直接影響溫度轉(zhuǎn)換的精度。其轉(zhuǎn)換的精度主要由數(shù)模轉(zhuǎn)換器的位數(shù)和Vref。DAC0832工作原理及特性如圖2.13所示:圖2. 13模數(shù)裝換工作原理數(shù)模轉(zhuǎn)換電路如圖2.14所示:圖

32、2. 14 數(shù)模轉(zhuǎn)換模塊電路圖原理分析:DAC0832的Iout1和Iout2作為輸入信號(hào)輸入到LM358的輸入端。由電流-電壓轉(zhuǎn)換電路可知:LM358的1號(hào)管腳輸出為:,此管腳作為輸入信號(hào)輸入到U2BLM358的反相輸入端。則U2BLM358輸出端輸出為:V= -Vout1*R3/R1-5*R3/R2取電阻參數(shù):R1=5K,R2=10K,R3=20K。因?yàn)閂out1的取值為(-5V0V),R3/R1=4,故-Vout1*R3/R2的范圍為(0V20V),又因?yàn)?5*R3/R2=-10V所以總輸出范圍:V=020V-10V=-10V10V。為便于各模塊協(xié)調(diào)一致的工作,電路設(shè)計(jì)統(tǒng)一接口模式,方便

33、調(diào)試與查錯(cuò),數(shù)模裝換模塊安裝接口如圖2.15所示。圖2. 15 數(shù)模轉(zhuǎn)換模塊安裝結(jié)構(gòu)圖2.4.3數(shù)模轉(zhuǎn)換模塊的調(diào)試調(diào)試平臺(tái):電子工程設(shè)計(jì)訓(xùn)練調(diào)試臺(tái)調(diào)試內(nèi)容:地址譯碼電路輸出檢測(cè) 適用電路:數(shù)/模轉(zhuǎn)換電路板測(cè)試設(shè)備:JTAG適配器單片機(jī)應(yīng)用系統(tǒng)板數(shù)/模轉(zhuǎn)換電路板150MHz數(shù)字雙蹤示波器(1)調(diào)試方法:1、檢查電路連線無(wú)誤后,將電路板安裝在測(cè)試臺(tái)上2、斷開電路負(fù)載,運(yùn)行測(cè)試程序,檢查各節(jié)點(diǎn)信號(hào)是否正確。如果有問(wèn)題,按照故障診斷預(yù)案進(jìn)行診斷分析,并且排除故障。3、用示波器觀察LM3587號(hào)管腳。正確的輸出波形如圖2.16所示圖2. 16 數(shù)模轉(zhuǎn)換測(cè)試波形圖(2)調(diào)試程序:#include C805

34、1F020.h#include absacc.h#include data_define.c#define CS2 XBYTE0x4000#define TIMER 0x8000#include Init_Device.cvoid delay(void);void main(void) unsigned char x; Init_Device(); while(1) +x; CS2=x; /*delay();*/ void delay(void) int i;for(i=0;iTIMER;+i) ;(3)故障檢查:根據(jù)第二級(jí)運(yùn)放輸出信號(hào)波形判斷故障原因部分節(jié)點(diǎn)無(wú)信號(hào)或全部節(jié)點(diǎn)無(wú)信號(hào)的故障原因:

35、第二級(jí)運(yùn)放無(wú)信號(hào)輸出:連線有誤或運(yùn)放損壞二級(jí)運(yùn)放皆無(wú)信號(hào)輸出:連線有誤或未接電源或運(yùn)放損壞或D/A電路故障斷開第一級(jí)運(yùn)放輸出與Rfb的連線,測(cè)量Iout1引腳有鋸齒波輸出為運(yùn)放損壞,否則為D/A電路故障調(diào)試中遇到的問(wèn)題:調(diào)試時(shí)由于接線問(wèn)題,沒(méi)能獲得正確波形。糾正接線問(wèn)題后,發(fā)現(xiàn)輸出波形正確但是幅值不對(duì)。經(jīng)細(xì)心觀察,實(shí)際輸出波形為正確波形幅值的0.1倍,初步判斷為示波器的衰減探頭打到了X10位置。檢查示波器探頭,果不其然。糾正錯(cuò)誤后波形輸出終于正常。3 整體電路的調(diào)試與功能實(shí)現(xiàn)在分模塊電路設(shè)計(jì)完成之后,就要進(jìn)行整系統(tǒng)聯(lián)合的功能調(diào)試,整體調(diào)試主要實(shí)現(xiàn)兩個(gè)功能。分別是環(huán)境溫度顯示功能和閉環(huán)溫度控制功

36、能。通過(guò)整體功能的調(diào)試與實(shí)現(xiàn),進(jìn)一步深化對(duì)系統(tǒng)設(shè)計(jì)的理解,增強(qiáng)系統(tǒng)調(diào)試能力與發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的能力。3.1環(huán)境溫度顯示功能的實(shí)現(xiàn)調(diào)試過(guò)程:連接電路并運(yùn)行程序。觀察測(cè)溫系統(tǒng)數(shù)字顯示,應(yīng)跟隨調(diào)試臺(tái)設(shè)置溫度變化并與調(diào)試臺(tái)設(shè)置溫度接近。若測(cè)量溫度與設(shè)置溫度相差過(guò)大的調(diào)試,則需調(diào)整變送器。調(diào)試臺(tái)設(shè)置低端溫度,變送器進(jìn)行零點(diǎn)校準(zhǔn),調(diào)試臺(tái)設(shè)置高端溫度,變送器進(jìn)行滿度校準(zhǔn)。調(diào)試源程序見附錄一。3.2閉環(huán)溫度控制功能的實(shí)現(xiàn)調(diào)試過(guò)程:連接電路并運(yùn)行程序。通過(guò)鍵盤切換到環(huán)境溫度顯示功能。觀察測(cè)溫系統(tǒng)數(shù)字顯示,應(yīng)跟隨調(diào)試臺(tái)設(shè)置溫度變化并與調(diào)試臺(tái)設(shè)置溫度接近。若測(cè)量溫度與設(shè)置溫度相差過(guò)大的調(diào)試,則需調(diào)整變送器。調(diào)試臺(tái)

37、設(shè)置低端溫度,變送器進(jìn)行零點(diǎn)校準(zhǔn),調(diào)試臺(tái)設(shè)置高端溫度,變送器進(jìn)行滿度校準(zhǔn)。通過(guò)鍵盤切換到閉環(huán)溫度控制功能。通過(guò)鍵盤設(shè)定目標(biāo)控制溫度,觀察實(shí)際溫度時(shí)候能變化到目標(biāo)控制溫度。可以通過(guò)改變程序來(lái)調(diào)節(jié)控制精度。調(diào)試源程序見附錄二。4 收獲和體會(huì)第二階段我們一共完成了測(cè)溫系統(tǒng)中的單片機(jī),A/D轉(zhuǎn)換,D/A轉(zhuǎn)換,顯示鍵盤電路一共四塊電路板。雖然有了第一階段的一些經(jīng)驗(yàn)積累,沒(méi)有那么手忙腳亂,但是這四塊板子的難度相比第一階段來(lái)說(shuō)是更加的高。第二階段我們主要面臨的問(wèn)題有以下幾點(diǎn)。第一點(diǎn)就是電路板需要焊接的線數(shù)量非常大,非常密集。這就意味著排線的難度大幅增加,同時(shí)在焊接過(guò)程中很容易出現(xiàn)失誤。在單片機(jī)這塊的焊接中,

38、我們就出現(xiàn)了把芯管腳搞反,結(jié)果在插針焊接的時(shí)候錯(cuò)了很多,要更改起來(lái)特別困難。另外在顯示鍵盤電路這塊板子上,一開始四個(gè)數(shù)碼管只有兩個(gè)亮,我們以為是數(shù)碼管的問(wèn)題,但更換之后問(wèn)題依然存在。于是再進(jìn)行電路檢查,查了三四遍線路都認(rèn)為沒(méi)有問(wèn)題這讓我們覺(jué)得非常奇怪,后來(lái)在和其他組同學(xué)的電路板對(duì)比之后發(fā)現(xiàn)少了兩根地線沒(méi)有接,還是我們焊接時(shí)候的粗心大意造成的。最讓我們組頭痛的就是測(cè)溫系統(tǒng),將6塊板子組合在一起進(jìn)行測(cè)試。在之前我們每塊板子單個(gè)都通過(guò)了測(cè)試,可是沒(méi)有想到進(jìn)行測(cè)溫系統(tǒng)測(cè)試的時(shí)候竟然沒(méi)有成功。經(jīng)過(guò)推斷我們認(rèn)為問(wèn)題肯定是出現(xiàn)在單片機(jī)上,但是不論是查線還是測(cè)試輸出波形都查不出問(wèn)題所在。在我們非常著急頭痛走投

39、無(wú)路的時(shí)候,老師給予了我們巨大的幫助。除此之外,我們也有一些做的自認(rèn)為比較好的方面,比如我們的布局安排還算是比較清晰,我們的線路對(duì)比起其他組的算是清晰的了。我們不光是動(dòng)手能力增強(qiáng)了,在檢查電路故障這一點(diǎn)上,我們的信心大有提升,能力也有增強(qiáng)。本學(xué)期電子工程設(shè)計(jì)課程圓滿結(jié)束,在這學(xué)期我們第一次嘗試去完成一個(gè)功能完善的電子系統(tǒng)。在這個(gè)過(guò)程中遇到了諸多的困難,但我們都頑強(qiáng)的克服了,我們的動(dòng)手能力得到了鍛煉,讓我們明白紙上的電路轉(zhuǎn)換為實(shí)際的系統(tǒng),需要付出百倍的努力和耐心才能實(shí)現(xiàn)。也讓我們更加敬仰在歷史長(zhǎng)河中那些為人類做出貢獻(xiàn)的電子工程師。最后還要感謝張印春老師的耐心教導(dǎo)和幫助。我們兩個(gè)女生的組做起這樣動(dòng)

40、手能力強(qiáng)的實(shí)驗(yàn)來(lái)講,本來(lái)就不是我們的強(qiáng)項(xiàng),幸好張老師的耐心教導(dǎo)和不厭其煩的幫助,我們脆弱的板子才堅(jiān)強(qiáng)的存活了下來(lái)。雖然我們實(shí)驗(yàn)做的不是最出色的,但小小的進(jìn)步都令我們興奮與感動(dòng),非常感謝張老師!附錄附錄一、環(huán)境溫度顯示源程序#include C8051F020.h#include absacc.h#include data_define.c#include Init_Device.c#define DP1 XBYTE0x0000#define DP2 XBYTE0x0001#define DP3 XBYTE0x0002#define DP4 XBYTE0x0003#define CS1 XBYT

41、E0x2000#define TIMER 0x8000unsigned char data table1=0x10,0xF9,0x0A,0x09,0xE1,0x05,0x04,0xD9,0x00,0x01;unsigned char data table2=0x04,0xAF,0xC0,0x82,0x23,0x12,0x10,0x8F,0x00,0x02;unsigned char data table3=0x40,0xF5,0x82,0x81,0x31,0x09,0x08,0xE5,0x00,0x01;unsigned char data table4=0x04,0xEE,0x58,0x4A

42、,0xAA,0x0B,0x01,0x6E,0x00,0x02;void delay(void);void display(unsigned int x,unsigned int y);void main(void) unsigned int x,y=0,z=0,num=0; Init_Device(); DP1=DP2=DP3=DP4=0xFF; while(1) CS1=x; delay(); x=CS1; delay(); if(x=255)display(1,1);display(2,0);display(3,0); else x=(x*100)/255;display(1,0) ; y

43、=x/10;num=3;display(num,y);delay(); z=x%10;num=4;display(num,z);delay(); void display(unsigned int x,unsigned int y)if(x=1) DP1=table1y; else if(x=2) DP2=table2y; else if(x=3) DP3=table3y; else DP4=table4y; void delay(void) unsigned int i; for(i=0;i9) hr=9;if(lr0) if(dnum1) output=255; else output=128-dnum; else if(dnum-1) output=0; else output=128-dnum; C2=output;/Output C2 w

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論