張國云,李亞斌,陳松,羅民,涂兵,彭仕玉
?。ê侠砉W院 信息與通信工程學院,湖南 岳陽 414006)
摘要:設(shè)計了基于單片機STM8的簡易數(shù)字控制四軸飛行器,硬件電路設(shè)計主要包括控制電路、傳感器電路、電機驅(qū)動電路以及無線通信電路等。在軟件算法上采用四元素姿態(tài)算法,可以完成對飛行角度準確控制。最后制作實物后經(jīng)過測試,該系統(tǒng)能夠達到技術(shù)指標設(shè)計要求,而且具有價格低以及操作容易的特點,可滿足一般玩家娛樂性的要求。
關(guān)鍵詞:數(shù)字控制;四軸飛行器;四元素算法
0引言
近年來,隨著控制技術(shù)的發(fā)展以及數(shù)字控制芯片和功率器件價格的降低,四旋翼四軸微型飛行器(以下簡稱四軸飛行器)在民用方面得到了廣泛的應(yīng)用。四軸飛行器是一種以4個電機作為動力源泉,通過調(diào)節(jié)4個電機的轉(zhuǎn)速來控制電機飛行的飛行裝置。目前市場上的四軸飛行器普遍具有設(shè)計復(fù)雜、操作繁瑣以及價格昂貴的缺點[13],針對此現(xiàn)象,本文設(shè)計一種基于單片機STM8的簡易數(shù)字控制四軸飛行器系統(tǒng),該系統(tǒng)能夠滿足一般玩家所要求的懸停、前后運動、左右運動以及翻滾等操作要求,而且具有價格低和操作簡單等特點。
1四軸飛行器的工作原理
簡易數(shù)字控制四軸飛行器采用4個旋翼螺旋槳作為飛行器的驅(qū)動力,它受各自4個電機的控制,兩對旋翼對稱地分布在飛行器的左右和前后方向,而且它們的結(jié)構(gòu)和所處高度完全一致。設(shè)計結(jié)構(gòu)示意圖如圖 1所示。旋翼1和旋圖1四軸飛行器結(jié)構(gòu)設(shè)計示意圖翼3逆時針方向旋轉(zhuǎn),旋翼2和旋翼4順時針方向旋轉(zhuǎn),4個電機對稱安裝在四軸飛行器的支架末端,支架中心放置飛行控制處理器和外部傳感器設(shè)備。
為了保持四軸飛行器的平穩(wěn)飛行,本文在四軸飛行器上設(shè)計由3個方向的陀螺儀和3 軸加速度傳感器構(gòu)成的慣性導(dǎo)航控制器。由于四軸飛行器的電機 1和電機 3逆時針做旋轉(zhuǎn)的同時,電機 2和電機 4順時針做旋轉(zhuǎn),因此當飛行器在平衡飛行時,外部環(huán)境對飛行器的干擾可以被抵消。 四軸飛行器可以進行簡單的垂直運動、俯仰運動、翻滾運動、偏航運動以及前后運動5個運動,5個運動的工作原理類似,現(xiàn)以垂直運動為例說明其工作過程,其垂直運動圖示如圖2所示。由于兩對電機的轉(zhuǎn)向剛好是相反的,可以平衡其對飛行器的反扭矩,從而保持其平衡。如果同時增加4個電機的輸出功率,電機轉(zhuǎn)速的增加使得總的拉力增大,當總拉力大于整機的重量時,飛行器便離地垂直上升。反之,如果同時減小4個電機的輸出功率,飛行器則垂直下降,直至平穩(wěn)著陸,從而實現(xiàn)了沿z軸的垂直運動。當外界擾動量是零時,在4個旋翼轉(zhuǎn)動產(chǎn)生的升力大小等于飛行器自身的重力時,此時四軸飛行器便處在懸停狀態(tài),這也是所有玩家最喜歡的懸停狀態(tài)[45]。
2四軸飛行器的硬件設(shè)計與實現(xiàn)
2.1控制電路設(shè)計
鑒于設(shè)計要求只需要具備簡單的懸停、前后運動、左右運動以及翻滾等飛行要求,因此對控制芯片的選取顯得非常重要。原因在于如果選擇控制器性能太好,會導(dǎo)致系統(tǒng)的價格過高,超出了當初的設(shè)計初衷;如果選擇價格比較低的控制芯片,那么處理速度和容量達不到設(shè)計要求。圖5電機驅(qū)動電路原理圖根據(jù)設(shè)計成本和控制性能的需求,所選擇的處理器至少具備以下3項功能: (1)存儲容量要足夠大,能夠支持四元素融合算法的運算; (2)有PWM功能,還要有捕獲功能; (3)串口通信功能。綜合考慮,本文選取的是單片機STM8,基本可以滿足設(shè)計要求。基于STM8的控制電路原理圖如圖3所示[6]。
2.2傳感器電路設(shè)計
傳感器的作用要求為四軸飛行器的控制中心提供最精確的數(shù)據(jù)信息。由于本文所設(shè)計的四軸飛行器比較簡單,因此其負載能力是非常有限的,所以傳感器的體積及重量應(yīng)該盡量小。根據(jù)設(shè)計要求,結(jié)合成本選取傳感器MPU-6050,該傳感器最大的優(yōu)點是可以消除陀螺儀與加速度傳感器之間軸差的問題,從而大大地簡化了周圍硬件電路的設(shè)計,其中基于MPU6050的傳感器電路原理圖如圖4所示。
2.3電機驅(qū)動電路設(shè)計
對于小型電機驅(qū)動場合,場效應(yīng)管在功耗、成本和性能方面較其他功率開關(guān)管更具優(yōu)勢。在選擇功率場效應(yīng)管的同時,本文選擇PWM調(diào)制方式,即改變脈沖寬度來調(diào)節(jié)電機電壓的方法就能改變電機的轉(zhuǎn)速,從而可以方便、簡單地控制飛行器的運行,其電機驅(qū)動電路原理圖如圖5所示。
2.4無線通信電路設(shè)計
無線通信電路是本文設(shè)計的四軸飛行器的重要組成部分,在現(xiàn)實的使用中,用戶使用無線模塊對四軸飛行器進行位置控制,其中前后運動、左右運動、上升以及懸停是其常用的姿態(tài)控制。由于本文所設(shè)計的簡易低成本四軸飛行器應(yīng)用距離不是很遠,故選用24L01無線方案,其無線通信電路原理圖如圖6所示[7]。
3四元素姿態(tài)算法設(shè)計
3.1四元素算法介紹
四元素算法由一個標量以及一個矢量兩部分組成,標量和矢量構(gòu)成超復(fù)數(shù), 它具有實數(shù)和復(fù)數(shù)的所有特征。它作為已知定位參數(shù),首先可以準確判斷剛體的某種姿態(tài),根據(jù)姿態(tài)可以明確剛體的具體位置信息,最終可以計算出剛體的準確位姿。如果把它當作是變換算子,它可以方便地構(gòu)成可以逆轉(zhuǎn)的矩陣算子,同時這種算子既可以構(gòu)成單邊算子,也可以構(gòu)成雙邊算子。另外對于任何一種算子它既可以應(yīng)用于半角,也可以應(yīng)用全角,因此使用非常方便,而且使用范圍非常寬廣[8]。
3.2四元素算法實現(xiàn)
首先把加速度傳感器所測量到的三維向量轉(zhuǎn)成單位向量,繼而把四元素換算成方向余弦矩陣中的第三列的3個元素。根據(jù)余弦矩陣和歐拉角的定義,地理坐標系的重力向量變換到機體坐標系,正好是這3個元素。其中ax、ay、az是加速度傳感器實際測量得到的重力向量,而vx、vy、vz是陀螺積分后的姿態(tài)推算出的重力向量,它們都是機體坐標參照系上的重力向量。它們之間的誤差向量就是陀螺積分后的姿態(tài)和加速度傳感器測出來的姿態(tài)之間的誤差。向量間的誤差可以用向量叉積來表示,ex、ey、ez表示為兩個重力向量的叉積。經(jīng)過運算后的向量叉積仍舊是位于機體坐標系上的,而陀螺積分誤差也位于機體坐標系中,而且叉積的大小與陀螺積分誤差成正比例的關(guān)系,因此可以用來修正陀螺。由于陀螺是對機體的直接積分,因此對陀螺的修正量會直接體現(xiàn)在對機體坐標系的修正上。然后可以利用叉積誤差來做PI修正陀螺的零偏,最終可以解出四元素微分方程,這就是四元素算法的整個編程思路。
3.3四元素算法結(jié)果分析
為了將四元素姿態(tài)算法應(yīng)用于四軸飛行器,首先須驗證四元素姿態(tài)算法的正確性和有效性。由于本系統(tǒng)的數(shù)據(jù)采圖6數(shù)據(jù)采集原理樣,必須在系統(tǒng)運動時計算角度通過串口顯示在上位機上,并記錄數(shù)據(jù)。其算法測試原理如圖6所示。主控芯片在計算出3個方向的角度后,馬上通過串口以一定的格式傳遞給上位機,這樣就可以記錄數(shù)據(jù),并驗證數(shù)據(jù)。
其四元素姿態(tài)算法測試結(jié)果如表1所示。從表1可以看出所有角度經(jīng)過四元素算法融合之后,3個方向上的角度都完全正確,完全能夠滿足四軸飛行器對動態(tài)平衡控制的要求。
4四軸飛行器軟件程序設(shè)計
四軸飛行器采用模塊化設(shè)計,主要由6個部分組成,其總體流程框圖如圖8所示。其工作流程圖工程過程分析如下:以STM8單片機為處理核心,通過SPI接口讀取無線模塊接收機中的用戶數(shù)據(jù),這些數(shù)據(jù)是從無線模塊中的發(fā)射機中發(fā)出的;處理器以一定的周期通過IIC接口讀取MPU6050的6個數(shù)據(jù),分別是3個方向的加速度數(shù)據(jù)和3個方向的角速度數(shù)據(jù),接下來要進行姿態(tài)融合,通過以四元素為基礎(chǔ)的融合算法,利用六軸傳感器的數(shù)據(jù)計算出姿態(tài)角,結(jié)合卡爾曼濾波算法以及低通數(shù)字濾波算法,通過加速度數(shù)據(jù)進行姿態(tài)角補償,最后準確計算出四軸飛行器的姿態(tài)[910]。
5實驗結(jié)果及分析
四軸飛行器在完成軟硬件設(shè)計后,制作出實物圖,如圖9所示。測試工具包括上位機軟件、串口助手、藍牙模塊和MATLAB。整個實驗測試包括懸停測試以及操作性測試,其中操作性測試包括前后運動、左右運動、上下運動以及旋轉(zhuǎn)飛行測試。
5.1懸停測試
懸停測試主要是驗證四軸飛行器的穩(wěn)定性。懸停測試的具體過程為在玩家給出懸停指令后,利用藍牙模圖10懸停測試角度信息測試數(shù)據(jù)
塊把姿態(tài)角數(shù)據(jù)傳輸?shù)缴衔粰C上,上位機保存數(shù)據(jù)后通過MATLAB軟件顯示飛行器角度信息,其懸停狀態(tài)下角度信息測試數(shù)據(jù)如圖10所示。從圖10所示的兩種懸停狀態(tài)下角度信息測試數(shù)據(jù)可以看出四軸飛行器在懸停實驗中姿態(tài)角變動基本保持在-4°~+4°,完全能夠達到保持穩(wěn)定的狀態(tài)。
5.2操作性測試
操作性測試是對四軸飛行器系統(tǒng)的快速性和準確性的實驗,也就是測試飛行器對玩家所發(fā)出的操作指令要求反應(yīng)迅速和精確的實驗。經(jīng)過對四軸飛行器多次測試,其操作性測試表如表2所示。從表2可以看出,本文所設(shè)計的四軸飛行器對于玩家所發(fā)出的指令,反應(yīng)迅速而且完全滿足一般玩家需求。
6結(jié)論
本文設(shè)計了一個簡易數(shù)字四軸飛行器裝置,采用了四元素作為姿態(tài)融合的工具,實現(xiàn)了在復(fù)雜情況下四軸飛行器的動態(tài)飛行控制。系統(tǒng)設(shè)計過程包括理論分析、系統(tǒng)實現(xiàn)方案驗證、硬件設(shè)計、軟件模塊設(shè)計、算法設(shè)計與實現(xiàn)驗證、系統(tǒng)調(diào)試和數(shù)據(jù)測試等,最后經(jīng)過多次測試,系統(tǒng)能夠?qū)崿F(xiàn)一般的懸停、左右運動和上升等操作,可以滿足對價格比較敏感的廣大玩家需求。
參考文獻
?。?] 江杰,朱君,豈偉楠.四旋翼無人飛行器姿態(tài)數(shù)據(jù)采集處理系統(tǒng)[J].計算機測量與控制,2012,20(6):17031706.
?。?] 蘇茂,王永驥,劉磊,等.基于改進粒子群算法的再入飛行器軌跡優(yōu)化[J].計算技術(shù)與自動化,2011,30(4):5569.
[3] 張建明,邱聯(lián)奎,劉啟亮.四旋翼飛行器姿態(tài)的自適應(yīng)反演滑??刂蒲芯浚跩].計算機仿真,2015,32(3):4247.
?。?] 王史春.四旋翼飛行器力學模型與控制系統(tǒng)設(shè)計[J].中北大學學報( 自然科學版),2014,35(2):218224.
?。?] 王偉,馬浩,孫長銀.四旋翼飛行器姿態(tài)控制系統(tǒng)設(shè)計[J].科學技術(shù)與工程,2013,13(19):55135519.
?。?] 黃根春,周立青,張望先. 全國大學生電子設(shè)計競賽教程——基于TI器件設(shè)計方法[M]. 北京:電子工業(yè)出版社,2011.
?。?] 謝自美.電子線路技術(shù)[M]. 武漢:華中理工出版社,2001.
?。?] 施聞明,徐彬,陳利敏.捷聯(lián)式航姿系統(tǒng)中四元素算法Kalman 濾波器的實現(xiàn)研究[J].自動化技術(shù)與應(yīng)用,2005,24(11):68.
[9] 龐慶霈, 李家文, 黃文浩.四旋翼飛行器設(shè)計與平穩(wěn)控制仿真研究[J].電光與控制,2019,19(3):5155.
?。?0] 江斌.小型型四旋翼低空無人飛行器綜合設(shè)計[D].杭州: 浙江大學,2013.