ADISl6300四自由度IMU在姿態(tài)測量中的應(yīng)用
近年來,微機電系統(tǒng)(MEMS)技術(shù)廣泛用于汽車的系統(tǒng)和穩(wěn)定系統(tǒng)、醫(yī)學(xué)系統(tǒng)、便攜式照相機、運動裝置和三維鼠標(biāo)等領(lǐng)域。簡單和小體積的慣性測量系統(tǒng)尤其受到關(guān)注,因此,基于MEMS的高精度、重量輕、小體積的姿態(tài)測量系統(tǒng)將得到廣泛的應(yīng)用。本文將介紹一種ADI公司的慣性傳感器以及由其組成的微小姿態(tài)測量系統(tǒng)。
1 ADISl6300簡介
ADISl6300四自由度(4DoF)IMU是一個完整的慣性測量傳感器,其內(nèi)置單軸陀螺儀和三軸加速計,每個傳感器都實現(xiàn)了iMEMS(Motion Sig-nal Processing Technology)技術(shù)與信號調(diào)理技術(shù)的完美結(jié)合,可提供最優(yōu)化的動態(tài)性能。工廠校準(zhǔn)為每個傳感器提供靈敏度、偏置、對準(zhǔn)和線性加速度特性。因此,每個傳感器都擁有自身的動態(tài)補償,從而可以在4.75~5.25 V的電源范圍內(nèi)進行精確的傳感器測量。由于AD-ISl6300所有必要的運動檢測與校準(zhǔn)都是在工廠完成,大幅縮短了系統(tǒng)集成時間,并降低了測試設(shè)備成本。ADISl6300采用改進的SPI接口,可提供更快的數(shù)據(jù)收集與配置控制,用戶實現(xiàn)就像供電及連接SPI(串行外設(shè)接口)端口一樣簡單。ADISl6300采用23 mmx31 mmX7.5 mm封裝,具有2 000 g額定耐沖強度,并提供了一個標(biāo)準(zhǔn)的連接接口,使其能方便水平或垂直安裝。
ADISl6300角速度檢測的動態(tài)范圍具有±75、±150以及±300(°)/s 3種選項,三軸加速度的動態(tài)范圍為±3 g,可提供350 Hz帶寬,高達(dá)1 200次/秒的采樣速率,并具有嵌入式與可編程數(shù)字濾波功能。ADISl6300其價格僅為其他同級產(chǎn)品的1/10,可廣泛應(yīng)用于醫(yī)療儀器、機器人、慣性測量單元、導(dǎo)航控制等領(lǐng)域。
2 ADISl6300結(jié)構(gòu)功能
溫度傳感器、MEMS角速度傳感器和三軸MEMS加速度傳感器分別感知環(huán)境溫度、器件所受角速度和三維加速度,將信號調(diào)理并轉(zhuǎn)換,經(jīng)校準(zhǔn)和數(shù)字信號處理后將數(shù)據(jù)存入輸出寄存器供外部SPI主控器件讀取。ADISl6300是一個智能的傳感器,傳感器上電后便自動以819.2次/秒采樣速率進行慣性測量。每個采樣周期結(jié)束后,傳感器測量結(jié)果存放至輸出寄存器,并且DI01引腳向器件外產(chǎn)生一個脈沖,表示一個完整的新慣性測量數(shù)據(jù)已經(jīng)采集準(zhǔn)備好,可供外部SPI主控器件讀取。
3 ADISl6300基本操作
3.1 ADISl6300的SPI連接
ADISl6300是一個全數(shù)字接口的智能傳感器系統(tǒng),其SPI接口與各種微處理器SPI主控制器件接線如圖3所示。微處理器作為SPI主器件各引腳功能分別為:為從器件選擇;IRQ為中斷請求;MOSI為主器件輸出,從器件輸入;MISO為器件輸入,從器件輸出;SCLK為連續(xù)時鐘。AD-ISl6300對SPI時鐘需滿足:正常模式下SCLK不高于2 MHz:數(shù)據(jù)進發(fā)模式下SCLK不高于1 MHz;在低電壓模式下SCLK不高于300 kHz。
3.2 傳感器數(shù)據(jù)讀取
通過ADISl6300的SPI接口可讀取其傳感器的供電電壓,陀螺儀值,X,Y,Z軸加速度值,溫度值,縱搖角,橫搖角等數(shù)據(jù)。根據(jù)ADISl63 00讀取數(shù)據(jù)時序,讀取每個寄存器的內(nèi)容分為兩步,即2個16位的時序:第1個16位時序向ADISl6300寫入讀取命令和寄存器地址;第2個16位時序?qū)?yīng)寄存器內(nèi)容發(fā)送至DOUT數(shù)據(jù)線上。例如:如果第1個16位時序DIN=0x0A00,那么第2個時序時,XACCL_OUT(X軸加速度值)將被發(fā)送到DOUT數(shù)據(jù)線上。
數(shù)據(jù)進發(fā)模式是連續(xù)讀取ADISl6300數(shù)據(jù)的最好方式。在10個連續(xù)的時序周期內(nèi),9個常用寄存器數(shù)據(jù)可方便讀到,它們分別是:SUPPLY _0UT(供電電壓)、GYRO_OUT(陀螺儀)、XACCL_OUT(X軸加速度)、YACCL_0UT(Y軸加速度)、ZACCL_0UT(Z軸加速度)、TEMP_0UT(溫度)、PITCH_ 0UT(俯仰角)、0LL_OUT(橫滾角)和AUX_ADC(ADC轉(zhuǎn)換結(jié)果)。數(shù)據(jù)進發(fā)模式操作為:在連續(xù)10個時序周期內(nèi),DIN引腳對應(yīng)的10個輸入數(shù)據(jù)以0011 111O 0000 0000(Ox3E00)開始,之后9個數(shù)據(jù)可任選,同時在DOUT引腳上依次輸出如上所述9個輸出寄存器內(nèi)的數(shù)據(jù)。
3.3 數(shù)據(jù)處理
表1說明了ADISl6300數(shù)據(jù)輸出的格式和比例因子。從表1中可知,SUPPLY_0UT和AUX_ADC數(shù)據(jù)格式都為12位的二進制數(shù)據(jù),各慣性傳感器輸出的數(shù)據(jù)格式均為14位2的補碼,溫度傳感器輸出數(shù)據(jù)格式和AUX_ADC數(shù)據(jù)格式都是12位2的補碼,而橫搖角和縱搖角數(shù)據(jù)格式為13位的2的補碼。也就是說0x0000是0LSB.0x0001是+1 LSB,2n-1(n=12,13,14)為-1 LSB,LSB為滿量程輸入范圍的最小單位。若為GYRO_0UT時,1 LSB=O.05(°)/s。下式可用來將輸出數(shù)據(jù)轉(zhuǎn)換成浮點形式的姿態(tài)數(shù)據(jù)。
式中,DATA_OUTi為表1中輸出數(shù)據(jù),OUTi為轉(zhuǎn)換后浮點形式的姿態(tài)數(shù)據(jù),Scale為表1中最小單位,n為表1中數(shù)據(jù)位數(shù)。
例如:GYR0_0UT=0x384A,由于,則角速率Rate=(0x4000-Ox384A)×(-0.05)(°)/s=1206x(-0.05)(°)/s=-60.3(°)/s。因此,根據(jù)傳感器方向坐標(biāo)定義,當(dāng)GYRO 0UT為0x384A時,表示傳感器z軸以60.3(°)/s的角速率逆時鐘旋轉(zhuǎn)。