朱志鴻,鄭姚生
(東南大學電子科學與工程學院,南京 211189)
基于BASYS3的新型四軸飛行器通訊及控制裝置*
朱志鴻,鄭姚生*
(東南大學電子科學與工程學院,南京 211189)
商業化四軸飛行器上的遙控器功能單一,沒有DIY 的能力,無法自行編寫代碼,不利于飛控新功能的開發。自制遙控器利用BASYS3作為主控芯片,采用433模塊進行無線通訊,與飛控板進行有效信息交互;實現了除商用搖桿控制功能以外,還具備語音控制四軸飛行器的功能。與此同時,遙控器還可以實現同時與定高、定點、航拍等相結合的功能,實現四軸飛行器的全面穩定控制,為四軸飛行器后期的開發利用提供了進一步的參考。
電子與通信技術;自制遙控;BASYS3;語音;多種功能結合;穩定控制
四軸飛行器是一種常見的空中機器人,由于其高度靈活性,在民用和實驗領域均有廣泛的應用。目前大眾使用的基本為商品飛控,例如APM、MWC等,它們的優點在于集成度很高,出現失控情況的概率極低。與此同時,配套商品飛控的也是一些成品遙控,如天地飛、樂迪等;它們的通訊方式為2.4G,可以實現起飛、調整油門和前后左右4個方向的飛行等基本功能[1]。商品控的優點是穩定、傳輸性能強、不容易丟包;缺點是沒有DIY的能力,無法自己編寫代碼,配合飛控實現新的功能。
針對如何自行設計飛行器及通訊控制裝置,本文提出采用stm32作為飛控,調整姿態;以BASYS3作為自制遙控器主控,擴展遙感,通過433無線模塊接受、發送數據,通過無線圖傳接受圖像信號并處理的方案。綜合了商用遙控和自己的思考,有效地實現了姿態控制和遙控飛行等功能。
1.1 基本飛行原理
四軸飛行器屬于垂直起降旋翼飛行器類型[2],旋翼數量為4,基本組成結構為4個電調和電機。四軸飛行器常根據MPU6050解算姿態,計算出三軸歐拉角,分別為橫滾角(ROLL),俯仰角(PITCH)和航向角(YAW)[3]。4個電機的轉速不同,使飛行器實現傾斜,當4個電機產生的豎直向上的分力和重力相等時,前向分力驅動四軸飛行[4]。一般飛控實現的最基本飛行動作為控制橫滾,俯仰和航向。
1.2 姿態控制PID調節
四軸飛行器共有6個自由度,兩個平移自由度(前后、左右方向平移),兩個旋轉自由度(俯仰、橫滾動作),以及Z軸(高度)的懸停和旋轉[5]。自行制作遙控器的前提需要把四軸的飛行姿態調整穩定且便于控制,所以我們需要把歐拉角作為控制量,通過PID調節實現飛行器多自由度飛行,可以簡化自制遙控。
歐拉角由3部分組成,橫滾角(roll)是飛行器在YZ平面繞X軸轉動產生的角度;俯仰角(pitch)是飛行器在XZ平面繞Y軸轉動產生的角度;偏航角(Yaw)是飛行器在XY平面繞Z軸轉動產生的角度[6]。所謂的姿態控制,就是通過控制四軸飛行器的姿態,可以達到讓四軸飛行器前后、左右、順時針、逆時針飛行的目的。
實現歐拉角控制,我們需要采用串級PID控制(單PID不夠穩定)[7]。串級PID是由兩個串聯的PID調節器構成,其中主調節器的控制環稱為外環,副調節器的控制環稱為內環。外環的控制周期一般為內環控制周期的兩倍。由于串級PID 引入了兩個PID 控制器,能使兩個控制器都起作用,因此串級PID 控制器能夠改善過程的動態特性,提高系統的控制質量,對于進入副回路的擾動能夠迅速克服。基本流程如圖1所示。

圖1 串級PID流程

圖2 姿態解算流程
1.3 中斷周期的確定
每個PID控制都需要定時中斷,然而中斷周期的選擇也是需要不斷調試的。一般四軸飛行器的姿態解算頻率需要>=500 Hz,這樣基本可以確保姿態穩定(周期為2 ms);然后配合PID定高,周期大概為20 ms的整數倍,這里可以取40 ms或者60 ms比較合適[8]。
圖2為姿態解算流程,圖3為一鍵起飛流程。

