基于三軸加速度計(jì)SCA3000和LPC2210的傾斜角傳感器設(shè)計(jì)
5 軟件設(shè)計(jì)
程序主要分三部分,主程序main,傾斜角計(jì)算子程序tlitcalculate和校準(zhǔn)子程序calibrate,在對(duì)SCA3000進(jìn)行操作時(shí),還要調(diào)用SPI讀寫(xiě)程序,在對(duì)ZLG7290進(jìn)行操作時(shí)調(diào)用I2C讀寫(xiě)子程序。
如圖9所示,在傾斜角傳感器第一次使用前必須對(duì)其進(jìn)行校準(zhǔn),包括測(cè)量各軸的零點(diǎn)偏移,各軸的橫軸傳感量,當(dāng)PO.1置高時(shí)進(jìn)入校準(zhǔn)狀態(tài)。在校準(zhǔn)中,PO.9PO.10PO.11=000時(shí),將SCA3000按z軸垂直向上放置;PO.9P0.10P0.11=001時(shí),將SCA3000按z軸垂直向下放置;PO.9P0.10P0.11=OlO時(shí),將SCA3000按x軸垂直向上放置;P0.9PO.10PO.11=01l時(shí),將SCA3000按x軸垂直向下放置;P0.9PO.10P0.11=100時(shí),將SCA3000按y軸垂直向上放置;P0.9P0.10P0.11=101時(shí),將SCA3000按y軸垂直向下放置。綜合各個(gè)狀態(tài)時(shí)的數(shù)據(jù)完成零點(diǎn)偏移和橫軸傳感量計(jì)算。實(shí)際運(yùn)用中,SCA3000安裝在平臺(tái)上時(shí)不可能保持xy軸與平臺(tái)完全平行,z軸完全垂直平臺(tái)。所以在進(jìn)行測(cè)量前必須取得平臺(tái)水平放置時(shí)SCA3000的輸出值,將其設(shè)為初始值保存于FLASH中。
在傾斜角計(jì)算中。首先讀數(shù)據(jù)進(jìn)行零點(diǎn)偏移補(bǔ)償和橫軸傳感補(bǔ)償,接著對(duì)嚴(yán)重污染的數(shù)據(jù)丟棄,進(jìn)行數(shù)據(jù)融合,再判斷傾斜角度大小。當(dāng)角度較小時(shí),利用兩軸數(shù)據(jù)進(jìn)行計(jì)算,當(dāng)角度過(guò)大時(shí)運(yùn)用三軸數(shù)據(jù)進(jìn)行計(jì)算。
主程序中,采用定時(shí)器中斷和SCA3000緩存器中斷兩個(gè)中斷對(duì)SCA3000數(shù)據(jù)進(jìn)行讀寫(xiě)。保證數(shù)據(jù)的實(shí)時(shí)性。
6 結(jié)語(yǔ)
本文基于三軸加速度計(jì)SCA3000和ARM處理器芯片LPC2210設(shè)計(jì)了一種三軸傾斜角智能傳感器,它具有全方位和全擺幅的特點(diǎn)。本文對(duì)兩軸、三軸加速度計(jì)測(cè)量?jī)A斜角的原理進(jìn)行了分析,采用兩軸、三軸數(shù)據(jù)的合理運(yùn)用,實(shí)現(xiàn)精度高、抗噪性能強(qiáng)的傾斜角傳感器的研究。
對(duì)傳感器數(shù)據(jù)采用零點(diǎn)偏移補(bǔ)償,橫軸傳感量補(bǔ)償,進(jìn)一步提高了數(shù)據(jù)的精度。采用SPI接口實(shí)現(xiàn)傳感器與微控制器間的通信,采用定時(shí)器中斷和SCA3000緩存器中斷兩個(gè)中斷喚起對(duì)傳感器數(shù)據(jù)的讀/寫(xiě),實(shí)現(xiàn)對(duì)傳感器數(shù)據(jù)讀速度可控。
51單片機(jī)相關(guān)文章:51單片機(jī)教程
加速度計(jì)相關(guān)文章:加速度計(jì)原理
評(píng)論