一種應(yīng)用于足浴器的溫控器的研制
摘要 介紹了一種基于單片機(jī)應(yīng)用于足浴器的自動(dòng)控溫系統(tǒng)的實(shí)現(xiàn)原理及方法。該控溫系統(tǒng)利用51系列單片機(jī),由開關(guān)電源高效穩(wěn)定供電,通過(guò)外圍引腳中斷、定時(shí)器、PID算法、DS18B20溫度傳感器,實(shí)現(xiàn)了溫度實(shí)時(shí)顯示,按鍵調(diào)節(jié)設(shè)定溫度功能,解決了加熱及冷卻過(guò)程中熱過(guò)沖與過(guò)冷問(wèn)題。其成本低、控溫精度高、溫度可調(diào)、運(yùn)行穩(wěn)定可靠。
關(guān)鍵詞 單片機(jī);PID;開關(guān)電源
足浴器的設(shè)計(jì)難點(diǎn)在于成本控制和溫度控制系統(tǒng)的設(shè)計(jì)。近年來(lái),開關(guān)電源技術(shù)的逐漸成熟,為小功率電源供電提供了一個(gè)高效率且低成本的方案,摒棄了傳統(tǒng)的變壓器降壓、整流、三端穩(wěn)壓的低效率供電方式。而通過(guò)軟件算法完善,例如PID算法的運(yùn)用,可減少部分硬件開銷,降低成本及系統(tǒng)復(fù)雜度,提高系統(tǒng)的穩(wěn)定性。設(shè)計(jì)結(jié)合以上技術(shù),著眼于成本最小化,性能最大化,實(shí)現(xiàn)了LED溫度顯示,雙按鍵目標(biāo)溫度調(diào)節(jié),高精度溫控功能。由于主控芯片AT89C2051只有兩組共16個(gè)IO引腳,2 kB的內(nèi)存,因此需合理運(yùn)用IO資源,程序設(shè)計(jì)簡(jiǎn)潔,合理分配內(nèi)存空間。
1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)由供電、采樣、按鍵、顯示及單片機(jī)部分組成。
傳感器負(fù)責(zé)采集溫度值,傳遞給MCU,目標(biāo)值由按鍵設(shè)定,MCU將采樣值與目標(biāo)值進(jìn)行比較,經(jīng)過(guò)時(shí)間PID算法處理,根據(jù)每段時(shí)間不同的溫差值,計(jì)算出需要加熱的時(shí)間,接著通過(guò)IO口控制繼電器閉合與斷開,使加熱板工作,同時(shí)LED顯示實(shí)時(shí)溫度。
2 子模塊的設(shè)計(jì)
(1)供電模塊。供電部分采用開關(guān)電源技術(shù),采用開關(guān)電源可以解決傳統(tǒng)變壓器所帶來(lái)的問(wèn)題,整個(gè)設(shè)計(jì)可變得簡(jiǎn)潔;供電效率高,且穩(wěn)定;并可減少系統(tǒng)結(jié)構(gòu)體積。由于傳統(tǒng)的基極驅(qū)動(dòng)方式會(huì)將普通NPN型開關(guān)晶體管的安全工作電壓限定在BVceo,而采用射極驅(qū)動(dòng)的方式,可將安全工作電壓從Vceo擴(kuò)大到Vcbo,由于BVcbo>BVceo,即可改善NPN型晶體管的安全工作范圍,對(duì)市電為220 V的電網(wǎng)電壓可用普通的NPN型功率開關(guān)管。該電路接通交流220 V經(jīng)整流橋后,形成直流電壓,R2為啟動(dòng)電阻,開關(guān)管用NPN管,輸出電流及輸出電壓信號(hào)通過(guò)光隔U3反饋至射極驅(qū)動(dòng)芯片U2,U2根據(jù)信號(hào)調(diào)節(jié)控制開關(guān)管的占空比,使得輸出保持穩(wěn)定。
(2)采樣模塊。采樣部分采用DS18B20,其為美國(guó)Dallas生產(chǎn)的一線可編程數(shù)字溫度傳感器。它不同于傳統(tǒng)的模擬溫度傳感器,其可產(chǎn)生對(duì)應(yīng)溫度的數(shù)字信號(hào),與主控芯片只需單線通信,使得系統(tǒng)結(jié)構(gòu)簡(jiǎn)單可靠。由于通信線為雙向輸入輸出的OC門,因此需外加一個(gè)上拉電阻到VCC。DS18B20與MCU通信的時(shí)序要求嚴(yán)格,所以在采樣過(guò)程中有必要關(guān)閉MCU的中斷功能,防止外部干擾導(dǎo)致采集到錯(cuò)誤數(shù)據(jù)。
(3)控制模塊??刂撇糠帜贤瑧B(tài)繼電器(SSR)實(shí)現(xiàn)弱信號(hào)對(duì)強(qiáng)電的控制。由于固態(tài)繼電器內(nèi)部光耦合器的應(yīng)用,使其控制信號(hào)所需的功率較低,且所需工作電壓與TTL,CMOS等常用電平標(biāo)準(zhǔn)兼容,可實(shí)現(xiàn)直接連接。SSR工作時(shí)無(wú)機(jī)械動(dòng)作,其具備了傳統(tǒng)的“線圈-簧片觸點(diǎn)式”繼電器(MER)所沒有的優(yōu)點(diǎn),即工作可靠性高,壽命長(zhǎng),此外,SSR還具有可承受比額定電流高約10倍的浪涌電壓的特點(diǎn)。考慮到51系列單片機(jī)IO口驅(qū)動(dòng)能力較弱,在原理圖設(shè)計(jì)上需要外加PNP開關(guān)管,如圖3所示。
(4)算法模塊。熱電阻絲具有過(guò)沖過(guò)冷現(xiàn)象,采用軟件的PID算法可以彌補(bǔ)硬件部分的不足。PID算法是一種比例、積分、微分并聯(lián)應(yīng)用廣泛的一種模糊控制算法。PID算法的數(shù)學(xué)模型可用下式表示
其中,Kp為比例系數(shù);Ti為積分系數(shù);Td為微分系數(shù);e(t)為采樣值與目標(biāo)值的偏差。比例部分由式Kp*e(t)表示。若Kp越大,則過(guò)渡過(guò)程越快,也易產(chǎn)生振蕩。因此Kp選擇恰當(dāng),才能起到快速過(guò)渡且又穩(wěn)定的效果。積分部分為。從表達(dá)式可知,只要存在偏差,則積分部分的控制作用就會(huì)不斷增加,只有在偏差部分e(t)=0時(shí),積分表達(dá)式才會(huì)為一個(gè)常數(shù)。其中積分時(shí)間Ti對(duì)積分控制的影響較大。Ti越大時(shí),積分效果越弱,消除偏差需要的時(shí)間也越長(zhǎng)。Ti越小,則積分效果較強(qiáng),消除偏差需要時(shí)間也越短,但是容易在消除過(guò)程中產(chǎn)生振蕩。
微分部分表達(dá)式為
微分部分的作用為抑制偏差變化。Td越大,則抑制能力較強(qiáng);Td越小,則抑制能力較弱。顯然微分部分對(duì)系統(tǒng)的穩(wěn)定性有較大的作用。
由于計(jì)算機(jī)無(wú)法像模擬控制那樣連續(xù)輸出控制量,進(jìn)行連續(xù)控制。所以上式需進(jìn)行離散化處理。離散化的思路為:以T作為采樣周期,將連續(xù)時(shí)間t分為k個(gè)采樣周期,即t=kT,將t代入式(1)可得到離散PID表達(dá)式
采用增量式PID算法的優(yōu)勢(shì)在于可減少計(jì)算機(jī)的計(jì)算任務(wù),并且增量式算法只取決于目前時(shí)刻,上一時(shí)刻,上上時(shí)刻的值,對(duì)起始參數(shù)不敏感。
3個(gè)系數(shù)的取值取決于實(shí)際經(jīng)驗(yàn),為達(dá)到較好的控制效果,因此在各溫度區(qū)域由實(shí)驗(yàn)測(cè)取了最佳PID控制參數(shù)值。系統(tǒng)PID算法流程如圖4所示。
由圖4可知,若輸出值為x,則2 s內(nèi)的需加熱時(shí)長(zhǎng)為x×20 ms,不加熱時(shí)長(zhǎng)為(2 000-x·20)ms。
(5)PCB設(shè)計(jì)。本著強(qiáng)電和弱點(diǎn),模擬信號(hào)與數(shù)字信號(hào)需要分開的原則。在PCB設(shè)計(jì)時(shí)采取以下措施:
1)由于采用開關(guān)電源供電,因此需注意將高頻高壓部分和低壓直流部分隔離開。
2)系統(tǒng)對(duì)噪聲較敏感,由于數(shù)字器件,尤其是MCU在開關(guān)動(dòng)作時(shí)會(huì)引起電流變化,從而導(dǎo)致電壓噪聲,因此需在走線上用星型走線的拓?fù)浣Y(jié)構(gòu),對(duì)敏感器件單獨(dú)供電。
3)數(shù)字地需要進(jìn)行大面積鋪地處理,并且每個(gè)器件都要單獨(dú)接一個(gè)0.01μF的高頻退藕電容,在大規(guī)模數(shù)字器件上(例如MCU),需要外加一個(gè)47μF的電解電容抑制干擾。模擬部分和數(shù)字部分進(jìn)行隔離,即在合適的地方與數(shù)字地單點(diǎn)連接。
3 試驗(yàn)結(jié)果
(1)設(shè)計(jì)要求。
1)從室溫開始加熱至40 ℃要求控制在30 min以內(nèi)。
2)開始PID控制以后,水溫的波動(dòng)范圍需要在目標(biāo)溫度±0.5℃以內(nèi)。
(2)實(shí)驗(yàn)數(shù)據(jù)。
根據(jù)設(shè)計(jì)要求,目標(biāo)溫度定為47℃,從46.5℃開始根據(jù)PID算法控制,穩(wěn)定后水溫變化范圍應(yīng)在±0.5℃之內(nèi)。
從室溫下開始加熱,水溫上升平穩(wěn),每一分鐘約上升0.7 ℃,如表1所示。
到達(dá)47℃后,水溫被控制在46.5~47.5℃之間,如表2及圖5所示。
4 結(jié)束語(yǔ)
此足浴器采用廉價(jià)的AT89C2051,并充分運(yùn)用了其所有資源,兩組IO引腳的其中11個(gè)引腳被用作LED數(shù)碼管顯示溫度。剩下5個(gè)引腳分別作為繼電器控制引腳、復(fù)位按鍵、DS18B20溫度采集接口及兩個(gè)溫度調(diào)節(jié)按鍵。并用PID算法解決了熱電阻過(guò)沖過(guò)冷的問(wèn)題,減少了硬件需求,從而降低了成本。經(jīng)實(shí)驗(yàn)證明,此控溫系統(tǒng)運(yùn)行穩(wěn)定,且精度較高。