數字PID控制算法在溫控系統中的應用
溫度控制對于大型工業和日常生活等領域都具有廣闊的應用前景。很多應用領域,需要精度較高的恒溫控制,例如,根據外界變化,隨時調節相應的LED亮度以達到所需色溫值,可以實現更好的照明和裝飾效果。在連續控制系統中,對象為一階和二階慣性環節或同時帶有滯后時間不大的滯后環節時,PID控制是一種較好的控制方法。本文主要采用數字PID控制,通過單片機PID控制算法的程序實現。
1 數字式定時溫控系統
本文研制的數字式定時溫控系統主要完成數據采集,溫度、定時的顯示,溫度控制,溫度定時的設定以及報警等功能。核心控制器由單片機完成,采用數字PID控制算法進行過程控制。加熱器件選用熱慣性小,溫度控制精度高,速度快的電熱膜,由單片機輸出通斷率控制信號進行控制。硬件框圖如圖1所示。
2 PWM功能的實現
AT89S52內部有3個16位定時器:TO,T1,T2。用定時器T2實現PWM(脈寬調制)方式來對加熱器件進行溫度控制。設置T2CON中C/#T2=O(定時方式),CP/#RL2=1且EXEN2=O時,T2是16位定時器。當計數溢出時,會設置T2CON中的TF2位,進而觸發相關中斷。用單片機系統實現,必須首先完成兩個任務:首先是產生基本的PWM周期信號;其次是脈寬的調整,即單片機模擬PWM信號的輸出,并且調整占空比。具體的設計原理:若想讓它的負脈沖為2 ms,則正脈沖為20-2=18 ms,所以開始時在控制口發送低電平,然后設置定時器在2 ms后發生中斷,中斷發生后,在中斷程序里將控制口改為高電平,并將中斷時間改為18 ms,再過18 ms進入下一次定時中斷,再將控制口改為低電平,并將定時器初值改為2 ms,等待下次中斷到來,如此往復實現PWM信號輸出。用修改定時器中斷初值的方法巧妙形成了脈沖信號,調整時間段的寬度便可實現脈寬調整。實現其軟件流程如圖2所示。
評論