??? 摘 要:介紹了以AT89C52單片機為核心的溫度控制系統,用來控制油氣分析箱體的溫度。該系統的環境溫度范圍在-40℃~+70℃,控制溫度為20℃左右。通過硬件和軟件的設計利用固態繼電器實現加熱和制冷控制,使溫度達到設定值??刂凭冗_到±0.5℃。
??? 關鍵詞:AT89C52;溫度控制;固態繼電器;模糊PID
?
??? 電力在人們生活和工業生產中是一種重要的資源,大型變壓器的正常穩定工作是電力供應的重要保障。本課題針對大型變壓器里的油氣分析研究智能型在線儀器。由于油氣分析采用氦離子分析檢測器,所以對油氣分離和儀器工作的環境均有嚴格的要求。
??? 油氣分析箱需要工作在我國北方或南方的露天環境下,氣候條件惡劣,環境溫度范圍達到-40℃~+70℃。為了保證分析的穩定性與準確性,需要對油氣分析箱體的溫度進行監測和控制。
??? 本設計硬件部分以AT89C52單片機為核心,溫度傳感器采用LM35,MAX1268作為A/D轉換器件,通過固態繼電器控制加熱或制冷單元來實現對溫度的控制。軟件部分主要通過模糊PID算法控制固態繼電器的輸出。
1溫控系統硬件設計
??? 在一個控制系統中,硬件選擇的優良與否直接影響著控制的精度,對硬件的深入了解也是編制程序的必要前提[1]。系統總體結構如圖1所示。
?
?
??? 電路根據功能可劃分為4個部分:溫度檢測模塊,A/D模塊、單片機及通信模塊,輸出控制模塊。
1.1 溫度檢測模塊
??? 系統采用LM35作為溫度傳感器,LM35系列的溫度傳感器是集成的高精度傳感器。測量范圍為-55℃~+150℃,在+25℃時測量精度為0.5℃。其輸出電壓值與攝氏溫度值成線性關系,比例因數是+10.0 mV/℃,使用起來比較方便。由于本設計的環境溫度涉及到零度以下,所以LM35的輸出端需要連接一個-5 V電壓,本設計中的電源模塊只提供+5 V電源,所以需要一個電壓倒相器來生成負電壓,本設計中采用的是開關電容式電壓倒相器NCP1729。溫度檢測電路原理圖如圖2所示。
?
?
1.2 A/D轉換電路模塊
??? 由于本設計的環境溫度在-30℃~+70℃,使用LM35測出的電壓范圍就為-0.3 V~+0.7 V,這就對A/D轉換芯片的量程提出了要求。本設計選擇MAX1268作為模數轉換芯片,其量程為0~2.5 V,符合設計要求。工作溫度在-40℃~+85℃,工作電壓+5 V,雙通道,帶有并行12位接口,最大誤差不超過1 LSB。可選單極性和雙極性兩種模式,本設計中由于需要測零下的溫度,所以選擇雙極性模式。當MAX1268被選中且處于內部查詢模式時,WR的一個上升沿到來促使轉換開始。轉換結束時INT引腳輸出低電平。單片機只需定時查詢INT引腳即可準備是否讀數據。需要注意的是REF和REFADJ兩個引腳的接法,由于選擇的是MAX1268內部的2.5 V基準電壓,兩個引腳均接地。
1.3 單片機及通信模塊
??? 整個測控系統是以8位的單片機AT89C52為核心的,AT89C52是美國ATMEL公司推出的一種電可擦寫單片機,該產品與INTEL80C51和80C52單片機完全兼容,它內部有8 KB可重復編程的閃爍存儲器,8 KB的ROM可以完全容納下一個控溫的程序。選擇它就不需要再外擴RAM和ROM,也就不需要外加鎖存器,這可以充分減小制板的面積,減小制版的面積從另一方面來說也就是減少干擾,提高精度。
??? AT89C52還有256 B的8位RAM,32位可編程I/O口,3個16位定時器/計數器,8個中斷源,1個全雙工串行I/O口,片內晶振和時鐘電路[2]。
??? 其中,P1.2和P1.3用來控制固態繼電器的導通與否,P1.4輸出自檢成功信號,P1.5輸出溫控完成信號。
??? P3.0和P3.1用作串行通信口,與MAX232連接,實現接口電平轉換,然后將溫度值送到PC機,方便查看溫控過程,并利于軟件中PID參數的調節。
1.4 輸出控制電路
??? 對溫度的直接控制主要是由風冷式制冷單元來完成的,其原理是P/N結,輸入為2個端子,工作電壓為24 V,工作電流為10 A,由于負載端電流較大,所以選擇固態繼電器。固態繼電器具有能以微小的的控制信號達到直接驅動大電流負載的優點,單片機只要輸出能控制固態繼電器通斷時間的脈沖信號就可以了。本設計選擇直流控制直流型繼電器,源端控制電壓選擇3~32 V,需要注意的是,由于負載端接制冷單元,電流比較大,所以為了安全起見,固態繼電器的負載端電壓選擇25 V,為電流留出足夠的裕量。本系統中的脈沖控制是通過程序輸出的。
??? 風冷式制冷單元結構圖如圖3所示。
?
??? 與固態繼電器相接的2個端子正接24 V時制冷單元加熱,反接24 V時則制冷,所以在這里要使用4個固態繼電器通過與電源和2個端子的連接來控制加熱或者制冷。單片機的P1.2端口控制2個固態繼電器來加熱,P1.3端口控制另兩個固態繼電器來制冷。
2溫控系統軟件設計[3]
2.1 總體設計
??? 系統程序由主程序、查詢服務子程序、計算程序、串口通信子程序等組成。程序的總體流程圖如圖4所示。
?
??? 軟件系統首先自檢,自檢無誤后將P1.4置0,通過光耦向控制端顯示。然后進行初始化,主要是硬件的初始化以及設置各變量的初值。接著進入數據轉換子程序,然后進行數據的處理,通過串口調試助手輸出溫度值,并進行PID計算,最后輸出控制。溫度穩定在設定值后將P1.5置0,通知控制端溫度控制完成。主程序代碼主要部分如下。
??? void main(void)
??? {
??? …… ??????????????????? //自檢并且初始化
??? while(1)
??? {
??? void delay();//定時
??? input=sensor();??? //數據轉換子程序
??? void serial();??? //串行通信
??? }
??? } out=Pid(input);?? //PID計算
??? out=conver(out);?? //輸出控制
??? ……
??? 由于儀器的工作環境存在強電磁干擾,為提高溫控系統的可靠性,軟件上采用數字濾波法,傳統的方法大多采用線性濾波,但是多數線性濾波具有低通特性,在去除噪聲的同時也使信號的突變點變得模糊。本系統采用小波變換的去噪方法。本控制系統在一次采樣周期內讀入多個數據,先對采樣信號進行首次濾波,去掉最大、最小值后再取平均值,把得到的值進行5階DB4小波分解,對每一階細節小波系數給定閾值進行濾波,最后將得到的值進行小波重構就得到了濾波后的信號。
2.2 帶參數自整定的模糊PID控制器的設計
??? 在變壓器運行監測過程中,由于受外界擾動較大,傳統的PID控制方法很難取得較理想的控制效果。而模糊PID控制器可以根據操作人員長期實踐積累的經驗知識運用控制規則模糊化,然后運用PID參數的自整定,以取得最佳控制效果。其控制原理如圖5所示。
?
??? 由于油氣分析箱需要工作在氣候極為惡劣的環境下,所以控制器還引入了Bang-Bang控制,當系統處于異常的大偏差下時,控制器應輸出最大值以實現設定值的快速跟蹤,而無需利用模糊算法再進行一系列復雜計算,可以加快動態響應。
常規數字式PID控制器的算式為
??? 其中,un和en分別為n個采樣時刻控制器的輸出量(控制量)和輸入量(偏差量) ;T為采樣周期;Ti和Td分別為積分和微分時間常數;KP為比例增益。
??? 模糊PID控制器把速度偏差變化e和偏差變化率ec加到模糊控制器的輸入端,模糊化過程將其轉換為模糊輸入語言變量,經過模糊推理得到隸屬函數,推倒出模糊輸出量,然后再經過解模糊過程(本文采用最大隸屬度法),輸出參數KP、TI、TD的模糊調整決策矩陣。
??? 根據系統響應曲線設定系統響應的誤差E和誤差變化率EC的Fuzzy子集為:
??? ?
??? 其中,E、EC隸屬度函數如圖6所示,Kp隸屬度函數曲線如圖7所示。
?
??? 根據Kp的調整規則模型進行算法合成,求得響應的控制表如表1所示。其他參數依此類推。
?
??? 模糊控制器和傳統控制器相比,具有更快的響應和更小的超調,而且具有很強的魯棒性,能夠克服非線性因素的影響。
??? 本系統采用AT89C52單片機為核心來進行溫度的測控,在環境溫度下,使用同一個單元進行加熱或制冷,減小了箱體的體積。配上所選的各種硬件,最大限度地減少了元器件的數量,資源也得到了充分的利用,一方面大大減少了開發成本,并使得控溫精度達到±0.5℃,另一方面本設計中由于引入溫控的制冷作用,使得整個溫控過程響應速度快,在較少的時間內能夠完成控制目標,達到工業監控的要求。模糊PID算法的引入,消除了到工作現場來回設定參數的麻煩,能在較短的時間內實現溫度的自動調節,是一種較好的設計方案,在箱體溫控設備上有很好的應用前景。
參考文獻
[1]? 趙東輝. 單片機89C52在加熱爐測控溫度中的應用[J]. 電氣開關,2002(5):10.
[2]? 楊定安. 89C52單片機在可控硅調功溫控系統中的應用[J]. 機電工程技術,2002,31(3):23.
[3]? 戴佳,戴衛恒. 51單片機C語言應用程序設計實例精講[M]. 北京:電子工業出版社,2006.
[4]? 李軍,王孫安. 模糊控制器在溫度控制系統中的應用[J]. 機床與液壓,2003(4).
[5]? 王麗娟. 單片機在鍋爐溫度控制系統中的應用[J]. 微計算機信息,2007(2).