基于ARM內(nèi)核單片機(jī)的四旋翼直升機(jī)飛行控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:四旋翼直升機(jī)具有4個(gè)呈交叉結(jié)構(gòu)排列的螺旋槳,其獨(dú)特的構(gòu)型能夠滿(mǎn)足復(fù)雜環(huán)境中的任務(wù)需求。文中設(shè)計(jì)了一種四旋翼直升機(jī)飛行控制系統(tǒng)軟硬件方案,通過(guò)傳感器實(shí)時(shí)采集四旋翼的姿態(tài)、高度、位置等信息,采用PID算法設(shè)計(jì)飛行控制律,以ARM Cortex—M3內(nèi)核高性能單片機(jī)作為主控制器。最后采用CVI開(kāi)發(fā)的地面站軟件實(shí)現(xiàn)在線(xiàn)數(shù)據(jù)采集與調(diào)參,并通過(guò)實(shí)際飛行驗(yàn)證了本方案的可行性與穩(wěn)定性。
關(guān)鍵詞:四旋翼直升機(jī);飛行控制;單片機(jī);慣性導(dǎo)航系統(tǒng)
四旋翼飛行器(Ouadrotor,F(xiàn)our-rotor,4 rotors helicopter,X4-flver等)是一種特殊構(gòu)型的電動(dòng)可遙控微型飛行器,它是由4個(gè)螺旋槳驅(qū)動(dòng),通過(guò)4個(gè)螺旋槳的差速來(lái)完成姿態(tài)控制。四旋翼飛行器與其他類(lèi)型的無(wú)人機(jī)相比具有許多優(yōu)點(diǎn),其中主要是其可垂直起降及機(jī)動(dòng)性強(qiáng)等性能,能夠適應(yīng)各種復(fù)雜環(huán)境。因此四旋翼飛行器在民用產(chǎn)品、軍事武器等各方面有著廣泛的應(yīng)用前景。文中將介紹四旋翼飛行器控制系統(tǒng)的軟硬件設(shè)計(jì)方案與實(shí)現(xiàn)。
1 飛行控制系統(tǒng)總體設(shè)計(jì)
四旋翼飛行器控制系統(tǒng)的設(shè)計(jì)主要包括主飛行控制板和相關(guān)外圍電路,結(jié)合慣性傳感器、超聲波傳感器、GPS接收機(jī)、無(wú)線(xiàn)數(shù)傳模塊,并配套自行開(kāi)發(fā)的地面站軟件設(shè)計(jì)實(shí)現(xiàn)一套完整的四旋翼飛行器自主飛行控制系統(tǒng)。
四旋翼飛行器飛行控制系統(tǒng)的開(kāi)發(fā)內(nèi)容主要包括:飛控板及外圍電路設(shè)計(jì),傳感器底層驅(qū)動(dòng)開(kāi)發(fā),PWM控制信號(hào)的混控輸出,飛行控制律程序設(shè)計(jì)以及地面站軟件的設(shè)計(jì)與開(kāi)發(fā)。
飛控系統(tǒng)的總體設(shè)計(jì)方案如圖1所示。系統(tǒng)核心控制器為一款基于ARM cortex—M3內(nèi)核的單片機(jī);慣性測(cè)量元件(IMU)主要提供解算飛行器姿態(tài)的數(shù)據(jù)等信息;高度傳感器采用超聲波傳感器,輸出相對(duì)地面的高度信息;接收機(jī)接收遙控器發(fā)出的桿量信號(hào),這些信號(hào)將用于控制器的輸入;GPS接收機(jī)輸出飛行器的位置信息;無(wú)線(xiàn)數(shù)據(jù)傳輸模塊用于飛行器與地面站的數(shù)據(jù)通信。傳感器信息經(jīng)過(guò)飛行控制律的運(yùn)算處理,最終通過(guò)PWM信號(hào)輸出至電子調(diào)速器,用來(lái)控制四個(gè)電機(jī)的轉(zhuǎn)速,以實(shí)現(xiàn)姿態(tài)、位置與高度的控制。地面通過(guò)無(wú)線(xiàn)數(shù)傳實(shí)時(shí)傳回飛行器信息用以檢測(cè)飛行器飛行狀態(tài),同時(shí)地面站也可以向飛行器發(fā)送控制指令。
四旋翼飛行器的機(jī)架選用了市面上做工比較好的Xaircraft-650,其優(yōu)點(diǎn)是各個(gè)組件采用模塊化設(shè)計(jì),方便拆卸和損耗更換,同時(shí)較高的起落架設(shè)計(jì)方便在飛行器底部搭載相關(guān)傳感器設(shè)備。四旋翼飛行器的機(jī)架如圖2所示。
2 飛控系統(tǒng)硬件設(shè)計(jì)
2.1 飛控核心板設(shè)計(jì)
飛控板的主控芯片選用意法半導(dǎo)體公司的ARM Cortex—M3內(nèi)核的單片機(jī)STM32。其功耗低,最高工作頻率72 MHz,擁有512K字節(jié)的閃存程序存儲(chǔ)器和高達(dá)64K字節(jié)的SRAM,最多可達(dá)112個(gè)快速I(mǎi)/O端口,多達(dá)4個(gè)16位定時(shí)器,5個(gè)USRAT、3個(gè)SPI、2個(gè)I2C、1個(gè)CAN、1個(gè)USB2.0全速接口。具有優(yōu)異的實(shí)時(shí)性能,同時(shí)擁有豐富而規(guī)范的固件庫(kù),適合飛控板的開(kāi)發(fā)。
飛控板采用最小系統(tǒng)加全部接口引出的設(shè)計(jì),即保證系統(tǒng)能夠正常工作的前提下,引出所有擴(kuò)展接口以方便后續(xù)實(shí)驗(yàn)開(kāi)發(fā)的功能擴(kuò)展。主控芯片STM32F103的最小系統(tǒng)原理電路設(shè)計(jì)框圖如圖3所示,由于主芯片需要3.3 V電壓供電,所以采用穩(wěn)壓芯片產(chǎn)生3.3 V電壓,還需加電容對(duì)穩(wěn)壓后的電壓進(jìn)行濾波。在保證正確供電和正確接地的同時(shí),需外加兩個(gè)晶振電路。其中8M晶振作為系統(tǒng)外部時(shí)鐘,起振后為系統(tǒng)提供時(shí)鐘信號(hào):32.768K晶振主要用于系統(tǒng)的實(shí)時(shí)時(shí)鐘RTC電路;引出所有引腳以供擴(kuò)展之用,同時(shí)設(shè)計(jì)了外部復(fù)位電路。
2.2 傳感器數(shù)據(jù)采集及通信接口設(shè)計(jì)
2.2.1 組合導(dǎo)航系統(tǒng)數(shù)據(jù)采集
組合導(dǎo)航系統(tǒng)采用了慣性導(dǎo)航與全球衛(wèi)星定位系統(tǒng)(GPS)相結(jié)合的方案,二者能夠彌補(bǔ)相互的不足,為無(wú)人機(jī)提供可靠性好,自主性和精確度高的導(dǎo)航信息。其中慣性導(dǎo)航系統(tǒng)選擇了基于MEMS技術(shù)的慣性傳感器,結(jié)合卡爾曼濾波算法和四元數(shù)法及三軸磁力計(jì)溫度補(bǔ)償進(jìn)行姿態(tài)解算和估計(jì)。傳感器的輸出為數(shù)字信號(hào),通過(guò)串口發(fā)送數(shù)據(jù)。由于STM32片內(nèi)集成串口,因此設(shè)計(jì)RS232電平與TTL電平轉(zhuǎn)換電路以實(shí)現(xiàn)數(shù)據(jù)通信。電平轉(zhuǎn)換電路采用MAX232芯片,電路如圖4所示。
2.2.2 超聲波傳感器
用于測(cè)量高度的超聲波傳感器采用SensComp公司的615088傳感器,它具有兩種模式:觸發(fā)測(cè)距模式和5 Hz自動(dòng)測(cè)距模式。測(cè)量范圍:0.15~10.7 m,測(cè)量精度:0.1%。
STM32采用捕獲中斷方式測(cè)得超聲波發(fā)送的邊沿跳變信號(hào)與經(jīng)障礙物反射回來(lái)的超聲波邊沿跳變信號(hào),做差換算得到超聲波模塊與障礙物的距離。實(shí)測(cè)在0.2~10 m范圍內(nèi)的距離,其測(cè)距誤差不超過(guò)0.1%,滿(mǎn)足四旋翼飛行器飛行的精度要求。
2.2.3 無(wú)線(xiàn)數(shù)傳模塊
本設(shè)計(jì)方案所選用的無(wú)線(xiàn)數(shù)據(jù)傳輸模塊有TTL、RS232、RS485 3種接口,同時(shí)配有USB轉(zhuǎn),TTL模塊,在開(kāi)闊地的傳輸距離可達(dá)800 m。飛控系統(tǒng)主控芯片通過(guò)無(wú)線(xiàn)數(shù)據(jù)傳輸模塊與上位PC機(jī)進(jìn)行通信,傳送由傳感器獲得的飛行數(shù)據(jù)到上位PC機(jī)以實(shí)時(shí)監(jiān)測(cè)飛行狀態(tài),同時(shí)上位PC機(jī)也可以向飛行器傳送飛行控制指令及相關(guān)參數(shù)。
2.2.4 PWM信號(hào)的采集與輸出
由于四旋翼飛行器的飛行完全依靠四個(gè)電機(jī)的轉(zhuǎn)速變化來(lái)控制,其不同于固定翼飛機(jī)的是滾轉(zhuǎn)、俯仰、偏航以及油門(mén)通道均需要通過(guò)4個(gè)電機(jī)聯(lián)動(dòng)才能實(shí)現(xiàn)對(duì)四旋翼飛行器的控制。因此,需要在油門(mén)通道控制信號(hào)的基礎(chǔ)上疊加其余3個(gè)通道信號(hào),混控合成之后的四路信號(hào)分別輸出至4個(gè)電子調(diào)速器對(duì)各個(gè)電機(jī)加以控制。
根據(jù)四旋翼姿態(tài)控制的原理,定義4個(gè)電機(jī)序號(hào)以及機(jī)體軸系如圖5所示。
根據(jù)上述分析,電機(jī)控制信號(hào)混控公式如式(1)所示:
其中△φ=φ-φmid,△θ=θ-θmid,△ψ=ψ-ψmid。M1,M2,M3,M4分別表示電機(jī)1~電機(jī)4的控制信號(hào),T表示油門(mén)通道控制信號(hào),φ表示滾轉(zhuǎn)通道控制信號(hào),θ表示俯仰通道控制信號(hào),ψ表示偏航通道控制信號(hào),φmid、θmid、ψmid分別表示滾轉(zhuǎn)、俯仰、偏航通道控制信號(hào)的中立值。
3 飛控系統(tǒng)軟件設(shè)計(jì)
3.1 地面站軟件設(shè)計(jì)
為方便監(jiān)測(cè)四旋翼飛行狀態(tài),利用CVI軟件設(shè)計(jì)開(kāi)發(fā)了地面PC機(jī)慣導(dǎo)數(shù)據(jù)采集界面,如圖6所示。地面PC機(jī)通過(guò)無(wú)線(xiàn)數(shù)據(jù)傳輸模塊實(shí)時(shí)接收四旋翼飛行數(shù)據(jù),通過(guò)該界面顯示四旋翼三軸姿態(tài)角,加速度,角速率,經(jīng)緯度及GPS速度等信息,并實(shí)時(shí)繪制出三軸姿態(tài)角曲線(xiàn)。
3.2 控制律軟件設(shè)計(jì)
由于PID控制算法成熟穩(wěn)定,易于實(shí)現(xiàn),因此本方案飛行控制器的設(shè)計(jì)采用PID算法。由于飛控系統(tǒng)為數(shù)字系統(tǒng),因此采取數(shù)字PID算法。數(shù)字PID算法如式(2)所示。程序的實(shí)現(xiàn)在此就不贅述。
式中T表示控制器的控制周期,ek表示四旋翼飛控指令與反饋信號(hào)的差值,uk表示PID的輸出信號(hào),k表示控制節(jié)拍序號(hào),Kp、Ki、Kd分別表示PID控制器的比例、積分、微分項(xiàng)系數(shù)。采用上述算法分別設(shè)計(jì)飛行器的滾轉(zhuǎn)、俯仰、偏航、定高以及GPS定點(diǎn)的PID控制器。
4 系統(tǒng)實(shí)現(xiàn)與飛行試驗(yàn)
依據(jù)上述的各個(gè)部分完成了飛行器硬件平臺(tái)的搭建和控制算法程序的編寫(xiě)和調(diào)試,并反復(fù)進(jìn)行了試飛調(diào)參,最終達(dá)到了比較理想的效果,實(shí)現(xiàn)了飛行器的全自主GPS定點(diǎn)定高定航向懸停,并且在外界強(qiáng)干擾的情況下能夠很好地穩(wěn)定姿態(tài)。飛行器全自主GPS定點(diǎn)定高定航向懸停飛行如圖7所示。
5 結(jié)論
文中所設(shè)計(jì)的四旋翼飛行控制軟硬件系統(tǒng)對(duì)四旋翼飛行器的飛行控制取得了比較好的效果,通過(guò)試飛實(shí)驗(yàn)表明,在本飛控系統(tǒng)的控制下,四旋翼具有較好的穩(wěn)定性,基本達(dá)到了設(shè)計(jì)目標(biāo)。同時(shí)本設(shè)計(jì)充分利用了STM32單片機(jī)豐富的片內(nèi)資源,程序均采用模塊化設(shè)計(jì),稍作修改即可很容易地移植到其他飛行器上,具有較好的可移植性,縮短了系統(tǒng)軟硬件的開(kāi)發(fā)周期,為下一步搭載實(shí)驗(yàn)各類(lèi)任務(wù)設(shè)備奠定了基礎(chǔ)。