摘 要: 一種采用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ì)中,,無疑會(huì)增加開發(fā)周期和開發(fā)成本,。本文介紹一種自學(xué)習(xí)的溫控算法,以對(duì)此類問題的解決提供參考,。
1 問題的提出
傳感器中NTC熱敏電阻因其價(jià)格低廉,、精度較高、可靠性好而廣泛使用,。以下就以NTC熱敏電阻作為溫控設(shè)備的傳感器,,分析閉環(huá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ì)上述問題,本文提出了一種自學(xué)習(xí)的控制算法,。該系統(tǒng)硬件采用NTC電阻線性校正電路和積分采樣電路作測(cè)量電路,,軟件設(shè)計(jì)采用一種自學(xué)習(xí)的算法,使系統(tǒng)有一定自適應(yīng)能力,,無須事先做參數(shù)調(diào)整,。該算法就是不斷在測(cè)量過程中,當(dāng)發(fā)現(xiàn)超過某個(gè)不利的限定值時(shí)就對(duì)參數(shù)作出相應(yīng)調(diào)整,,如此不斷試探,,最后達(dá)到穩(wěn)定。而后將調(diào)整學(xué)習(xí)后得出的參數(shù)值保存起來作為這個(gè)目標(biāo)溫度的相應(yīng)參數(shù)值,,在下次開機(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è)具有電壓門坎的積分比較器,它將輸入的模擬量(電壓)轉(zhuǎn)換成中間量(時(shí)間間隔),,然后將中間量轉(zhuǎn)換為相應(yīng)的數(shù)字量,。其溫度檢測(cè)與轉(zhuǎn)換電路圖如圖2所示。
2.2 NTC電阻的線性補(bǔ)償
普通的NTC電阻的阻-溫特性呈指數(shù)變化,,即電阻隨著溫度的上升而呈指數(shù)下降,。因其非線性,給系統(tǒng)溫度控制帶來不便,。在本溫控系統(tǒng)中采用了電路補(bǔ)償法,,將熱敏電阻與一般電阻并聯(lián),以改善其在某一溫度范圍內(nèi)的阻-溫特性的線性度,。在圖2所示的電路中,,RT和R4并聯(lián)后,可以得出:
由上式可以看出,,在低溫時(shí),,原來的Δ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電容充電開始到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ì)算出來,,存入映射表,。
2.4 自學(xué)習(xí)的溫度控制算法
本溫控系統(tǒng)中的傳感器電路測(cè)得的溫度經(jīng)數(shù)字濾波并與系統(tǒng)溫度設(shè)定值進(jìn)行比較后,通過PWM參數(shù)的設(shè)定,,去控制加熱繼電器的導(dǎo)通時(shí)間,,從而可以控制加熱板的平均輸入功率,達(dá)到恒溫的控制,。
對(duì)于本控制系統(tǒng)來說,,當(dāng)溫度未達(dá)到設(shè)定值時(shí),為自由升溫段,,要求升溫越快越好,,所以要全量輸出。當(dāng)溫度達(dá)到設(shè)定值時(shí),,停止輸出,但由于加熱板的熱慣性,,溫度并不因輸出停止而停止上升,溫度會(huì)超過給定值,;同理,,溫度在上升到一定高度后才開始下降,并繼續(xù)下降到略小于設(shè)定值時(shí),,系統(tǒng)才重新輸出,。由于溫度的滯后特性,造成了溫度在設(shè)置溫度的一定范圍內(nèi)上下振蕩,,使溫度基本保持在恒溫狀態(tài),。
系統(tǒng)使用PWM技術(shù)實(shí)現(xiàn)對(duì)溫度的控制,,使用TPWM_A、TPWM_S參數(shù)來改變占空比,,從而控制繼電器導(dǎo)通時(shí)間,達(dá)到控制溫度的目的,。PWM控制即是通過對(duì)變量TPWM_A的調(diào)整來調(diào)整輸出加熱器通斷時(shí)間的比,。假設(shè)TPWM_A為8位(為1100 0000),每0.5秒輸出TPWM_A.7的電平,,則在4秒內(nèi)有1秒輸出高電平,,進(jìn)行加熱,其余時(shí)間則關(guān)斷,。這樣通過調(diào)整其中為1的個(gè)數(shù)就可以調(diào)整加熱功率,。
該算法中設(shè)TPWM_S為記錄占空比變化的變量,而TPWM_A為通過循環(huán)移位輸出控制脈沖的執(zhí)行變量,,則控制過程如下:剛開始加熱時(shí),,TPWM_A參數(shù)為#0FFH,則繼電器導(dǎo)通,,全速加熱,。溫度升至設(shè)置溫度TEMP_SET時(shí),將TPWM_A參數(shù)置為0,,關(guān)斷繼電器,,但因熱慣性,溫度將繼續(xù)上升至一定溫度后才下降,,在溫度上升過程中系統(tǒng)記錄上升到的最高溫度TMAX,。當(dāng)溫度下降到設(shè)置溫度TEMP_SET時(shí),TPWM_A參數(shù)置為#08H,,降低了加熱速度,,同時(shí)由于熱慣性,溫度將繼續(xù)下降,,在溫度下降過程中系統(tǒng)記錄下降到的最低溫度TMIN,。如果TMAX超過溫度的上限值,則對(duì)TPWM_S參數(shù)進(jìn)行補(bǔ)0,,降低占空比,,減少繼電器的導(dǎo)通時(shí)間;如果TMIN超出溫度的下限,,則TPWM_S參數(shù)進(jìn)行補(bǔ)1,,提高占空比。因?yàn)榧訜崴俾实慕档?,振蕩周期中上限TMAX與下限TMIN越來越接近設(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秒中斷控制輸出,。它判斷溫度是否超過設(shè)置溫度,即如果超過設(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控制的過程只在溫度傳感器所測(cè)溫度低于設(shè)定溫度時(shí)進(jìn)行,,而加熱到設(shè)定溫度時(shí)則完全切斷加熱器,。由于NTC電阻的遲滯特性,在切斷加熱器時(shí),,實(shí)際溫度已高于測(cè)量溫度,。測(cè)量值依舊會(huì)上升,所以完全切斷后待其冷卻的過程中會(huì)有上峰值TMAX產(chǎn)生,,當(dāng)其下跌至設(shè)定溫度時(shí)才開始PWM控制過程,。同樣由于NTC電阻的遲滯特性,測(cè)量的溫度低于實(shí)際溫度,,加熱過程中會(huì)有一個(gè)波谷值TMIN產(chǎn)生,。適當(dāng)?shù)拿}寬比會(huì)使加熱溫度上升的速率得以降低,在目標(biāo)溫度的上下限之間振蕩的頻率和幅度也會(huì)變小,,從而達(dá)到控制的目的,。
(2) 自適應(yīng)控制則是通過上次測(cè)量的TMAX及TMIN對(duì)TPWM_S占空比進(jìn)行調(diào)整,以達(dá)到恒溫,。該過程應(yīng)在溫度測(cè)量后進(jìn)行,,其程序流程如圖6所示。
調(diào)整過程需要較長(zhǎng)時(shí)間,但在控制溫度變化較少,、長(zhǎng)期恒溫控制的場(chǎng)合,,自適應(yīng)過程所用時(shí)間是允許的。為了克服每次開機(jī)都需要進(jìn)行的自適應(yīng)時(shí)間,,可以將每次學(xué)習(xí)得到的脈寬與設(shè)定溫度的對(duì)應(yīng)關(guān)系記錄下來,,只要學(xué)習(xí)一次,以后開機(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)的功能,,所以無需對(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