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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

9、譯碼電路負(fù)載,運行測試程序,檢查各輸出引腳是否有輸出, 各個輸出之間相對位置關(guān)系是否正確;3、用示波器觀察CS0 CS5引腳,應(yīng)有圖示的波形輸出。如果沒有輸出或者彼此關(guān)系錯亂,都表明電路中存在故障。CS0 CS5輸出波形圖如圖2.5所示:CS0:CS1:CS2:CS3:圖2. 5 單片機模塊調(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)試中遇到的問題剛開始調(diào)試的時候,我們直接用程序觀察模擬溫度的變化,發(fā)現(xiàn)出錯。緊接著就用示波器觀察CS0CS5的波形,但是并沒有得到正確的波形,CS1常為高,CS3和CS5的波形也是不對。后又檢查電路,發(fā)現(xiàn)線路接線正確,又檢查線路通斷,發(fā)現(xiàn)我們的電路板本身應(yīng)該相連接的暗線部分沒有連通。隨后進行了補救式的焊接,焊接問題這次應(yīng)該解決了,我們就進行了又一次的測試,結(jié)果發(fā)現(xiàn)仍然是沒有完全改善,CS1仍舊是常為高。這次我們

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

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

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

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

15、 1LSB轉(zhuǎn)換時間 - 100微秒為便于各模塊協(xié)調(diào)一致的工作,電路設(shè)計統(tǒng)一接口模式,方便調(diào)試與查錯,模數(shù)裝換模塊安裝接口如圖2.8所示。圖2. 8 模數(shù)轉(zhuǎn)換電路安裝結(jié)構(gòu)圖2.2.4 模數(shù)轉(zhuǎn)換電路模塊的調(diào)試改變設(shè)置溫度,運行A/D測試程序,檢查模/數(shù)轉(zhuǎn)換結(jié)果。一般為05伏特之間改變,相應(yīng)數(shù)為0255.調(diào)試源程序為:#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);一般故障檢測方法為:查數(shù)據(jù)線是否漏接, 若A/D轉(zhuǎn)換結(jié)果數(shù)值不隨設(shè)置溫度正比變化檢查數(shù)據(jù)線是否錯接;查Vin(-)是否接GND;查 Vin(+) 是否有變化,如無變化,逆向檢查直至變送器輸出。 若電源連接正常,查CLK-IN引腳是否有鋸齒波信號輸出,若沒有輸出檢查相關(guān)元件連接是否正確,若頻率過高(正常約為640KHz)檢查

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

18、279完成。本階段我們用74LS273 設(shè)計顯示數(shù)據(jù)輸出電路,然后用74LS244設(shè)計鍵盤狀態(tài)讀入電路,最后設(shè)計出總的實驗電路圖,顯示模塊的電路原理圖如圖2.9所示。圖2. 9 顯示模塊電路原理圖矩陣鍵盤電路方案:按鍵較多時,成本低,控制程序較直讀電路復(fù)雜,適用于顯示位數(shù)較多的場合。鍵盤電路的電路圖如圖2.10所示。圖2. 10 鍵盤模塊電路圖鍵盤模塊工作的時序圖如圖2.11所示。圖2. 11鍵盤模塊工作時序圖為便于各模塊協(xié)調(diào)一致的工作,電路設(shè)計統(tǒng)一接口模式,方便調(diào)試與查錯,鍵盤顯示模塊安裝接口如圖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( ); 在使用了這個程序之后發(fā)現(xiàn),顯示模塊出現(xiàn)了問題,于是在張老師的幫助下,幫我們修改了程序,這才在一周實驗的最后結(jié)尾部分查出了問題。程序如下:#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)顯示模塊故障檢測方法:運行顯示模塊測試程序,如果電路工作正常,在4個數(shù)碼管上應(yīng)有數(shù)字 0-9 滾動顯示。否則,說明電路存在故障,可以根

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

25、,顯示相應(yīng)的行編碼和列編碼。否則,說明電路存在故障。調(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)沒問題了,但是鍵盤部分又出現(xiàn)了問題,幸好有張老師的幫助,老師在百忙之中幫我們修改程序,檢查問題,之后我又細(xì)細(xì)檢查電路,發(fā)現(xiàn)是由于抄寫電路圖時的粗心,導(dǎo)致線路接錯。調(diào)試時修改的程序如下:#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è)計與實現(xiàn)2.4.1基本要求:輸入范圍: 00H 0FFH 對應(yīng)輸出: -

31、10V+10V 誤差: 1%FSR 響應(yīng)時間: 1ms電源供電: +5V,12V安裝: 獨立電路板結(jié)構(gòu)2.4.2設(shè)計方案D/A的作用是把輸入的模擬信號轉(zhuǎn)化為數(shù)字信號。有電流開關(guān)型、脈寬調(diào)制型等。在這里,我們采用DAC0832構(gòu)成D/A電路。 DAC0832是8 位乘算型電流輸出的典型產(chǎn)品,具有MCU兼容接口,使用方便,價格低,能滿足設(shè)計要求。數(shù)模轉(zhuǎn)換器是整個控制系統(tǒng)將計算機輸出的數(shù)字信號轉(zhuǎn)化成模擬信號的重要部件,它的特性直接影響溫度轉(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作為輸入信號輸入到LM358的輸入端。由電流-電壓轉(zhuǎn)換電路可知:LM358的1號管腳輸出為:,此管腳作為輸入信號輸入到U2BLM358的反相輸入端。則U2BLM358輸出端輸出為:V= -Vout1*R3/R1-5*R3/R2取電阻參數(shù):R1=5K,R2=10K,R3=20K。因為Vout1的取值為(-5V0V),R3/R1=4,故-Vout1*R3/R2的范圍為(0V20V),又因為-5*R3/R2=-10V所以總輸出范圍:V=020V-10V=-10V10V。為便于各模塊協(xié)調(diào)一致的工作,電路設(shè)計統(tǒng)一接口模式,方便

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

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

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

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

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

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

40、手能力強的實驗來講,本來就不是我們的強項,幸好張老師的耐心教導(dǎo)和不厭其煩的幫助,我們脆弱的板子才堅強的存活了下來。雖然我們實驗做的不是最出色的,但小小的進步都令我們興奮與感動,非常感謝張老師!附錄附錄一、環(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論