《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 簡易數(shù)字控制四軸飛行器的設(shè)計與實現(xiàn)
簡易數(shù)字控制四軸飛行器的設(shè)計與實現(xiàn)
2016年微型機(jī)與應(yīng)用第06期
張國云,,李亞斌,陳松,,羅民,,涂兵,彭仕玉
(湖南理工學(xué)院 信息與通信工程學(xué)院,,湖南 岳陽 414006)
摘要: 設(shè)計了基于單片機(jī)STM8的簡易數(shù)字控制四軸飛行器,,硬件電路設(shè)計主要包括控制電路、傳感器電路,、電機(jī)驅(qū)動電路以及無線通信電路等,。在軟件算法上采用四元素姿態(tài)算法,可以完成對飛行角度準(zhǔn)確控制,。最后制作實物后經(jīng)過測試,,該系統(tǒng)能夠達(dá)到技術(shù)指標(biāo)設(shè)計要求,而且具有價格低以及操作容易的特點,,可滿足一般玩家娛樂性的要求,。
Abstract:
Key words :

  張國云,李亞斌,,陳松,,羅民,涂兵,,彭仕玉

 ?。ê侠砉W(xué)院 信息與通信工程學(xué)院,,湖南 岳陽 414006)

      摘要:設(shè)計了基于單片機(jī)STM8的簡易數(shù)字控制四軸飛行器,硬件電路設(shè)計主要包括控制電路,、傳感器電路,、電機(jī)驅(qū)動電路以及無線通信電路等。在軟件算法上采用四元素姿態(tài)算法,,可以完成對飛行角度準(zhǔn)確控制,。最后制作實物后經(jīng)過測試,該系統(tǒng)能夠達(dá)到技術(shù)指標(biāo)設(shè)計要求,,而且具有價格低以及操作容易的特點,,可滿足一般玩家娛樂性的要求。

  關(guān)鍵詞:數(shù)字控制,;四軸飛行器,;四元素算法

0引言

  近年來,隨著控制技術(shù)的發(fā)展以及數(shù)字控制芯片和功率器件價格的降低,四旋翼四軸微型飛行器(以下簡稱四軸飛行器)在民用方面得到了廣泛的應(yīng)用,。四軸飛行器是一種以4個電機(jī)作為動力源泉,,通過調(diào)節(jié)4個電機(jī)的轉(zhuǎn)速來控制電機(jī)飛行的飛行裝置。目前市場上的四軸飛行器普遍具有設(shè)計復(fù)雜,、操作繁瑣以及價格昂貴的缺點[13],,針對此現(xiàn)象,本文設(shè)計一種基于單片機(jī)STM8的簡易數(shù)字控制四軸飛行器系統(tǒng),,該系統(tǒng)能夠滿足一般玩家所要求的懸停,、前后運(yùn)動、左右運(yùn)動以及翻滾等操作要求,,而且具有價格低和操作簡單等特點,。

1四軸飛行器的工作原理

  簡易數(shù)字控制四軸飛行器采用4個旋翼螺旋槳作為飛行器的驅(qū)動力,它受各自4個電機(jī)的控制,,兩對旋翼對稱地分布在飛行器的左右和前后方向,,而且它們的結(jié)構(gòu)和所處高度完全一致。設(shè)計結(jié)構(gòu)示意圖如圖 1所示,。旋翼1和旋圖1四軸飛行器結(jié)構(gòu)設(shè)計示意圖翼3逆時針方向旋轉(zhuǎn),,旋翼2和旋翼4順時針方向旋轉(zhuǎn),4個電機(jī)對稱安裝在四軸飛行器的支架末端,,支架中心放置飛行控制處理器和外部傳感器設(shè)備,。

