李勝中,劉建新,夏一飛
(西華大學(xué)機械工程與自動化學(xué)院,四川成都 610039)
氣動系統(tǒng)具有成本低廉、動作迅速、反應(yīng)快、維護簡單、使用壽命長、安全可靠、無污染等優(yōu)點,但是氣動定位系統(tǒng)的非線性強,速度穩(wěn)定性差,給精確的位置控制帶來很大的影響[1]。目前氣缸定位控制常用的控制方法主要有:神經(jīng)PID控制、模糊PID控制、神經(jīng)模糊控制、流體脈沖調(diào)制控制、比例伺服閥控制、智能自適應(yīng)PID控制等方法。劉貴杰等[2]對流體脈沖調(diào)制控制進行研究,當(dāng)時已經(jīng)達到了±0.2 mm的定位精度。李寶仁等[3]采用單神經(jīng)元自適應(yīng)PID控制器對氣動位置伺服系統(tǒng)進行研究也取得了小于0.2 mm的定位精度。范偉等人[4]將智能自適應(yīng)PID控制算法用于氣動人工肌肉位置控制中,穩(wěn)態(tài)精度可控制在0.2 mm以內(nèi)。朱春波等[5]進行了基于比例閥的氣動伺服系統(tǒng)神經(jīng)網(wǎng)絡(luò)控制方法的研究,定位精度的均方根誤差為0.09 mm,重復(fù)定位精度為±0.27 mm。上述各成果采用的控制策略都有其局限性:神經(jīng)網(wǎng)絡(luò)控制的學(xué)習(xí)和訓(xùn)練的速度較慢,穩(wěn)定性和收斂性的理論證明較困難;自適應(yīng)控制需要較長的運算時間;PID控制需要系統(tǒng)精確的數(shù)學(xué)模型,并且其參數(shù)不能在線調(diào)整;模糊控制不需要精確的數(shù)學(xué)模型,參數(shù)變化的適應(yīng)性較強,但是控制精度較低。為了克服這二者的缺點,將PID控制和模糊控制相結(jié)合,就形成模糊PID控制。此系統(tǒng)采用模糊PID控制,比常規(guī)PID控制有更快的動態(tài)響應(yīng)特性、更小的超調(diào),比模糊控制有更高的穩(wěn)態(tài)精度,并且系統(tǒng)對外部擾動也具有很好的魯棒性。
在實驗室所開發(fā)的機器人拋光系統(tǒng)中,采用氣缸作為拋光姿態(tài)調(diào)整執(zhí)行結(jié)構(gòu)。文中試圖充分利用PC機擁有的強大的數(shù)據(jù)計算處理能力以及豐富的外部接口設(shè)備,以常用PC機為控制系統(tǒng)核心,結(jié)合比例閥的控制性能,運用高級語言(C/C++)靈活的編程技巧開發(fā)上位機控制系統(tǒng),完成氣缸的精確定位;運用程序算法以及選取接口通信參數(shù)克服PC機接口數(shù)據(jù)傳輸慢的問題,達到節(jié)約成本、縮短開發(fā)周期的目的。
系統(tǒng)的基本原理如圖1所示。通過PC機控制比例閥,使輸入電壓信號ue與氣缸位置反饋信號uf之差Δu逐步減小并逐步趨于零,從而實現(xiàn)氣缸對輸入信號的位置跟蹤[1]。當(dāng)給定的輸入信號ue大于反饋信號uf,即Δu>0時,比例流量閥4左路接通,氣缸3左腔壓力升高,推動活塞右移。氣缸活塞的右移使反饋電壓信號uf增大,電壓偏差Δu隨之減小,如此反復(fù),直至Δu接近于0;反之,當(dāng)給定的輸入信號ue小于反饋信號uf,即Δu<0時,通過與上述相反的調(diào)節(jié)過程使偏差趨于0;在達到穩(wěn)定時,Δu=0,即ue-uf=Δu=ky(式中k為比例系數(shù),y為氣缸活塞位移),從而實現(xiàn)了輸入信號對氣缸的定位控制。
圖1 氣缸定位系統(tǒng)原理圖
PID控制的局限性是將參數(shù)Kp、Ki、Kd作為精確的參數(shù)來處理。實際上要得到滿意的響應(yīng)特性,這些參數(shù)在不同的情況下應(yīng)取不同的值。為達到參數(shù)Kp、Ki、Kd取值的動態(tài)變化,應(yīng)用模糊推理的方法實現(xiàn)PID參數(shù)的在線自調(diào)整,使系統(tǒng)動態(tài)過程各階段的PID參數(shù)處于最佳狀態(tài),以獲得滿意的控制效果。模糊自適應(yīng)PID控制的原理是:運用模糊數(shù)學(xué)的基本理論和方法,把規(guī)則的條件、操作用模糊集表示,并把這些模糊控制規(guī)則以及有關(guān)信息(如評價指標(biāo)、初始PID參數(shù)等)作為知識存入計算機知識庫中,然后計算機根據(jù)控制系統(tǒng)的實際響應(yīng)情況(專家系統(tǒng)的輸入條件),運用模糊推理,即自動實現(xiàn)對PID參數(shù)的最佳調(diào)整,這就是模糊自適應(yīng)PID控制。目前模糊自適應(yīng)PID控制器有多種結(jié)構(gòu)形式,但其工作原理基本一致。
自適應(yīng)模糊PID控制器以誤差e和誤差變化ec作為輸入,可以滿足不同時刻的e和ec對PID參數(shù)自整定要求。利用模糊控制規(guī)則在線對PID參數(shù)進行修改,便構(gòu)成了自適應(yīng)模糊PID控制器,其結(jié)構(gòu)原理如圖2所示。
圖2 Fuzzy-PID控制原理圖
PID參數(shù)模糊自整定是找出PID的3個參數(shù)與e和ec之間的模糊關(guān)系,在運行中通過不斷檢測e和ec,根據(jù)模糊控制原理來對3個參數(shù)進行在線修改,以滿足不同e和ec時對控制參數(shù)的不同要求,而使被控對象有良好的動、靜態(tài)性能[3]。模糊控制器結(jié)構(gòu)設(shè)計采用常用的二維模糊控制器,即以e和ec為輸入,修正后的參數(shù)Kp、Ki、Kd為輸出,其工作流程如圖3所示。
圖3 Fuzzy-PID算法系統(tǒng)框圖
PID參數(shù)初值的確定選用穩(wěn)定邊界法的參數(shù)自整定原則。調(diào)節(jié)前期,將Ki、Kd設(shè)為零,Kp設(shè)最小值的系統(tǒng)能夠穩(wěn)定運行,逐步增大Kp直到系統(tǒng)出現(xiàn)等幅振蕩,記此時的臨界周期為T、Kp為Kp0,按經(jīng)驗公式計算參數(shù)的整定值:Kp=0.6Kp0,Ki=1.2Kp0/T,Kd=0.075Kp0T。
調(diào)節(jié)中期,Ki、Kd適中,微調(diào)以控制系統(tǒng)的穩(wěn)定性與控制精度:調(diào)節(jié)后期,適當(dāng)增大Kp以減小靜差。最后,將這組PID參數(shù)作為預(yù)整定值。
建立模糊自整定PID控制器的模型,根據(jù)氣缸控制系統(tǒng)在受控過程中的原則對應(yīng)不同的E和EC,將PID參數(shù)整定的原則歸納如下:
(1)當(dāng)|E|較大時,說明誤差的絕對值較大,ΔKp取較大值,以提高響應(yīng)的快速性;為防止|EC|瞬時值過大,ΔKd應(yīng)取較小的值;為了避免出現(xiàn)較大的超調(diào),應(yīng)對積分加以限制,通常取ΔKi=0。
(2)當(dāng)|E|中等大小時,為了使系統(tǒng)響應(yīng)超調(diào)較小,ΔKp取較小些;在這種情況下,ΔKd對系統(tǒng)的響應(yīng)影響較大,數(shù)值要取得適當(dāng);ΔKi的數(shù)值也要取得適當(dāng)。
(3)當(dāng)|E|較小時,為了使系統(tǒng)具有很好的穩(wěn)定性,ΔKp、ΔKi取較大值;同時為避免系統(tǒng)在設(shè)定值附近振蕩,應(yīng)該考慮抗干擾性能,適當(dāng)?shù)剡x取ΔKd值。|E|的取值與ΔKd取值規(guī)律相反,通常情況ΔKd為中等大小。
該系統(tǒng)將偏差E和EC的變化范圍設(shè)定為[-3,3]區(qū)間連續(xù)變化量,使之離散化構(gòu)成含7個整數(shù)元素的離散集合:
E=EC={NB,NM,NS,O,PS,PM,PB}即:{負(fù)大,負(fù)中,負(fù)小,不變,正小,正中,正大}
并將誤差E的誤差變化量EC量化為7個等級:
E=EC={-3,-2,-1,0,1,2,3}
在實際工作中,精確輸入量的變化一般不會在[-3,3]之間,如果其范圍是在[a,b]之間的話,可以通過變換:
將在[a,b]之間變換的變量x轉(zhuǎn)換為[-3,3]之間變化的變量y。
輸出ΔKp、ΔKi、ΔKd用以確定控制量,并規(guī)定其論域為:{-3,-2,-1,0,1,2,3}。
輸出量ΔKp、ΔKi、ΔKd的語言變量模糊集為:{NB,NM,NS,O,PS,PM,PB}
各個語言值得定義分別由給出的三角隸屬度函數(shù)曲線來描述,建立相關(guān)的模糊規(guī)則表如表1—3所示。
表1 ΔKp的模糊控制規(guī)則表
表2 ΔKi的模糊控制規(guī)則表
表3 ΔKd的模糊控制規(guī)則表
根據(jù)模糊規(guī)則表在線整定PⅠD參數(shù),計算公式(1)如下:其中:K'p、K'i、K'd為原先定好的初始PⅠD參數(shù);ΔKp、ΔKi、ΔKd為模糊控制器的3個輸出參數(shù)??梢愿鶕?jù)被控對象的狀態(tài)自動調(diào)整PⅠD參數(shù)。
以PC上位機為控制核心,采用比例方向控制閥MPYE-5-1/8-LF-420-B對氣缸運動進行控制。以Visual C++為開發(fā)平臺,按照Fuzzy-PⅠD控制原理編寫控制程序,部分程序代碼如下:
float FPⅠD::Fuzzy_PⅠD(floatⅠ_out,float position,float set)
{float e=0,ec=0,E=0,EC=0,e1=0;
floates[7],ecs[7];
e=set-position;
ec=e-e1;
e1=e;
es[NB]=FPⅠD::ufl(e,-30,-10);//e模糊化
……
det_u=kpint*((ec)+kiint*e+kdint*(e-2*e1+e2));
u=det_u+u1;
……
returnⅠ_out;}
設(shè)計氣缸精確定位控制可視化系統(tǒng),控制系統(tǒng)主界面如圖4所示。
圖4 控制系統(tǒng)主界面
其中:Ⅰnput、Output分別設(shè)定輸入、輸出模塊的地址、串口號、波特率;Ⅰnput Register、Output Register分別設(shè)定輸入、輸出寄存器起始地址與寄存器數(shù);Setting And Current Value設(shè)定氣缸目的位置數(shù)值,顯示當(dāng)前位置數(shù)值;Current Position顯示定位控制過程中氣缸位置變化曲線。系統(tǒng)輸入程序依據(jù)數(shù)據(jù)采集卡的通信協(xié)議以及電氣特性編寫,輸出控制程序依據(jù)比例方向控制閥的電氣特性編寫。
選用電流類型比例方向控制閥MPYE-5-1/8-LF-420-B。比例方向控制閥流量q與設(shè)定電流強度I的關(guān)系見圖5。實際測得比例方向控制閥的中位電流為12.08mA,左右位開啟電流分別為11.62和12.85mA。
圖5 比例閥電氣參數(shù)特性曲線
按照實際測得的比例閥電氣參數(shù)編寫控制輸出程序,部分關(guān)鍵代碼如圖6所示。
圖6 控制輸出程序
氣缸定位系統(tǒng)硬件主要由比例方向控制閥、標(biāo)準(zhǔn)氣缸、位移傳感器和數(shù)據(jù)采集卡等部分組成。其中,氣缸采用的是FESTO公司生產(chǎn)的DNC32*80-A型氣缸,氣缸內(nèi)徑32mm,行程80mm;位移傳感器采用日本精工的KTC-0100電阻型;數(shù)據(jù)采集由無錫創(chuàng)研電子科技有限公司生產(chǎn)的CAR-6AD型數(shù)據(jù)采集卡完成;控制輸出由晉江機場電子科技有限公司生產(chǎn)的ⅠPAM-4404完成??刂葡到y(tǒng)的核心為PC上位機,上位機與輸入、輸出模塊之間采用RS485總線通信,氣缸定位控制系統(tǒng)結(jié)構(gòu)分為3個主要環(huán)節(jié):數(shù)據(jù)采集、數(shù)據(jù)處理、控制輸出。數(shù)據(jù)采集:氣缸實時位置由位移傳感器以電壓形式傳送給數(shù)據(jù)采集卡,然后經(jīng)過A/D轉(zhuǎn)換將數(shù)據(jù)通過總線傳送給PC。數(shù)據(jù)處理:利用Visual C++編寫控制系統(tǒng)程序,數(shù)據(jù)采集單元實時采集數(shù)據(jù)與設(shè)定值的誤差值e與誤差變化率ec,通過Fuzzy-PⅠD運算得到控制輸出值。控制輸出:當(dāng)上位機的數(shù)據(jù)處理單元完成數(shù)據(jù)采集與處理事件,觸發(fā)控制輸出,通過上位機向模擬量輸出模塊寫入電流輸出量。
按圖1所示的系統(tǒng)原理圖搭建實驗工作平臺,實際工作平臺如圖7所示。PC上位機氣缸定位控制系統(tǒng)對氣缸進行實時監(jiān)控。試驗表明:PC上位機進行數(shù)據(jù)處理——模糊PⅠD運算的快速性是該系統(tǒng)優(yōu)于其他控制系統(tǒng)的明顯特點,這也充分體現(xiàn)了PC機強大的數(shù)據(jù)處理能力;PC機的外部接口設(shè)備對輸出模塊的數(shù)據(jù)傳輸延時問題卻顯而易見。
圖7 PC上位機氣動定位控制系統(tǒng)
系統(tǒng)采用Modbus RTU通信協(xié)議:主站PC上位機呼叫從站,從站向主站發(fā)送采集數(shù)據(jù)。呼叫數(shù)據(jù)幀格式:地址碼(1字節(jié))+功能碼(1字節(jié))+寄存器起始地址(2字節(jié))+寄存器數(shù)量(2字節(jié))+CRC校驗碼(2字節(jié));應(yīng)答數(shù)據(jù)幀格式:地址碼(1字節(jié))+功能碼(1字節(jié))+數(shù)據(jù)量(1字節(jié))+數(shù)據(jù)(N×3字節(jié))+CRC校驗碼(2字節(jié))。適當(dāng)?shù)靥岣咄ㄐ挪ㄌ芈?輸出波特率設(shè)為19 200bps),有效解決了延時問題,控制精度在±0.2mm以內(nèi)。
當(dāng)定位值在氣缸中位時,定位精度較高。設(shè)置定位值為40mm,實際定位值達到39.85mm,具體定位過程可見上位機系統(tǒng)界面,如圖8所示。
圖8 上位機定位控制過程
系統(tǒng)完成了氣缸的精確定位,控制精度滿足實際運用需求;采用常規(guī)PC機作為控制系統(tǒng)核心,縮短了系統(tǒng)開發(fā)周期,節(jié)約開發(fā)成本;該系統(tǒng)中運用軟件程序成功解決PC機接口數(shù)據(jù)傳輸延時問題。但要進行控制精度要求更為嚴(yán)格的實際生產(chǎn)應(yīng)用,還存在一系列問題。這是由于氣動系統(tǒng)存在嚴(yán)重的非線性和弱阻尼性,采集模塊CAR-6AD采集的數(shù)據(jù)在采樣、轉(zhuǎn)換、傳輸?shù)拳h(huán)節(jié)之中受到噪聲、信號丟失、氣源壓力不穩(wěn)等不利因素的影響;以及加入負(fù)載后,啟動系統(tǒng)的慣性更大,進一步加劇了系統(tǒng)的非線性。若要滿足實際生產(chǎn)需求,需進一步對系統(tǒng)實際模型進行研究,控制算法需進一步改進。
[1]章宏甲.液壓與氣動[M].北京:機械工業(yè)出版社,2000.
[2]劉貴杰,丁虹,寧舒.智能氣缸設(shè)計[J].機械工程師,1997(5):27-28.
[3]李寶仁,朱玉泉,鄭云舫.基于神經(jīng)元控制器的氣動位置伺服系統(tǒng)研究[J].中國機械工程,1998(6):10-13.
[4]范偉,彭光正,高建英,等.氣動人工肌肉驅(qū)動球面并聯(lián)機器人的位置控制研究[J].北京理工大學(xué)學(xué)報,2004(6):516-519.
[5]朱春波,包鋼,程樹康,等.基于比例閥的氣動伺服系統(tǒng)神經(jīng)網(wǎng)絡(luò)控制方法的研究[J].中國機械工程,2001(12):1412-1415.
[6]張強,王即武,王仁人.氣動位置控制技術(shù)的發(fā)展[J].農(nóng)業(yè)裝備與車輛工程,2006(1):6-9.
[7]劉金琨.先進PID控制MATLAB仿真[M].2版.北京:電子工業(yè)出版社,2004:116.
[8]LI Shengzhong,LIU Jianxin,XIA Yifei.The Pneumatic Position Control System Based on Fuzzy-PID[J].Applied Mechanics and Materials,2014,488/489:1142-1145.