《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種簡便的參數(shù)自學(xué)習(xí)的溫度測(cè)控系統(tǒng)
一種簡便的參數(shù)自學(xué)習(xí)的溫度測(cè)控系統(tǒng)
魏云龍 唐依珠
福州大學(xué)計(jì)算機(jī)系(350002)
摘要: 一種采用NTC熱敏電阻作為溫控設(shè)備的傳感器,89C2051為CPU的溫度測(cè)控系統(tǒng),它線路簡單并具有一定參數(shù)自學(xué)習(xí)能力。
Abstract:
Key words :

摘   要: 一種采用NTC熱敏電阻作為溫控設(shè)備的傳感器,89C2051為CPU的溫度測(cè)控系統(tǒng),它線路簡單并具有一定參數(shù)自學(xué)習(xí)能力。
關(guān)鍵詞: 溫度控制  單片機(jī)  NTC  自學(xué)習(xí)  自適應(yīng)

  在工農(nóng)業(yè)生產(chǎn)、國防、科研以及辦公設(shè)備自動(dòng)化領(lǐng)域中,溫度是一種十分重要的數(shù)據(jù)。對(duì)于溫度的采集,常用的傳感器有熱電偶、鉑電阻、NTC熱敏電阻等。針對(duì)不同的傳感器,可以采用不同的測(cè)溫技術(shù)。目前,我國在這方面的成熟產(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è)溫遲滯性(目前國產(chǎn)的NTC電測(cè)溫時(shí)延為幾秒到十幾秒)以及電阻受材料的穩(wěn)定性和一致性的影響,圖1中傳感器部分的阻值精度有±5%的誤差,這使參數(shù)的整定受限于每個(gè)具體的設(shè)備。除了傳感器的遲滯特性外,還必須考慮加熱器的慣性即加熱器在斷電之后在一定時(shí)間內(nèi)仍有加熱作用的特性以及被加熱物體的熱遲滯性和外部環(huán)境的氣溫影響,因此使參數(shù)整定更為困難。但是在溫控器的具體應(yīng)用中,大部分時(shí)間是在某一個(gè)具體的場合,環(huán)境條件的變化是相對(duì)穩(wěn)定的。一個(gè)加熱設(shè)備通常長期運(yùn)行在某個(gè)要求的目標(biāo)溫度,目標(biāo)溫度的變化并不頻繁。因此為了一次設(shè)計(jì)能夠用于多個(gè)場合,就要求控制器有自學(xué)習(xí)和自適應(yīng)的功能,即在每次運(yùn)行的初期,自已調(diào)整相應(yīng)的參數(shù),使之有效地應(yī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也減?。欢诟邷貢r(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í)間長度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)榧訜崴俾实慕档停袷幹芷谥猩舷轙MAX與下限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)整過程需要較長時(shí)間,但在控制溫度變化較少、長期恒溫控制的場合,自適應(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)整的場合,如恒溫烘干箱。但因其算法簡單,有自學(xué)習(xí)和自適應(yīng)的功能,所以無需對(duì)運(yùn)行參數(shù)進(jìn)行現(xià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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。