001.jpg

  為了保持四軸飛行器的平穩(wěn)飛行,本文在四軸飛行器上設(shè)計由3個方向的陀螺儀和3 軸加速度傳感器構(gòu)成的慣性導(dǎo)航控制器,。由于四軸飛行器的電機(jī) 1和電機(jī) 3逆時針做旋轉(zhuǎn)的同時,,電機(jī) 2和電機(jī) 4順時針做旋轉(zhuǎn),因此當(dāng)飛行器在平衡飛行時,,外部環(huán)境對飛行器的干擾可以被抵消,。 四軸飛行器可以進(jìn)行簡單的垂直運(yùn)動,、俯仰運(yùn)動,、翻滾運(yùn)動,、偏航運(yùn)動以及前后運(yùn)動5個運(yùn)動,5個運(yùn)動的工作原理類似,,現(xiàn)以垂直運(yùn)動為例說明其工作過程,,其垂直運(yùn)動圖示如圖2所示。由于兩對電機(jī)的轉(zhuǎn)向剛好是相反的,,可以平衡其對飛行器的反扭矩,,從而保持其平衡。如果同時增加4個電機(jī)的輸出功率,,電機(jī)轉(zhuǎn)速的增加使得總的拉力增大,,當(dāng)總拉力大于整機(jī)的重量時,飛行器便離地垂直上升,。反之,,如果同時減小4個電機(jī)的輸出功率,飛行器則垂直下降,,直至平穩(wěn)著陸,,從而實現(xiàn)了沿z軸的垂直運(yùn)動。當(dāng)外界擾動量是零時,,在4個旋翼轉(zhuǎn)動產(chǎn)生的升力大小等于飛行器自身的重力時,,此時四軸飛行器便處在懸停狀態(tài),這也是所有玩家最喜歡的懸停狀態(tài)[45],。

  

002.jpg

2四軸飛行器的硬件設(shè)計與實現(xiàn)

  2.1控制電路設(shè)計

  鑒于設(shè)計要求只需要具備簡單的懸停,、前后運(yùn)動、左右運(yùn)動以及翻滾等飛行要求,,因此對控制芯片的選取顯得非常重要,。原因在于如果選擇控制器性能太好,會導(dǎo)致系統(tǒng)的價格過高,,超出了當(dāng)初的設(shè)計初衷,;如果選擇價格比較低的控制芯片,那么處理速度和容量達(dá)不到設(shè)計要求,。圖5電機(jī)驅(qū)動電路原理圖根據(jù)設(shè)計成本和控制性能的需求,,所選擇的處理器至少具備以下3項功能: (1)存儲容量要足夠大,能夠支持四元素融合算法的運(yùn)算,; (2)有PWM功能,,還要有捕獲功能; (3)串口通信功能,。綜合考慮,,本文選取的是單片機(jī)STM8,,基本可以滿足設(shè)計要求?;赟TM8的控制電路原理圖如圖3所示[6],。

  

003.jpg

  2.2傳感器電路設(shè)計

  傳感器的作用要求為四軸飛行器的控制中心提供最精確的數(shù)據(jù)信息。由于本文所設(shè)計的四軸飛行器比較簡單,,因此其負(fù)載能力是非常有限的,,所以傳感器的體積及重量應(yīng)該盡量小。根據(jù)設(shè)計要求,,結(jié)合成本選取傳感器MPU-6050,,該傳感器最大的優(yōu)點是可以消除陀螺儀與加速度傳感器之間軸差的問題,從而大大地簡化了周圍硬件電路的設(shè)計,,其中基于MPU6050的傳感器電路原理圖如圖4所示,。

  

004.jpg

  2.3電機(jī)驅(qū)動電路設(shè)計

  對于小型電機(jī)驅(qū)動場合,場效應(yīng)管在功耗,、成本和性能方面較其他功率開關(guān)管更具優(yōu)勢,。在選擇功率場效應(yīng)管的同時,本文選擇PWM調(diào)制方式,,即改變脈沖寬度來調(diào)節(jié)電機(jī)電壓的方法就能改變電機(jī)的轉(zhuǎn)速,,從而可以方便、簡單地控制飛行器的運(yùn)行,,其電機(jī)驅(qū)動電路原理圖如圖5所示,。

005.jpg

  2.4無線通信電路設(shè)計

  無線通信電路是本文設(shè)計的四軸飛行器的重要組成部分,在現(xiàn)實的使用中,,用戶使用無線模塊對四軸飛行器進(jìn)行位置控制,,其中前后運(yùn)動、左右運(yùn)動,、上升以及懸停是其常用的姿態(tài)控制,。由于本文所設(shè)計的簡易低成本四軸飛行器應(yīng)用距離不是很遠(yuǎn),故選用24L01無線方案,,其無線通信電路原理圖如圖6所示[7],。

 

006.jpg

