文程祥 劉建華 王艷麗
摘要:四旋翼無人機(jī)是一個(gè)復(fù)雜的多輸入多輸出系統(tǒng),控制難度較大,一直是研發(fā)人員的重點(diǎn)研究對(duì)象,本文以DSP為核心控制器,利用DSP可以快速實(shí)現(xiàn)各類數(shù)字信號(hào)處理算法的優(yōu)勢(shì),研究在DSP環(huán)境下四旋翼無人機(jī)控制系統(tǒng)的設(shè)計(jì),包括硬件設(shè)計(jì)和軟件設(shè)計(jì),并利用自動(dòng)代碼生成技術(shù)實(shí)現(xiàn)。
關(guān)鍵詞:四旋翼 DSP 控制
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)05-0000-0
四旋翼無人機(jī)具有結(jié)構(gòu)簡單,可垂直起降、對(duì)飛行空間要求少等優(yōu)點(diǎn),近年來備受研究人員的關(guān)注,四旋翼無人機(jī)的研究熱度持續(xù)增加。四旋翼無人機(jī)是一個(gè)典型多輸入多輸出系統(tǒng),控制難度較大,需要處理器對(duì)姿態(tài)傳感器采集的姿態(tài)信號(hào)快速處理,并發(fā)送控制信號(hào)給動(dòng)力系統(tǒng),時(shí)時(shí)調(diào)整無人機(jī)飛行姿態(tài)。因此,四旋翼無人機(jī)的控制器需要具有快速實(shí)現(xiàn)各類數(shù)字信號(hào)處理算法的能力,而DSP即數(shù)字信號(hào)處理器可以解決這一問題。
本文以TMS320F28335為核心,研究四旋翼無人機(jī)的控制系統(tǒng)設(shè)計(jì)。TMS320F28335型數(shù)字信號(hào)處理器是TI公司的一款TMS320C28X系列浮點(diǎn)DSP控制器。與以往的定點(diǎn)DSP相比,該器件的精度高,成本低,功耗小,性能高,外設(shè)集成度高,數(shù)據(jù)以及程序存儲(chǔ)量大,A/D轉(zhuǎn)換更精確快速等優(yōu)點(diǎn)[1]。TMS320F28335具有150MHz的高速處理能力,具備32位浮 點(diǎn)處理單元,6個(gè)DMA通道支持ADC、McBSP和 EMIF,有多達(dá)18路的PWM輸出,其中有6路為TI特有的更高精度的PWM輸出 (HRPWM),12位16通道ADC,滿足四旋翼無人機(jī)的基本需求。無人機(jī)控制系統(tǒng)可分為硬件系統(tǒng)設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)兩部分。
1 系統(tǒng)硬件整體設(shè)計(jì)
無人機(jī)控制系統(tǒng)硬件部分主要包括處理器模塊、姿態(tài)檢測(cè)模塊、無線通訊模塊、穩(wěn)壓供電模塊等,硬件系統(tǒng)整體框圖如圖1所示。
該系統(tǒng)以DSP控制器為主要處理器,起到對(duì)無人機(jī)各個(gè)模塊整體協(xié)調(diào)的作用。慣性測(cè)量模塊(IMU)主要包括MPU6050姿態(tài)傳感器和高度氣壓計(jì)等,用來測(cè)量四旋翼無人機(jī)的飛行姿態(tài)數(shù)據(jù)和高度數(shù)據(jù);無線通訊模塊主要指與遙控器配對(duì)使用的接收機(jī),無線電遙控器通過接收機(jī)遠(yuǎn)程遙控四旋翼無人機(jī),進(jìn)行姿態(tài)控制;電機(jī)驅(qū)動(dòng)模塊主要是指電子調(diào)速器,可以方便的控制直流無刷電機(jī),電子調(diào)速器主要由六個(gè)功率開關(guān)和ECU芯片組成,主要功能是將直流電逆變?yōu)槿嘟涣麟姡ㄐ我话銥樘菪尾?;穩(wěn)壓供電模塊主要負(fù)責(zé)整個(gè)系統(tǒng)的穩(wěn)定供電,防止電脈沖信號(hào)對(duì)電子元器件的損壞;上位機(jī)可以通過串口與飛控系統(tǒng)連接,采集四旋翼無人機(jī)的飛行數(shù)據(jù),以便調(diào)試和更好的控制。
2 系統(tǒng)軟件整體設(shè)計(jì)
系統(tǒng)軟件部分設(shè)計(jì)的思路是,慣性測(cè)量傳感器測(cè)的飛機(jī)姿態(tài)信號(hào)和氣壓計(jì)測(cè)的高度信號(hào)進(jìn)行數(shù)據(jù)融合處理后,解出飛機(jī)的俯仰角、偏航角、滾轉(zhuǎn)角信號(hào),再將這些姿態(tài)信號(hào)傳遞給DSP控制器進(jìn)行數(shù)據(jù)處理,這些信號(hào)經(jīng)過DSP控制器控制算法運(yùn)算后,輸出PWM信號(hào)給電子調(diào)速器,進(jìn)而控制無刷直流電機(jī)的轉(zhuǎn)速,達(dá)到無人機(jī)穩(wěn)定飛行。
姿態(tài)解算是四旋翼無人機(jī)控制的關(guān)鍵之一,姿態(tài)解算的精度和速度將直接影響飛行控制算法的穩(wěn)定性、可靠性和實(shí)現(xiàn)的難易程度,所以,姿態(tài)解算是飛行控制實(shí)現(xiàn)的前提[2]。常用的姿態(tài)解算算法有很多,如歐拉角法,四元數(shù)法,方向余弦法。姿態(tài)解算的主要作用是將姿態(tài)傳感器和加速度傳感器信號(hào)轉(zhuǎn)化為無人機(jī)的姿態(tài)角和速度信號(hào)。本控制系統(tǒng)用的是基于四元數(shù)的姿態(tài)解算算法,四元數(shù)是愛爾蘭數(shù)學(xué)家哈密頓發(fā)明的數(shù)學(xué)概念,它是復(fù)數(shù)在四維空間的延伸,它實(shí)質(zhì)上是求解四個(gè)未知量的線性微分方程組,具有計(jì)算量小、算法簡單等特點(diǎn)。
3 自動(dòng)代碼生成
系統(tǒng)硬件和軟件搭建起來后,需要對(duì)DSP開發(fā)板進(jìn)行程序編寫和下載。傳統(tǒng)的DSP開發(fā)方式是在TI公司提供的CCS軟件下編寫程序,經(jīng)過仿真器與DSP開發(fā)板連接,然后進(jìn)行調(diào)試、下載等工作,這樣做開發(fā)效率低下、容易出錯(cuò)。而MATLAB為開發(fā)人員提供了DSP的自動(dòng)代碼生成技術(shù),使軟件開發(fā)人員擺脫了底層開發(fā)的困擾,同時(shí)將算法設(shè)計(jì)和代碼實(shí)現(xiàn)在統(tǒng)一的開發(fā)環(huán)境中進(jìn)行,完成了算法仿真和系統(tǒng)實(shí)現(xiàn)的無縫連接[3]。
MathWorks公司和TI公司聯(lián)合開發(fā)了CCSLink工具,提供了MATLAB和CCS的接口,即把MATLAB和TI CCS及目標(biāo)DSP連接起來。而且Simulink中集成了DSP的開發(fā)模塊,本文在Simulink環(huán)境下建立控制系統(tǒng)模型,并進(jìn)行模型仿真,對(duì)算法進(jìn)行驗(yàn)證,一旦仿真結(jié)果滿意,便可以插入C2000 DSP的應(yīng)用模塊,利用Real—Time Workshop直接生成DSP的可執(zhí)行目標(biāo)代碼,完成代碼加載、執(zhí)行及與目標(biāo)DSP進(jìn)行通信等功能。
4 結(jié)語
通過利用TMS320F28335搭建四旋翼無人機(jī)控制系統(tǒng),充分利用DSP數(shù)字信號(hào)處理方面的優(yōu)勢(shì),綜合硬件部分和軟件部分,通過在自動(dòng)代碼生成技術(shù),在Simulink中搭建仿真模型并驗(yàn)證,生成代碼加載到DSP目標(biāo)板中,最終實(shí)現(xiàn)了四旋翼無人機(jī)的穩(wěn)定飛行。
參考文獻(xiàn)
[1]雷曉瑜,曹廣忠.TMS320F28335及其最小應(yīng)用系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009, 17(1):91-92.
[2]梁延德,程敏,何福本 等.基于互補(bǔ)濾波器的四旋翼飛行器姿態(tài)解算[J].傳感器與微系統(tǒng), 2011,30(11):56-58.
數(shù)字技術(shù)與應(yīng)用2016年5期