彭萌,程國揚(yáng)
(福州大學(xué)電氣工程與自動(dòng)化學(xué)院,福建福州350108)
在工業(yè)控制系統(tǒng)中,要求系統(tǒng)的受控變量快速、平穩(wěn)且準(zhǔn)確地跟蹤給定目標(biāo)值,以保證產(chǎn)品質(zhì)量和提高生產(chǎn)效率。目前,工業(yè)控制系統(tǒng)廣泛采用PID控制技術(shù)[1]。PID的控制結(jié)構(gòu)簡單,且不依賴于系統(tǒng)模型;在未知擾動(dòng)的情況下,通過PID的積分控制作用可以消除穩(wěn)態(tài)誤差、提高系統(tǒng)精度。但是在控制信號(hào)幅值受限、且給定目標(biāo)出現(xiàn)大跳變的情況下,積分控制容易產(chǎn)生積分器飽和(integrator windup)的現(xiàn)象,使系統(tǒng)出現(xiàn)大超調(diào)和低頻震蕩,甚至導(dǎo)致不穩(wěn)定。另外,積分控制造成系統(tǒng)瞬態(tài)性能對(duì)擾動(dòng)或參考目標(biāo)的變化過于敏感,在實(shí)際應(yīng)用中非常麻煩。為解決這些問題,提出了一些改進(jìn)型PID,如非線性PID[2],變參模糊智能PID[3],參數(shù)優(yōu)化PID[4],雙自由度PID[5],以及各種抗飽和PID[6-7]。在現(xiàn)有的抗飽和PID 控制方案中,應(yīng)用比較成熟的是條件積分法(conditional integration)和反饋抑制飽和法(tracking back calculation)兩類方法。這兩類方法都不依賴于對(duì)象模型。在對(duì)象模型已知的情況下,可利用關(guān)于模型的知識(shí),來改進(jìn)PID 抗飽和設(shè)計(jì)方案,如文獻(xiàn)[7]提出了基于積分項(xiàng)預(yù)測的抗飽和方案,并在交流變速電機(jī)上取得較好的效果。
本文通過一個(gè)基于TMS320F2808DSP的直流伺服電機(jī)實(shí)驗(yàn)平臺(tái),對(duì)上述3 種典型的抗飽和PID 方案進(jìn)行實(shí)驗(yàn)研究,分析比較其特點(diǎn),以便為實(shí)際應(yīng)用提供參考和指導(dǎo)。實(shí)驗(yàn)中,為克服常規(guī)測速法的相位滯后,采用基于2 階Lagrange 插值多項(xiàng)式的瞬時(shí)速度估計(jì)方法,用在直流伺服電機(jī)的轉(zhuǎn)速控制。實(shí)驗(yàn)結(jié)果表明,3 種抗飽和方案所設(shè)計(jì)的速度伺服控制器,雖然在算法實(shí)現(xiàn)的復(fù)雜度有差異,但均可在較大的目標(biāo)轉(zhuǎn)速范圍內(nèi)實(shí)現(xiàn)理想的瞬態(tài)性能和穩(wěn)態(tài)精度。
最常用的抗飽和方法是條件積分法,包括:積分項(xiàng)限幅法、積分分離法、飽和停止積分法、遇限消弱積分法等。遇限消弱積分法是其中比較有效的一種抗飽和方法,其基本思想是:當(dāng)執(zhí)行器處于飽和、且誤差信號(hào)與控制信號(hào)同方向(同號(hào))時(shí),積分器停止更新(其值保持不變),除此之外,積分器正常工作。即,在飽和情況下,只進(jìn)行有助于削弱飽和程度的積分運(yùn)算。在離散控制(采樣周期為T)模式下,相應(yīng)的控制律如下:
比例環(huán)節(jié)為
微分環(huán)節(jié)為
積分環(huán)節(jié)為
其中
實(shí)際的有效控制輸出量為
其中飽和限幅函數(shù)sat(u)定義為
式中:umax為控制信號(hào)的最大允限幅值。
如圖1 所示,反饋抑制抗飽和PID 是把計(jì)算的控制量超出其限幅范圍的偏差值通過反饋進(jìn)入積分器,從而迫使控制量返回到限幅值之內(nèi)。在離散時(shí)間(采樣周期T)域中,其控制律可以表示為
積分環(huán)節(jié)為
式中:kc為抗飽和反饋增益;esat為控制量的飽和誤差,esat(k)=sat(u(k))-u(k)。
實(shí)際的有效控制輸出量為v(k)=sat(u(k))。
圖1 反饋抑制抗飽和PID控制方案Fig.1 Anti-windup PID with tracking back calculation
積分項(xiàng)預(yù)測抗飽和PID 是文獻(xiàn)[7]針對(duì)變速電機(jī)控制而提出的,本節(jié)對(duì)其重新整理和簡化,使其適用于更一般的一階線性受控對(duì)象。考慮帶擾動(dòng)和控制信號(hào)限幅的一階對(duì)象,設(shè)其傳遞函數(shù)為
則對(duì)應(yīng)的微分方程如下:
式中:d為未知的輸入擾動(dòng)。
采用PID控制律:
其中積分項(xiàng)ui可以表示為
式中:v=sat(u),u≠v表示積分飽和狀態(tài);wi為低通濾波器的參數(shù)值;為積分項(xiàng)穩(wěn)態(tài)值之預(yù)測值。
當(dāng)系統(tǒng)采用PID 控制律來跟蹤參考目標(biāo)r 時(shí),對(duì)應(yīng)的誤差動(dòng)態(tài)方程為
在穩(wěn)態(tài)時(shí),誤差為零,控制量僅包含積分項(xiàng),其值為
由于擾動(dòng)d值未知,無法直接利用上式來計(jì)算ui-ss。根據(jù)誤差動(dòng)態(tài)方程,可得:
即可以利用上式等號(hào)右邊的表達(dá)式來預(yù)測(估計(jì))積分項(xiàng)的穩(wěn)態(tài)值ui-ss為
為避免積分項(xiàng)出現(xiàn)跳變且降低微分帶來的噪聲,引入一個(gè)低通濾波器來對(duì)積分項(xiàng)進(jìn)行平穩(wěn)充值(更新):
式中,wi決定了在積分飽和期間對(duì)積分項(xiàng)之值進(jìn)行更新的快慢。完整的控制方案如圖2所示。
圖2 積分項(xiàng)預(yù)測抗飽和PID控制方案Fig.2 Anti-windup PID with integral state predictor
所設(shè)計(jì)的電機(jī)轉(zhuǎn)速伺服系統(tǒng)如圖3 所示,采用TMS320F2808DSP 作為電機(jī)控制的主芯片,被控對(duì)象是型號(hào)為Pittman 9393A006-R8 的直流伺服電機(jī),帶有500 線的雙路正交脈沖信號(hào)的光電碼盤,采用基于L298N的功率驅(qū)動(dòng)模塊和12 V穩(wěn)壓直流電源。
圖3 直流電機(jī)速度伺服系統(tǒng)的結(jié)構(gòu)圖Fig.3 Block diagram of DC motor speed servo system
直流電機(jī)的動(dòng)態(tài)數(shù)學(xué)模型可以表示為
式中:J為轉(zhuǎn)動(dòng)慣量;B為粘性阻尼系數(shù);ω(t)為電機(jī)的機(jī)械轉(zhuǎn)速;Tl為負(fù)載轉(zhuǎn)矩;Kt為電磁轉(zhuǎn)矩系數(shù);u(t),i(t)分別為輸入電壓和電樞電流;R,L為電阻和電感;Ke為反電動(dòng)勢系數(shù)。
由于電路的響應(yīng)速度通常比機(jī)械子系統(tǒng)的響應(yīng)快得多,因此可忽略電路響應(yīng)的瞬態(tài)過程,從而得到如下簡化的模型:
從輸入電壓u(t)到轉(zhuǎn)速ω(t)的傳遞函數(shù)可寫成:
其中
經(jīng)實(shí)驗(yàn)辨識(shí),此電機(jī)從輸入電壓(V)到轉(zhuǎn)速(rad/s)的傳遞函數(shù)為
輸入電壓的飽和限幅值為umax=12 V。
在電機(jī)伺服系統(tǒng)中,廣泛采用光電編碼器檢測電機(jī)轉(zhuǎn)子位置,再通過M 法、T 法、M/T 法或其它改進(jìn)方法來計(jì)算轉(zhuǎn)速。這些方法得到的是對(duì)應(yīng)時(shí)間段的平均轉(zhuǎn)速,而不是瞬時(shí)速度。當(dāng)電機(jī)轉(zhuǎn)速較慢,且光電編碼器的分辨率較低時(shí),檢測速度存在較大的誤差。本文采用多項(xiàng)式插值的方法來估計(jì)轉(zhuǎn)速信號(hào)??紤]把電機(jī)的位置軌跡近似成一個(gè)以時(shí)間t為自變量的2階函數(shù),其對(duì)應(yīng)的2階Lagrange插值多項(xiàng)式[8]為
其關(guān)于時(shí)間t的導(dǎo)數(shù)如下:
式中:t0,t1,t2,f(t0),f(t1),f(t2)分別為離當(dāng)前時(shí)刻t最近的3個(gè)位置事件對(duì)應(yīng)的時(shí)間和位置。
假定在t0,t1,t2這3 個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的位置增量相等,即:f(t1)-f(t0)=f(t2)-f(t1)=N,其中N為一個(gè)位置事件所對(duì)應(yīng)的編碼器脈沖數(shù)。令Δt1=t1-t0,Δt2=t2-t1,Δt3=t-t2,則可利用式(17)來估計(jì)當(dāng)前時(shí)刻t的瞬時(shí)轉(zhuǎn)速(rad/s):
式中:N0為電機(jī)旋轉(zhuǎn)一圈所產(chǎn)生的脈沖數(shù)。
利用TMS320F2808DSP的QEP邊緣捕獲電路可以準(zhǔn)確地獲得編碼器脈沖(即位置事件)對(duì)應(yīng)的時(shí)間。式(18)中的Δt1,Δt2為位置事件發(fā)生時(shí),捕獲周期寄存器的值對(duì)應(yīng)的時(shí)間(s),Δt3為當(dāng)前時(shí)刻的捕獲定時(shí)器的值對(duì)應(yīng)的時(shí)間。電機(jī)瞬時(shí)速度的準(zhǔn)確估計(jì),為高性能的速度控制提供了有利條件。
把本文介紹的3 種典型的抗飽和PID 控制方案用于電機(jī)轉(zhuǎn)速的調(diào)節(jié)??刂扑惴ㄔ赥MS320F2808DSP 上編程實(shí)現(xiàn),選擇離散采樣周期T=3 ms。根據(jù)計(jì)算得到的|u(k)|值來設(shè)置PWM比較值(決定占空比的大?。亩刂齐姍C(jī)轉(zhuǎn)速;根據(jù)u(k)的正負(fù)極性,改變DSP 的GPIO 端口的輸出電平來設(shè)置驅(qū)動(dòng)模塊L298N 的電機(jī)輸入電壓的方向。分別對(duì)各控制方案的參數(shù)值進(jìn)行整定,使得各方案都具有盡可能好的控制性能。
遇限消弱積分法的參數(shù)值為
反饋抑制飽和法的參數(shù)值為
積分項(xiàng)預(yù)測抗飽和PID的參數(shù)值為
為方便實(shí)驗(yàn)的連續(xù)進(jìn)行,把目標(biāo)轉(zhuǎn)速設(shè)置為每隔0.6 s在600 r/min與1 800 r/min(分別折算為20π與60π rad/s)之間階躍跳變的方波信號(hào)。在Code Composer Studio v3.3 集成環(huán)境中進(jìn)行控制實(shí)驗(yàn),采集的數(shù)據(jù)轉(zhuǎn)換到Matlab 進(jìn)行處理和繪圖,結(jié)果如圖4~圖6 所示(轉(zhuǎn)速換算為r/min 值)。從圖中可以看出,當(dāng)給定速度發(fā)生大范圍階躍跳變時(shí),各種控制方案下電機(jī)都能夠快速、準(zhǔn)確、平穩(wěn)、無超調(diào)地跟蹤給定速度,其2%調(diào)節(jié)時(shí)間在表1 中列出。遇限消弱積分法的控制參數(shù)最少(與常規(guī)PID 相同),但其控制性能毫不遜色,其控制信號(hào)很平滑;反饋抑制飽和法比遇限消弱積分法多了一個(gè)可調(diào)參數(shù)(抗飽和反饋增益),只要參數(shù)值選擇恰當(dāng),也能取得滿意的控制性能;積分項(xiàng)預(yù)測抗飽和PID 的結(jié)構(gòu)較復(fù)雜,參數(shù)整定相對(duì)困難一些,但最終的控制性能并無明顯的優(yōu)勢。
圖4 條件積分法(遇限消弱)的實(shí)驗(yàn)結(jié)果Fig.4 Experimental results for conditional integration
圖5 反饋抑制飽和法的實(shí)驗(yàn)結(jié)果Fig.5 Experimental results for tracking back calculation
圖6 積分項(xiàng)預(yù)測抗飽和PID的實(shí)驗(yàn)結(jié)果Fig.6 Experimental results for anti-windup PID with integral state predictor
表1 轉(zhuǎn)速控制的2%調(diào)節(jié)時(shí)間(s)Tab.1 Settling time(in seconds)of speed control
本文給出了遇限消弱積分法、反饋抑制飽和法、積分項(xiàng)預(yù)測抗飽和法這3種抗飽和PID控制方案的具體設(shè)計(jì),并應(yīng)用于直流伺服電機(jī)的轉(zhuǎn)速調(diào)節(jié),其中采用基于2階Lagrange插值多項(xiàng)式和QEP邊緣捕獲電路的瞬時(shí)速度估計(jì)方法。利用TMS320F2808DSP進(jìn)行了實(shí)驗(yàn)研究。結(jié)果表明,用這3種抗飽和方案設(shè)計(jì)的速度控制系統(tǒng)都可以在大的目標(biāo)轉(zhuǎn)速范圍內(nèi)實(shí)現(xiàn)快速、平穩(wěn)和無靜差的伺服跟蹤,其控制性能相近。從控制算法實(shí)現(xiàn)和參數(shù)整定的復(fù)雜度來看,遇限消弱積分法最為簡單方便,而反饋抑制飽和法次之,積分項(xiàng)預(yù)測抗飽和PID的結(jié)構(gòu)最為繁瑣,且需要依賴于對(duì)象模型。對(duì)實(shí)際系統(tǒng)而言,簡單有效的解決方案通常就是最合適的方案。本文介紹的抗飽和PID技術(shù)及其實(shí)驗(yàn)比較,可為實(shí)際伺服控制系統(tǒng)的設(shè)計(jì)提供參考。
[1]Ang K H,Chong G,Li Y.PID Control System Analysis,Design,and Technology[J].IEEE Transactions on Control Systems Technology,2005,13(4):559-576.
[2]Seraji H.A New Class of Nonlinear PID Controllers with Robotic Applications[J].Journal of Robotic System,1998,15(3):161-181.
[3]張小鳴,龍仕玉.基于DSP 直流電機(jī)模糊免疫PID 控制器研究[J].電氣傳動(dòng),2013,43(2):65-68.
[4]鄭國良,王杰.交流伺服系統(tǒng)無超調(diào)最優(yōu)PID 控制器設(shè)計(jì)[J].微電機(jī),2013,46(2):29-32.
[5]舒鑫東,莊圣賢,關(guān)曉明,等.交流永磁同步電機(jī)二自由度PID控制[J].電氣傳動(dòng),2009,39(12):54-56.
[6]Choi J-W,Lee S-C.Anti-windup Strategy for PI-type Speed Controller[J].IEEE Transactions on Industrial Electronics,2009,56(6):2039-2046.
[7]Shin H-B,Park J-G.Anti-windup PID Controller with Integral State Predictor for Variable-speed Motor Drives.IEEE TransactionsonIndustrialElectronics,2012,59(3):1509-1516.
[8]Ghosh P.Numerical Methods with Computer Programs in C++[M].北京:清華大學(xué)出版社,2008.