王樹叢 桂 勛 陳小平
(電子科技大學(xué)航空航天學(xué)院 成都 611731)
MEMS 陀螺是本世紀(jì)初研制出來并得到了廣泛應(yīng)用的新型陀螺產(chǎn)品,它是一種采用微機(jī)械加工技術(shù),集微型傳感器、微型執(zhí)行機(jī)構(gòu)以及信號(hào)處理和控制電路、接口、通信等于一體的微型器件[1-2]。陀螺儀作為常用慣性傳感器,常用于精確地感測(cè)與維持航姿,廣泛用于現(xiàn)代航空航天等國(guó)防工業(yè)以及汽車姿態(tài)測(cè)量與控制領(lǐng)域。無人機(jī)經(jīng)常用于軍事偵察、電子干擾以及戰(zhàn)事評(píng)估等場(chǎng)合,隨著技術(shù)的成熟,近年來小型無人機(jī)在民用領(lǐng)域應(yīng)用也日趨普遍,尤其是在航拍中越來越多地用到小型無人飛行器,要實(shí)現(xiàn)無人飛行器的自主航拍就需要其自身航姿機(jī)構(gòu)提供精確的姿態(tài)信息,為無人飛行器的自主飛行提供實(shí)時(shí)、準(zhǔn)確的航姿數(shù)據(jù)[3]。本文介紹了一種小型無人機(jī)航姿測(cè)量系統(tǒng),該系統(tǒng)利用STM32F103ZET ARM 對(duì)三軸慣性傳感器ADIS16350 的數(shù)據(jù)進(jìn)行采集,并通過數(shù)傳電臺(tái)把傳感器數(shù)據(jù)傳送到地面計(jì)算機(jī)進(jìn)行靜動(dòng)態(tài)測(cè)試,并對(duì)小型無人飛行器的姿態(tài)進(jìn)行了估計(jì)與分析,實(shí)現(xiàn)了對(duì)其飛行姿態(tài)的精確測(cè)量。
小型無人機(jī)姿態(tài)測(cè)量對(duì)測(cè)量裝置的體積和重量提出了嚴(yán)格要求,通過STM32F103ZET 與ADIS16350 連接,不需要再連接其他芯片,獲得了一個(gè)性能優(yōu)異的小型無人機(jī)航姿測(cè)量的最小系統(tǒng),并且通過現(xiàn)有低成本數(shù)傳電臺(tái)3DR Radio Telemetry,波特率57600bps,最大傳輸距離800 m。可以實(shí)現(xiàn)航姿數(shù)據(jù)傳送到地面計(jì)算機(jī),便于測(cè)試和測(cè)量。系統(tǒng)硬件總體連接如圖1 所示。其中數(shù)傳電臺(tái)為USART接口。
圖1 系統(tǒng)硬件連接框圖
電路板部分原理圖如圖2 所示,W2 用于控制SPI 通信的通斷,S2 用于SPI 復(fù)位,PA4-PA7 為四線SPI 接口,P1插針為USART 接口,用于掛載數(shù)傳電臺(tái)。
ADIS1635x 系列的芯片,它的輸出實(shí)時(shí)漂移不超過0.015°/s;加上它內(nèi)置溫度校準(zhǔn),溫度漂移時(shí),輸出角度穩(wěn)定度可達(dá)0.0005°·s-1/℃,這種高穩(wěn)定度的陀螺適用于對(duì)無人機(jī)姿態(tài)進(jìn)行精確測(cè)量的場(chǎng)合中[4]。它對(duì)電源電壓穩(wěn)定度要求不高,在不同工作溫度下,也可以獲得很好的角度精度,比較適合于使用小型無人飛行器機(jī)載鋰電池提供供電電源,無需單獨(dú)搭載電源而增加飛行器有效載荷。
關(guān)于數(shù)據(jù)讀寫,ADIS1635x 提供一個(gè)串行外部接口(Serial Peripheral interface,SPI),通過SPI,可以對(duì)芯片進(jìn)行配置,通過讀取寄存器不同地址數(shù)據(jù)獲得運(yùn)行狀態(tài)與測(cè)量結(jié)果等,芯片內(nèi)部自帶高精度自校正的穩(wěn)壓電路,外圍電路較少。圖3 是ADIS16350 的內(nèi)部結(jié)構(gòu)圖[5]。
搭建的硬件系統(tǒng)框圖如圖2 所示,主要芯片包括STM32F103ZET 和ADIS16350。STM32F103ZET 是一款增強(qiáng)型系列使用高性能的ARM?CortexTM-M3 32 位的RISC內(nèi)核[6],內(nèi)置高速存儲(chǔ)器,自帶一個(gè)全速USB2.0 接口,三個(gè)SPI 接口,五個(gè)通用串行接口,可以方便與芯片相連,其接口的高速處理能力可保證ADIS16350 的輸出數(shù)據(jù)不會(huì)遺漏。同時(shí)豐富的接口資源也有利于以后擴(kuò)展,搭載更多的有效載荷。
電源模塊主要為STM32F103ZET、ADIS16350 和無線數(shù)據(jù)傳輸模塊供電。無人機(jī)機(jī)載鋰電池提供的11.2 V 電源經(jīng)AS2830-5.0V 轉(zhuǎn)換為5 V,再經(jīng)過AS2830-3.3 V轉(zhuǎn)換為3.3 V。其中,5 V 為ADIS16350 提供電源,3.3 V 為STM32F103ZET 提供電源。
ADIS16350 作為從設(shè)備通過SPI 接口與外部通信,將測(cè)得無人機(jī)姿態(tài)數(shù)據(jù)結(jié)果輸出,通過STM32F103 對(duì)其內(nèi)部的各寄存器進(jìn)行設(shè)置,使用方式靈活。由芯片的datasheet可獲得ADIS16350 的SPI 讀時(shí)序圖[6](見圖4)。
本系統(tǒng)中作為主控制設(shè)備的STM32F103ZET 片上提供了硬件SPI 端口,與以往使用SPI 接口轉(zhuǎn)換模塊實(shí)現(xiàn)相比,使得對(duì)于SPI 的總線操作變得非常簡(jiǎn)單,只需配置對(duì)應(yīng)的SPI 寄存器即可。
圖4 ADIS1635x 的SPI 讀時(shí)序
STM32F103 讀取陀螺數(shù)據(jù)程序流程圖如圖5 所示。系統(tǒng)上電后,首先進(jìn)行STM32F103 初始化、SPI、USART 等硬件參數(shù)配置,隨后通過SPI 進(jìn)一步配置ADIS16350 芯片的運(yùn)行參數(shù)。陀螺啟動(dòng)后,通過硬件中斷通知MCU 完成了數(shù)據(jù)采樣,MCU 利用SPI 接口對(duì)數(shù)據(jù)進(jìn)行讀取并保存。此時(shí)讀取的數(shù)據(jù)是陀螺轉(zhuǎn)動(dòng)的角速度,因此要獲得轉(zhuǎn)動(dòng)的角度,需要進(jìn)行一次積分運(yùn)算[7]。積分運(yùn)算時(shí),要利用陀螺的量程配置寄存器SENS/AVG 和陀螺的輸出采樣數(shù)據(jù)的速率配置寄存器SMPL_PRD。積分運(yùn)算可以獲得此次采集周期內(nèi)角度的變化值,將該值和上次求的角度值求和,可獲得當(dāng)前陀螺的實(shí)際角度弧度值。使用KeilμVision4 作為STM32F103ZET 的編程和程序下載IDE,編寫對(duì)陀螺儀數(shù)據(jù)讀寫控制程序及將陀螺儀數(shù)據(jù)傳給數(shù)傳電臺(tái)的程序。
圖5 STM32F103 讀取陀螺數(shù)據(jù)流程圖
航姿數(shù)據(jù)由數(shù)傳電臺(tái)傳到地面后要對(duì)接收到的數(shù)據(jù)進(jìn)行讀取和顯示,這就需要編寫地面數(shù)傳電臺(tái)與計(jì)算機(jī)串口通信的程序。在本設(shè)計(jì)中將地面數(shù)傳電臺(tái)接收到的數(shù)據(jù)定義成一個(gè)14 字節(jié)的數(shù)據(jù)幀,用于數(shù)傳電臺(tái)和計(jì)算機(jī)之間交換數(shù)據(jù)和控制信息。
計(jì)算機(jī)從數(shù)傳電臺(tái)接收到數(shù)據(jù)后,首先搜索幀同步字,找到幀同步字后,從同步字開始,讀取連續(xù)的12 字節(jié),12 字節(jié)數(shù)據(jù)內(nèi)容包括ADIS16350 芯片的狀態(tài)字、當(dāng)前角度值、陀螺輸出的溫度、數(shù)傳電臺(tái)接收到的來自地面數(shù)傳電臺(tái)的命令字、陀螺儀發(fā)出數(shù)據(jù)幀序號(hào)及幀校驗(yàn)字。幀校驗(yàn)字對(duì)這12 字節(jié)進(jìn)行校驗(yàn)和計(jì)算,若滿足校驗(yàn)和關(guān)系,則接收完成了同步校驗(yàn)。如果數(shù)據(jù)在傳輸中產(chǎn)生差錯(cuò)或前一次不同步,則后續(xù)的幀會(huì)產(chǎn)生校驗(yàn)失敗,同步控制流程如圖6 所示。
將搭建的硬件系統(tǒng)放進(jìn)小型無人飛行器,進(jìn)行調(diào)試,達(dá)到對(duì)飛行器的航姿數(shù)據(jù)進(jìn)行實(shí)際測(cè)量。
圖6 串口同步控制流程圖
地面測(cè)試:在地面保持飛行器靜止不動(dòng),測(cè)量在靜止?fàn)顟B(tài)下的姿態(tài)輸出穩(wěn)定度。配置陀螺的測(cè)量范圍為±300°/s,在常溫下,陀螺輸出偶爾有不超過0.1°s-1的角度漂移。將陀螺溫度提高至50°,輸出姿態(tài)出現(xiàn)單向漂移現(xiàn)象,靜止?fàn)顟B(tài)下,角度漂移速度大約為0.5°/s,但在該溫度下,進(jìn)行重新校準(zhǔn)后,角度漂移恢復(fù)為正常狀態(tài),沒有出現(xiàn)單向漂移現(xiàn)象。測(cè)得姿態(tài)數(shù)據(jù)顯示結(jié)果如圖7 所示。圖中橫軸為時(shí)間,單位秒(s),縱軸為角度量值,單位為度(°);ACC 表示加速度,ROLL 為滾轉(zhuǎn)角加速度(x 軸向),PITCH 表示俯仰角加速度(y 軸向),Z 表示偏航角加速度(z 軸向);GYRO 表示角速度,ROLL 為滾轉(zhuǎn)角速度,PITCH 表示俯仰角速度,YAW 表示偏航角速度。
圖7 ±300°/s 測(cè)量范圍時(shí)的動(dòng)態(tài)輸出
飛行測(cè)試:配置陀螺的測(cè)量范圍為±300°/s,1 min 內(nèi)測(cè)得的ADIS16350 三個(gè)軸向的角速度、加速度和溫度曲線如圖7 所示,由于靜態(tài)時(shí)角加速度、角速度為定值,所以出現(xiàn)了輸出曲線重合的現(xiàn)象。在約30 s 時(shí)使飛行器繞x 軸進(jìn)行滾轉(zhuǎn)運(yùn)動(dòng),在約60 s 時(shí)使飛行器漸漸恢復(fù)到平飛狀態(tài)。測(cè)得姿態(tài)數(shù)據(jù)顯示結(jié)果如圖8 所示。
圖8 ±300°/s 測(cè)量范圍時(shí)的靜態(tài)輸出
實(shí)際調(diào)試測(cè)得電壓變化和溫度變化對(duì)于姿態(tài)測(cè)量的影響可以忽略不計(jì)。對(duì)測(cè)試結(jié)果影響比較大的地方是陀螺的安裝角度。因此,對(duì)精度要求很高的場(chǎng)合,在陀螺結(jié)構(gòu)的設(shè)計(jì)與安裝中,需要嚴(yán)格控制安裝角度,iSensor?IMU 安裝技巧[8]和iSensor?IMU 快速入門指南和偏置優(yōu)化技巧[9]兩個(gè)應(yīng)用筆記提供了安裝方法參考,可以在安裝后,轉(zhuǎn)動(dòng)若干圈,獲得實(shí)際角度與陀螺角度的相對(duì)比例,在上位機(jī)上對(duì)每次的角度變化量進(jìn)行按比例的修正。
飛行姿態(tài)數(shù)據(jù)為無人飛行器自主飛行提供依據(jù),只有精確測(cè)得飛行器的航姿參數(shù)才能提高飛行器自主飛行的安全性,實(shí)驗(yàn)和應(yīng)用表明,本設(shè)計(jì)實(shí)現(xiàn)的小型無人機(jī)航姿測(cè)量系統(tǒng)與以往航姿機(jī)構(gòu)相比,實(shí)現(xiàn)了高精度航姿測(cè)量和設(shè)備小型化及輕型化,并且提高了系統(tǒng)在復(fù)雜環(huán)境下姿態(tài)測(cè)量的穩(wěn)定性,可作為GPS 的輔助,在GPS 信號(hào)突然丟失的情況下保持速度測(cè)量功能,用于對(duì)GPS 或者INS 方位誤差的校正。
[1]Chih-Ming Sun .Implementation of a Monolithic Single Proof-Mass Tri-Axis Accelerometer Using CMOS-MEMS Technique [J ].IEEE TRANSACTIONS ON ELECTRON DEVICES,2010,57 (7):1670-1679.
[2]陳勤,范樹新,張維波.MEMS 傳感器的標(biāo)準(zhǔn)化現(xiàn)狀與發(fā)展對(duì)策[J].傳感器與微系統(tǒng),2007,26(8):6-8.
[3]唐建生,桂勛,陳小平.基于設(shè)計(jì)模式無人機(jī)通用MBIT 內(nèi)核設(shè)計(jì).計(jì)算機(jī)測(cè)量與控制.2012,20(3):590-562.
[4]陳國(guó)華,王剛.基于ADIS16255 MEMS 芯片陀螺儀的應(yīng)用研究[J].中國(guó)慣性技術(shù)學(xué)報(bào),2008,16(4):480-483.
[5]Analog Devices Corporation.Programmable Low Power Gyroscope ADIS 1635x[EB/OL].(2009-09)[2012-3-17].http://www.analog.com/static/imported-files/data_sheets_obsolete/OBSOLETE%20WATERMARK/ADIS16350_16355.pdf.
[6]STMicroelectronics.Medium-density Performance Line ARM-based 32-bit MCU with USB and 9 Communication Interfaces STM32F103xB[EB/OL].(2011-04)[2012-3-17].http://www.st.com/internet/com/TECHNICAL_ RESOURCES/TECHNICAL _ LITERATURE/DATASHEET/CD00191185.pdf.
[7]Marek Babiuch,Radim Farana,David Plandor.Usage of SPI interface in applications with MEMS components[J].Acta Montanistica Slovaca,2008,Volume 13(1):178-182.
[8]Mark Looney.iSensor?IMU Mounting Tips[EB/OL].(2009-09-10)[2012-04-10].http://www.analog.com/static/imported-files/application_notes/AN-1045.pdf.
[9]Mark Looney.iSensor?IMU Quick Start Guide and Bias Optimization Tips[EB/OL].(2009-09-10)[2012-04-10]http://www.analog.com/static/imported-files/application_notes/AN-1041.pdf.