


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、水溫恒溫控制嵌入式系統設計1概述1.1發展歷史溫度控制電路廣泛應用于社會生活的各個領域,如家用電器、汽車、材料、電力電子等,同時在很多工業應用場合都需要溫度的恒定控制,比如電加熱爐,煙葉初烤炕房,某些傳感器的工作環境溫度等。同時,在實際工作和科研中, 許多實驗均需要用加熱器來加熱實驗對象,使其達到并保持在某一設定溫度, 而且在實驗過程中,對象的溫度有時要求穩定性很高,有時需要不斷地調節。 正因為如此,恒溫的控制在工業和科研中占有非同一般的地位。水溫恒溫控制就是其中的一種。水的恒溫控制是利用對加熱系統(熱源) 的控制,使之在不同的溫度輸出不同的功率,使得在水溫我們預設的溫度附近 作為小的變動,而
2、不會超出太大的范圍,從而達到我們使用的要求。在預設溫 度的附近時,溫度與加熱器、散熱器之間的關系是很微妙的,我們沒辦法控制 任意時刻的準確的水溫,但是我們可以通過測量來判斷其變化的趨勢,和變化 的幅度,從而來使之朝著我們預想的方向進行。For personal use only in study and research; not for commercial use1.2發展現狀與發展方向常用的水溫恒溫控制系統根據應用場合和所要求的性能指標有所不同,主 要分為繼電器恒溫控制系統,PID恒溫控制系統以及電子式(多用可控硅)恒溫控 制系統等幾種。傳統的繼電器恒溫控制系統簡單實用,但由于繼電器動作
3、頻繁,可能會因觸點不良而影響正常工作。PID 控制即比例、積分、微分控制。自 19 世紀 40 年代開始以來,廣泛應 用在工業生產中,長期以來,由于其結構簡單、實用、價格低,在廣泛的過程 領域內可以實現滿意的控制。 PID 算法根據比例、積分、微分系數計算出合適 的輸出控制參數,利用修改控制變量誤差的方法實現閉環控制,其缺點是現場 PID 參數整定麻煩,被控對象模型參數難以確定。可控硅恒溫控制系統的特點是體積小、無噪聲、調節方便、控制精度高, 但會對電網產生一定影響,適用于科研實驗等小功率加熱器。1.3 本系統設計說明本文設計的水溫恒溫控制嵌入式系統采用以凌陽系列單片機的 SPCE061單 片
4、機作為控制核心,來實現對溫度的恒定控制,除了單片機控制模塊,還包 括溫度傳感器采樣模塊、A/D轉換模塊、溫度顯示模塊、設置/存儲預定溫度模 塊、加熱電路模塊、散熱電路模塊,本系統的設計電路比較簡單,控制效果好。 設計可以顯示 0°到 100°范圍內的溫度, 顯示精度可以包括小數位。 系統的靜 態誤差不大于0.2 C,超調量較小。本系統的單片機程序代碼放在上交的電子 版的設計內容的附錄中,且程序在 unsp開發環境(IDE)下經過調試通過可以正 常的使用。2 系統原理介紹2.1 系統工作原理介紹本系統的結構框圖如下圖 1 所示:圖1.系統框圖從圖中易可知,本設計系統主要包括如
5、下幾部分:單片機控制模塊、 溫度傳感器采樣模塊、A/D轉換模塊、溫度顯示模塊、設置/存儲預定溫度模塊、 加熱/散熱電路模塊。系統的工作流程是這樣的:首先用戶要先使用設置/存儲預定溫度模塊設置 和存儲預定的溫度;溫度傳感器采樣模塊對水溫進行采樣,將采集到的溫度傳 給A/D轉換模塊,A/D轉換模塊將此溫度對應的數值傳給單片機控制模塊,單 片機控制模塊會判斷此溫度是否在用戶預定的溫度+/-0.5。的范圍內,如果兩個溫度不等就會調用加熱/散熱電路模塊,即如果此溫度高于用戶設定溫度 0.5。以上,貝U散熱電路就會開啟以將當前的水溫降到預定的溫度+/-0.5。的范圍內,反正則會啟動加熱電路以加熱當前的水。
6、同時如果用戶想顯示當前的水 溫或者預定的水溫,都可以通過溫度顯示模塊顯示,而如果用戶要改變當前的 預定水溫,可以通過設置/存儲預定溫度模塊進行設置。2.2系統設計依據與方法介紹1. 單片機控制模塊:它的設計采用凌陽系列單片機的SPCE06單片機作為控制核心,來實現對溫度的恒定控制。之所以選擇這款單片機,是因為原來 在本科階段學習時接觸過這款單片機,對它有一定的了解,SPCE061擁有普通十六位單片機所不具備的各種功能,配合它的開發工具非常簡單可靠,它的開 發環境(unSP IDE)非常經典易用,它還擁有高檔微處理器的端口特性,功能強 大,而且功耗低,性價比高,是嵌入式應用中較好選擇,值得一提的
7、是,這款 芯片的IOB 口的IOB1和IOB2分別可以用于SCK和SDA以支持I2C總線,在 下一節將專門對i2c總線進行一些介紹。2. 溫度傳感器采樣模塊:它的設計對于系統的成功與否是非常關鍵的,對于它的測量部分,參考溫度測量方面的相關資料,提出了兩個方案:方案一:采用熱敏電阻,可滿足 40C 90C的測量范圍,但熱敏電阻精度、 重復性、可靠性都很差,對于檢測小于C的溫度信號是不適用的。方案二:采用溫度傳感器AD590K AD590K具有較高的精度和重復性(其良 好的非線性可以保證優于_0.1 C的測量精度),利用其重復性較好的特點,通 過非線性補償,可以達到_0.1C的測量精度。對比這兩個
8、方案,第二種明顯優于第一種,所以選擇集成溫度傳感器 AD590K作為溫度傳感器件。3. A/D 轉換模塊:采用常用的 A/D轉換器MAX153對由溫度傳感器 AD590K及溫度/電壓轉換電路采集提供的溫度信號進行 A/D轉換得到數字信 號,然后輸入到單片機,系統即可獲取所要采集的溫度數值。4. 溫度顯示模塊:采用支持I2C總線的MAX7219驅動8個數碼管來實現 顯示功能,可以顯示0°到100°范圍內的溫度,顯示精度可以包括小數位, 其 實4塊數碼管就已經足夠使用了,但是因為 MAX7219最多支持驅動8個數碼 管,考慮到以后功能擴充方面的問題,就選用了 8塊數碼管。5.
9、設置/存儲預定溫度模塊:此模塊設計包括鍵盤設計部分和 EEPROM設 計部分,其中設置四個按鍵分別對應完成顯示預定溫度、顯示當前溫度、對預 定溫度加一、對預定溫度減一功能,采用支持I2C總線的DS1307芯片作為系統 的擴展EEPROM存儲器,它用于存儲預定的溫度。6. 加熱/散熱電路模塊:此模塊采用較簡單的加熱/散熱電路,加熱電路由一個電熱器和一個光電隔離開關(包括一個光電二級管和一個三端雙向可控硅)來組成,其中光電隔離開關來接收單片機模塊的控制信號來控制電熱器的開關狀態,散熱電路由一個電風扇和一個場效應管組成,也是由場效應管 接收單片機模塊的控制信號來控制電風扇的開關狀態。2.3 I 2C
10、總線介紹2 2I C (Inter Integrated Circuit)總線是 1980 年由 Philips 公司推出的。I C 總線用兩條線(SDA和SCL)在總線和裝置之間傳遞信息,在微控制器和 外部設備之間進行串行通信或在主設備和從設備之間進行雙向數據傳送。兩條通信線通過上拉電阻被拉升至+5 V。在控制系統中的每個集成電路可以通過一個 CMOS緩沖器來讀每一條線路,也可以通過一個柵極開路的 FET管將每一條線的電平下拉。因此,對每個芯片來說,每條線既是輸入 線,又是輸出線。I2C總線遵從同步串行傳輸協議,即各位串行(一位接一 位)發送,由時鐘(clock)線指示讀數據(data )線
11、的時刻。每個數據包 前有一個地址,以指示由哪個器件來接收該數據。I2C總線最主要的優點是其簡單性和有效性,且支持多主控,它只需 兩線(一串行數據線 SDA及一串行時鐘線 SCL),每個連線到總線的器件 以單一不同的地址,用軟件來存取。由于接口直接在組件之上,因此l2C總線占用的空間非常小,從而減少了電路板的空間和芯片管腳的數量,降 低了互聯成本。同時由于我們的單片機的IOB 口的IOB1和I0B2分別可以用于SCK和SDA以支持I2C總線,再加上I2C總線的這一系列的優點,使得我們在擴展外 圍存儲器和溫度顯示模塊的芯片選型時專門選取了支持I2C總線的DS1307和MAX7219 芯片。它的數據
12、傳輸過程如下圖2所示,每一個放上SDA線的字節為8位長,每 一次傳送的字節數量沒有限制,每字節必須有一確認位跟隨。數據傳送以最高 有效位為先。在開始條件之后,一個從屬地址被送出,這個地址是7位長,然后是第8位,它是一個數據方向位(讀/寫),其中"0"代表發送(寫入),"1" 代表需求數據(讀入),數據傳送通常以主控器所發出的停止條件(P)結束。開始條件地址 K/H ACKIATA ACK BATA ACK 停止條件圖2. I 2C總線的數據傳輸過程3硬件系統設計介紹3.1嵌入式處理器選型設計介紹本系統采用凌陽系列單片機的 SPCE061單片機作為系統的嵌
13、入式處理器, 它的 CPU內核采用凌陽的 unsp(Microcontroller and Signal Processor ) 16 位微處理器芯片,它采用的是模塊式集成結構,以unsp內核為中心集成不同規 模的ROMRAM和功能豐富的各種外設接口部件。它的結構示意圖如下圖3所示。IOA15-0IOB15-0圖3. SPCE061單片機結構示意圖SPCE061A共有84個引腳,封裝形式為PLCC84,它的管腳示意圖如下圖4所示。OSCJ20 0SC?2I XT3ST ED :二 E11)41517E9202123占242S29303132XLZE5UAVSS PT<DAC1 DAC X
14、TEF2 vss A5C on MIC OUT02 UZUZ3C-KM i- -s- £c- aa> 浚3H工宀5A 2W -:- 3宀0一鱗羅 口 OAQVMUIA cc 工鄉 XNN二空龍73yi J x.1170典1357托J5549J52515?SB5751MTOBI: 10313 10BI4103LSXSLEHP vss x?jo>rrICA15 :CA14 ICAIS ICAI: I0AI: IOAIOTftiOylSA l¥OI two. cc- <2 rlvu. -s!= QVt 二3H星二 21A圖4. SPCE061單片機管腳示意圖它的
15、各個管腳的功能描述如下表1所示I0A15(4145】0 口扎共“牛IOBO- 10B15(5-) SU7tf 65-4 MP】1.0 口共曲個OSCI ( 15 Ifel豪入在石美蟲養揍式下.是石英元frtt-tWAOSCO U2 R)扼蒲出在石英樓式下*是石莫元件時一嚇出曲RES B (6 禪)隻睦皆人.若堆牛腳輸扎社電平.會擺得控制齢irti豐徒.tCE EN ' 16 4 >ICE r 1 : ,- '.1 ut?*. PROBE >J fl: r t'i ICE E>;ICE.SCK 17 W)ICE 吋沖忖.再' E iff Z V
16、PROBE 的吋劉 n KE SCKICE SDA M 即,KE樓斤扛苗認器PROBE的融用轉ICEDAr卩 i 20 t'l陀IT強密設定卿PFUSE -29 W理序裸應說定誨.DAC心】音頻榆出通鍛bDlAC 2 22 J音煩輸出通世丄VrCEF? 23 142V# 電 H:暑ilHHAGC 25 擁)語音輸人自動帛益控制引鑄.OPI 26?Licro?ionJ ):.' 'J J -ifICOUT 27 '匸iDcrophont Yj 吊 i - ' b| 忙MICK <25 H)MicnpboiK的負向 A.卿iHCPM iticroplo
17、ae 止 fij 縮 1 啊VRT 35 RD立 Zi":T '- r-i-d.i VfiAD 1:.'.ij,.|鉤如速點ItA-牛XW 的垮電用”則AT>H»電甌人施4為02.5V.蚌霊止D H島寧壬電區辛VCM34 N)2C 考電區笞出VMICC37 N)Micn>idHn« f: .S.SLEEP «3 訓ttntusm示*當匚pun入專尿K高時,評制出-午高電平.VCP (E W)控按靄:5的陶客輸人,XROrr. ?XTP XTEST:61 .】4 M:出廠福淒用醫,量空肆可.VDDH ; 51. 52, 75 #
18、1; II/O電平聘.承點人 牛5V的博電圧*劇DO 人出贏離 平為穴.VT>3 LIvssVSS * 9h 24 W>VSS (SB、W. 50,輕抑)致字地.VDD I】$汀斟)執字韭溝表1. SPCE061單片機管腳功能描述3.2溫度傳感器采樣模塊設計介紹系統的溫度傳感器采樣模塊由溫度傳感器 AD590K及溫度/電壓轉換電路 組成,利用AD590溫度傳感器將溫度信號轉換為電壓信號,溫度的變化會引起 AD590的電阻的變化,從而引起 OP07的2端口電壓的變化,通過運放從 6端口輸出電壓V0給A/D轉換模塊.電路原理圖如下圖5所示:圖5.溫度采集電路3.3 A/D轉換模塊設計介
19、紹圖6. A/D轉換電路從上圖6可知,從溫度傳感器采樣模塊標記采集溫度值的電壓 V0輸入到 A/D轉換器MAX153的VIN端,單片機控制模塊通過給出 MAX153勺RD WR MAX153_C控制信號來控制它的工作,同時從MAX153勺D0-D7獲取轉換出來的 標記實時溫度值的數值。3.4溫度顯示模塊設計介紹本模塊采用MAX7219驅動8個數碼管來實現顯示功能,LD端接收單片機 的控制信號以實現顯示功能,由于它支持I2C總線,直接通過與后面會講到的系統的擴充存儲器EEPROM、單片機的IOB 口的IOB1和I0B2端相連來實現 對(預定及當前實際)溫度數據的獲取,可以顯示 0°到1
20、00°范圍內的溫度, 顯示精度可以包括小數位。其具體電路圖如下圖7所示。10.-0.圖7.溫度顯示電路3.5外擴存儲器設計介紹選用支持I2C的DS1307芯片作為系統的擴展EEPROM存儲器,它用于存 儲預定的溫度,它的SCL、SDA端要與MAX7219的SCL、SDA端相連,并同 時連上單片機的IOB 口的IOB1和IOB2端,以將用戶設定的預定溫度存儲起 來,還可以提供給顯示模塊進行顯示,其設計電路如下圖8所示。圖8.外擴存儲器電路3.6加熱器/散熱器設計介紹本系統采用較簡單的加熱/散熱電路,加熱電路如下圖9所示,主要由電熱 器完成對水的加熱,散熱電路如下圖10所示,主要由電風扇
21、完成對水的散熱。同時對電熱器和電風扇的控制就會涉及到兩個問題:對弱電和強電的隔 離。對強電的隔離我們采用圖9所示電路,其中OPTOTRIA是具有雙向晶閘管 輸出的光電隔離器,TRIAC是功率雙向可控硅。OPTOTRIA內部不僅有發光二極 管,而且還有過零檢測電路和一個小功率雙向可控硅。當單片機的IOA0輸出為高電平時,發光二極管發光,由于過零檢測電路的同步作用,內部的雙向可控 硅在過零后馬上導通,從而使功率雙向可控硅 TRIAC導通,電熱器開始加熱。 當單片機的IOA0輸出為低電平時,發光二極管不發光,內部雙向可控硅不導通, 所以TRIAC截止,電路中沒有電流流過。而對弱電的隔離我們采用圖10
22、所示的電路,我們采用場效應管接收單片 機的控制信號來控制電風扇的開關狀態,且可實現弱電的隔離作用。圖9.加熱器電路圖10.散熱器電路3.7穩壓電源設計介紹穩壓電源有很多種,一般的要求不高的,可以采用穩壓二級管,較高的就 采用集成三端穩壓電路,但是對于像這種溫度傳感等對電壓變化很敏感的電路 來講,以上的穩壓源就達不到要求了,所以我們采用基準電壓源,該電路是精 度比較高的電壓源,系統供電電路如下圖 11所示:圖11.穩壓電源電路3.8鍵盤設計介紹1 |圖12.鍵盤電路鍵盤電路如上圖12所示,此系統的鍵盤采用四個鍵,一個顯示預定溫度, 一個顯示當前溫度,另兩個作為預定溫度增減的控制鍵,這樣鍵盤可以實
23、現實 際溫度和預定溫度的切換和預定溫度的設定,使得該系統使用起來很方便很靈 活。4硬件系統電路原理圖介紹在本系統的硬件系統設計部分已經對本系統絕大多數的模塊電路圖進行了詳細的介紹,整個系統的電路圖使用Protel99繪制,取名為tiger.sch文件,放在上交的電子版的設計內容的附錄之中。(另外在上交的答題本的最后一頁有一 份打印的整體圖)5軟件系統設計介紹5.1系統軟件總流程圖介紹根據系統的工作原理,對本系統的軟件總流程要進行比較嚴格的設計,其 流程圖如下圖13所示。圖13.系統軟件總流程圖5.2系統軟件實現介紹由于本系統采用凌陽系列單片機的SPCE061單片機作為控制核心來實現對溫度的恒定
24、控制。因為原來在本科階段學習時接觸過這款單片機,對它有一 定的了解,配合它的開發工具非常簡單可靠,它的開發環境(unSP IDE)非常經典易用,但是要想將這個系統完整的調試成功,還是很要下一些苦功夫的!它的軟件編程采用C語言實現系統主要的工作流程,另外還要帶一些匯編 方面的程序以實現某些芯片底層驅動及I2C協議,所以本系統的軟件實現的數據結構和軟件算法相對非常簡單,在此就不加以詳細講述了,下面將主要對本 系統的軟件實現全過程加以較詳細的講解。首先安裝unSP IDE開發環境,它的界面比較類似于微軟的 Visual Studio開 發環境,操作方式也比較的類似。在里面新建一個SP IDE Pro
25、ject,它就會自動的為我們創建一個Source File文件夾和一個Header File文件夾,為了實現我們 的系統功能,首先我們創建一個l2C.asm注:參考過網上的一些資料寫出來的), 它主要的功能是完成對 I2C 協議的支持;然后我們創建一個 MAX7219.asm 文 件,它主要的功能是完成對 MAX7219 、單片機 IOA/B 口等芯片底層驅動的實 現;然后我們創建一個 Main.c 文件,它功能是完成我們的主要系統流程。下面 列出Main.c文件中的main()函數,它的執行流程基本上就是按照上面圖示13的軟件總流程圖來實現的。main()float tmp_measure,
26、tmp_setting;/初始化相應器件Init_IOA(0xFFFF,0xFFFF,0xFFFF); Init_IOB(0xFFFF,0xFFFF,0xFFFF);Init_7219();status = show_measure_tmp;/初始化設定溫度為 50°if(readTmp()< 0 | readTmp()> 100)writeTmp(50);while(1)delay();/通過 A/D 轉換器采集當前的實際溫度值 tmp_measure = GetADC()*(maxtmp-mintmp)/256; tmp_setting = readTmp();/判斷
27、實測的溫度值是否在預定的溫度范圍內(+-0.5°)/根據判斷的結果控制加熱器和電風扇的開關 if(tmp_measure < tmp_setting-0.5)fanOFF();themON();else if(tmp_measure > tmp_setting+0.5)themOFF(); fanON();elsefanOFF(); themOFF();/掃描鍵盤按鍵情況 switch(keyScan() case 1: status = show_measure_tmp; break;case 2:status = show_setting_tmp; break;cas
28、e 3: tmp_setting = readTmp(); tmp_setting +; writeTmp(tmp_setting); break;case 4: tmp_setting = readTmp(); tmp_setting -; writeTmp(tmp_setting); break; /判斷顯示系統當前的溫度或者是用戶預定的溫度 if(status = show_measure_tmp) ShowResult(tmp_measure); else ShowResult(tmp_setting); 其中的初始化函數包括Init_IOA , Init_IOB , Init_721
29、9(),前面兩個函數的引用來自MAX7219.asm文件,而后者的實現如下,其中的Send_7219函數也來之 MAX7219.asm 文件。void Ini t_7219()max7219 初始化Send_7219(0x0C01);Send_7219(0x0F00);Send_7219(0x09FF);Send_7219(0x0A02);Send_7219(0x0B07);Main()函數中引用的其他函數包括系統延遲函數delay(),顯示溫度函數ShowResult(float Count), 讀 測量溫度 函 數 GetADC() , 寫設定的 溫度 writeTmp(float tmp
30、),讀設定的溫度函數readTmp(),掃描鍵盤函數 keyScan(), 開加熱器函數themON(),關加熱器函數themOFF(),開風扇函數fanON(),關 風扇函數fanOFF(),它們均在Main.c文件中實現了,具體代碼請查看上交的電 子版的設計內容的附錄。6 系統實現與體會雖然老師沒有要求我們將軟件編程完全實現出來,但是由于上次課堂討論 的時候大家做出來的東西都只是在理論上進行了設計,而離實際的實現還是有 很大的差距的,所以我特別想在本次的課程設計中將設計的系統實現出來。正 好原來在本科階段學習時接觸過 SPCE061這款單片機,對它有一定的了解,再 加上它的開發環境(unSP IDE)相對較為簡單,所以最后就選擇了使用這塊單片 機構建一個嵌入式設計系統,由于原來還沒有在軟件、硬件上完全設計實現過 一個系統,所以心里也明白要學的東西會很多的,難度也會很大的,再加上平 時在實驗室還要忙著做自己的項目,給我自己設計實現的時間肯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 髖部骨折愈合后護理
- 4.古詩三首《山行》課件
- 外研版六年級上冊歷史教學計劃
- 心理健康課程資源開發計劃
- 文化創意產業勞動教育活動計劃
- 四年級學生語文知識復習計劃
- 2025年人教版一年級數學趣味活動計劃
- 一年級下冊英語班級管理計劃
- 2025年幼兒園家長營養知識普及計劃
- 特殊教育學生課后輔導措施
- (二模)石家莊市2025屆高三教學質量檢測(二)英語試卷(含標準答案)
- DZ/T 0430-2023 固體礦產資源儲量核實報告編寫規范(正式版)
- GB/T 21618-2008危險品易燃固體燃燒速率試驗方法
- 西安市非學歷培訓機構公示表
- QTZ1000塔機總體方案和平頭式平衡臂結構設計及起升機構校核計算
- 蓋梁穿心鋼棒法受力分析計算書
- T∕CAME 27-2021 醫院物流傳輸系統設計與施工規范
- 三平寺簽詩解全75首上
- 后張法預應力空心板梁施工方案
- 師德師風年度考核表
- 健康險產說會課件
評論
0/150
提交評論