在工業控制領域,溫度控制的應用非常廣泛,控制精度的高低直接影響到產品的質量及使用壽命,研究和設計高性能的溫度控制系統具有非常重要的意義。目前控制算法的多樣化也為溫度控制提供了便利條件,應用較為普遍的有比例積分微分(PID)控制、模糊控制等。本文根據某溫控設備的控制要求設計了一種以單片機為核心的監控系統。系統采用熱電偶溫度傳感器測溫,利用位置式PID算法,實現了溫度的實時監測、超限報警、顯示與控制等功能。 1 系統硬件設計 本系統主要由熱電偶溫度傳感器、OP27低噪聲精密運算放大器、雙積分型A/D轉換器ICL7135、可編程定時/計數接口芯片8253、AT89C51單片機等器件組成。系統框圖如圖1所示。 1.1 電源模塊 電源模塊分模擬電源和數字電源兩大部分,分別對本機的模擬電路和數字電路供電,地線各自獨立,按A/D轉換器的要求只在A/D轉換器處將模擬地和數字地相連。數字電源和模擬電源都采用三端穩壓塊穩壓,在個別要求電源精度較高的場合選用低溫漂穩壓二極管進行二級穩壓。 1.2 溫度采集模塊 溫度數據采集模塊以熱電偶溫度傳感器為核心部件,將溫度變化量轉化為電壓信號,經精密運算放大器OP27進行放大,放大后的電壓信號輸出到ICL7135雙積分型A/D轉換器進行高精度模數轉換。A/D轉換后,往往要進行相應的換算,得到系統所需要的數據。之后將數據送往單片機,此信號一部分送往顯示模塊,以提供實時數據的顯示;另一部分送往控制模塊,將實時數據與目標數據對比,繼而進行控制。圖中采用8253接口電路是為系統升級為具有多路溫度檢測控制功能而設置的。 1.3 輸出控制 輸出控制電路主要包括驅動和執行兩部分。可用達林頓陣列ULN2003來作驅動,進而控制交流固態繼電器(AC-SSR)中的雙向可控硅的關斷和導通,以便切斷或接通加熱電源。原理是采用雙向可控硅交流“調功”方式控制加熱電熱絲發熱量,即在每一個控制周期時間內,改變加在電熱負載上交流電壓半波的個數來調節電熱絲的發熱量。 1.4 顯示與報警 顯示模塊由LED數碼管和驅動電路組成。報警系統采用聲光報警由發光二極管,揚聲器及驅動電路組成,當單片機發出超限報警信號,將驅動發光二極管和揚聲器實現報警。 1.5 看門狗電路 為了防止系統受干擾而使程序丟失,或走進死循環而使系統死機,應加入看門狗電路,以保證系統的可靠性和穩定性。本系統采用常用的集成看門狗電路X5045,X5045是一種集看門狗、電壓監控和串行E2PROM三種功能于一體的可編程電路。 2 系統軟件設計 系統程序的控制思想如下:設置目標溫度后,系統對爐溫采樣,并通過預設溫度、當前溫度、歷史偏差等進行PID運算產生輸出參數,通過該參數控制加熱時間,從而調節加熱器的平均功率,實現系統的PID控制。整體功能通過主程序、串行通信中斷服務程序、PID控制子程序等配合實現。這里主要介紹主程序流程和PID控制子程序流程。系統首先初始化I/O、8253、定時器、UART等部件,然后進入主循環,進行溫度采樣和相關處理。本系統軟件設計的核心思想就在于實現PID控制,在系統運行過程中通過按相應鍵重新設置目標溫度。主程序流程如圖2所示。 本方案利用位置式PID算法,將溫度傳感器采樣輸入作為當前輸入,接著與設定值進行相減得偏差,再進行PID運算產生輸出結果,然后控制定時器的時間進而控制加熱器。由中斷定時器提供溢出頻率為64 Hz的中斷信號,配合主程序的PID運算結果來確定加熱時間,實現加熱器功率調節,該部分子程序流程圖如圖3所示。 上位機軟件使用Delphi,由于Delphi不提供串口通信的ActiveX控件,僅有API函數可以使用,但API函數編程較為復雜,因此可將微軟公司提供的Ac-tiveX控件Microsoft Communication Control 6.0(簡稱MSComm控件)引入到Delphi開發環境中,這樣用戶便可以像使用Delphi控件一樣方便地利用MSComm控件進行計算機串口的通信編程。下面給出上位機命令的發送與數據接收的部分源程序: 3 系統調試 本系統的關鍵之處在于PID控制。對于PID系統來說,系統性能的好壞主要取決于PID控制參數的設定。由PID控制原理知;比例(P)控制能迅速反應誤差,減小穩態誤差;比例作用的加大,會引起系統的不穩定。積分(I)控制的作用,只要系統有偏差存在,積分作用不斷地積累,輸出控制量以消除誤差;積分作用太強會使系統超調加大,甚至使系統出現振蕩。微分(D)控制可以減小超調量,克服振蕩,使系統的穩定性提高,同時加快系統的動態響應速度,減小調整時間,從而改善系統的動態性能。本系統要達到的目標就是:反應速度盡可能快,超調量盡可能小,穩態誤差趨近于0。 為能在上位機上實時顯示溫度的變化曲線,調節PID系統關鍵參數KP,KD使系統處于最佳運行狀態就顯得尤為重要。圖4給出了在4種情況下溫度隨時間變化的調試曲線。由圖可知:在KP=1.5,KD=1.0(溫升:20~40℃)時,超調量過大;在KP=1.2,KD=1.0(溫升:40~60℃)時,由于參數過小,系統的快速性不好,反應比較遲鈍;在KP=-1.3,KD=1.0(溫升:30~50℃)時,由于參數過小,系統的超調量比較大,而且預測性不好,造成溫度長時間超調;在KP=1.3,KD=2.0(溫升:50~70℃)時,選擇適中,系統的超調量很小,而且超調維持時間很短就會恢復平衡點。此時溫度控制指標如下:靜態誤差:T≤0.5℃;分辨率:0.1℃;超調量:T≤0.5℃。這樣的情況下,系統運行情況可以達到最好。 4 結 語 以單片機AT89C51為中心,設計了一種溫度監控功能系統。該系統簡潔,溫度數據采集和運算處理十分方便簡單,擴展為多路溫度監控系統容易。利用單片機的串行中斷,采用Delphi編制上下位機通信程序,在上位機直接實時顯示溫度的變化曲線,便于直接觀察控制的性能。通過調試找到了使控制最優的PID參數,在此情況下,系統運行良好,表明了本系統設計的可行性和有效性。 |