[摘要]本文以MCS-51單片機(jī)為核心,以水箱為被控對象,將水箱給定溫度與實(shí)際溫度對比,利用PID算法設(shè)計(jì)了水溫調(diào)節(jié)器實(shí)驗(yàn)裝置。該實(shí)驗(yàn)裝置的設(shè)計(jì)有利于同學(xué)們加深對單片機(jī)控制系統(tǒng)和PID控制算法特點(diǎn)的了解。且該裝置結(jié)構(gòu)原理簡單、穩(wěn)定性好、可靠性高、參數(shù)易于整定,控制精度高,有一定的實(shí)用價值,可以向?qū)嶋H推廣。
[關(guān)鍵詞]水溫調(diào)節(jié)器 單片機(jī) PID算法
一、前言
溫度是工業(yè)生產(chǎn)中最常見和最基本的工藝生產(chǎn)參數(shù)之一,許多物理變化和化學(xué)反應(yīng)的過程均與溫度密切相關(guān)。因此,溫度控制系統(tǒng)是典型的控制系統(tǒng)。目前,單片機(jī)已普遍應(yīng)用于生產(chǎn)過程的自動控制領(lǐng)域。以其體積小、價格低廉和可靠性高等特點(diǎn),用其構(gòu)成計(jì)算機(jī)控制系統(tǒng)中的智能控制單元,受到廣大工程技術(shù)人員的重視。下面的PID自動溫度控制系統(tǒng),采用8051單片機(jī)作為PID控制器,具有可編程、控制算法可選、體積小、穩(wěn)定性好、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。采用單片機(jī)進(jìn)行對它控制不僅具有控制方便、簡單和靈活性等優(yōu)點(diǎn),而且大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的數(shù)量和質(zhì)量。因此,單片機(jī)的溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。我們之所以選擇該實(shí)驗(yàn)裝置,是因?yàn)樗粌H可以使我們把所學(xué)的理論知識加以升華,而且可以起到舉一反三和觸類旁通的效果,對單片機(jī)在其他情況下的應(yīng)用,有了一個基礎(chǔ)性的了解與掌握。
二、總體設(shè)計(jì)
本裝置的主要任務(wù),是利用MCS-51單片機(jī)實(shí)現(xiàn)對電熱水箱水溫度的控制。即預(yù)先設(shè)定要達(dá)到的理想溫度值,水箱中的溫度或升或降(本裝置中限于實(shí)驗(yàn)條件,僅限于水溫的升高),最終達(dá)到預(yù)設(shè)值。此過程的實(shí)現(xiàn)可描述如下:集成傳感器AD590檢測電熱水箱中水的溫度,得到一微弱的模擬信號,此信號經(jīng)運(yùn)算放大器放大后,經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換,實(shí)現(xiàn)了由模擬量到數(shù)字量的轉(zhuǎn)變。該數(shù)字信號傳輸進(jìn)單片機(jī)后,經(jīng)數(shù)字PID算法處理后輸出一控制信號(數(shù)字量),控制固態(tài)繼電器的通斷。從而實(shí)現(xiàn)對加熱電阻絲加熱功率的控制。
本課題的設(shè)計(jì)可分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩大部分。硬件設(shè)計(jì)主要包括溫度檢測電路、前向通道(A/D轉(zhuǎn)換接口)、人機(jī)接口(單片機(jī)擴(kuò)展存儲器單片機(jī)與鍵盤顯示器的接口電路、單片機(jī)與A/D轉(zhuǎn)換器的連接)以及其他外圍電路(顯示電路、電源電路、溫度控制電路)的設(shè)計(jì)。軟件的設(shè)計(jì)主要應(yīng)用MCS-51匯編語言編程,要完成的程序設(shè)計(jì)包括A/D轉(zhuǎn)換子程序,鍵盤顯示子程序,PID算法程序。其中,重點(diǎn)和難點(diǎn)是PID算法程序的設(shè)計(jì),它是整個課題設(shè)計(jì)的中心環(huán)節(jié)。另外,考慮到外界環(huán)境存在的干擾,如機(jī)械震動,各種電磁波和環(huán)境溫差都可能影響到系統(tǒng)的性能。為此,需進(jìn)行抗干擾設(shè)計(jì)。抗干擾措施可分為軟件抗干擾和硬件抗干擾,軟件抗干擾措施主要采用數(shù)字濾波和指令冗余技術(shù),硬件抗干擾措施主要采用濾波技術(shù)和接地技術(shù)。
三、溫度檢測電路
采用美國模擬器件公司生產(chǎn)集成溫度傳感器AD590。它是單片集成兩端感溫電流源,其輸出電流與溫度成正比。使用簡便,不需外接線性補(bǔ)償和零點(diǎn)補(bǔ)償器件,精度高互換性好,線性度好,具有標(biāo)準(zhǔn)化輸出,能很好地消除電源變動和交流紋波對器件產(chǎn)生的影響,且耐用,輸出電流可用于長距離傳送,不會因線路壓降而影響測量精度。
實(shí)際應(yīng)用電路設(shè)計(jì):盡管AD590比其他溫度傳感器有較好的特性,但在使用范圍內(nèi),仍然存在著一定的非線性。另外,各器件間也存在著離散性,所以在實(shí)際中,欲獲得測量精度,尚需采用兩點(diǎn)校正(零點(diǎn)校正和滿刻度校正)。由基準(zhǔn)電壓源AD590輸出一個標(biāo)準(zhǔn)的+10.000伏電壓通過輸入端加到AD590上。AD590的輸出電流在輸入端上產(chǎn)生壓降,從而使運(yùn)算放大器的輸入端的電壓歲溫度而變化,該電壓經(jīng)過運(yùn)算放大后輸出。這樣,該測量電路可大大改善由傳感器本身非線性誤差而引起的誤差。
四、信號輸入通道(前向通道A/D)
本裝置采用逐次逼近型的ADC0809是 8位A/D轉(zhuǎn)換芯片,它由單一的+5V電源供電,片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可對8路0-5V的輸入模擬電壓信號分時進(jìn)行轉(zhuǎn)換,完成一次轉(zhuǎn)換約100us。片內(nèi)具有多路開關(guān)的地址譯碼器和鎖存電路、高阻抗斬波器、穩(wěn)定的比較器,256歐電阻T型網(wǎng)絡(luò)和樹狀電子開關(guān)以及逐次逼近寄存器。輸出具有TTL三態(tài)鎖存緩沖器,可直接接到單片機(jī)數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐罚珹DC0809可對0-5V的雙極性模擬信號進(jìn)行轉(zhuǎn)換。在本實(shí)驗(yàn)中,見于簡單起見,只選取了一個溫度控制信號,故A/D0809只接一路輸入信號IN0。
五、人機(jī)接口
1.鍵盤、顯示器接口電路
鍵盤顯示電路中,采用的是8031單片機(jī)擴(kuò)展I/O接口芯片8255A實(shí)現(xiàn)的四位LED顯示和16鍵的鍵盤顯示器接口電路。8255A的PA口地址為7CH,PB口地址為7DH,PC口的地址為7EH,控制字寄存器地址為7FH。這里8031單片機(jī)對8255A采用了線性選址法。8255A的RAM的地址為7E00H~7EFFH,I/O口地址為7F00H~7F05H,8255A的PB口為輸出口,控制鍵盤的列線的電位,PB口作為鍵掃描口,同時又是4位共陰極顯示器的位掃描口。PC口作為顯示器的段碼輸出口,8255A的PA口作為輸入口,PC0~3接行線X0~X3,稱為鍵輸入口。鍵盤需輸入?yún)?shù)Kp、Ti、Td、T及PID算法的給定值,顯示器顯示溫度值。
在8051單片機(jī)上擴(kuò)展一片8255A芯片,無需外加任何邏輯電路,74LS373時地址鎖存器,8255A的地址線A1、A0經(jīng)74LS373接于P0.1、P0.0;片選端CS經(jīng)74LS373與P0.7接通,其它地址線懸空;8255A的控制線/RD、/WR直接接于8031的RD、/WR端;數(shù)據(jù)線D0~D7接于P0.0~P0.7。
8255A的B口作為顯示器接口,采用靜態(tài)顯示,74LS373為鎖存器。74LS48為共陰極譯碼/驅(qū)動器,LED數(shù)碼管采用8 HEADER,鍵盤處理為中斷方式。由此可見,8255A的B口工作在兩種方式下:在顯示狀態(tài)下R。鍵盤為4×4矩陣鍵盤,8255A口的PA3 -PA0為行掃描接口,從B口的PB3-PB0讀入列值,該系統(tǒng)鍵為輸出方式;在鍵盤中斷服務(wù)程序處理過程中為輸入方式。為此,只需在相應(yīng)操作前重新設(shè)置8255A的工作方式即可。
2.存儲器的擴(kuò)展
在MCS-51單片機(jī)的16位地址,分為高8位和低8位,高位由P2輸出,低位由P0輸出。但P0同時又是數(shù)據(jù)輸入輸出接口,故在傳送時采用分時方式,先輸出低8位地址,然后,在傳送數(shù)據(jù)。但是,在對外部存儲器進(jìn)行讀寫操作時,地址必須保持不變,這就需要選擇適當(dāng)?shù)募拇嫫鞔娣诺?位地址,這個外界的寄存器就是地址鎖存器。在進(jìn)行外部存儲器擴(kuò)展時,凡具有輸入輸出控制的8位寄存器均可作為地址鎖存器。這里選用的是27128。
3.輸出執(zhí)行電路(反饋部分)
這一部分主要完成經(jīng)單片機(jī)控制系統(tǒng)后的控制信號如何反作用于被控對象,在MCS-51單片機(jī)控制各種各樣的高壓、大電流負(fù)載,這些大功率負(fù)載如電動機(jī)、電磁鐵、繼電器、燈泡等,顯然不能用單片機(jī)的I/O線來直接驅(qū)動,而必須通過各種驅(qū)動電路和開關(guān)電路來驅(qū)動。此外,為了隔離和抗干擾,有時需加光電耦合器。
本裝置主要完成電熱負(fù)載的調(diào)功輸出控制。此處選用的核心元件為SSR(Solid State Relay),即固態(tài)繼電器。它是一種新穎的四端以弱控強(qiáng)的無觸點(diǎn)功率控制元件。
其特點(diǎn)是輸入控制電壓低(3V-14V),驅(qū)動電流?。?mA-15mA),輸出與輸入采用光電隔離,使強(qiáng)電與弱電完全分離,輸出無觸點(diǎn)、無噪聲,開關(guān)速度快。它事實(shí)上將光電隔離器、驅(qū)動器、可控硅、阻容吸收等器件做在一起,用環(huán)氧樹脂全灌封裝,具有防塵、耐濕、耐振、壽命長等優(yōu)點(diǎn)。
這里采用的固態(tài)繼電器是非過零觸發(fā)的SSR。當(dāng)中斷服務(wù)程序?qū)1.5置“1”時,BG 導(dǎo)通,SSR 導(dǎo)通,電阻絲上得到完整周波,當(dāng)P1.5置“0”時,SSR被關(guān)斷,電阻絲上得不到完整的周波。單片機(jī)通過控制P1.5的高低電平的占空比來控制電阻絲的功率輸出。
六、硬件抗干擾措施
為了防止外界交流電路產(chǎn)生的工頻干擾對模擬信號的影響,在電路設(shè)計(jì)中(放大器和比較器)采用低通濾波器和有源濾波器。為了防止由于外時鐘是高頻噪聲源引起的硬件電路產(chǎn)生的干擾,選用低頻率的單片機(jī)來提高提高抗干擾性,本裝置中采用8051的時鐘頻率為6MHz。為了切斷干擾信道,避免強(qiáng)電流對回路的沖擊,常用光電隔離方法,本裝置中采用的SSR集成了光電耦合器,應(yīng)用于輸出通道。為了防止電磁波干擾,在開關(guān)電源內(nèi)部把高頻電壓器和扼流圈進(jìn)行屏蔽,對整個開關(guān)電源進(jìn)行屏蔽保護(hù)。
七、軟件設(shè)計(jì)部分
軟件的主要任務(wù)是完成初始化工作,如參數(shù)顯示、鍵盤命令識別、信號的采集、濾波和工程量轉(zhuǎn)換控制算法處理、中斷處理等。
主程序包括:鍵盤置數(shù)程序、鍵盤數(shù)值處理程序、系統(tǒng)初始化。
中斷服務(wù)程序:A/D轉(zhuǎn)換結(jié)束中斷、系統(tǒng)時鐘溢出中斷、8255A讀鍵盤中斷。
子程序:數(shù)據(jù)采集子程序、數(shù)字濾波子程序、顯示子程序、A/D轉(zhuǎn)換子程序、控制算法子程序。
本裝置中重點(diǎn)完成A/D轉(zhuǎn)換子程序和PID控制算法子程序的設(shè)計(jì)。
八、結(jié)語
本裝置給出了一個基于MCS51系統(tǒng)的PID溫度控制系統(tǒng)較完整的解決方案和實(shí)現(xiàn)方法,該實(shí)驗(yàn)裝置在教學(xué)中極具典型性,可以使同學(xué)們把所學(xué)的理論知識加以升華,而且可以起到舉一反三和觸類旁通的效果,對單片機(jī)在其他情況下的應(yīng)用,有了一個基礎(chǔ)性的了解與掌握。在裝置實(shí)現(xiàn)的過程中采用的一些芯片也許不能很好地滿足工業(yè)現(xiàn)場的要求,可作一些更換。
參考文獻(xiàn):
[1]潘新民.微型計(jì)算機(jī)控制技術(shù)[M].北京:電子工業(yè)出版社,2003,1.
[2]張毅剛.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱工業(yè)大學(xué)出版 社,1997,12(第二版).
[3]李樹華.數(shù)字PID自動溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].內(nèi)蒙古大學(xué)學(xué)報(bào)(自然科學(xué)版),1997.28(6).
(作者單位:浙江理工大學(xué)信息與電子學(xué)院)