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

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

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

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

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

0引言

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

1四軸飛行器的工作原理

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

001.jpg

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

  

002.jpg

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

  2.1控制電路設計

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

  

003.jpg

  2.2傳感器電路設計

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

  

004.jpg

  2.3電機驅動電路設計

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

005.jpg

  2.4無線通信電路設計

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

 

006.jpg

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

  3.1四元素算法介紹

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

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

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

  3.3四元素算法結果分析

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

007.jpg

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

011.jpg

4四軸飛行器軟件程序設計

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

008.jpg

5實驗結果及分析

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

 

009.jpg

  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ā)出的操作指令要求反應迅速和精確的實驗,。經(jīng)過對四軸飛行器多次測試,,其操作性測試表如表2所示。從表2可以看出,,本文所設計的四軸飛行器對于玩家所發(fā)出的指令,,反應迅速而且完全滿足一般玩家需求。

001.jpg

6結論

  本文設計了一個簡易數(shù)字四軸飛行器裝置,,采用了四元素作為姿態(tài)融合的工具,,實現(xiàn)了在復雜情況下四軸飛行器的動態(tài)飛行控制。系統(tǒng)設計過程包括理論分析,、系統(tǒng)實現(xiàn)方案驗證,、硬件設計、軟件模塊設計,、算法設計與實現(xiàn)驗證,、系統(tǒng)調試和數(shù)據(jù)測試等,,最后經(jīng)過多次測試,系統(tǒng)能夠實現(xiàn)一般的懸停,、左右運動和上升等操作,,可以滿足對價格比較敏感的廣大玩家需求。

參考文獻

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

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

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

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

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

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

 ?。?] 謝自美.電子線路技術[M]. 武漢:華中理工出版社,2001.

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

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

 ?。?0] 江斌.小型型四旋翼低空無人飛行器綜合設計[D].杭州: 浙江大學,2013.


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