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