3四元素姿態(tài)算法設(shè)計

  3.1四元素算法介紹

  四元素算法由一個標(biāo)量以及一個矢量兩部分組成,標(biāo)量和矢量構(gòu)成超復(fù)數(shù), 它具有實數(shù)和復(fù)數(shù)的所有特征,。它作為已知定位參數(shù),,首先可以準(zhǔn)確判斷剛體的某種姿態(tài),根據(jù)姿態(tài)可以明確剛體的具體位置信息,,最終可以計算出剛體的準(zhǔn)確位姿,。如果把它當(dāng)作是變換算子,它可以方便地構(gòu)成可以逆轉(zhuǎn)的矩陣算子,同時這種算子既可以構(gòu)成單邊算子,,也可以構(gòu)成雙邊算子,。另外對于任何一種算子它既可以應(yīng)用于半角,也可以應(yīng)用全角,,因此使用非常方便,,而且使用范圍非常寬廣[8]。

  3.2四元素算法實現(xiàn)

  首先把加速度傳感器所測量到的三維向量轉(zhuǎn)成單位向量,,繼而把四元素?fù)Q算成方向余弦矩陣中的第三列的3個元素,。根據(jù)余弦矩陣和歐拉角的定義,,地理坐標(biāo)系的重力向量變換到機(jī)體坐標(biāo)系,,正好是這3個元素。其中ax,、ay,、az是加速度傳感器實際測量得到的重力向量,而vx,、vy,、vz是陀螺積分后的姿態(tài)推算出的重力向量,它們都是機(jī)體坐標(biāo)參照系上的重力向量,。它們之間的誤差向量就是陀螺積分后的姿態(tài)和加速度傳感器測出來的姿態(tài)之間的誤差,。向量間的誤差可以用向量叉積來表示,ex,、ey,、ez表示為兩個重力向量的叉積。經(jīng)過運(yùn)算后的向量叉積仍舊是位于機(jī)體坐標(biāo)系上的,,而陀螺積分誤差也位于機(jī)體坐標(biāo)系中,,而且叉積的大小與陀螺積分誤差成正比例的關(guān)系,因此可以用來修正陀螺,。由于陀螺是對機(jī)體的直接積分,,因此對陀螺的修正量會直接體現(xiàn)在對機(jī)體坐標(biāo)系的修正上。然后可以利用叉積誤差來做PI修正陀螺的零偏,,最終可以解出四元素微分方程,,這就是四元素算法的整個編程思路。

  3.3四元素算法結(jié)果分析

  為了將四元素姿態(tài)算法應(yīng)用于四軸飛行器,,首先須驗證四元素姿態(tài)算法的正確性和有效性,。由于本系統(tǒng)的數(shù)據(jù)采圖6數(shù)據(jù)采集原理樣,必須在系統(tǒng)運(yùn)動時計算角度通過串口顯示在上位機(jī)上,,并記錄數(shù)據(jù),。其算法測試原理如圖6所示。主控芯片在計算出3個方向的角度后,馬上通過串口以一定的格式傳遞給上位機(jī),,這樣就可以記錄數(shù)據(jù),,并驗證數(shù)據(jù)。

007.jpg

  其四元素姿態(tài)算法測試結(jié)果如表1所示,。從表1可以看出所有角度經(jīng)過四元素算法融合之后,,3個方向上的角度都完全正確,完全能夠滿足四軸飛行器對動態(tài)平衡控制的要求,。 

011.jpg

4四軸飛行器軟件程序設(shè)計

  四軸飛行器采用模塊化設(shè)計,,主要由6個部分組成,其總體流程框圖如圖8所示,。其工作流程圖工程過程分析如下:以STM8單片機(jī)為處理核心,,通過SPI接口讀取無線模塊接收機(jī)中的用戶數(shù)據(jù),這些數(shù)據(jù)是從無線模塊中的發(fā)射機(jī)中發(fā)出的,;處理器以一定的周期通過IIC接口讀取MPU6050的6個數(shù)據(jù),,分別是3個方向的加速度數(shù)據(jù)和3個方向的角速度數(shù)據(jù),接下來要進(jìn)行姿態(tài)融合,,通過以四元素為基礎(chǔ)的融合算法,,利用六軸傳感器的數(shù)據(jù)計算出姿態(tài)角,結(jié)合卡爾曼濾波算法以及低通數(shù)字濾波算法,,通過加速度數(shù)據(jù)進(jìn)行姿態(tài)角補(bǔ)償,,最后準(zhǔn)確計算出四軸飛行器的姿態(tài)[910]。

