陳益飛
CHEN Yi-fei
(鹽城工學(xué)院,鹽城 224051)
單片微型計算機是隨著超大規(guī)模集成電路技術(shù)的發(fā)展而誕生的,由于它具有體積小、功能強、性價比高等特點,所以廣泛應(yīng)用于電子儀表、家用電器、節(jié)能裝置、軍事裝置、機器人、工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)品的功能和質(zhì)量,又降低了成本,簡化了設(shè)計。本文主要介紹單片機在溫度控制中的應(yīng)用。
溫度是工業(yè)生產(chǎn)中常見的工藝參數(shù)之一,任何物理變化和化學(xué)反應(yīng)過程都與溫度密切相關(guān),因此溫度控制是生產(chǎn)自動化的重要任務(wù)。采用單片機作為鍋爐水溫閉環(huán)控制系統(tǒng)的控制核心,實現(xiàn)人工設(shè)定溫度,自動控制溫度,顯示水的實時溫度等功能。水溫測試方式采用數(shù)字溫度傳感器感知鍋爐中水的溫度,通過單片機與數(shù)字溫度傳感器通訊獲得實時溫度,并通過程序?qū)崿F(xiàn)閉環(huán)控制。采用鍵盤掃描方式對目標(biāo)溫度(0℃~80℃或20~60℃范圍內(nèi))進行人工設(shè)定,并用顯示器顯示水的實時溫度、給定溫度及溫度范圍。同時系統(tǒng)還通過繼電器電路控制加熱器件的導(dǎo)通與關(guān)閉,達到保持設(shè)定溫度基本不變的目的,并起到強弱點隔離作用,安全可靠。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。
基于AT89S52單片機的鍋爐溫度控制系統(tǒng)的硬件設(shè)計和軟件開發(fā)的過程。硬件部分包括溫度傳感器DS18B20、LED數(shù)碼管顯示、報警電路以及按鍵功能。首先由溫度采集測控系統(tǒng)采用DS18B20滿足溫度測量,并將溫度信號轉(zhuǎn)換成電流,轉(zhuǎn)換為電壓信號,之后該信號經(jīng)預(yù)處理后,進行A/D轉(zhuǎn)換,獲得的有關(guān)被監(jiān)控環(huán)境溫度的數(shù)字量,發(fā)送給單片機處理。它與其他形式的溫度傳感器相比,不需要進行冷端補償,而且它是以高阻抗恒流源形式輸出。傳輸線上的壓降不影響輸出電流值,可以進行遠距離傳輸。單片機對經(jīng)A/D轉(zhuǎn)換之后的環(huán)境溫度進行接收,對接收到的環(huán)境溫度信號進行BCD碼轉(zhuǎn)換,發(fā)送給顯示模塊。之后,單片機將接收到的溫度數(shù)據(jù)與事先設(shè)定的溫度值進行對比,如果當(dāng)前環(huán)境溫度超出了設(shè)定的溫度范圍,則進行調(diào)控。同時還要實現(xiàn)溫度報警功能,若超出了監(jiān)控溫度范圍則發(fā)出警告。此外還有復(fù)位電路,晶振電路等。鍋爐溫度測控系統(tǒng)原理框圖如圖1所示。
圖1 鍋爐溫度測控系統(tǒng)框圖
1.1 控制器模塊
采用AT89S52作為系統(tǒng)的控制器。單片機算術(shù)運算功能強,軟件編程靈活,自由度大,可用軟件編程實現(xiàn)各種算法,并且具有低功耗,高性能,技術(shù)成熟,成本低廉等有點,使其在各個領(lǐng)域應(yīng)用廣泛。
1.2 水溫探測模塊
水溫探測模塊用于測量器皿中水的溫度。系統(tǒng)需要利用測溫傳感器檢測出水的實時溫度,是控制模塊做出正確的反應(yīng),控制水的溫度。
采用單總線可編程溫度傳感器DS18B20測溫度。DS18B20是數(shù)字溫度傳感器。它把溫度傳感器、外圍電路、A/D轉(zhuǎn)換器、微控制器和接口電路集成到一個芯片中構(gòu)成的具有溫度測量、溫度控制和與微處理器數(shù)據(jù)連接能力的溫度傳感器組件稱為數(shù)字溫度傳感器。通過DS18B20數(shù)字可編程溫度傳感器可測溫范圍-55℃~+125℃,在-10~+85℃時精度為 0.5℃??删幊痰姆直媛蕿?~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。并且其所需輔助電路簡單,依靠程序直接讀取溫度,總費用低。
1.3 顯示模塊
使用液晶顯示屏顯示水溫。液晶顯示屏(LED)具有輕薄短小,低耗電量,無輻射危險,平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強等特點,且顯示更為人性化,電路焊接更為簡單。
1.4 水溫控制模塊
控制模塊用來控制加熱器件的導(dǎo)通與關(guān)閉,從而達到控制加熱時間,控制水溫的目的。采用繼電器驅(qū)動電路控制。繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)吸合。這樣吸合、釋放,從而達到了在電路中的導(dǎo)通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區(qū)分:繼電器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為“常開觸點”;處于接通狀態(tài)的靜觸點稱為“常閉觸點”。
1.5 超溫報警電路的設(shè)計
超溫報警電路由LED燈與電阻組成。當(dāng)溫度超過設(shè)定的溫度控制范圍時,則燈亮,并且蜂鳴器鳴叫。
通常,鍋爐溫度控制都采用偏差控制法。偏差控制的原理是先求出實測爐溫對所需爐溫的偏差值,然后對偏差值處理獲得控制信號去調(diào)節(jié)鍋爐的加熱功率,以實現(xiàn)對爐溫的控制。在工業(yè)上,偏差控制又稱PID控制,這是工業(yè)控制過程中應(yīng)用最廣泛的一種控制形式,一般都能收到令人滿意的效果。不同的控制對象,所采用的算法有所不同。例如對于熱慣性大、時間滯后明顯、耦合強、難于建立精確數(shù)學(xué)模型的大型立式淬火爐,可以采用人工智能模糊控制算法,通過對淬火爐電熱元件通斷比的調(diào)節(jié),實現(xiàn)對爐溫的自動控制,也可以采用仿人智能控制(SHIC)算法和PID控制算法的聯(lián)合控制方案,實際應(yīng)用時應(yīng)靈活運用。本系統(tǒng)采用的是Keil Elektronik Gmbh 開發(fā)的KeiluVision2工具軟件來進行系統(tǒng)軟件編寫和調(diào)試的。在嵌入式系統(tǒng)中,相對于匯編語言,C語言作為一種高級語言主要存在兩個不足:1)生成的可執(zhí)行代碼冗長,效率不高。對于這一點,隨著處理芯片運算速度的提高、集成ROM的擴大,特別編譯系統(tǒng)的不斷優(yōu)化,冗長已經(jīng)不再是問題。這也是C在嵌入式系統(tǒng)中逐漸成為主流編程語言的主要原因之一。2)C生成的可執(zhí)行代碼在時序上不容易控制,比如本系統(tǒng)中要實現(xiàn)的時序控制。主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,從而比較溫度值的大小,去執(zhí)行加熱電路。這個程序在讀完鍵盤要判斷啟動鍵是否啟動,才能進行溫度讀取,最后通過LED顯示出來。
圖2 主程序流程圖
2.1 顯示程序的設(shè)計
顯示子程序采用動態(tài)掃描法實現(xiàn)四位共陽極數(shù)碼管的數(shù)值顯示,測量所得的A/D轉(zhuǎn)換數(shù)據(jù)放在22h內(nèi)存單元中,測量數(shù)據(jù)在顯示時轉(zhuǎn)換為溫度值十進制BCD碼放在23h~25h內(nèi)存單元中。
2.2 DS18B20程序
溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,轉(zhuǎn)換時間約為750ms。
1)初始化:初始化是DSl8B20的底層基本操作之一。通過單線總線進行的所有操作都從一個初始化序列開始。初始化序列包括一個由CPU發(fā)出的復(fù)位脈沖及其后由DS18B20發(fā)出的存在脈沖。存在脈沖讓CPU知道DS18B20在總線上且已做好操作準(zhǔn)備。
2)數(shù)據(jù)寫:數(shù)據(jù)寫是DSl8B20的底層基本操作之一,所有的指令、數(shù)據(jù)發(fā)送均由該操作完成。DSl8B20的寫操作都是逐位進行的,因此,采用C5l中的位右移操作來實現(xiàn)。
3)數(shù)據(jù)讀:數(shù)據(jù)讀是DSl8B20的底層基本操作之一,溫度值和其他狀態(tài)信息的傳回均由該操作完成。
2.3 鍵盤程序
通過鍵盤可以人為的控制溫度,使其更為人性化;編程也簡單明了。確定啟動鍵開啟后,通過控制溫度上升鍵和下降鍵人為的去調(diào)節(jié)溫度,再回到讀鍵盤這樣一個反復(fù)的動作。
為了檢驗該系統(tǒng)的性能,對其進行仿真實驗。首先通過KEIL C51軟件仿真實現(xiàn)程序調(diào)試的功能,再通過軟件PROTEUS進行軟硬件模擬連調(diào)。設(shè)目標(biāo)溫度范圍為20~60℃,設(shè)定溫度為45℃,相應(yīng)的鍋爐溫度調(diào)節(jié)時間結(jié)果記錄如表1所示。
表1 鍋爐溫度調(diào)節(jié)時間結(jié)果記錄
由表1分析可知,溫差相同時,升溫時間比降溫時間要快,原因在于升溫采用電阻絲加熱,而降溫采用的是12V普通風(fēng)扇降溫,效率較低。若采用加熱致冷芯片來完成升溫和降溫則溫度穩(wěn)定時間會更少。
本次研究借助于經(jīng)典控制理論和現(xiàn)代控制理論的結(jié)合,PID 控制算法是一種易于實現(xiàn)而且經(jīng)濟實用的方法,具有很強的靈活性,但在被控制對象具有復(fù)雜的非線性時,難以滿足控制要求,而神經(jīng)網(wǎng)絡(luò)PID 控制具有逼近任意非線性函數(shù)的能力,神經(jīng)網(wǎng)絡(luò)PID實現(xiàn)對鍋爐溫度的測量、控制和顯示,提高了鍋爐監(jiān)控系統(tǒng)的效率?;贏T89S52單片機的溫度測控系統(tǒng)將LED顯示器件與控制、驅(qū)動集成電路裝在一起,形成一個功能部件,最后通過硬件焊接實現(xiàn)了鍋爐的溫度控制系統(tǒng)的設(shè)計。用戶只需用傳統(tǒng)工藝即可將其裝配成一個整機系統(tǒng)。這對于工業(yè)自動化大生產(chǎn)具有一定的實踐使用價值。
[1]楊恒主.ARM嵌入式系統(tǒng)設(shè)計及實踐[M].西安電子科技大學(xué)出版社,2005.
[2]田東風(fēng).WINDOWS CE應(yīng)用程序設(shè)計[M].機械工業(yè)出版社,1990.
[3]傅曦.嵌入式系統(tǒng)Windows CE開發(fā)技巧與實例[M].化學(xué)工業(yè)出版社,2004.
[4]葉宏材.Windows CE.NET嵌入式工業(yè)用控制器及自動控制系統(tǒng)設(shè)計[M].清華大學(xué)出版社,2005.
[5]楊恒主.ARM嵌入式系統(tǒng)設(shè)計及實踐[M].西安電子科技大學(xué)出版社,2005.
[6]朱義君.ARM微控制器體系結(jié)構(gòu)與開發(fā)實例[M].北京航空航天大學(xué)出版社,2005.
[7]金以慧.過程控制 [M].北京:清華大學(xué)出版社,2005:118-123.
[8]俞金壽,蔣慰孫.過程控制工程第3版 [M].北京:電子工業(yè)出版社,2007-07:68-80,240-250.
[9]施金良,賈碧.微機控制的熱絲法物質(zhì)熔點測定儀[J].檢測與儀表,1998,3:36-38.
[10]孫瑩.單片機在熔點測試儀中的應(yīng)用 [J].儀器儀表用戶,2002,9(2):28-30.