摘 要:介紹了Analog Device公司MEMS慣性傳感器ADIS16209的特性,闡述了使用其測量傾角的原理與方法,并設計了基于Luminary公司的LM3S8962 ARM7微處理器組成一個傾角測量系統。最后將其得到的結果與Crossbow Technology公司的AHRS得到的結果進行比較分析,得到傾角測量系統在靜態情況下可以準確地測量傾角的結論。
關鍵詞:ADIS16209; 傾角測量; LM3S8962; 靜態
中圖分類號:TP212 文獻標識碼:A
文章編號:1004-373X(2010)13-0110-04
Application of ADIS16209 IMU in Inclination Measurement
WU Xiao-peng, ZHAO Zuo-xi, HU Lian, ZHANG Lin
(MOE Key Laboratory of Key Technology on Agricultural Machine and Equipment, South China Agricultural University, Guangzhou 510640, China)
Abstract: The characteristics of MEMS inertial sensor ADIS16209 (produced by Analog Device) is introduced. The principle and method to measure the inclination with ADIS16209 are elaborated. An inclination measuring system was designed by using LM3S8962 ARM7 microprocessor and ADIS16209. The measuring system can accurately measure inclination through comparing the results gained by this system with AHRS of Crossbow Technology Company.
Keywords: ADIS16209; inclination measurement; LM3S8962; static state
0 引 言
傾角傳感器是測量關于水平傾斜角的裝置[1],傾角變化測量儀器是許多工業應用設備需要具備的一個組成部分,包括測量設備、衛星天線穩定系統、工廠機床、運動安全監視器和汽車輪位對準裝置等。準確地測量傾角的變化,有利于這些設備更加穩定的工作及避免事故發生。現在采用的傾角測量儀大多數體積較大,信號采集比較慢,測量精度不高,誤差較大,需要做大量的溫度補償和校準工作。這些缺點制約著工業設備性能的提高,也加大了工程的工作量。
ADIS16209是ADI公司新推出的一款精密的微電子機械系統(MEMS)[2]傾斜計,提供小于0.1°線性傾斜誤差的全補償直接角度輸出,它使用出廠時安裝的校正系數動態地檢測系統環境并且補償直接數字角度輸出以便解決電壓、溫度、角度和其他參數變化引起的誤差,減少了產品設計時間、減低成本和復雜性。
本文詳細地介紹ADIS16209的功能特性和使用方法,并使用Luminary公司的LM3S8962 Cortex-M3[3]微處理器與之組合設計一個傾角測量系統。最后對測量結果進行分析。
1 ADIS16209功能與使用方法
ADIS16209的是一種高精度、數字化傾角測量儀和雙軸加速度測量儀,可以在單軸(±180°),雙軸(±90°)等兩種模式下運作[4]。標準電源電壓(3.3 V)和串行外設接口(SPI)設計最簡單,集成方便。一個簡單的內部寄存器結構處理所有的輸出數據和配置功能。這包括訪問以下輸出數據:校準加速度、準確傾斜角度、電源、內部溫度、輔助模擬和數字輸入信號、診斷錯誤標志和可編程報警條件。
ADIS16209采用9.2 mm×9.2 mm×3.9 mm LGA封裝,可工作在-40~+125 ℃,能連接使用標準RoHS標準的回流焊工藝,廣泛應用于醫療儀器、測量設備、工廠機床、機器人、慣性測量單元、導航控制等領域。
1.1 ADIS16209的功能
如圖1所示,分別是ADIS16209的功能圖、安裝示意圖與引腳圖。由圖1(a)可知,ADIS16209主要由兩軸MEMS加速度計、溫度傳感器、1個模/數轉換模塊(ADC)、1個數/模轉換模塊(DAC)和報警模塊(ALARMS)組成。傳感器感知外界信號后,信號調理并轉換,經過信號處理后,將得到的數據結果存入輸出寄存器。通過SPI總線,外部SPI主控器件向ADIS16209發送控制指令或者讀取。ADIS16209內部設置有控制寄存器,寄存器都有默認的值,通過對控制寄存器的修改寫操作,可以改變采樣頻率,改變平均濾波參數等多個方面的控制效果。每個采樣周期結束后,傳感器測量結果存放至輸出寄存器,并且DIO1引腳向器件外產生一個脈沖,表示一組新的完整的測量數據已經采集準備好,可供外部SPI主控器件讀取。
圖1 ADIS16209功能框圖與引腳圖
圖1(b)是ADIS16209坐標朝向圖,傳感器測量的Ax與Ay兩個方向上的加速度分量。第1,2,3,4引腳是傳感器的SPI接口,第9引腳RST是傳感器的復位引腳。
1.2 ADIS16209使用方法
1.2.1 ADIS16209硬件連接
ADIS163209的 SPI接口[4]與各種微處理器SPI主控制器件接線如圖2所示。
圖2 ADIS16209 SPI總線連接圖
SPI總線的時鐘頻率最高可以達到2.5 MHz。但ADIS16209的采樣頻率對SPI時鐘一定的要求:當采樣頻率大于等于546 SPS時,SPI的時鐘頻率最高可以采用2.5 MHz。當采樣頻率小于546 SPS時,SPI的時鐘頻率應不大于1 MHz,建議采用1 MHz。
1.2.2 ADIS16209數據讀寫與數據處理
通過SPI總線,可以對ADIS16209進行讀寫操作。可以根據自己的要求設置控制寄存器的值達到控制效果,也可以使用寄存器的默認設置。控制指令由1位的讀寫控制位,1位空位,6位寄存器地址位和8位的數據位組成。向ADIS16209寫控制指令時,要將指令的最高位置1,例如,要將采樣頻率設置為2 731 SPS,也就是采樣頻率寄存器的值設置為0x0001,那么寫指令就應該如下:先寫寄存器低地址0x36,數據為0x01,再寫高地址0x37,數據為0x00,所以指令為0xB601B700。對其他的控制寄存器的修改也可按照這樣的方式修改。
讀取ADIS16209輸出的數據與寫控制指令稍有區別,讀取每個寄存器的值要分為2個16位的時序。第1個16位時序向ADIS16209寫入讀取命令和寄存器地址。第2個16位時序將對應寄存器內容發送至DOUT數據線上,微控制器才可以得到正確的數據。如要讀取x軸加速度寄存器的值(X ACC),那么第1個16位時序DIN=0x0400,第2個時序XACCL OUT(x軸加速度值)將被發送到DOUT數據線上,SPI主機此時讀到的數據才是上一個16位讀指令發出的需要的指令。
從SPI總線上讀取到的傳感器數據是二進制數據或者二進制補碼形式的數據。需要對其進行一定的解讀才可以得到實際輸出的代表的值。傳感器輸出的各個值代表的意義可詳見ADIS16209的數據手冊中的Output Data Register Format 表[4]。其中SUPPLY OUT,AUX ADC和TEMP OUT的數據格式都為二進制數據,可以使用以下公式進行解算:
VALUE =DATA VALUE×Scale,
DATA VALUE≤2n-1 (1)
式中:VALUE代表實際的測量量的值;DATA VALUE代表寄存器的值;Scale代表寄存器每個最小單位代表的實際值;n為對應寄存器的數據位數。
XACC OUT,YACC OUT,XINCL OUT和YINCL OUT輸出的數據格式均為14位2的補碼,可以使用以下公式進行解算[5]:
VALUE= DATA VALUE×Scale,
DATA VLAUE≤2n-1
(2n-DATA VALUE)×(-Scale),
DATA VALUE>2n-1(2)
式中:DATA VALUE為寄存器的輸出數據;VALUE為轉換后實際的測量量的值;Scale為寄存器值最小值代表的最小單位;n為對應寄存器的數據位數。
2基于Luminary LMS8962與ADIS16209的傾角測量系統設計
下面介紹基于Luminary公司的LMS8962與ADIS16209的傾角測量系統的原理與設計。
2.1 傾角測量原理
加速度計是測量物體所受除萬有引力加速度以外的加速度。將ADIS16209靜止放在水平面時,其受到的是水平面對其向上的支撐力的加速度和地球自轉的向心加速度的矢量和[6]。而地球自轉的向心加速度很小[7],在測量中忽略不計。那么只要使得ADIS16209將一個加速傳感器的輸出擺置為0時,也即是將傳感器擺置如圖3(a)所示。或者兩個加速度計測得的矢量和等于水平面對其向上的支撐力的加速度,也就是重力加速度的反方向矢量,也即是將傳感器擺置如圖4(a)所示。那么就可以利用這些矢量求出傳感器與水平的傾角關系。
圖3 單軸測量方式
當使用單軸測量方式時,如圖3(b)所示,可知Ay軸測得的分量為0,Ax軸測得的分量為 a x,那么Ax軸與水平面的夾角:
θx=arcsin( a x/ g ) (3)
同理可以得到使用Ay軸作單軸測量方式時,Ay軸與水平面的夾角:
θy=arsin( a y/ g ) (4)
圖4 雙軸測量方式
當使用雙軸測量方式時,如圖4(b)所示,傳感器Ax與Ay軸組成的平面垂直于水平面,那么重量加速度g=ax+ay,Ax軸測得的分量為 a x,那么Ax軸與水平面的夾角:
θx=arcsin( a x/ g ) (5)
Ay軸與水平面的夾角:
θy=arcsin( a y/ g ) (6)
2.2 硬件電路設計
本文使用Luminary公司的LMS8962與ADIS16209搭建成傾角測量系統。LMS8962是一款高性能的32位Cortex-M3內核微處理器,它有豐富的片內外設,如模/數轉換(ADC),PWM,CAN和串行總線(SSI)等[8],功能強大,易于集成。
如圖5所示是由LMS8962與ADIS16209組成的傾角測量系統。LMS8962通過SSI總線(SSI是串行通信總線,它兼容SPI總線[8]。)與ADIS16209進行通信。將采集到的數據存儲到SD卡中,將解算得到的結果實時在LCD[9]上顯示出來。
圖5 硬件系統框圖
2.3 軟件設計
如圖6所示是系統的軟件流程圖。程序啟動進入系統初始化,接下來向ADIS16209寫控制指令,以設置ADIS16209工作在需求的模式下,然后讀取返回的數據并進行解算,最后通過存儲數據到SD卡中并在液晶模塊中顯示出來。
圖6 系統的軟件流程圖
3 實驗結果
Crossbow Technology公司的AHRS500GA-226是高精度的IMU[10],其廣泛應用于航空航天等高科技領域。實驗以AHRS輸出的結果為參考,將ADIS16209與AHRS固定于同一平臺上,使得ADIS16209的Ax與Ay軸與AHRS的Ax與Ay軸方向相一致。令它們的Ax與Ay軸組成的平面與水平面垂直,繞著Ax與Ay軸組成的平面的垂直線轉動,使Ax與Ay軸與水平面成一定的夾角。圖7~圖10是ADIS16209與AHRS輸出的數據結果的對比,圖中主要看較平穩的數據部分,數據抖動部分是因為在切換方向,切換方向時手對傳感器有一個加速度,疊加在原來靜止狀態下受到的力,此時測量到的不能作為準確的結果。
圖7 ADIS16209測得Ax軸上加速度與AHRS測得
Ax軸上加速度比較
圖8 ADIS16209測得Ay軸上加速度與AHRS測得
Ay軸上加速度比較
圖9 ADIS16209與AHRS測得Ax軸與水平面夾角比較
4 結 語
(1) 在靜止狀態下,ADIS16209雙軸加速度計的輸出與AHRS的輸出趨勢吻合,誤差小于0.005g,具有較高的精度。
(2) 在靜止狀態下,由ADIS16209雙軸測量方式得到的Ax軸、Ay軸與水平面的夾角和AHRS測得的結果趨勢吻合,誤差在1°以內,在但是ADIS16209有一定的噪聲,如果對ADIS16209輸出的加速度值進行濾波除噪處理,可以得到更好的結果。
圖10 ADIS16209與AHRS測得Ay軸與水平面夾角比較
參考文獻
[1]高國偉.傳感器系列講座(3)——傾角傳感器[J].傳感器世界,1995,1(8):35-44.
[2]張維勝.傾角傳感器原理和發展[J].傳感器世界,2002,8(8):18-21.
[3]Texas Instruments. Cortex-M3 technical reference manual revision: r1p1. ARM company[ EB/OL] .[ 2009-06-18] . http: //www.arm.com.
[4]Analog Devices Inc.. ADIS16209 data sheet[DB/OL]. [ 2008-01-11] . http://www. analog. com.
[5]康華光.電子技術基礎數字部分[ M] .4版.北京:高等教育出版社,2000.
[6]陳永冰,鐘斌.慣性導航原理[M].北京:國防工業出版社,2007.
[7]BEKIR Esmat. Introduction to modern navigation systems[ M] . USA: World Scientific Publishing, 2007.
[8]Luminary Micro Inc.. LMS8962 microcontroller data sheet[ EB/OL] . [ 2008-03-11] . http://www.luminarymicro.com. USA, 2007.
[9]RITDisplay Corporation. RGS13128096WH000 OLED datasheet[DB/OL]. [ 2008-01-11] . http://www.ritdisplay.com USA, 2006.
[10]Crossbow Technology Inc.. Crossbow Technology Inc. AHRS500GA-user′s manual[M]. Revision B. USA: Crossbow Technology Inc., 2007.