王曉蘭,鄒治弢
(中國電子科技集團公司第四十九研究所,哈爾濱 150001)
一種基于六軸MEMS器件的低成本動態(tài)傾角傳感器設(shè)計
王曉蘭,鄒治弢
(中國電子科技集團公司第四十九研究所,哈爾濱 150001)
傾角傳感器是一種非常精確的測量小角度的檢測工具,用它可測量被測平面相對于水平位置的傾斜度、兩部件相互平行度和垂直度。動態(tài)工況下普通傳感器無法直接應(yīng)用,通過一種低成本的簡易化方法,結(jié)合六軸MEMS技術(shù)和MCU的應(yīng)用,實現(xiàn)了動態(tài)傾角傳感器的工程化。
動態(tài)傾角;六軸MEMS;六軸融合
角度計量是幾何量計量的重要組成部分。傾角傳感器又稱作傾斜儀、測斜儀、水平儀、傾角計,經(jīng)常用于系統(tǒng)的水平角度變化測量,從過去簡單的水泡水平儀到現(xiàn)在的電子傾角傳感器是自動化和電子測量技術(shù)發(fā)展的結(jié)果。
傳統(tǒng)的靜態(tài)傾角有限范圍內(nèi)的測量原理如圖1所示,通過重力矢量和黃道交角的機理,僅當器件具有定方向,且X軸始終處于重心面時,其他軸向任何形式的旋轉(zhuǎn)運動均會降低X軸投影量的大小,從而算出傾角,見圖2。
進而
圖1 靜態(tài)傾角測量
在一些應(yīng)用領(lǐng)域,例如車輛工程和大型裝載設(shè)備,測量系在運動的情況下,加速度會隨機的在X軸以及Y軸上投影,在這種情況下,普通的三軸MEMS加速度計或電解液測量的方法無法簡單實現(xiàn)傾角的測量。
目前市場上普及的動態(tài)傾角類別的產(chǎn)品類別較少,要在不借助GPS和電子羅盤等的輔助下,精確地測量載體的動態(tài)橫滾角和俯仰角,且精度指標不受時間限制,應(yīng)當引入三軸陀螺儀進行融合計算實現(xiàn)(見圖3)。
理想情況下,加速度計水平放置時,XY軸應(yīng)該是0輸出的,僅Z軸輸出1個G,因此,需要對加速度計進行XY軸的零點校準,再翻轉(zhuǎn)一次進行Z軸校準;同樣的,陀螺儀在水平靜止放置時各軸輸出應(yīng)為0,因此需對陀螺儀進行三軸的校準。方法就是把機體標準水平靜止放置時采集它個一兩百次數(shù)據(jù)求個平均作為校準值保存,工作狀態(tài)下各軸輸出的數(shù)據(jù)就是采集來的數(shù)據(jù)減去校準值[1]。
為降低工程化成本,選用多路I2C采集設(shè)備對六軸MEMS敏感元件在流水線中同一測試和記錄零位,將數(shù)據(jù)按編號存儲后,實際的產(chǎn)品在燒錄的程序中直接輸入初測數(shù)據(jù)即可完成調(diào)試工作,可以縮短生產(chǎn)周期和節(jié)約生產(chǎn)開支。
微控制器選擇意法半導(dǎo)體的STM32F103,器件為Cortex-M3內(nèi)核 ,最高主頻可達72 MHz,并且可以實現(xiàn)單周期乘法和硬件除法,芯片集成定時器、CAN、ADC、SPI、I2C、USB、UART等多種功能。在業(yè)內(nèi)有著廣泛的應(yīng)用領(lǐng)域,并且價格低廉,大幅度縮短開發(fā)周期[2]。
圖3 車輛懸架內(nèi)的傾角傳感器
圖4 傾角傳感器調(diào)制電路
若采用模擬輸出的器件,6個軸的輸出數(shù)量較占用硬件資源,因此選擇I2C/SPI等數(shù)字輸出的器件。此電路理論上支持一切I2C器件,對于SPI器件則需要額外增加兩個接口,在此不做贅述。
整合三軸加速度計和三軸陀螺的六軸器件品牌有很多,各品牌競相推出六軸MEMS組合傳感器。該設(shè)計目前選用某公司的MPU6050六軸傳感器作為敏感元件。該元件工作溫度范圍為-40~85 ℃,陀螺儀可測范圍為(±250,±500,±1 000,±2 000)°/s(dps),加速度計可測范圍為(±2,±4,±8,±16)g。當改用其他元件時只需要更改軟件中的通信部分。
電路中MAX3485ESA為485通信協(xié)議輸出電路,當輸出協(xié)議有額外要求時改用其他芯片。
加計和陀螺儀都能計算出姿態(tài),因加速度計對振動類的擾動敏感,但長期數(shù)據(jù)計算出的姿態(tài)可信,而陀螺儀雖然對振動這些不敏感,但長期使用陀螺儀會出現(xiàn)漂移,因此需要進行互補,短期數(shù)據(jù)采集自陀螺,長期數(shù)據(jù)采集自加速度計[3]。
單只產(chǎn)品的程序在之前工程復(fù)位工作中已經(jīng)將六軸的零位進行測量,因此實際上六軸的輸出都減去初始零位獲得真值,融合計算中各個部分均需用到真值。
#defineKp 10.0f// 這里的KpKi是用于調(diào)整加速度計修正陀螺儀的速度
#defineKi 0.008f
#definehalfT 0.001f// 樣周期的一半,用于求解四元數(shù)微分方程時計算角增量
floatq0 = 1, q1 = 0, q2 = 0, q3 = 0; // 初始姿態(tài)四元數(shù),由變換四元數(shù)公式得來
floatexInt = 0, eyInt = 0, ezInt = 0; //當前加計測得的重力加速度在三軸上的分量
//與用當前姿態(tài)計算得來的重力在三軸上的分量的誤差的積分
voidIMUupdate(float gx, float gy, float gz, float ax, float ay, float az)//g表陀螺儀,a表加計
以上算法的簡單框圖見圖5。
圖5 簡單框圖
圖6 中值濾波與無濾波輸出的對比
加速度計和陀螺儀的輸出有波動,主要限制于選用的MEMS器件成本限值,因此軟件上需要進行濾波處理。[4]實際使用中有均值濾波和中值濾波兩種方式:均值濾波的做法是采樣n+2個數(shù)據(jù),剔除最大和最小的數(shù)據(jù),將剩余數(shù)據(jù)加和在除以n以求平均值;中值濾波的做法是采樣k(k為奇數(shù))個數(shù),冒泡法排列數(shù)組后,以第(k+1)/2個數(shù)據(jù)為中值。根據(jù)微控制器的工作機理來說,中值濾波的實現(xiàn)比較節(jié)省硬件資源,但中值濾波的結(jié)果比較平滑。主觀上stm32f103的運算能力較強因此設(shè)計中選用中值濾波。需要注意的是這些濾波器的目的僅限于提高精度和平滑處理數(shù)據(jù),而不是實現(xiàn)傳統(tǒng)濾波器的模擬特征,例如幅頻特性、相頻特性、帶外衰減等指標[5]。
int I2C_Filter(int pData[],u16 N) //N為載入濾波器數(shù)據(jù)數(shù)量,推薦8、16、32等,pData的格式需要為I2C總線的原始16位2進制數(shù)
在離心機上安裝對應(yīng)坡角面,在不同轉(zhuǎn)速下模擬不同時速和不同傾斜角速率下的測量精度,選取被測坡度的值分別為-30 °、-15 °、0 °、15 °、30 °、45 °、60 °。平動情況下模擬中國公路的典型時速,在勻速情況下測量其法向傾角[6];轉(zhuǎn)動情況下的測量是通過在轉(zhuǎn)臺上定點至被測點時刻一瞬間(約10 ms)采樣傳感器輸出瞬態(tài)值實現(xiàn)的,受現(xiàn)有總線技術(shù)制約和信號處理的時序限值,測試系統(tǒng)測量精度誤差存在且不能忽略。
表1 傾角傳感器實驗室標定數(shù)據(jù)
傾角傳感器實驗室標定數(shù)據(jù)見表1。
動態(tài)傾角傳感器做為非接觸式傳感器中具代表性的類別,其技術(shù)水準依賴于MEMS技術(shù)和微控制器應(yīng)用技術(shù)的不斷完善和低成本化,因此其應(yīng)用領(lǐng)域日益廣泛。本文通過設(shè)計手段對上述技術(shù)的歸納和總結(jié),在工程上大幅縮短了開發(fā)周期以及技術(shù)成本,通過實驗證實本設(shè)計成品滿足多領(lǐng)域的應(yīng)用需求,具備一定的市場優(yōu)勢。
[1]崔建偉.基于嵌入式系統(tǒng)的數(shù)字濾波器、傾角傳感器設(shè)計[D].北京:北京郵電大學(xué), 2008.
[2]秦勇,藏希喆,等.基于MEMS慣性傳感器的機器人姿態(tài)檢測系統(tǒng)的研究.傳感器技術(shù)學(xué)報, 2007, 20(2):298-301.
[3] The Balance Filter[EB/OL], web. mit. edu/first/segway. 2008-1-18.
[4]齊曉慧,田慶民,董海瑞.基于 Matlab系統(tǒng)辨識工具箱的系統(tǒng)建模[J].兵工自動化, 2006, 25(10):88-90.
[5] K. Karki, M. Torbj?rnsson, J. R. Widom, A. H. Marcus, and T. Pullerits, JINST 8, T05005 (2013).
[6] G. W. Bradberry and J. M. Vaughan, Opt. Commun. 20, 307 (1977).
A Low-cost Dynamic Inclination Sensor Design Based on Six-axis MEMS Device
WANG Xiao-lan, ZOU Zhi-tao
(The 49th Research Institute, China Electronic Technology Group Corporation, Harbin 150001)
Inclination sensor is a very accurate detection tool for measuring micro angle. It can be used to measure the flit of the measured plane relative to the horizontal position, mutual parallelism and verticality between the two parts. The ordinary sensors can’t be applied directly under dynamic conditions. In this paper, a low-cost simplification method is applied by combining with six-axis MEMS technology and MCU applications. The engineering of dynamic inclination sensor is realized.
dynamic inclination; six-axis MEMS; six-axis fusion
TP212
A
1004-7204(2017)03-0063-06
王曉蘭,女 ,(1969- )碩士,黑龍江哈爾濱 中國電子科技集團第四十九研究所 高級工程師,主要研究方向包括慣性導(dǎo)航類傳感器研發(fā)、溫度類傳感器研發(fā)、壓力類傳感器研發(fā)、容式液位計研發(fā)等。
鄒治弢,男 ,(1988- ) 學(xué)士,黑龍江哈爾濱 中國電子科技集團第四十九研究所 工程師,主要研究方向包括嵌入式系統(tǒng)的開發(fā)、自動控制、溫度壓力傳感器設(shè)計制造等。