徐冠宇 周葉凡 黃翀鵬
摘要:該文借鑒四軸飛行器的雙閉環(huán)PID控制算法,解決2015年全國大學(xué)生電子設(shè)計(jì)競賽B題“風(fēng)力擺控制系統(tǒng)”。在PID控制器中,運(yùn)用姿態(tài)解算出的歐拉角作為反饋量,角度作為外環(huán),角速度作為內(nèi)環(huán)。再根據(jù)X字飛行模式油門輸出公式,將雙閉環(huán)PID控制器的輸出融合到電機(jī)上,輸出油門實(shí)現(xiàn)姿態(tài)控制。實(shí)驗(yàn)結(jié)果表明,風(fēng)力擺控制系統(tǒng)運(yùn)用雙閉環(huán)PID控制效果卓越,不僅抗干擾能力強(qiáng),而且反應(yīng)迅速。
關(guān)鍵詞:雙閉環(huán)PID;姿態(tài)解算;X字飛行模式;風(fēng)力擺
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)30-0253-03
Double Closed Loops PID Control Based on Wind Swing Control System
XU Guan-yu1,2, ZHOU Ye-fan1,2, HUANG Chong-peng1
(1.Wuxi Institute of Technology, Wuxi 214121, China;2. Jiangsu University, Zhenjiang 212013, China)
Abstract: This paper draws on the four axis aircraft double closed loops PID control algorithm to solve the exercise B in 2015 National College Student Electronic Design Contest —— "wind swing control system". In the PID controller, the Euler angle is calculated by the attitude solution as the feedback, the angle as the outer loop, the angular velocity as the inner loop. Then according to the X word flight mode throttle output formula, the output of the double closed loops PID controller is fused to the motor, the output throttle to achieve attitude control. Experimental results show that the wind swing control system with double closed loops PID control effect of excellence have not only anti-interference ability but also rapid response.
Key words: double closed loops PID; attitude calculation; X flight mode; wind pendulum
2015年全國大學(xué)生電子設(shè)計(jì)競賽B題是“風(fēng)力擺控制系統(tǒng)”,題目要求風(fēng)力擺上的激光筆能畫出指定圖形。由于風(fēng)力擺控制系統(tǒng)的傳感器、執(zhí)行器與四軸飛行器十分類似,故借鑒四軸飛行器[1],將雙閉環(huán)PID控制算法運(yùn)用到風(fēng)力擺控制系統(tǒng)上。
1 風(fēng)力擺控制系統(tǒng)簡述
1.1 機(jī)械機(jī)構(gòu)
如圖1所示,本系統(tǒng)由支架、萬向節(jié)、細(xì)管、風(fēng)力擺、單片機(jī)五部分構(gòu)成。系統(tǒng)采用單臂梁結(jié)構(gòu),懸掛臂固定一個(gè)萬向節(jié)。細(xì)管上方相連萬向節(jié),細(xì)管下方連接風(fēng)力擺,細(xì)管自然狀態(tài)下垂直向下。單片機(jī)放置于支架上。
1.2 風(fēng)力擺結(jié)構(gòu)及選型
風(fēng)力擺由風(fēng)機(jī)組、加速度陀螺儀傳感器、激光筆、支架構(gòu)成。如圖2所示,支架上風(fēng)機(jī)組由4個(gè)直流風(fēng)機(jī)構(gòu)成,呈十字型分布,并且螺旋槳產(chǎn)生的風(fēng)向內(nèi)吹,形成起擺動(dòng)力。加速度陀螺儀傳感器放置在支架平面上,能很好地檢測運(yùn)動(dòng)狀態(tài),與直流風(fēng)機(jī)呈X字型分布。激光筆安裝在支架下方垂直向下。
2 PID控制
2.1 姿態(tài)解算
使用歐拉角來表征風(fēng)力擺在空間中的姿態(tài),可由加速度陀螺儀傳感器解算所得。在本系統(tǒng)中,由于風(fēng)力擺固定在萬向節(jié)下的細(xì)桿上,故不會產(chǎn)生自旋的現(xiàn)象,即不會產(chǎn)生Z軸上的角度,無需考慮偏航角,僅考慮滾轉(zhuǎn)角、俯仰角即可[2]。
2.2 雙閉環(huán)PID控制
當(dāng)風(fēng)力擺正常運(yùn)行時(shí),突遇外力干擾(如題述臺扇吹風(fēng)),使加速度傳感器采集數(shù)據(jù)失真,造成姿態(tài)解算出來的歐拉角錯(cuò)誤。如果只用角度單閉環(huán)控制,很難使系統(tǒng)穩(wěn)定運(yùn)行,因此可以加入角速度作為內(nèi)環(huán),角速度由陀螺儀采集,采集值一般不受外界影響,抗干擾能力強(qiáng),且角速度變化靈敏,當(dāng)受外界干擾時(shí),回復(fù)迅速。風(fēng)力擺控制系統(tǒng)的雙閉環(huán)PID控制,歐拉角作為反饋量,角度作為外環(huán),角速度作為內(nèi)環(huán),外環(huán)輸出作為內(nèi)環(huán)輸入,經(jīng)積分限幅、輸出限幅得到PID輸出,并輸出到油門,實(shí)現(xiàn)姿態(tài)控制。其中,油門值即輸入電子調(diào)速器的PWM波占空比,用于修正風(fēng)機(jī)組各個(gè)電機(jī)的轉(zhuǎn)速,達(dá)到預(yù)期的滾轉(zhuǎn)角、俯仰角。
由位置式數(shù)字PID計(jì)算公式[3],可得姿態(tài)PID控制公式:
[AngelPIDOut(t)=kpe(t)+kij=0te(j)T+kde(t)-e(t-1)T] (1)
[AngelRatePIDOut(t)=kp'e'(t)+ki'j=0te'(j)T+k'de'(t)-e'(t-1)T] (2)
式(1)為角度環(huán)PID計(jì)算公式,式(2)為角速度環(huán)PID計(jì)算公式。[AngelPIDOut(t)]為角度環(huán)PID輸出,[AngelRatePIDOut(t)]為角速度環(huán)PID輸出。[e(t)]=期望角度-實(shí)際角度,[e'(t)]=[AngelPIDOut(t)]-實(shí)際角速度。姿態(tài)PID控制流程如圖3。
2.3 油門輸出計(jì)算
上述對滾轉(zhuǎn)角、俯仰角的PID計(jì)算,實(shí)質(zhì)是用誤差計(jì)算力矩。接下來,根據(jù)直流風(fēng)機(jī)與加速度陀螺儀傳感器的擺放關(guān)系,推導(dǎo)出油門輸出公式,即用力矩控制油門。
如圖4所示,地理坐標(biāo)系采用東北天坐標(biāo)系,X向東,Y向北,Z指天。電機(jī)擺放為“X”型,在xOy平面上,第一二三四象限對應(yīng)的電機(jī)為2、1、4、3號,4個(gè)電機(jī)的風(fēng)均向內(nèi)吹。
假設(shè)電機(jī)提供的力矩與油門成正比,如果需要x軸的力矩,則油門值應(yīng)為:1、2電機(jī)正,3、4電機(jī)負(fù),記作[1 1 -1 -1]。要增加X軸的力矩,油門需要變化的方向?yàn)閇dx=]1 1 -1 -1。引入x軸的力矩修正系數(shù):[MOx],則當(dāng)需要增加x軸[Δmox]力矩時(shí),油門增量:
y軸同理。要增加y軸的力矩,油門需要變化的方向?yàn)閇dy=-1 1 1-1 ]。
力矩修正系數(shù)用于平衡各軸的響應(yīng)靈敏度,x、y軸的力矩由螺旋槳旋轉(zhuǎn)的合力提供,響應(yīng)靈敏,用PID控制器的輸出表示。把x、y軸的油門分量加起來就是任意軸的情況,最后經(jīng)過X字飛行模式油門輸出公式,計(jì)算出4個(gè)電機(jī)輸出油門:
3 主程序設(shè)計(jì)
如圖5所示,系統(tǒng)上電后,首先完成初始化,包括打開串口、初始化加速度陀螺儀傳感器。接著等待選擇模式,選擇對應(yīng)模式后,更新傳感器數(shù)據(jù),根據(jù)模式內(nèi)置的參數(shù)調(diào)用PID控制器,計(jì)算四個(gè)電機(jī)所需的PWM波占空比,完成指定任務(wù),不斷循環(huán)[4]。
4 測試
本次測試分別測試單環(huán)PID和雙環(huán)PID的波形,其余條件不變。PID控制更新周期T≈2ms,起始值為滾轉(zhuǎn)角50°、俯仰角0°,設(shè)定值為滾轉(zhuǎn)角10°、俯仰角0°。將風(fēng)力擺采集的滾轉(zhuǎn)角值通過串口線發(fā)送到PC機(jī)上,記錄數(shù)據(jù)并繪制圖形分析波形。上位機(jī)顯示單環(huán)PID與雙環(huán)PID的滾轉(zhuǎn)角波形如圖6所示,波形圖橫坐標(biāo)單位為20ms,縱坐標(biāo)單位為度。由圖6可知,雙環(huán)PID控制的風(fēng)力擺的滾轉(zhuǎn)角波形經(jīng)過很少的波震蕩后近似歸為設(shè)定值,系統(tǒng)能很快進(jìn)入穩(wěn)定狀態(tài);而單環(huán)PID則需要較長時(shí)間。其他歐拉角測試結(jié)果類似。
5 結(jié)論
本文主要研究了基于風(fēng)力擺控制系統(tǒng)的雙閉環(huán)PID控制算法。在角度PID閉環(huán)控制的基礎(chǔ)上,增加了內(nèi)環(huán)角速度環(huán),不僅抗干擾能力強(qiáng),而且反應(yīng)迅速,增強(qiáng)了系統(tǒng)的魯棒性。
參考文獻(xiàn):
[1] 陸偉男. 基于四軸飛行器的雙閉環(huán)PID控制[J].科學(xué)技術(shù)與工程,2014.
[2] 張明廉. 飛行控制系統(tǒng)[M]. 北京:北京航空航天大學(xué)出版社,2006.
[2] 胡濤松. 自動(dòng)控制原理[M]. 6版. 北京:科技出版社,2013.
[4] 李廣弟. 單片機(jī)基礎(chǔ)[M].北京航空航天出版社,2001.