小型溫控系統(tǒng)的研究
摘要:本文介紹了基于ADuC841單片機和半導體加熱制冷片的小型溫度控制系統(tǒng)設計。本設計采用半導體加熱制冷片作為溫度控制的執(zhí)行部件,溫度傳感器DS18B20進行溫度檢測并提供反饋信號,在控制器單片機上實現(xiàn)增量式PID控制算法。本設計的應用為實現(xiàn)快速、精確的小型溫度控制系統(tǒng)提供了一種體積小、功耗低、經(jīng)濟有效的解決方案。
關鍵詞:溫度傳感器;單片機;半導體加熱制冷片;增量式控制
1 引言
隨著微加工工藝的快速發(fā)展,微機電系統(tǒng)(MEMS)在各個領域得到了廣泛的應用,伴隨著器件的小型化,各個模塊的溫度特性成為影響整個系統(tǒng)精度、可靠性和穩(wěn)定性的關鍵因素。針對小型溫控系統(tǒng)的實際要求,選用體積小、重量輕、工作噪音低的半導體加熱制冷片作為執(zhí)行部件,“多點單總線”接口的DS18B20溫度傳感器作為反饋器件,而單片機作為控制器,選擇合適的PID算法來實現(xiàn)對溫控箱溫度的快速、精確控制。
2 系統(tǒng)總體設計方案
整個溫控系統(tǒng)在機械結構上采用內(nèi)外雙層的設計,中間布置有控制電路和執(zhí)行器件,以及水冷系統(tǒng)管道,憑借液冷散熱器的高熱交換效率,可以提高系統(tǒng)的溫控性能。
圖1 系統(tǒng)方案示意圖
系統(tǒng)硬件電路主要分為兩個部分(如圖1所示),即單片機和溫度傳感器的反饋控制部分和功放及半導體加熱制冷片的執(zhí)行部分。
2.1 反饋與控制部分
DS18B20溫度傳感器是世界上第一個支持“多點單總線”接口的數(shù)字溫度傳感器,每一個DS18B20都有自己唯一的一個64為序列號存儲在內(nèi)部的ROM中,所以可以在同一條溫度測量總線上實現(xiàn)多點采集,從而能夠更加精確地給出系統(tǒng)溫度值。
溫度測量范圍:-55℃~+125℃能夠滿足系統(tǒng)溫控需求,測溫分辨率可以達到0.0625℃,測得溫度通過符號擴展的16位數(shù)字量方式串行輸出。
系統(tǒng)控制器選用ADI公司的ADuC841型單片機,此類型單片機板載12位ADC以及兩個12位DAC,同時還擁有DMA控制器,為多處理器接口和I/O擴展提供的32位可編程I/O,兼容SPI和標準UART的串行I/O端口,并且還支持板載溫度檢測以及電源檢視等。
控制器主要實現(xiàn)如下功能:
(1) 與MAX232連接,進行和串口的數(shù)據(jù)通信,可以用于給單片機下載控制程序,同時可以在電腦上實時顯示目標溫度和實際溫度等參數(shù)。
(2) 通過DAC0輸出控制信號,控制半導體加熱制冷片執(zhí)行機構。
(3) 連接DS18B20單一總線上各個芯片的DQ端口,實現(xiàn)對DS18B20的讀寫控制。
(4) 通過DAC1輸出與溫度值相對應的模擬電壓,從而可以實時觀察溫度變化。
單片機程序中主要包括延時函數(shù)、復位函數(shù)、位讀寫函數(shù)、字節(jié)讀寫函數(shù)、DAC轉(zhuǎn)換函數(shù)、DS18B20的控制函數(shù)以及控制算法部分,從而可以實現(xiàn)小型溫控系統(tǒng)的基本功能。
2.2 執(zhí)行部分
整個控制系統(tǒng)的執(zhí)行部件選擇的是型號為TEC1-7108T125的半導體加熱制冷片,這種加熱制冷片最大溫差電流8A、最大溫差67℃、最大工作電壓8.6V、最大制冷功率38.5W。
圖2 半導體加熱制冷片電控實現(xiàn)方案
2.5V的參考Cref電壓通過運放LMC6482AIM(U1A),即電壓跟隨器,進入運放LMC6482AIM。因集成功率放大器輸出后的反饋電阻為0.17Ω,所以反饋電壓為 。又因單片機控制信號進入集成功率放大器LM12CL的IN+的電壓范圍為0~Cref(即0~2.5V),所以要控制進入集成功率放大器LM12CL的IN-的電壓范圍也為0~2.5V,則設計如上電阻,經(jīng)計算有:
3 控制算法的選擇
本設計中采用常見的PID控制算法,通過對實際溫控箱進行溫度實驗,確定PID的控制參數(shù),調(diào)整控制算法。
實驗中將溫控箱視作一階系統(tǒng)進行處理。先后向?qū)嶒灡豢貙ο笏腿牍潭ㄕ?A加熱電流和反向-1A制冷電流,測量得到溫度變化曲線如分別如圖3(a)和(b)所示。
(a)
(b)
圖3 加熱與制冷溫度變化曲線
理論模擬得到曲線方程分別為:
圖4 增量式PID控制算法溫度變化曲線
可以看出大概有1.5℃的超調(diào)量,但是本算法建立時間短,而且最終穩(wěn)定精度高。
通過實驗可以發(fā)現(xiàn),微分環(huán)節(jié)在溫度控制系統(tǒng)中發(fā)揮了重要的作用,能夠反映出偏差信號的變化趨勢,并且能夠在偏差信號值變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快了系統(tǒng)的動作反應速度,減小調(diào)節(jié)時間。當溫度每發(fā)生一個大約0.07℃的變化梯度時,微分作用會導致很大的控制信號正負跳變,消耗較大功率,所以在實際控制算法中給微分環(huán)節(jié)加入了一個低通數(shù)字濾波環(huán)節(jié)。
4 系統(tǒng)軟件設計
本系統(tǒng)中使用單片機作為主控芯片,整個C語言主函數(shù)包含的子函數(shù)模塊主要有:延時函數(shù)、復位函數(shù)、位讀函數(shù)、位寫函數(shù)、字節(jié)讀函數(shù)、字節(jié)寫函數(shù)、DAC1數(shù)模轉(zhuǎn)換、讀取溫度函數(shù)等。
圖5 單片機控制DS18B20讀取溫度子程序流程圖
根據(jù)DS18B20工作條件以及指令說明,單片機控制讀取溫度的控制子程序流程圖如圖5所示,主要實現(xiàn)以下幾個功能:
CCH SKIP ROM跳過存儲器命令:主器件單片機可以使用跳過存儲器命令來呼叫總線上所有從器件,而不必通過發(fā)送每個從器件的存儲器代碼逐個呼叫。
0xBE讀暫存寄存器命令:單片機可以讀取暫存寄存器中的內(nèi)容。數(shù)據(jù)發(fā)送以暫存寄存器字節(jié)0的最低位開始,一直到第9字節(jié)。任何時候只要單片機想讀暫存寄存器中的數(shù)據(jù),就先發(fā)送復位命令,再使用讀暫存寄存器命令。
44H溫度轉(zhuǎn)換命令:溫度轉(zhuǎn)化命令初始化一次溫度轉(zhuǎn)換,轉(zhuǎn)換完成后,結果被保存在兩字節(jié)溫度寄存器中,然后DS18B20進入到低電壓零狀態(tài)。
以上程序反復運行,就可以通過DS18B20實時對溫度進行讀取。
5 結語
本文設計和實現(xiàn)了一種利用半導體加熱制冷片,基于單片機的小型實驗用溫控系統(tǒng),能夠在較低的功耗下實現(xiàn)快速溫度變化控制。通過做全功率加速和制冷的實驗,得到了最大加熱溫度可到90℃,而最大制冷溫度能到約-10℃。系統(tǒng)控制溫差范圍約100℃,穩(wěn)定后的溫度波動為±0.1℃之內(nèi)。
本設計屬于國防科研項目,主要用于對MEMS器件進行溫度特性測試,已投入使用,長時間工作穩(wěn)定,并且具有較好的快速性,完全可以滿足溫度特性測試的項目要求。
本文作者創(chuàng)新點:采用半導體加熱制冷片作為小型溫控箱的加熱與制冷執(zhí)行元件,DS18B20溫度傳感器反饋溫度信號,并且以單片機作為控制單元,使用增量式PID控制算法取代普通PID控制,實現(xiàn)了一種經(jīng)濟、有效而且穩(wěn)定的溫控方案。