引言
四軸飛行器是一種具有4個對稱旋翼的直升機(jī),具有垂直起降,、結(jié)構(gòu)簡單,、操縱方便、機(jī)動靈活等優(yōu)點(diǎn),。隨著傳感器技術(shù)和控制理論的不斷發(fā)展,,尤其是微電子和微機(jī)械技術(shù)的逐步成熟,使四軸飛行器的自主飛行控制得以實(shí)現(xiàn),。姿態(tài)控制是四軸飛行器飛行控制系統(tǒng)的基礎(chǔ),,而姿態(tài)的檢測是姿態(tài)控制的關(guān)鍵,姿態(tài)檢測的精確程度直接決定了姿態(tài)控制的效果,。ADI公司的三軸慣性測量傳感器ADISl6355是一個由三軸陀螺和三軸加速度計(jì)組成的慣性感應(yīng)系統(tǒng),。它能夠準(zhǔn)確地檢測運(yùn)動物體繞三個軸向的角速度和線加速度,在導(dǎo)航與控制,、平臺穩(wěn)定,、運(yùn)動控制、圖像穩(wěn)定,、機(jī)器人等領(lǐng)域有著廣泛的應(yīng)用,。本文利用ST公司的STM32F103VB單片機(jī)對ADISl6355的數(shù)據(jù)進(jìn)行采集,通過無線數(shù)據(jù)傳輸模塊把傳感器數(shù)據(jù)發(fā)送回計(jì)算機(jī),,并對四軸飛行器的姿態(tài)進(jìn)行了估計(jì)與分析,。
1 慣性測量傳感器ADISl6355
ADISl6355是ADI公司推出的一款具有-40~85℃溫度范圍內(nèi)校準(zhǔn)、SPI接口輸出的六自由度慣性測量傳感器,,出廠前已經(jīng)對產(chǎn)品的零偏和靈敏度進(jìn)行了全溫校準(zhǔn),。ADISl6355具有三軸陀螺和三軸加速度計(jì)。三軸陀螺和加速度計(jì)具有14位分辨率,,陀螺的測量范圍可配置為±75°/s,、±150°/s、±300°/s,,加速度計(jì)的測量范圍為±10g,,傳感器帶寬達(dá)350 Hz。ADISl6355的輸出零偏穩(wěn)定性為0.015°/s,,溫度系數(shù)為0.008(°/s)/℃,,角度隨機(jī)游走為4.2°/s,,適于精度要求較高的應(yīng)用。ADISl6355的結(jié)構(gòu)框圖如圖1所示,。傳感器內(nèi)部完成了信號的采集,、校準(zhǔn)與濾波處理,具有自檢功能,,還有1路ADC輸入,、1路DAC輸出和2路數(shù)字I/O。SPI接口能夠輸出3個角速率信號,、3個線加速度計(jì)信號,、3個溫度傳感器信號和電源電壓信號。
2 應(yīng)用電路設(shè)計(jì)
ST公司的32位STM32系列微控制器是專門為微控制系統(tǒng),、工業(yè)控制系統(tǒng)和無線網(wǎng)絡(luò)等對功耗和成本敏感的嵌入式應(yīng)用領(lǐng)域而設(shè)計(jì)的,。ST-M32F103VB是一款基于ARMv7-M體系結(jié)構(gòu)的32位標(biāo)準(zhǔn)處理器,工作頻率高達(dá)72 MHz,,具有3個通用定時器,、1個高級控制定時器、7個獨(dú)立的DMA通道,、1個USB接口,、3個USART接口、2個SPI接口和2個I2C接口,。STM32F103VB的外圍電路僅需要外部晶振和少數(shù)電容,,內(nèi)部自帶的USB接口便于調(diào)試和下載。
2.1 ADlSl6355接口電路
ADISl6355與STM32F103VB通過標(biāo)準(zhǔn)SPI接口進(jìn)行連接,,其硬件接口電路如圖2所示。ADIS16355的SCLK,、DOUT,、DIN、CS,、RST腳分別與ST-M32F103VB的SPll~SCK,、SPll_MISO、SPll_MOSI,、SPll_NSS,、PB0腳連接。ADISl6355的VCC腳經(jīng)0.1μF的電容接地,,用于濾除干擾,。
STM32F103VB的SPI接口配置為全雙工主模式,每幀傳輸16位數(shù)據(jù),,每幀先發(fā)送MSB,。時鐘極性配置為空閑狀態(tài)時,,SCK保持高電平;時鐘相位配置為數(shù)據(jù)采樣從第二個時鐘邊沿開始,。通信的波特率配置為64分頻,,為1.125 MHz。為提高SPI的速度,,降低CPU資源的使用率,,采用了SPI的DMA模式,SPI接收到的數(shù)據(jù)直接存儲在定義好的數(shù)組里,。STM32F103VB的SPI接口配置程序如下:
2.2 無線數(shù)據(jù)傳輸模塊及其接口
無線數(shù)據(jù)傳輸模塊使用的是nRF2401芯片,,它工作于2.4GHz ISM頻段,輸出功率和通信頻道可通過程序進(jìn)行配置,。該模塊功耗非常低,,以-5 dBm的功率發(fā)射時工作電流只有10.5 mA,接收時工作電流只有18 mA,。實(shí)際使用時其無線傳輸距離可達(dá)30 m,,最大傳輸速率可達(dá)1000 kbps。單片機(jī)和無線數(shù)據(jù)傳輸模塊的連接使用普通的I/O口,,其電路設(shè)計(jì)如圖3所示,。無線數(shù)據(jù)傳輸數(shù)模塊的DATA為雙向引腳,與其相連接的PEll引腳應(yīng)配置為輸入模式,。
2.3 電源模塊
電源模塊主要為STM32F103VB,、ADISl6355和無線數(shù)據(jù)傳輸模塊供電,其電路設(shè)計(jì)如圖4所示,。鋰電池提供的11.1 V電源經(jīng)ASMlll7-5.O轉(zhuǎn)換為5 V,,再經(jīng)過ASMlll7-3.3轉(zhuǎn)換為3.3 V。其中,,5 V為ADISl6355提供電源,,3.3 V為STM32F103VB和無線數(shù)據(jù)傳輸模塊提供電源。Dl是用于電源指示的LED,,Rl為O.5 A可恢復(fù)保險(xiǎn),。
3 四軸飛行器姿態(tài)估計(jì)
四軸飛行器的姿態(tài)主要指它在地面坐標(biāo)系中的3個姿態(tài)角,即俯仰角,、橫滾角和偏航角,。其中,俯仰角和橫滾角可以通過對陀螺的角速度積分得到,,也可通過3個軸向的加速度推算出來,,但偏航角只能對角速度積分得到。由于在四軸飛行器測試平臺上檢測姿態(tài),對偏航角先不做要求,。根據(jù)參考文獻(xiàn),,四軸飛行器的姿態(tài)控制系統(tǒng)模型中3個軸向的加速度可表示為:
其中,u,、v,、w為機(jī)體坐標(biāo)系下3個軸向的線速度,p,、q,、r為機(jī)體坐標(biāo)系下繞3個軸的角速度,θ,、φ為四軸飛行器的俯仰角和橫滾角,,U1為總的升力,m為飛行器的質(zhì)量,。在試驗(yàn)平臺上檢測時,,四軸飛行器的位置固定不變,上式可簡寫成:
其中,,為加速度計(jì)測得的加速度,,通過式(2)可推算得到俯仰角和橫滾角如下:
配置陀螺的測量范圍為±300°/s,1 min內(nèi)測得的ADISl6355三個軸的角速度,、加速度和溫度曲線如圖5所示,。在約19 s時使飛行器繞x軸進(jìn)行滾轉(zhuǎn)運(yùn)動,在約45 s時使飛行器恢復(fù)到剛開始的靜止?fàn)顟B(tài),。由圖5可知,,靜止時角速度的輸出范圍為±2°/s,x,、y軸加速度計(jì)的輸出范圍為±O.015 g,,溫度由26℃到30℃逐步上升。若把陀螺的測量范圍配置為±75°/s,,靜止時的角速度輸出范圍為±l°/s,,但很容易超出±75°/s的范圍,因此±75°/s的測量范圍不適用于四軸飛行器姿態(tài)檢測,。
對角速度進(jìn)行積分得到飛行器的三個姿態(tài)角,如圖6所示,。通過式(3)由加速度信息推算的兩個角度如圖7所示,。對比圖6和圖7可知,由角速度積分得到的角度最終不是靜止時的0°,。原因是陀螺存在漂移,,隨著時間的積累,測量的誤差會在積分中一直累加,而由加速度信息推算出來的角度就不存在漂移,。圖7中約第24 s時,,y軸角度出現(xiàn)一個峰值(高達(dá)70°),而實(shí)際的旋轉(zhuǎn)角度只在±30°之間,,其原因是振動引起加速度值突增,,導(dǎo)致推算出的角度過大。
結(jié)語
實(shí)際使用中,,加速度計(jì)對振動非常敏感,,應(yīng)根據(jù)應(yīng)用的場合對加速度數(shù)據(jù)進(jìn)行處理。四軸飛行器具有4個無刷電機(jī),,實(shí)際飛行時電機(jī)引起的振動非常大,,如果簡單地通過加速度來推算角度就會出現(xiàn)很多圖7中第24 s的尖點(diǎn),與實(shí)際情況不符合,??梢酝ㄟ^對加速度進(jìn)行均值濾波得到改善。對陀螺角速度的積分可利用加速度推算出的角度值進(jìn)行修正,。
本文使用STM32F103VB單片機(jī)對慣性測量傳感器ADISl6355進(jìn)行數(shù)據(jù)采集,,并通過無線數(shù)據(jù)傳輸模塊把數(shù)據(jù)發(fā)送回計(jì)算機(jī)。利用ADISl6355對四軸飛行器姿態(tài)進(jìn)行檢測,,可分別利用角速度信息和加速度信息對飛行器姿態(tài)進(jìn)行估計(jì),,兩種方法各有優(yōu)缺點(diǎn),在實(shí)際使用時要綜合進(jìn)行考慮,。