1引言
溫度在工業(yè)控制中是個很重要的參數(shù),特別在冶金、機械、食品、化工等工業(yè)中,對工件的處理溫度都要求嚴格控制,對于溫度的精確度和穩(wěn)定性均有較高的要求。模糊控制雖然能夠得到較好的動態(tài)響應特性,但模糊控制也存在固有的缺點,容易受模糊規(guī)則有限等級的限制而引起誤差。而數(shù)字PID控制則能夠較好地解決控制精度的問題,并且計算機能夠用程序既簡單又方便地實現(xiàn)數(shù)字PID控制規(guī)律,對精度調整起來也很方便。本文設計了一種基于數(shù)字PID算法的溫度控制系統(tǒng),用AT89S52作為控制內核,并采用了數(shù)字PID算法結合積分分離方法對電阻爐溫度進行控制,具有精度高、穩(wěn)定性好的特點。此系統(tǒng)還設計了單片機與上位機的通信,實現(xiàn)了遠程溫度控制。這種方案可大大地提高工作效率和控制精度,有助于自動化水平的提高,具有良好的經濟效益和推廣價值。
2爐溫控制的工作原理
工作原理:當采樣周期到達時,由熱電偶檢測爐內實際溫度,經過放大電路將溫度值轉換為0-4V的電壓信號,再由A/D轉換芯片ADC0809將電壓值轉換成數(shù)字量,經單片機采集后與設定溫度進行比較,根據(jù)偏差信號進行PID控制運算,得出相應控制輸出量,將控制輸出量輸出到執(zhí)行機構進行加熱,從而控制電阻爐內溫度,使電阻爐的實際溫度向著給定溫度變化并最終達到給定溫度。系統(tǒng)時刻檢測爐內溫度值,出現(xiàn)異常時啟動蜂鳴器報警。
3系統(tǒng)硬件設計
本系統(tǒng)的硬件設計主要包括單片機的最小系統(tǒng)、溫度采集電路、8155擴展電路、液晶顯示接口、鍵盤接口、蜂鳴器報警電路以及串口通信等。圖1中ArI‘89S52為主控制器件,AT89S52是ATMEL公司生產的低電壓、高性能CMOS 8位單片機,片內含有8K字節(jié)的EPROM和256字節(jié)的RAM.本系統(tǒng)采用8 155A芯片來擴展鍵盤和液晶顯示,模數(shù)轉換芯片ADC0809以及MAX232實現(xiàn)RS一232C標準接口通信電路。以下是各部分電路功能:
(1)AT89S52單片機
AT89S52是整個系統(tǒng)的CPU,單片機首先根據(jù)已經測量的電壓值計算出溫度偏差,然后進行PID控制并計算出相應的控制輸出量,將控制輸出量輸出去控制加熱器工作,從而實現(xiàn)溫度控制。AT89S52還負責按鍵處理、液晶顯示以及與上位機進行通信等工作。
圖1控制器系統(tǒng)硬件結構框圖。
(2)數(shù)據(jù)采集電路
本系統(tǒng)采用K型熱電偶作為高溫測量傳感器,其測溫范圍為0℃~1700℃,溫度變化1 oC,可產生40“v左右的電壓。熱電偶冷端溫度補償采用電橋補償法,利用不平衡電橋產生的電動勢補償熱電偶因冷端波動引起的熱電動勢的變化。運算放大器采用低漂移高精度的芯片OP07.
單片機接口技術比較精確,由OP07放大器將信號放大,當溫度從0℃~500.C變化時輸出的電壓范圍為0-4V之間。由于溫度信號為緩慢變化的信號,對A/D轉換速度要求不高,可選用價廉的集成A/D芯片ADC0809.ADC0809是一種8路模擬輸入8位數(shù)字輸出的逐次逼近式A/D轉換器件,轉換時間為100us.ADC0809將經過OP07放大的電壓值轉化成與其大小成正比的數(shù)字量,通過P0口送給單片機。
(3)蜂鳴器報警電路蜂鳴器報警電路由晶體管和蜂鳴器組成。由單片機I/O口輸出信號控制晶體管的導通或截止,晶體管導通,則蜂鳴器報警。通過單片機來控制蜂鳴器產生報警聲音。
(4)按鍵處理、液晶顯示鍵盤主要負責溫度控制范圍和PID控制參數(shù)的輸入;液晶顯示器采用LCMl28X64液晶顯示模塊,把溫度控制結果顯示在液晶屏上。
(5)驅動電路驅動電路采用繼電器驅動方式。通過控制繼電器在控制周期內通斷的時間,實現(xiàn)對加熱器的開關式控制。由單片機I/O口輸出的控制信號,經NPN晶體管放大,驅動繼電器工作。
4軟件設計
本系統(tǒng)需要實時采集溫度數(shù)據(jù),然后經過A/D轉換為數(shù)字信號,存入AT89S52的內部數(shù)據(jù)存儲器,送液晶顯示,并與設定值進行比較,經過PID算法得到控制量并由單片機輸出去控制加熱器。進行溫度控制程序的設計應考慮如下問題:①溫度采樣,數(shù)字濾波;②PID控制程序;③按鍵處理,液晶顯示;④越限報警和處理;⑤與上位機通信程序。
(1)PID控制程序PID是對系統(tǒng)進行線性控制的一種控制器。所謂PID控制,就是按設定值與測量值之問偏差的比例、偏差的積累和偏差變化的趨勢進行控制。經典的數(shù)字PID增量型算式為:
(1)其中Kp為比例系數(shù),瓠為積分時間常數(shù),Td為微分時間常數(shù)。
本溫控系統(tǒng)采用的數(shù)字PID算法由軟件實現(xiàn),增量PID算法的優(yōu)點是編程簡單,數(shù)據(jù)可以遞推使用,占用存儲空間少,運算快。但是對于溫度這種響應緩慢、滯后性大的過程,不能用標準的PID算法進行控制。當擾動較大或者給定的溫度值大幅度變化時,由于產生較大的偏差,加上溫控本身的慣性及滯后,在積分作用下,系統(tǒng)往往產生較大的超調和長時間的振蕩。因此,為克服這種不良的影響,采用積分分離法對增量PID算法進行改進。當偏差e(I【)較大時,暫時取消積分作用;當偏差e(k)小于某一設定值M時,才將積分作用投入。
①當le(k)l》M時,用PD控制。由于偏差大,說明系統(tǒng)溫度遠離設定值,應快速加熱,采用PD控制,可以提高系統(tǒng)的動態(tài)響應速度,避免產生過大的超調,減小動態(tài)誤差。PD控制算式為Au(k)=K,{k(t)一e(k一1)J+;}k(女)一2e(k-1)+e(k一2)J) (2)②當le(k)l《M時,用PID控制。偏差小,說明系統(tǒng)溫度已經接近設定值,此時加入了積分作用,可以消除系統(tǒng)靜差,保證系統(tǒng)的控制精度。
(2)主程序流程圖如圖2所示
圖2主程序流程圖。
(3)PID參數(shù)的整定
數(shù)字PID控制器參數(shù)的整定是一項十分復雜的工作,必須依靠經驗和現(xiàn)場調試來確定控制器的參數(shù)Kp、Ti、Td及采樣周期T.在本系統(tǒng)的設計過程中,首先根據(jù)Ziegler和Nichols提出的參數(shù)整定方法(表1)對各參數(shù)進行整定,得到一個初始值,然后在實際操作中進行修訂,直至最終滿足要求為止。
表1由Ziegler和Nichols閉環(huán)整定方法得到的調節(jié)參數(shù)。
其中Ku為臨界增益,Tu為臨界振蕩周期,這兩個值均是由純比例器的作用下產生等幅振蕩時的臨界值。
5溫度控制系統(tǒng)的調試
通過對電阻爐加熱實驗,對溫控系統(tǒng)進行調試。溫度設定值為300℃,由于溫度為響應慢、滯后較大的被控對象,采樣周期T應選得長些,取T為10秒,繼電器控制周期與采樣周期一樣為10秒,M設定為20℃。改變PID參數(shù),通過實驗得到如下結果:
①當Kp=10,Ti=l,Td=1時,系統(tǒng)的上升到設定值的時間較短,但系統(tǒng)超調量大,溫度最大值接近350℃,而且振蕩時間也較長。
②實驗所用的電阻爐在純比例器的控制作用下,Ku=14,Tu=lO.用Ziegler和Nichols提出的參數(shù)整定方法對PID參數(shù)進行整定,有Kp=8.4,Ti=5,Td=1.2,用此參數(shù)重新對電阻爐進行加熱控制,結果發(fā)現(xiàn)系統(tǒng)超調量變小,經過小幅振蕩后趨向穩(wěn)定,達到穩(wěn)定狀態(tài)的時間較短。
③在②的基礎上根據(jù)實際情況調整控制參數(shù),尋求最佳的PID控制參數(shù)組合。由②的結果可以預見,應適當減少Kp值,以減少超調量;增大Ti值使得偏差補償不至于太大;增加Td值以增加對溫度反應的敏感性。經過不斷的實驗驗證,最終將控制統(tǒng)參數(shù)定為Kp=7.6,Ti=5.2,Td=1.5.用此參數(shù)控制實驗電阻爐,系統(tǒng)的過渡過程具有單調上升的特性,可以達到消除系統(tǒng)的超調輸出,獲得更短的過渡過程時間。當溫度稍微低于設定的3000C時,由于PID的控制作用,溫度總在設定值做上下波動,誤差很小,可以控制在±1℃以內,最終可使溫度控制在300±1℃。溫度變化曲線如圖3所示。
6監(jiān)控軟件的運行
在本溫控系統(tǒng)中,。以單片機AT89S52作為下位機,Pc機作為上位機,下位機與上位機通過串I:1進行通信。運行上位機的監(jiān)控軟件后,選擇開始通信按鈕便與下位機建立了通信,可以對,下位機的狀態(tài)進行監(jiān)控。遠程監(jiān)控的軟件上顯示溫度實際值的數(shù)字與曲線。
圖3監(jiān)控軟件的運行
圖3是在溫度設定值為300.C時軟件運行的曲線圖,屏幕上顯示的為加熱過程的溫度變化曲線,曲線動態(tài)隨著下位機的溫度實際值的變化而變化,在左邊顯示的坐標值是當前溫度的實際值。
在實際的操作過程中需要對異常的情況進行報警。圖3中在溫度上限、下限設定值輸入了320和280,表示溫度高于320℃(加熱過程)或者低于280.C(降溫過程)則系統(tǒng)通過蜂鳴器報警。
7總結
本文介紹了一種基于單片機的數(shù)字PID算法對溫度進行控制,軟件采用c語言編寫,編程簡單靈活,通過對PID算法中各控制參數(shù)的整定和采用積分分離方法,消除了系統(tǒng)的振蕩和超調現(xiàn)象,實現(xiàn)了對溫度的精確控制。此系統(tǒng)不但現(xiàn)場有溫度液晶顯示和按鍵控制,還實現(xiàn)了遠程的溫度顯示與控制,單片機將測得的溫度值通過串口傳遞給上位機,使用戶能夠隨時對溫度進行監(jiān)控。經過實驗驗證,該溫度控制器結構簡單、體積較小、測溫準確,具有一定的實際應用價值。
評論