基于三軸加速度計SCA3000和LPC2210的傾斜角傳感器設(shè)計
5 軟件設(shè)計
程序主要分三部分,主程序main,傾斜角計算子程序tlitcalculate和校準(zhǔn)子程序calibrate,在對SCA3000進行操作時,還要調(diào)用SPI讀寫程序,在對ZLG7290進行操作時調(diào)用I2C讀寫子程序。
如圖9所示,在傾斜角傳感器第一次使用前必須對其進行校準(zhǔn),包括測量各軸的零點偏移,各軸的橫軸傳感量,當(dāng)PO.1置高時進入校準(zhǔn)狀態(tài)。在校準(zhǔn)中,PO.9PO.10PO.11=000時,將SCA3000按z軸垂直向上放置;PO.9P0.10P0.11=001時,將SCA3000按z軸垂直向下放置;PO.9P0.10P0.11=OlO時,將SCA3000按x軸垂直向上放置;P0.9PO.10PO.11=01l時,將SCA3000按x軸垂直向下放置;P0.9PO.10P0.11=100時,將SCA3000按y軸垂直向上放置;P0.9P0.10P0.11=101時,將SCA3000按y軸垂直向下放置。綜合各個狀態(tài)時的數(shù)據(jù)完成零點偏移和橫軸傳感量計算。實際運用中,SCA3000安裝在平臺上時不可能保持xy軸與平臺完全平行,z軸完全垂直平臺。所以在進行測量前必須取得平臺水平放置時SCA3000的輸出值,將其設(shè)為初始值保存于FLASH中。
在傾斜角計算中。首先讀數(shù)據(jù)進行零點偏移補償和橫軸傳感補償,接著對嚴(yán)重污染的數(shù)據(jù)丟棄,進行數(shù)據(jù)融合,再判斷傾斜角度大小。當(dāng)角度較小時,利用兩軸數(shù)據(jù)進行計算,當(dāng)角度過大時運用三軸數(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ù)讀速度可控。
51單片機相關(guān)文章:51單片機教程
加速度計相關(guān)文章:加速度計原理
評論