008.jpg

5實驗結(jié)果及分析

  四軸飛行器在完成軟硬件設(shè)計后,,制作出實物圖,,如圖9所示。測試工具包括上位機(jī)軟件,、串口助手,、藍(lán)牙模塊和MATLAB。整個實驗測試包括懸停測試以及操作性測試,,其中操作性測試包括前后運(yùn)動,、左右運(yùn)動、上下運(yùn)動以及旋轉(zhuǎn)飛行測試,。

 

009.jpg

  5.1懸停測試

  懸停測試主要是驗證四軸飛行器的穩(wěn)定性,。懸停測試的具體過程為在玩家給出懸停指令后,利用藍(lán)牙模圖10懸停測試角度信息測試數(shù)據(jù)

  塊把姿態(tài)角數(shù)據(jù)傳輸?shù)缴衔粰C(jī)上,,上位機(jī)保存數(shù)據(jù)后通過MATLAB軟件顯示飛行器角度信息,,其懸停狀態(tài)下角度信息測試數(shù)據(jù)如圖10所示。從圖10所示的兩種懸停狀態(tài)下角度信息測試數(shù)據(jù)可以看出四軸飛行器在懸停實驗中姿態(tài)角變動基本保持在-4°~+4°,,完全能夠達(dá)到保持穩(wěn)定的狀態(tài),。

  5.2操作性測試

  操作性測試是對四軸飛行器系統(tǒng)的快速性和準(zhǔn)確性的實驗,,也就是測試飛行器對玩家所發(fā)出的操作指令要求反應(yīng)迅速和精確的實驗。經(jīng)過對四軸飛行器多次測試,,其操作性測試表如表2所示,。從表2可以看出,本文所設(shè)計的四軸飛行器對于玩家所發(fā)出的指令,,反應(yīng)迅速而且完全滿足一般玩家需求,。

001.jpg

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)一般的懸停,、左右運(yùn)動和上升等操作,可以滿足對價格比較敏感的廣大玩家需求,。

參考文獻(xiàn)

 ?。?] 江杰,朱君,豈偉楠.四旋翼無人飛行器姿態(tài)數(shù)據(jù)采集處理系統(tǒng)[J].計算機(jī)測量與控制,2012,20(6):17031706.

  [2] 蘇茂,王永驥,劉磊,等.基于改進(jìn)粒子群算法的再入飛行器軌跡優(yōu)化[J].計算技術(shù)與自動化,2011,30(4):5569.

 ?。?] 張建明,邱聯(lián)奎,劉啟亮.四旋翼飛行器姿態(tài)的自適應(yīng)反演滑??刂蒲芯浚跩].計算機(jī)仿真,2015,32(3):4247.

  [4] 王史春.四旋翼飛行器力學(xué)模型與控制系統(tǒng)設(shè)計[J].中北大學(xué)學(xué)報( 自然科學(xué)版),2014,35(2):218224.

 ?。?] 王偉,馬浩,孫長銀.四旋翼飛行器姿態(tài)控制系統(tǒng)設(shè)計[J].科學(xué)技術(shù)與工程,2013,13(19):55135519.

 ?。?] 黃根春,周立青,,張望先. 全國大學(xué)生電子設(shè)計競賽教程——基于TI器件設(shè)計方法[M]. 北京:電子工業(yè)出版社,,2011.

  [7] 謝自美.電子線路技術(shù)[M]. 武漢:華中理工出版社,2001.

 ?。?] 施聞明,徐彬,陳利敏.捷聯(lián)式航姿系統(tǒng)中四元素算法Kalman 濾波器的實現(xiàn)研究[J].自動化技術(shù)與應(yīng)用,2005,24(11):68.

 ?。?] 龐慶霈, 李家文, 黃文浩.四旋翼飛行器設(shè)計與平穩(wěn)控制仿真研究[J].電光與控制,2019,19(3):5155.

  [10] 江斌.小型型四旋翼低空無人飛行器綜合設(shè)計[D].杭州: 浙江大學(xué),2013.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。