微機電陀螺儀,屬于微機電運動傳感器,類似的還有加速度儀、電子羅盤、電子氣壓計等,都可以方便地測量物體的轉(zhuǎn)速、直線加速度、周圍磁場強度和大氣壓力等狀態(tài),具有體積小、功耗低、價格便宜等特點,被廣泛應(yīng)用于需要測量物體運動狀態(tài)的場合,如智能手機、體感游戲機、無人機等。
籠統(tǒng)來說,微機電陀螺儀集微機械、微電路于一體,按目標功能將各種物理原理有效集成并精確實現(xiàn)。接下來從應(yīng)用的角度簡單介紹用6軸微機電陀螺儀數(shù)據(jù)生成姿態(tài)角參數(shù)的過程。涉及到許多理論知識,但用單片機實現(xiàn)不太復(fù)雜,僅需要一個單片機和一個六軸傳感器。
姿態(tài)角,包含航向角(Yaw)、俯仰角(Pitch)、滾轉(zhuǎn)角(Roll)。選定一個參考系后,就可以用航向、俯仰、滾轉(zhuǎn)三個夾角來表示剛體的姿態(tài)信息,也稱為歐拉角表示。剛體從一個姿態(tài)定點變換到另外一個姿態(tài),可以通過歐拉角的變化量計算出來,也可以通過旋轉(zhuǎn)四元數(shù)來表示(Normalized Quaternions,x=a+bi+cj+dk,其中i、j、k表示三個虛數(shù)單位,a、b、c、d為實數(shù),i^2=j^2=k^2=ijk=-1且ij=k、jk=i、ki=j,且x的模為1),即以某單位矢量為軸和方向,轉(zhuǎn)過一個角度來實現(xiàn)。這樣就把四元數(shù)和歐拉角聯(lián)系起來了。那么,為什么要用四元數(shù)呢?
因為用程序來實現(xiàn)它的更新比較方便,在單片機里面實現(xiàn)三角運算是比較復(fù)雜的。要得到姿態(tài)角,就要得到四元數(shù)。四元數(shù)被初始化之后,會用由微機電陀螺儀采集來的角速度值和重力加速度值采用一定算法來融合更新,如重力修正、互補濾波、畢卡算法等。由于不同傳感器的采樣頻率不同,作用也不一樣,所以都需要乘以各自的系數(shù)。
在使用這些微機電陀螺儀傳過來的數(shù)值之前,還可以采用各種濾波算法,比如EFK濾波,來平滑和預(yù)測采樣數(shù)據(jù)。經(jīng)過這些過程之后,就可以用更新的四元數(shù)來計算姿態(tài)角了,這個地方會用到反三角函數(shù)。在實際操作中,為防止因MCU計算的誤差累計,在最后還要對四元數(shù)歸一化。
至此,已得到了最新的姿態(tài)角,可進一步通過圖形化界面將姿態(tài)信息展示出來以驗證和調(diào)試參數(shù),也可根據(jù)姿態(tài)角進行下一步的控制操作,比如作為PID算法的反饋量來調(diào)節(jié)自動平衡系統(tǒng),如飛行器、云臺、平衡車的平衡控制等等。雖然整個過程的代碼量不會很大,但是涉及到了很多知識,比如:EFK就涉及到概率與數(shù)理統(tǒng)計、矩陣運算、泰勒展開等等。
微機電陀螺儀一般會在數(shù)據(jù)手冊中標注其最大機械、電氣承受限值,超過極限值往往會導(dǎo)致器件的損壞(這個值一般比較大)。另外,通常微機電陀螺儀也是由I2C和SPI這樣的通信接口與外界通信的,通過配置其寄存器進行相應(yīng)的操作。如果配置不當或者通信錯誤的話,也很容易導(dǎo)致其無法正常工作。有些微機電運動傳感器,比如電子羅盤,會對其周圍的電磁環(huán)境有較高的要求,因為其采集的信號是很微弱的地磁。
標簽: 微機電陀螺儀
有關(guān)對產(chǎn)品安裝、使用及維護等問題,
可以通過這里聯(lián)系我們