文/張佳 代小宇 顧建軍
電阻爐是在我國應(yīng)用較廣的一種被控對象,其溫度變化非線性,難以精確建模,優(yōu)化這樣的系統(tǒng)控制性能是大多數(shù)工程師所需要解決的問題。傳統(tǒng)PID控制主要適用于線性控制對象,在控制這類對象時可能會出現(xiàn)難以控制的現(xiàn)象。而模糊控制是依據(jù)操控人員的經(jīng)驗,通過查表來得到控制量,更加智能化。本文將以電阻爐溫控系統(tǒng)為引導(dǎo),主要研究其核心控制器的原理及具體實現(xiàn)。
電阻爐裝置是一個閉環(huán)反饋控制系統(tǒng),是具有自平衡能力的對象,可用二階慣性和滯后環(huán)節(jié)來近似描述,而通過參數(shù)辨識可以將二階不振蕩系統(tǒng)降為一階模型,則電阻爐溫度控制系統(tǒng)模型的傳遞函數(shù)可以表示為:
式中K為放大系數(shù),τ0為純滯后時間,T為時間系數(shù)。在現(xiàn)實的控制中,因需要考慮到種種因素,使得上述數(shù)學(xué)模型與實際非常不符,因此選用PID算法與模糊控制結(jié)合的方式對本系統(tǒng)進(jìn)行設(shè)計。
模糊自整定PID控制基于PID算法,通過計算當(dāng)前系統(tǒng)設(shè)定值與反饋值之間的誤差e和誤差變化率ec,在控制過程中實時計算e和ec,找出其與Kp,Ki,Kd之間的模糊關(guān)系,并查詢模糊規(guī)則表實時地輸出對應(yīng)的控制量。本文用FPGA技術(shù)實現(xiàn)設(shè)計,需要進(jìn)行離散化處理,離散的PID表達(dá)形式如下:
上式的計算可以很方便的利用FPGA中的函數(shù)模塊實現(xiàn),相比于原PID公式大大減輕了計算量,加快了運算速度,提高了系統(tǒng)性能。
圖1:頂層電路圖
除其靈活性、高集成、低功耗的優(yōu)點,本文用FPGA來實現(xiàn)核心控制器部分,還避免了不必要的硬件開銷,提高了系統(tǒng)的運行速度和可靠性。設(shè)計可分為4個模塊:誤差及誤差變化量產(chǎn)生模塊、模糊量化模塊、查找表模塊以及乘加模塊。
本模塊輸入為設(shè)定值與反饋值,輸出為其誤差及誤差變化量。利用QuartusII軟件中自帶的LPM_ ADD_ SUB函數(shù)即可實現(xiàn)該模塊。
量化模塊的基本思路是:首先將基本論域分為若干段,每一段對應(yīng)于一個語言值,確定輸入的精確值落入哪一段,此段對應(yīng)的語言值即為此精確量的量化值。利用QuartusII里自帶的LPM_ COMPARE函數(shù)模塊以及編碼器完成設(shè)計。
本文的模糊查找表用MATLAB離線生成,通過自帶的模糊邏輯工具箱,可以自定義設(shè)置隸屬度函數(shù)、建立模糊規(guī)則等來建立并測試模糊邏輯系統(tǒng),利用仿真功能建立該系統(tǒng)模型,輸入所有e和ec的不同組合到該模型中求出不同情況下PID三個參數(shù)的值。
設(shè)置三個變量A,B,C如下:將A, B, C與e和ec進(jìn)行特定的乘加運算,即可等價為式(2),由此將計算更加簡化。在Quartus II里用ROM模塊來存放查找表,e與ec的量化地址作為ROM的輸入。
調(diào)用QuartusII里自帶的lpm_mult及parallel_ add函數(shù)模塊完成下式的運算:
得到最終的控制量△u。
如圖1所示。
本文基于FPGA技術(shù)設(shè)計了模糊自整定PID控制器實現(xiàn)對電阻爐溫控系統(tǒng)的控制,設(shè)計采用線下生成查找表,實時查表計算的模糊自整定PID算法,并在QuartusII軟件上利用原理圖設(shè)計方法完成設(shè)計并且仿真,據(jù)仿真結(jié)果顯示,此設(shè)計方案可行。