電子壓力控制器PID算法的研究(圖)
隨著自動控制技術的發(fā)展,精密氣壓產(chǎn)生與控制技術的應用越來越廣泛。而傳統(tǒng)的閥門控制器控制精度不夠,運行速度緩慢,且價格昂貴,已不能滿足這方面的要求。
本文著重介紹一種了基于英飛凌XC164單片機和PI控制算法的電子壓力控制器,以及借助此裝置對實現(xiàn)精密壓力控制的探索。
自動選擇系統(tǒng)組成與實現(xiàn)
電子壓力控制系統(tǒng)由供氣設備、控制器、閥門、儲氣設備、傳感器單元等部分構(gòu)成。電子壓力控制器的作用是保持輸出氣壓與輸入信號成比例。為了達到對儲氣裝置氣壓的精確控制,需要用兩個高頻電磁閥的開、關來調(diào)節(jié)輸出壓力。系統(tǒng)采用閉環(huán)PI控制,壓力由兩路壓力傳感器獲得,即用戶處和控制器處的壓力傳感器。圖1是系統(tǒng)的方塊圖,從中可以看出,壓力傳感器和PI控制器構(gòu)成了系統(tǒng)的閉環(huán)反饋部分。
圖1 電子壓力控制器結(jié)構(gòu)圖
控制系統(tǒng)精度分析
在電子壓力控制系統(tǒng)中,影響到控制精度的主要模塊是ADC、壓力傳感器和閥門。電子壓力控制器正常工作氣壓為0~100psi,而傳統(tǒng)的8位ADC精度太低,為了達到1%精度,需要選擇10位ADC(單位采樣值0.09psi)。電子壓力控制器對傳感器提出很多要求,如高精度、線性度好、溫度穩(wěn)定性好、使用壽命長等,因此選用Honeywell公司的SX系列壓力傳感器。其測量壓力范圍為0~150psi,精度達0.3mV/psi,足以滿足本控制器的精度要求。電磁閥的開關速度也將成為一個重要指標。但是為了延長閥門壽命,應盡可能的減少閥門開關次數(shù)。
實際的控制系統(tǒng)總是要跟蹤輸入信號或是克服攪動信號的干擾。所以,有必要對系統(tǒng)的動態(tài)誤差做出分析。設誤差的傳遞函數(shù)為,將其在s=0處展開成泰勒級數(shù):
式中,是系統(tǒng)的開環(huán)傳遞函數(shù)。
在任意輸入函數(shù)作用下,系統(tǒng)的動態(tài)誤差的拉氏變換級數(shù)在s=0的鄰域內(nèi)是收斂的,所以,當s趨于0即t大的時候有:
e(t)=C0r(t)+C1r(t)+C2r/2!+…
式中,e(t)是系統(tǒng)的動態(tài)誤差;C0,C1,…是動態(tài)誤差系數(shù)。
當s→0時,
由此可見,通過求取動態(tài)誤差系數(shù),就可以將跟蹤誤差與系統(tǒng)的開環(huán)傳遞函數(shù)直接聯(lián)系起來,根據(jù)對系統(tǒng)的精度要求來設計傳遞函數(shù)了;或是根據(jù)辨識對象的輸入輸出數(shù)據(jù),通過辨識得到相關的模型,并將模型轉(zhuǎn)換為傳遞函數(shù)或狀態(tài)空間模型,進而用上述方法分析系統(tǒng)的理論誤差。
電子壓力控制器硬件結(jié)構(gòu)與軟件實現(xiàn)
該電子壓力控制器輸入電壓為24V,正常工作氣壓為0~100psi。用戶可選擇控制信號(0~10V或0~5V、4~20mA、8位數(shù)字信號)對氣壓進行控制。輸入電壓24V經(jīng)電源模塊轉(zhuǎn)換成5V和2.5V供給單片機,同時經(jīng)過電源基準模塊輸出10V基準電壓供給傳感器使用。用戶給定的控制信號經(jīng)過放大器放大后輸出至單片機的ADC,或者經(jīng)過數(shù)據(jù)鎖存器輸出給單片機I/O口讀取,以給出壓力設定值。傳感器輸出信號經(jīng)放大電路輸給單片機采樣,同時在LCD上顯示出來。用戶可以使用按鍵實現(xiàn)對閥門的控制。此外,控制器和計算機之間的通信由串口來實現(xiàn)。控制器硬件結(jié)構(gòu)框圖如圖2所示。
圖2 硬件結(jié)構(gòu)框圖
軟件設計基于DAVE和KEIL軟件編寫。系統(tǒng)啟動時將保存在FLASH中的標定值讀出。在執(zhí)行PI運算前要完成A/D采樣和對A/D采樣值的處理,所以A/D采樣周期不能太長,否則無法反應系統(tǒng)的瞬時值。LCD顯示程序應采用查詢的方式,盡量避免重復書寫。單片機屬于快速設備,而LCD屬于低速設備,所以要保證LCD的指令有充分的延時時間,否則也會出現(xiàn)錯誤。為了顯示壓力變化的曲線和更加方便的進行標定或指令控制,控制器借助Modbus協(xié)議通過PC界面加以控制。為了實現(xiàn)對傳感器的標定值存儲,控制器程序使用在應用中編程技術(In-Application Programming)。PI運算的結(jié)果被用來產(chǎn)生PWM信號,控制進/排氣閥的通斷,從而達到對氣壓的精密控制。
PI控制算法
PID控制主要是通過微處理器來比較給定的壓力設定值和傳感器反饋回來的實際壓力值,利用其偏差值來控制閥門的進氣量和排氣量,從而達到精確控制閥門氣壓的目的。當反饋回來的實際壓力和指定值的偏差在一定范圍內(nèi)以后,停止進氣閥和排氣閥的動作,壓力容積室的壓力達到平衡。
離散PID算法的一般形式是:。 Kp、KI、KD分別表示比例系數(shù)、積分系數(shù)、微分系數(shù),根據(jù)被控對象的不同,可以對其進行調(diào)整。該算法簡單,參數(shù)也易于調(diào)整,所以獲得廣泛應用。筆者程序中只用到了PI控制,下面簡單加以介紹。
比例系數(shù):增大比例系數(shù)Kp,可以使系統(tǒng)動作靈敏、反應速度加快;但是Kp偏大,會導致震蕩次數(shù)加多,調(diào)節(jié)時間加長;Kp過大,系統(tǒng)不穩(wěn)定。需要注意,增大Kp只能減小誤差,不能完全消除穩(wěn)態(tài)誤差。
積分系數(shù):積分系數(shù)KI能消除系統(tǒng)的穩(wěn)態(tài)誤差,挺高控制系統(tǒng)的精度。
圖3 PI控制算法結(jié)構(gòu)圖
圖4 控制器在不同壓力設定值下的響應曲線
值得注意的是,為了提高控制的響應速度,最好給積分賦予一個不為零的初始值。由于進氣和排氣的速度不同,所以最好給與進氣和排氣不同的初始值,以提高快速性和準確性。
系統(tǒng)中加入積分校正后,會產(chǎn)生飽和效應,超調(diào)量可能過大,因此引入了積分分離式算法。為了減少積分校正對控制系統(tǒng)動態(tài)性能的影響,需要在控制開始階段或是大幅值變化時,取消積分校正;而當實際壓力值與設定值的誤差小于一定值時,恢復積分校正作用,以消除穩(wěn)態(tài)誤差。積分分離式算法可以保持積分的作用,同時減小超調(diào)量,改善控制系統(tǒng)的性能。
控制算法的方框圖如圖3所示。
圖4是控制器在不同壓力設定值下的響應曲線。因為系統(tǒng)漏氣或者用戶使用氣壓的緣故,伴隨設定值的增加,壓力波動值增大,達到穩(wěn)態(tài)的時間會變長。
圖5 有無積分初始值時響應曲線的對比
圖5是有無積分初始值時響應曲線的對比。此圖中,采樣時間為1s,采樣點數(shù)115個。從圖可得,有積分初始值的響應進入穩(wěn)態(tài)的時間明顯短于無積分初始值。
PI運算的結(jié)果被用于產(chǎn)生PWM信號。利用英飛凌捕捉/比較單元(CAPCOM1/2)產(chǎn)生PWM信號,在定時寄存器產(chǎn)生的溢出中斷里調(diào)用PI算法,從而得到比較寄存器的數(shù)值。
PWM的執(zhí)行周期要給與合適的選擇。周期太短,也許會導致閥門的頻繁開關,會縮短閥門使用壽命,同時可能造成對閥門的過度控制;周期太長,也就無法做到對氣壓的及時調(diào)節(jié),無法掌握控制精度。程序中PWM的周期為10ms(閥門導通時間僅為3.4ms)。
結(jié)語
電子壓力控制器基于雙傳感器負反饋,采用帶死區(qū)的積分分離式PI控制算法,解決了壓力控制的快速性和穩(wěn)定性問題。該系統(tǒng)結(jié)構(gòu)簡單、工作可靠,實現(xiàn)了對氣壓的精密控制。
評論