高正中 趙晨暉 宋森森
摘 要: 微型四軸飛行器屬于旋翼式飛行器,具有體積小、結構簡單、設計成本低等優點,在軍事探測、信息采集、增強通信節點等方面應用廣泛。設計采用STC15W4K58S4芯片作為微型四軸飛行器的控制核心,以 NRF24L01 實現無線遙控通信、MPU6050陀螺儀進行姿態監測,采用互補濾波器原理設計姿態融合算法,同時采用 PID增量控制算法調整PWM輸出占空比,實現對飛行器電機轉速的控制。經過測試可實現對飛行器的姿態控制。
關鍵詞: 四軸飛行器; STC15W4K58S4; PID算法; PWM控制
中圖分類號: TN61?34; TP249 文獻標識碼: A 文章編號: 1004?373X(2016)24?0145?04
Design of micro four?axis aircraft based on STC15 MCU
GAO Zhengzhong, ZHAO Chenhui, SONG Sensen
(College of Electrical Engineering and Automation, Shandong University of Science and Technology, Qingdao 266590, China)
Abstract: The micro four?axis aircraft belongs to the rotary wing type aircraft, has the advantages of small volume, simple structure and low design cost, and is widely used in military detection, information collection, communication nodes enhancement and other fields. The STC15W4K58S4 chip is taken as the control core of the micro four?axis aircraft, the NRF24L01 is adopted to realize the wireless remote control, and MPU6050 gyroscope is employed to monitor the posture. The principle of complementary filter is used to design the posture fusion algorithm. The incremental PID control algorithm is adopted to adjust the output duty cycle of PWM to control the motor speed of the aircraft. The testing result indicates the flight posture of the aircraft can be controlled with the design method.
Keywords: four?axis aircraft; STC15W4K58S4; PID algorithm; PWM control
微型四軸飛行器是一種可垂直起降的微小型無人機,其控制系統有4個輸入、6個自由度,采用4個螺旋槳提供動力實現飛行控制。系統主要由機架、微處理器(MCU)、傳感器模塊、無線傳輸模塊和電機等部分組成,具有飛行靈活、穩定性強等眾多特點,在低空飛行具有較大優勢[1]。微型四軸飛行器的飛行控制系統從功能上分為三種:自主飛行、半自主飛行和人工遙控?;趹梅秶桶踩钥紤],本設計采用遙控方式控制四軸飛行器的飛行。飛行器上的MCU接收遙控命令,實時采集陀螺儀角速度,調節飛行器的飛行姿態。
1 四軸飛行器硬件設計
本文設計的微型四軸飛行器硬件設計包括兩個部分: 遙控部分和飛控板部分。遙控部分主要包括STC15主控制芯片、搖桿控制電路、NRF24L01無線發送模塊等;飛控板部分主要組成有STC15主控制芯片、MPU6050陀螺儀角速度傳感器、NRF24L01 無線接收模塊等。硬件設計總體框圖如圖1所示。
1.1 飛控板硬件設計
飛控板的機械結構設計采用“十”字模式,如圖2所示。啟動飛行器時可通過操縱遙控器同時加大4個電機的轉速,使飛行器垂直提速升空。要使飛行器順時針旋轉需增大 M1,M4轉速同時減小M2,M3轉速。同理, 若M2與M3的轉速大于M1與M4的轉速,飛行器逆時針旋轉[2]。以此實現飛行器的加速、減速及方向改變。
在飛控板電路中,STC15主控制芯片對陀螺儀傳感器采集的數據進行濾波、融合、姿態解算等處理后轉變成相應的PWM 信號,再將解算得到的 PWM 信號傳送給電機,電機根據 PWM 信號的輸出占空比調節轉速。
飛控板硬件電路設計結構如圖3所示,包含 STC15主控制芯片、MPU6050陀螺儀傳感器、NRF24L01 無線接收模塊、下載器接口電路、供電電路。
由圖3可知,主控制MCU為STC15W4K58S4芯片,通過采集陀螺儀傳感器的角度數據并加以姿態解算,接收遙控器發送的數據,采用PID算法計算輸出占空比控制電機運轉。MPU6050 陀螺儀傳感器以單一數據流形式向STC15主芯片傳輸數據,可以完成處理運動感測的復雜信息,降低運動處理運算對主控制芯片的負荷,準確跟蹤飛行器的運動軌跡[3]。
NRF24L01作為無線收發器芯片,實現遙控器與飛控板之間的無線數據傳輸。供電電路為系統提供3.7 V工作電源,可以轉化成5 V和3.3 V的工作電壓[4],電路如圖4所示。
1.2 遙控部分硬件設計
遙控部分電路結構如圖5所示,其中包括STC15主控制芯片、遙桿控制電路、NRF24L01 無線發送模塊、下載器接口電路、供電電路和校準電路。
其中,遙桿控制電路可提供多種控制參數,實現多姿態多角度的控制;NRF24L01無線發送模塊通過主控芯片給飛行器發送指定的命令實現飛行監控功能;供電電路采用3.7 V電池供電,實現遙控器對飛控板的遠程控制。
2 四軸飛行器的程序設計
本文利用Keil開發平臺的C語言編寫微型四軸飛行器的飛行程序。程序模塊化設計包括傳感器數據的讀取及姿態解算、PID控制、PWM信號捕獲以及控制電機的PWM波形輸出等。整體程序流程如圖6所示。
由式(3)可以看出,只要確定X,Y,Z的值,就可以利用前后3次測量的偏差值得出角速度的增量,實現PID增量控制[6]。
互補濾波器是使加速度和陀螺儀角速度達到平衡的一個平臺,將低通濾波器與高通濾波器結合,對加速度計低通濾波,對陀螺儀高通濾波,通過整合適當的參數得到較好的濾波器特性[7]。本設計采用互補濾波器對測量誤差進行矯正,并給出了互補濾波器融合系數的方法,互補濾波器原理如圖9所示。
[θs=GLsθ1s+GHsθ2s]
式中:GL(s)具有低通濾波特性;GH(s)具有高通濾波特性。設計采用的姿態估計算法為四元數法,四元數就相當于復數二維空間[8],由實數及i,j,k三個元數組成,以復數形式表示為:
[q=cosφ2+isinφ2+jsinφ2+ksinφ2 q=cosφ2+isinφ2+jsinφ2+ksinφ2] (4)
四元數的表達式沒有奇點且可以精確的表示4個維度的轉動信息,因此本設計的姿態解算采用四元數法[9]。本設計中,遙控器程序采用左手油門設計。 STC15主控制芯片通過A/D采集數據,并將模擬信號轉變成數字信號,由NRF24L01發送給飛行器,同時接收來自飛控板的姿態信號并處理,循環采集新的數據信號并重復以上工作過程 [10]。遙控器程序設計流程圖如圖10所示。
3 系統調試與結果
完成四軸飛行器硬件設計及程序算法研究,進行以下測試。給系統下載一個LED閃爍程序,若程序正常運行,則說明MCU配置成功[11];用示波器檢查PWM輸出波形是否符合要求,若符合則表明電機可正常運轉;操縱遙控器的左右搖桿,檢測4個螺旋槳的轉動情況是否符合飛行要求,若不符合則修改 PID 控制參數,調整達到預期飛行要求則測試結束。
測試結果顯示飛行器實現基本飛行功能,通過試飛,飛行器基本完成飛行動作,但飛行穩定性需進一步研究。
4 結 語
本文基于STC15最小系統設計出一個微型四軸飛行器,從機械結構設計到軟硬件電路設計均做了較為詳細的介紹,涉及了動力學飛行控制原理、PID控制算法及姿態解算四元數法等相關知識,最終經過對軟硬件的調試,實現微型四軸飛行器的人工遙控。
參考文獻
[1] 程學功.四軸飛行器的設計與研究[D].杭州:杭州電子科技大學,2012.
[2] 王東平.基于嵌入式的四軸飛行器控制系統研究與設計[D].泉州:華僑大學,2013.
[3] 郝蕓,楊奇,佟皓萌.基于STM32的四軸飛行器設計[J].電子測試,2015(18):6?8.
[4] 劉峰,呂強,王國勝,等.四軸飛行器姿態控制系統設計[J].計算機測量與控制,2011,19(3):583?585.
[5] 許震,毛麗民,劉同連,等.四軸飛行器控制系統設計[J].常熟理工學院學報,2013(2):109?113.
[6] 李世光,申夢茜,王文文,等.一種Mecanum輪式移動平臺增量PID控制系統設計[J].山東科技大學學報(自然科學版),2016(1):86?90.
[7] 王俊,魯曉天.對四軸飛行器基于姿態算法的分析與實現[J].河南科技,2015(2):51?53.
[8] 王金紅,成怡,錢紅亮,等.四軸飛行器姿態監控系統設計[J].宇航計測技術,2014,30(6):9?13.
[9] 梁延德,程敏,何福本,等.基于互補濾波器的四旋翼飛行器姿態解算[J].傳感器與微系統,2011,30(11):56?58.
[10] QIU C X, SHEN H Y, SOLTANI S, et al. An optimal and distributed strategy for packet recovery in wireless networks [C]// Proceedings of 2013 IEEE INFOCOM. Clemson: IEEE, 2013: 2859?2867.
[11] 周建陽,陳家樂,薛斌,等.基于STM32 四軸飛行器的設計[J].欽州學院學報,2015(2):30?33.
[12] 劉萬龍,朱昊偉,孫樹江,等.國內微推力測試技術發展現狀[J].火箭推進,2015(5):7?11.
[13] 劉芝福.基于WiFi AP模式下的多軸飛行器數據傳輸系統設計[J].現代電子技術,2015,38(13):27?29.