王樹叢 桂 勛 陳小平
(電子科技大學航空航天學院 成都 611731)
MEMS 陀螺是本世紀初研制出來并得到了廣泛應用的新型陀螺產(chǎn)品,它是一種采用微機械加工技術,集微型傳感器、微型執(zhí)行機構以及信號處理和控制電路、接口、通信等于一體的微型器件[1-2]。陀螺儀作為常用慣性傳感器,常用于精確地感測與維持航姿,廣泛用于現(xiàn)代航空航天等國防工業(yè)以及汽車姿態(tài)測量與控制領域。無人機經(jīng)常用于軍事偵察、電子干擾以及戰(zhàn)事評估等場合,隨著技術的成熟,近年來小型無人機在民用領域應用也日趨普遍,尤其是在航拍中越來越多地用到小型無人飛行器,要實現(xiàn)無人飛行器的自主航拍就需要其自身航姿機構提供精確的姿態(tài)信息,為無人飛行器的自主飛行提供實時、準確的航姿數(shù)據(jù)[3]。本文介紹了一種小型無人機航姿測量系統(tǒng),該系統(tǒng)利用STM32F103ZET ARM 對三軸慣性傳感器ADIS16350 的數(shù)據(jù)進行采集,并通過數(shù)傳電臺把傳感器數(shù)據(jù)傳送到地面計算機進行靜動態(tài)測試,并對小型無人飛行器的姿態(tài)進行了估計與分析,實現(xiàn)了對其飛行姿態(tài)的精確測量。
小型無人機姿態(tài)測量對測量裝置的體積和重量提出了嚴格要求,通過STM32F103ZET 與ADIS16350 連接,不需要再連接其他芯片,獲得了一個性能優(yōu)異的小型無人機航姿測量的最小系統(tǒng),并且通過現(xiàn)有低成本數(shù)傳電臺3DR Radio Telemetry,波特率57600bps,最大傳輸距離800 m??梢詫崿F(xiàn)航姿數(shù)據(jù)傳送到地面計算機,便于測試和測量。系統(tǒng)硬件總體連接如圖1 所示。其中數(shù)傳電臺為USART接口。
圖1 系統(tǒng)硬件連接框圖
電路板部分原理圖如圖2 所示,W2 用于控制SPI 通信的通斷,S2 用于SPI 復位,PA4-PA7 為四線SPI 接口,P1插針為USART 接口,用于掛載數(shù)傳電臺。
ADIS1635x 系列的芯片,它的輸出實時漂移不超過0.015°/s;加上它內(nèi)置溫度校準,溫度漂移時,輸出角度穩(wěn)定度可達0.0005°·s-1/℃,這種高穩(wěn)定度的陀螺適用于對無人機姿態(tài)進行精確測量的場合中[4]。它對電源電壓穩(wěn)定度要求不高,在不同工作溫度下,也可以獲得很好的角度精度,比較適合于使用小型無人飛行器機載鋰電池提供供電電源,無需單獨搭載電源而增加飛行器有效載荷。
關于數(shù)據(jù)讀寫,ADIS1635x 提供一個串行外部接口(Serial Peripheral interface,SPI),通過SPI,可以對芯片進行配置,通過讀取寄存器不同地址數(shù)據(jù)獲得運行狀態(tài)與測量結果等,芯片內(nèi)部自帶高精度自校正的穩(wěn)壓電路,外圍電路較少。圖3 是ADIS16350 的內(nèi)部結構圖[5]。
搭建的硬件系統(tǒng)框圖如圖2 所示,主要芯片包括STM32F103ZET 和ADIS16350。STM32F103ZET 是一款增強型系列使用高性能的ARM?CortexTM-M3 32 位的RISC內(nèi)核[6],內(nèi)置高速存儲器,自帶一個全速USB2.0 接口,三個SPI 接口,五個通用串行接口,可以方便與芯片相連,其接口的高速處理能力可保證ADIS16350 的輸出數(shù)據(jù)不會遺漏。同時豐富的接口資源也有利于以后擴展,搭載更多的有效載荷。
電源模塊主要為STM32F103ZET、ADIS16350 和無線數(shù)據(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 作為從設備通過SPI 接口與外部通信,將測得無人機姿態(tài)數(shù)據(jù)結果輸出,通過STM32F103 對其內(nèi)部的各寄存器進行設置,使用方式靈活。由芯片的datasheet可獲得ADIS16350 的SPI 讀時序圖[6](見圖4)。
本系統(tǒng)中作為主控制設備的STM32F103ZET 片上提供了硬件SPI 端口,與以往使用SPI 接口轉(zhuǎn)換模塊實現(xiàn)相比,使得對于SPI 的總線操作變得非常簡單,只需配置對應的SPI 寄存器即可。
圖4 ADIS1635x 的SPI 讀時序
STM32F103 讀取陀螺數(shù)據(jù)程序流程圖如圖5 所示。系統(tǒng)上電后,首先進行STM32F103 初始化、SPI、USART 等硬件參數(shù)配置,隨后通過SPI 進一步配置ADIS16350 芯片的運行參數(shù)。陀螺啟動后,通過硬件中斷通知MCU 完成了數(shù)據(jù)采樣,MCU 利用SPI 接口對數(shù)據(jù)進行讀取并保存。此時讀取的數(shù)據(jù)是陀螺轉(zhuǎn)動的角速度,因此要獲得轉(zhuǎn)動的角度,需要進行一次積分運算[7]。積分運算時,要利用陀螺的量程配置寄存器SENS/AVG 和陀螺的輸出采樣數(shù)據(jù)的速率配置寄存器SMPL_PRD。積分運算可以獲得此次采集周期內(nèi)角度的變化值,將該值和上次求的角度值求和,可獲得當前陀螺的實際角度弧度值。使用KeilμVision4 作為STM32F103ZET 的編程和程序下載IDE,編寫對陀螺儀數(shù)據(jù)讀寫控制程序及將陀螺儀數(shù)據(jù)傳給數(shù)傳電臺的程序。
圖5 STM32F103 讀取陀螺數(shù)據(jù)流程圖
航姿數(shù)據(jù)由數(shù)傳電臺傳到地面后要對接收到的數(shù)據(jù)進行讀取和顯示,這就需要編寫地面數(shù)傳電臺與計算機串口通信的程序。在本設計中將地面數(shù)傳電臺接收到的數(shù)據(jù)定義成一個14 字節(jié)的數(shù)據(jù)幀,用于數(shù)傳電臺和計算機之間交換數(shù)據(jù)和控制信息。
計算機從數(shù)傳電臺接收到數(shù)據(jù)后,首先搜索幀同步字,找到幀同步字后,從同步字開始,讀取連續(xù)的12 字節(jié),12 字節(jié)數(shù)據(jù)內(nèi)容包括ADIS16350 芯片的狀態(tài)字、當前角度值、陀螺輸出的溫度、數(shù)傳電臺接收到的來自地面數(shù)傳電臺的命令字、陀螺儀發(fā)出數(shù)據(jù)幀序號及幀校驗字。幀校驗字對這12 字節(jié)進行校驗和計算,若滿足校驗和關系,則接收完成了同步校驗。如果數(shù)據(jù)在傳輸中產(chǎn)生差錯或前一次不同步,則后續(xù)的幀會產(chǎn)生校驗失敗,同步控制流程如圖6 所示。
將搭建的硬件系統(tǒng)放進小型無人飛行器,進行調(diào)試,達到對飛行器的航姿數(shù)據(jù)進行實際測量。
圖6 串口同步控制流程圖
地面測試:在地面保持飛行器靜止不動,測量在靜止狀態(tài)下的姿態(tài)輸出穩(wěn)定度。配置陀螺的測量范圍為±300°/s,在常溫下,陀螺輸出偶爾有不超過0.1°s-1的角度漂移。將陀螺溫度提高至50°,輸出姿態(tài)出現(xiàn)單向漂移現(xiàn)象,靜止狀態(tài)下,角度漂移速度大約為0.5°/s,但在該溫度下,進行重新校準后,角度漂移恢復為正常狀態(tài),沒有出現(xiàn)單向漂移現(xiàn)象。測得姿態(tài)數(shù)據(jù)顯示結果如圖7 所示。圖中橫軸為時間,單位秒(s),縱軸為角度量值,單位為度(°);ACC 表示加速度,ROLL 為滾轉(zhuǎn)角加速度(x 軸向),PITCH 表示俯仰角加速度(y 軸向),Z 表示偏航角加速度(z 軸向);GYRO 表示角速度,ROLL 為滾轉(zhuǎn)角速度,PITCH 表示俯仰角速度,YAW 表示偏航角速度。
圖7 ±300°/s 測量范圍時的動態(tài)輸出
飛行測試:配置陀螺的測量范圍為±300°/s,1 min 內(nèi)測得的ADIS16350 三個軸向的角速度、加速度和溫度曲線如圖7 所示,由于靜態(tài)時角加速度、角速度為定值,所以出現(xiàn)了輸出曲線重合的現(xiàn)象。在約30 s 時使飛行器繞x 軸進行滾轉(zhuǎn)運動,在約60 s 時使飛行器漸漸恢復到平飛狀態(tài)。測得姿態(tài)數(shù)據(jù)顯示結果如圖8 所示。
圖8 ±300°/s 測量范圍時的靜態(tài)輸出
實際調(diào)試測得電壓變化和溫度變化對于姿態(tài)測量的影響可以忽略不計。對測試結果影響比較大的地方是陀螺的安裝角度。因此,對精度要求很高的場合,在陀螺結構的設計與安裝中,需要嚴格控制安裝角度,iSensor?IMU 安裝技巧[8]和iSensor?IMU 快速入門指南和偏置優(yōu)化技巧[9]兩個應用筆記提供了安裝方法參考,可以在安裝后,轉(zhuǎn)動若干圈,獲得實際角度與陀螺角度的相對比例,在上位機上對每次的角度變化量進行按比例的修正。
飛行姿態(tài)數(shù)據(jù)為無人飛行器自主飛行提供依據(jù),只有精確測得飛行器的航姿參數(shù)才能提高飛行器自主飛行的安全性,實驗和應用表明,本設計實現(xiàn)的小型無人機航姿測量系統(tǒng)與以往航姿機構相比,實現(xiàn)了高精度航姿測量和設備小型化及輕型化,并且提高了系統(tǒng)在復雜環(huán)境下姿態(tài)測量的穩(wěn)定性,可作為GPS 的輔助,在GPS 信號突然丟失的情況下保持速度測量功能,用于對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 傳感器的標準化現(xiàn)狀與發(fā)展對策[J].傳感器與微系統(tǒng),2007,26(8):6-8.
[3]唐建生,桂勛,陳小平.基于設計模式無人機通用MBIT 內(nèi)核設計.計算機測量與控制.2012,20(3):590-562.
[4]陳國華,王剛.基于ADIS16255 MEMS 芯片陀螺儀的應用研究[J].中國慣性技術學報,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.