基于三軸加速度計的傾斜角傳感器的研究與設(shè)計
圖8中,測試方向為y軸方向,加速度傳感器如圖8(a)樣式放置時,x軸輸出為Voutx-A,y軸輸出為Vouty-A;加速度傳感器如圖8(b)樣式放置時,x軸輸出為Voutx-B,y軸輸出為Vouty-B,測試方向y軸傳感量為:
x橫軸傳感量為:
所以當傾斜角傳感器傾斜為某一角度時,x橫軸數(shù)據(jù)經(jīng)y軸進行傳感補償后的值為:
式中:xoutComp為補償后的x軸數(shù)據(jù);Vouty-axis為x軸測量數(shù)據(jù);Vouty-axis為y軸測量數(shù)據(jù);Voffsety為y軸數(shù)據(jù)偏移值。同樣,z軸數(shù)據(jù)對x軸數(shù)據(jù)進行補償后得到x軸數(shù)據(jù)的校準值。
4.3 數(shù)據(jù)融合
SCA3000工作在測量模式下時,傳感器輸出數(shù)據(jù)速率為260 Hz,0.37 s就可以產(chǎn)生一次輸出緩沖存儲器半滿中斷。所以在傾斜角度變化不是很劇烈的情況下,可以對每一輸出緩沖存儲器中數(shù)據(jù)進行加權(quán)平均求得傾斜角度。
5 軟件設(shè)計
程序主要分三部分,主程序main,傾斜角計算子程序tlitcalculate和校準子程序calibrate,在對SCA3000進行操作時,還要調(diào)用SPI讀寫程序,在對ZLG7290進行操作時調(diào)用I2C讀寫子程序。
如圖9所示,在傾斜角傳感器第一次使用前必須對其進行校準,包括測量各軸的零點偏移,各軸的橫軸傳感量,當PO.1置高時進入校準狀態(tài)。在校準中,PO.9&PO.10&PO.11=000時,將SCA3000按z軸垂直向上放置;PO.9&P0.10&P0.11=001時,將SCA3000按z軸垂直向下放置;PO.9&P0.10&P0.11=OlO時,將SCA3000按x軸垂直向上放置;P0.9&PO.10&PO.11=01l時,將SCA3000按x軸垂直向下放置;P0.9&PO.10&P0.11=100時,將SCA3000按y軸垂直向上放置;P0.9&P0.10&P0.11=101時,將SCA3000按y軸垂直向下放置。綜合各個狀態(tài)時的數(shù)據(jù)完成零點偏移和橫軸傳感量計算。實際運用中,SCA3000安裝在平臺上時不可能保持xy軸與平臺完全平行,z軸完全垂直平臺。所以在進行測量前必須取得平臺水平放置時SCA3000的輸出值,將其設(shè)為初始值保存于FLASH中。
在傾斜角計算中。首先讀數(shù)據(jù)進行零點偏移補償和橫軸傳感補償,接著對嚴重污染的數(shù)據(jù)丟棄,進行數(shù)據(jù)融合,再判斷傾斜角度大小。當角度較小時,利用兩軸數(shù)據(jù)進行計算,當角度過大時運用三軸數(shù)據(jù)進行計算。
主程序中,采用定時器中斷和SCA3000緩存器中斷兩個中斷對SCA3000數(shù)據(jù)進行讀寫。保證數(shù)據(jù)的實時性。
6 結(jié)語
本文基于三軸加速度計SCA3000和ARM處理器芯片LPC2210設(shè)計了一種三軸傾斜角智能傳感器,它具有全方位和全擺幅的特點。本文對兩軸、三軸加速度計測量傾斜角的原理進行了分析,采用兩軸、三軸數(shù)據(jù)的合理運用,實現(xiàn)精度高、抗噪性能強的傾斜角傳感器的研究。
對傳感器數(shù)據(jù)采用零點偏移補償,橫軸傳感量補償,進一步提高了數(shù)據(jù)的精度。采用SPI接口實現(xiàn)傳感器與微控制器間的通信,采用定時器中斷和SCA3000緩存器中斷兩個中斷喚起對傳感器數(shù)據(jù)的讀/寫,實現(xiàn)對傳感器數(shù)據(jù)讀速度可控。
評論