摘 要: 一種采用NTC熱敏電阻作為溫控設(shè)備的傳感器,,89C2051為CPU的溫度測(cè)控系統(tǒng),,它線路簡(jiǎn)單并具有一定參數(shù)自學(xué)習(xí)能力,。
關(guān)鍵詞: 溫度控制 單片機(jī) NTC 自學(xué)習(xí) 自適應(yīng)
在工農(nóng)業(yè)生產(chǎn)、國(guó)防,、科研以及辦公設(shè)備自動(dòng)化領(lǐng)域中,,溫度是一種十分重要的數(shù)據(jù)。對(duì)于溫度的采集,,常用的傳感器有熱電偶,、鉑電阻、NTC熱敏電阻等,。針對(duì)不同的傳感器,,可以采用不同的測(cè)溫技術(shù)。目前,,我國(guó)在這方面的成熟產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的 PID 控制器為主,,這些算法要求針對(duì)具體應(yīng)用的參數(shù)值的整定,在一些精度要求不高,、價(jià)廉的控制器設(shè)計(jì)中,,無(wú)疑會(huì)增加開(kāi)發(fā)周期和開(kāi)發(fā)成本。本文介紹一種自學(xué)習(xí)的溫控算法,,以對(duì)此類(lèi)問(wèn)題的解決提供參考,。
1 問(wèn)題的提出
傳感器中NTC熱敏電阻因其價(jià)格低廉、精度較高,、可靠性好而廣泛使用,。以下就以NTC熱敏電阻作為溫控設(shè)備的傳感器,分析閉環(huán)控制中可能遇到的問(wèn)題,。溫控設(shè)備設(shè)計(jì)框圖如圖1所示,。
由于NTC電阻的測(cè)溫遲滯性(目前國(guó)產(chǎn)的NTC電測(cè)溫時(shí)延為幾秒到十幾秒)以及電阻受材料的穩(wěn)定性和一致性的影響,圖1中傳感器部分的阻值精度有±5%的誤差,,這使參數(shù)的整定受限于每個(gè)具體的設(shè)備。除了傳感器的遲滯特性外,,還必須考慮加熱器的慣性即加熱器在斷電之后在一定時(shí)間內(nèi)仍有加熱作用的特性以及被加熱物體的熱遲滯性和外部環(huán)境的氣溫影響,,因此使參數(shù)整定更為困難。但是在溫控器的具體應(yīng)用中,大部分時(shí)間是在某一個(gè)具體的場(chǎng)合,,環(huán)境條件的變化是相對(duì)穩(wěn)定的,。一個(gè)加熱設(shè)備通常長(zhǎng)期運(yùn)行在某個(gè)要求的目標(biāo)溫度,目標(biāo)溫度的變化并不頻繁,。因此為了一次設(shè)計(jì)能夠用于多個(gè)場(chǎng)合,,就要求控制器有自學(xué)習(xí)和自適應(yīng)的功能,即在每次運(yùn)行的初期,,自已調(diào)整相應(yīng)的參數(shù),,使之有效地應(yīng)用在不同的場(chǎng)合。
PID算法是閉環(huán)控制中常用的算法,,也是通常采用的溫度控制算法,。但在價(jià)廉的溫控器中,多采用小型的CPU,,其程序存儲(chǔ)單元非常有限,,而PID 算法要占用相對(duì)大的空間和計(jì)算時(shí)間,故是設(shè)計(jì)的難點(diǎn)所在,。
2 自學(xué)習(xí)的溫度測(cè)控系統(tǒng)
針對(duì)上述問(wèn)題,,本文提出了一種自學(xué)習(xí)的控制算法。該系統(tǒng)硬件采用NTC電阻線性校正電路和積分采樣電路作測(cè)量電路,,軟件設(shè)計(jì)采用一種自學(xué)習(xí)的算法,,使系統(tǒng)有一定自適應(yīng)能力,無(wú)須事先做參數(shù)調(diào)整,。該算法就是不斷在測(cè)量過(guò)程中,,當(dāng)發(fā)現(xiàn)超過(guò)某個(gè)不利的限定值時(shí)就對(duì)參數(shù)作出相應(yīng)調(diào)整,如此不斷試探,,最后達(dá)到穩(wěn)定,。而后將調(diào)整學(xué)習(xí)后得出的參數(shù)值保存起來(lái)作為這個(gè)目標(biāo)溫度的相應(yīng)參數(shù)值,在下次開(kāi)機(jī)時(shí)如果要求同樣的目標(biāo)溫度就可以直接調(diào)出相應(yīng)參數(shù),。如果環(huán)境溫度較穩(wěn)定,,機(jī)器可以自已設(shè)定經(jīng)驗(yàn)值,但如果環(huán)境溫度發(fā)生變化,,必須再學(xué)習(xí),,以適應(yīng)新的環(huán)境。
2.1 測(cè)溫電路
NTC傳感器測(cè)溫電路,,其CPU采用89C2051單片機(jī),,輸出采用脈寬調(diào)制(PWM)方式輸出。在對(duì)精度要求不高的系統(tǒng)中,,多采用NTC熱敏電阻作為溫度傳感器,,電路利用AT89C2051單片機(jī)內(nèi)部精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1),,實(shí)現(xiàn)低價(jià)模數(shù)轉(zhuǎn)換。該電路實(shí)際上是一個(gè)具有電壓門(mén)坎的積分比較器,,它將輸入的模擬量(電壓)轉(zhuǎn)換成中間量(時(shí)間間隔),,然后將中間量轉(zhuǎn)換為相應(yīng)的數(shù)字量。其溫度檢測(cè)與轉(zhuǎn)換電路圖如圖2所示,。
2.2 NTC電阻的線性補(bǔ)償
普通的NTC電阻的阻-溫特性呈指數(shù)變化,,即電阻隨著溫度的上升而呈指數(shù)下降。因其非線性,,給系統(tǒng)溫度控制帶來(lái)不便,。在本溫控系統(tǒng)中采用了電路補(bǔ)償法,將熱敏電阻與一般電阻并聯(lián),,以改善其在某一溫度范圍內(nèi)的阻-溫特性的線性度,。在圖2所示的電路中,RT和R4并聯(lián)后,,可以得出:
由上式可以看出,,在低溫時(shí),原來(lái)的ΔR/ΔT很大,,則RT也很大,。并上R4后可以看出ΔR變小,因而ΔR/ΔT也減??;而在高溫時(shí),原ΔR/ΔT很小,,但因高溫時(shí)RT很?。ㄟh(yuǎn)小于R4),所以RT基本不變,。電路補(bǔ)償前后R與T的關(guān)系如圖3所示,,從圖中可以看出,NTC電阻的非線性明顯改善,。
2.3 測(cè)量工作原理
單片機(jī)AT89C2051的P1.0和P1.1是內(nèi)部精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1)端,。P1.1端連接基準(zhǔn)電壓,P1.0端連接溫度傳感器,。熱敏電阻RT的變化可引起C1的充電電流變化,,故可利用比較器判斷基準(zhǔn)電壓與電容C1上的電壓是否相等。當(dāng)2個(gè)電壓相等時(shí),,比較器輸出P3.6會(huì)有跳變,,單片機(jī)AT89C2051則記錄從C1電容充電開(kāi)始到P3.6跳變的時(shí)間。因?yàn)镽1,、R2的值固定,,所以積分到基準(zhǔn)電壓VS=VCC*R2/(R1+R2)時(shí),,比較器輸出高電平,。根據(jù)電容充電的瞬時(shí)方程VC=VCC*(1-exp(-T/RC))=VS,,即可求出傳感器的電阻RT,然后查表即可得出溫度值,。由于直接用計(jì)算指數(shù)函數(shù)的方法求解比較困難,,且實(shí)時(shí)計(jì)算測(cè)量溫度的計(jì)算量較大,計(jì)算精度較低,,因此本系統(tǒng)采用查表的方法,,即預(yù)先將時(shí)間長(zhǎng)度T所對(duì)應(yīng)的溫度值計(jì)算出來(lái),存入映射表,。
2.4 自學(xué)習(xí)的溫度控制算法
本溫控系統(tǒng)中的傳感器電路測(cè)得的溫度經(jīng)數(shù)字濾波并與系統(tǒng)溫度設(shè)定值進(jìn)行比較后,,通過(guò)PWM參數(shù)的設(shè)定,去控制加熱繼電器的導(dǎo)通時(shí)間,,從而可以控制加熱板的平均輸入功率,,達(dá)到恒溫的控制。
對(duì)于本控制系統(tǒng)來(lái)說(shuō),,當(dāng)溫度未達(dá)到設(shè)定值時(shí),,為自由升溫段,要求升溫越快越好,,所以要全量輸出,。當(dāng)溫度達(dá)到設(shè)定值時(shí),停止輸出,但由于加熱板的熱慣性,,溫度并不因輸出停止而停止上升,,溫度會(huì)超過(guò)給定值;同理,,溫度在上升到一定高度后才開(kāi)始下降,,并繼續(xù)下降到略小于設(shè)定值時(shí),系統(tǒng)才重新輸出,。由于溫度的滯后特性,,造成了溫度在設(shè)置溫度的一定范圍內(nèi)上下振蕩,使溫度基本保持在恒溫狀態(tài),。
系統(tǒng)使用PWM技術(shù)實(shí)現(xiàn)對(duì)溫度的控制,,使用TPWM_A、TPWM_S參數(shù)來(lái)改變占空比,,從而控制繼電器導(dǎo)通時(shí)間,,達(dá)到控制溫度的目的。PWM控制即是通過(guò)對(duì)變量TPWM_A的調(diào)整來(lái)調(diào)整輸出加熱器通斷時(shí)間的比,。假設(shè)TPWM_A為8位(為1100 0000),,每0.5秒輸出TPWM_A.7的電平,,則在4秒內(nèi)有1秒輸出高電平,進(jìn)行加熱,,其余時(shí)間則關(guān)斷,。這樣通過(guò)調(diào)整其中為1的個(gè)數(shù)就可以調(diào)整加熱功率。
該算法中設(shè)TPWM_S為記錄占空比變化的變量,,而TPWM_A為通過(guò)循環(huán)移位輸出控制脈沖的執(zhí)行變量,,則控制過(guò)程如下:剛開(kāi)始加熱時(shí),TPWM_A參數(shù)為#0FFH,,則繼電器導(dǎo)通,,全速加熱。溫度升至設(shè)置溫度TEMP_SET時(shí),,將TPWM_A參數(shù)置為0,,關(guān)斷繼電器,但因熱慣性,,溫度將繼續(xù)上升至一定溫度后才下降,,在溫度上升過(guò)程中系統(tǒng)記錄上升到的最高溫度TMAX。當(dāng)溫度下降到設(shè)置溫度TEMP_SET時(shí),,TPWM_A參數(shù)置為#08H,,降低了加熱速度,同時(shí)由于熱慣性,,溫度將繼續(xù)下降,,在溫度下降過(guò)程中系統(tǒng)記錄下降到的最低溫度TMIN。如果TMAX超過(guò)溫度的上限值,,則對(duì)TPWM_S參數(shù)進(jìn)行補(bǔ)0,,降低占空比,減少繼電器的導(dǎo)通時(shí)間,;如果TMIN超出溫度的下限,,則TPWM_S參數(shù)進(jìn)行補(bǔ)1,提高占空比,。因?yàn)榧訜崴俾实慕档?,振蕩周期中上限TMAX與下限TMIN越來(lái)越接近設(shè)置溫度TEMP_SET,從而達(dá)到恒溫,。溫度控制曲線如圖4所示,。在t1階段,繼電器均關(guān)斷,,在t2階段系統(tǒng)則根據(jù)TPWM_A參數(shù)進(jìn)行脈寬調(diào)制,。其中W1和W2分別為加熱溫度的上限和下限。
設(shè)計(jì)中,采用二部分程序?qū)崿F(xiàn)以上功能,。
(1) T0中斷服務(wù)子程序,,進(jìn)行0.5秒中斷控制輸出。它判斷溫度是否超過(guò)設(shè)置溫度,,即如果超過(guò)設(shè)置溫度,,則關(guān)斷繼電器輸出;如果低于設(shè)置溫度,,則根據(jù)TPWM_A參數(shù)左移后的高位值,,若為1則加熱,,即驅(qū)動(dòng)繼電器工作,;若為0則關(guān)斷繼電器。溫度控制子程序流程如圖5所示,,其中恢復(fù)TPWM_A是指記錄占空比的TPWM_S的值賦給執(zhí)行變量TPWM_A,。PWM控制的過(guò)程只在溫度傳感器所測(cè)溫度低于設(shè)定溫度時(shí)進(jìn)行,而加熱到設(shè)定溫度時(shí)則完全切斷加熱器,。由于NTC電阻的遲滯特性,,在切斷加熱器時(shí),實(shí)際溫度已高于測(cè)量溫度,。測(cè)量值依舊會(huì)上升,,所以完全切斷后待其冷卻的過(guò)程中會(huì)有上峰值TMAX產(chǎn)生,當(dāng)其下跌至設(shè)定溫度時(shí)才開(kāi)始PWM控制過(guò)程,。同樣由于NTC電阻的遲滯特性,,測(cè)量的溫度低于實(shí)際溫度,加熱過(guò)程中會(huì)有一個(gè)波谷值TMIN產(chǎn)生,。適當(dāng)?shù)拿}寬比會(huì)使加熱溫度上升的速率得以降低,,在目標(biāo)溫度的上下限之間振蕩的頻率和幅度也會(huì)變小,從而達(dá)到控制的目的,。
(2) 自適應(yīng)控制則是通過(guò)上次測(cè)量的TMAX及TMIN對(duì)TPWM_S占空比進(jìn)行調(diào)整,,以達(dá)到恒溫。該過(guò)程應(yīng)在溫度測(cè)量后進(jìn)行,,其程序流程如圖6所示,。
調(diào)整過(guò)程需要較長(zhǎng)時(shí)間,但在控制溫度變化較少,、長(zhǎng)期恒溫控制的場(chǎng)合,,自適應(yīng)過(guò)程所用時(shí)間是允許的。為了克服每次開(kāi)機(jī)都需要進(jìn)行的自適應(yīng)時(shí)間,,可以將每次學(xué)習(xí)得到的脈寬與設(shè)定溫度的對(duì)應(yīng)關(guān)系記錄下來(lái),,只要學(xué)習(xí)一次,以后開(kāi)機(jī)加熱直接調(diào)出參數(shù)即可,。而當(dāng)環(huán)境或加熱條件變化時(shí),,可能參數(shù)不再符合實(shí)際情況,,這時(shí)上述程序會(huì)再次自學(xué)習(xí),以產(chǎn)生新的參數(shù),。
3 總 結(jié)
本文介紹的自學(xué)習(xí)的溫控系統(tǒng)對(duì)內(nèi)存空間大小的要求較小,,但只適用于溫度較少調(diào)整的場(chǎng)合,如恒溫烘干箱,。但因其算法簡(jiǎn)單,,有自學(xué)習(xí)和自適應(yīng)的功能,所以無(wú)需對(duì)運(yùn)行參數(shù)進(jìn)行現(xiàn)場(chǎng)的整定,,故可簡(jiǎn)化溫控設(shè)備的設(shè)計(jì),。
參考文獻(xiàn)
1 張毅剛,彭喜源,,譚曉昀等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,,1997
2 Atmel Corporation.8-bit Microcontroller with 2Kbytes Flash AT89C2051.USA:ATMEL,1996
3 王幸之,,王雷,,翟成等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù).北京:北京航空航天大學(xué)出版社,2000
4 李錫雄,,陳婉兒,,鮑鴻等.微型計(jì)算機(jī)控制技術(shù).北京:科學(xué)出版社,1998