圖3 一鍵起飛流程
1.4 遙控器控制
四軸可以實現一鍵飛行,也可以自行起飛,但是自由度的控制是必要的。在電設中的四軸題目是自主飛行[9],但是它是由黑線(類似智能車中的賽道)指引,也就是循跡飛行。在正常的高空飛行,遙控器就顯得很有必要;而且四軸飛行的核心是姿態解算,通過姿態解算后我們需要自行遙控。而且DIY遙控器可以把許多功能結合到一起,也就是說遙控器可以控制四軸實現不同姿態,不同高度,讀取航拍數據,返回四軸位置等多種功能。
2.1 系統模塊組成
系統基本結構,地面站作為信號發送端,可接受語音信號和遙控信號,其中語音信號經過LD3320模塊進入BASYS3,遙控信號通過XADC采集進入BASYS3,通過無線傳輸進入飛行器部分;飛行器上載有BASYS3與地面站通信,通過采集信號計算得PWM發送給STM32控制電機,超聲波通過串口進入飛控,從而實現定高;攝像頭模塊通過BASYS3驅動,然后通過無線數傳,傳輸至地面站再使用顯示屏顯示。基本組成如圖4所示。

圖4 系統結構框圖
2.2 系統硬件部分
2.2.1 飛行控制板
飛行控制板核心處理芯片為ARM內核的STM32F103系列,PCB板是自行制作。基本引出了飛控所需的引腳,如四路PWM,串口,OLED顯示屏等;而且在板子上還集成了很多的外設,三軸姿態MPU6050、磁力計HMC5883、氣壓計MS5611等;確保飛行器可以以穩定姿態飛行。
圖5為自制飛控PCB。

圖5 飛控PCB版圖
2.2.2 機載控制板
由機載BASYS3通過433模塊[10]接收遙控器數據,驅動飛控實現所需姿態;同時OV7670,獲取航拍圖像,控制舵機云臺轉動,實現360°航拍功能。受限于板載內存,直接將VGA信號通過NRF2401傳回地面控制臺是不現實的,選擇將其硬件解碼,轉換為AV格式,使用TS832圖傳系統將視頻信息實時傳輸到地面控制臺的顯示屏上。
2.2.3 地面控制臺(遙控器)
地面控制臺主要組成部分是一個附帶語音接收器的自制搖桿遙控器。該遙控器使用搖桿電位器作為傳感器,BASYS3采集數據,通過433模塊和飛行器上的另一塊BASYS3進行數據傳輸和通信。

圖6 地面控制臺
圖6為地面控制臺。
3.1 商品遙控的特點
目前有很多商品遙控,如天地飛、樂迪等,它們通過裝在四軸上的接收機和遙控器內的2.4G無線模塊進行通信,通過接收機傳送不同的PWM占空比控制飛控板。
商品遙控的特點是穩定,基本不會出現通信協議的錯誤,因為他們的通信協議是經過嚴格調試的;而且比較安全,一般都帶有教練機和模擬器功能,很適合新手使用,非常安全且人性化。
然而,它的DIY能力較差;拆開幾款商品遙控以后,發現里面是固定的數字電路,只有幾種局限的邏輯功能,并沒有主控的存在,無法自行編寫代碼;因此一般用來配合成品飛控如APM、MWC等,功能固定,沒有設計的空間。普通的前后左右飛行控制情況可以完美操控,但是如果自行加入定高、定點、語音等功能便無法結合控制。
因此,自制遙控就顯得很有必要。我們采用自制遙控就是為了配合我們的自制飛控版,增加多種功能,豐富用戶體驗。
3.2 自制遙控的原理
飛行器上的BASYS3主要作用是驅動飛控板。我們在飛控上采用了串級PID控制,可以控制四軸的狀態;相當于把飛控作為一個“黑盒子”,我們通過BASYS3來控制飛控,從而控制四軸飛行器。這樣做的好處就是,不讓飛控板“分心”去做其他事,比如在定時中斷里寫一個NRF24L01接受數據的代碼,很有可能打亂MPU6050姿態解算的時間周期,所以采用這種控制方式會使時序結構較為清晰。
地面控制臺主要組成部分是一個附帶語音接收器的自制搖桿遙控器,外加一個攝像頭顯示裝置。該遙控器使用搖桿電位器作為傳感器,通過BASYS3的XADC通道輸入FPGA中,通過解碼,運算,再經由433M無線模塊發射給飛行器,語音模塊識別特定語音,將兩個通道開關量也通過433M無線模塊發送給飛行器上的BASYS3.由此可以實現自制遙控和語音控制的功能。
圖7為自制遙控整體流程。

