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