圖7 自制遙控工作流程
采用自制遙控的意義就是為了配合新的功能,在此處我們加入了一鍵起飛、定高、航拍、數據傳輸、語音控制等功能,均和自制遙控緊密連接。首先,遙控器中的BASYS3作為主控芯片,可以控制LD3320語音傳輸模塊[11]和接受GPS所發信息;實現普通商品遙控所不具備的控制和通信能力。在此處我們可以驅動語音模塊定義關鍵字,每當識別關鍵字時,即可實現語音控制功能;單片機驅動GPS讀取地理位置信號,也可通過433無線模塊與遙控器通信,可以實現讀取地理信息功能。
其次,我們在自制飛控上實現的姿態控制、定高、一鍵起飛功能可由自制遙控器完美控制。串級PID參數整定合理以后,我們在自制遙控器上輸入目標姿態、高度(此處可結合語音控制),通過無線433模塊傳輸至飛行器上的BASYS3,然后輸出對應的多通道PWM給飛控板,實現控制姿態的功能;一鍵起飛在遙控器上制作一個開關即可(一鍵起飛實現方法:飛行器解鎖—給定高度飛行)。
最后,由于我們自行驅動OV7670實現航拍[12],普通的433模塊無法實現大規模的數據傳輸,我們決定采用TS832大功率無線圖傳模塊,結合遙控器進行航拍數據傳輸。實驗證明,傳輸速度良好,航拍功能完美實現。當然,我們可以拓展遙控器的電路模塊,使用BASYS3采集圖像信號進行數據處理。

圖8 四軸飛行器及遙控裝置
3.3 性能測試
圖8為四軸飛行器及遙控裝置。
經過測試,自制遙控器在短距離內可以完全取代一個6通遙控器的功能。
主要性能參數如表1所示。

表1 性能參數
自行制作的遙控器基本可以替代商品遙控,實現控制四軸飛行的功能。自制遙控器在短距離內可以完全取代一個6通遙控器的功能。同時地面站實現了語音控制和實時航拍功能,且能在屏幕上實時顯示GPS等監測數據。
由此我們可見,自制遙控不僅可以實現多種功能,而且由于模塊均為自行驅動,可以實現數據采集的功能,可以把飛行器應用到數據分析領域,結合MATLAB軟件可以實現探測功能。
自制遙控的缺點在于控制距離比商品遙控略短,能是因為采用的433模塊功率略小(50 mW),目前準備采用修復的方法是使用大功率的433模塊替代(100 mW),或者采取新的串口透傳模塊進行無線通訊。
由此可見,自制遙控可以采用BASYS3作為主控,自行擴展電路可以實現較為良好的控制效果,實現多種功能。
[1] 鄧矛. 關于四軸飛行器的姿態動力學建模[J]. 科技創新導報,2012(9):256.
[2] 陸偉男,蔡啟仲,李剛,等. 基于四軸飛行器的雙閉環PID控制[J]. 科學技術與工程,2014,14(33):127-131.
[3] 徐大遠,王英健,陳冠軍,等. 四軸飛行器的動力學建模和位置控制研究[J]. 電子科技,2015,28(1):69-72.
[4] 常敏,崔永進,何蓓薇,等. 四軸飛行器姿態控制系統設計[J]. 通信電源技術,2015,32(5):144-147.
[5] 孫驊. 基于GPS與AHRS的四軸飛行器懸停算法研究[J]. 機械科學與技術,2013,32(4):481-487.
[6] 周權,黃向華,朱理化. 四旋翼微型飛行平臺姿態穩定控制試驗研究[J]. 傳感器與微系統,2009,28(5):72-74.
[7] 劉浩蓬,龍長江,萬鵬,等. 植保四軸飛行器的模糊PID控制[J]. 農業工程學報,2015,31(1):71-77.
[8] 常國權,戴國強. 基于STM32的四軸飛行器飛控系統設計[J]. 技術縱橫,2015(2):29-32.
[9] 2013全國電子設計優秀設計作品選編[M]. 2013:101-102.
[10] 劉杰,章韻,陳建新. 利用433 MHz射頻通信技術實現智能家居系統[J]. 計算機應用,2012,32(S2):68-72.
[11] 金鑫,田犇,闕大順. 基于LD3320的語音控制系統設計實現[J]. 電腦與信息技術,2011,19(6):22-25.
[12] 王晗,李翔,李忠敏,等. 基于OV7670的圖像采集與顯示設計[J]. 中國科技信息,2013,11:90-91.
New Quadrotor Helicopter’s communication and Control Device Based on BASYS3*
ZHUZhihong,ZHENGYaosheng*
(School of Electronic Science and Engineering,Southeast University,Nanjing 211189,China)
Traditional remote control has single function,without DIY ability. It can’t write code on its own,which isn’t conductive to the development of the new features of the flight control. The master of the remote control is BASYS3. The flight control exchanges effective information through module 433 with the remote control. In addition to the traditional joystick control,the quadcopter can also be controlled by voice. At the same time,the remote control can make the quadcopter set high,fixed,and take aerial photos steadily.
electronic and communication technology;homemade controller;BASYS3;voice;many functions;steady control

項目來源:江蘇省品牌專業建設工程資助項目
2016-05-12 修改日期:2016-06-28
V212.13
A
1005-9490(2017)03-0692-05
C:6150
10.3969/j.issn.1005-9490.2017.03.035