1 說明
測量物體的傾斜角度是
加速器傳感器的一種常見的應(yīng)用。雖然其基本原理十分簡單,但是在具體實現(xiàn)中仍然會遇到很多困難,比如傾斜角度的精度問題,數(shù)學(xué)計算過于復(fù)雜等等。本文將對精度問題進(jìn)行詳細(xì)討論,并給出一種簡化的計算方法。
2 基本原理
由于加速度傳感器在靜止放置時受到重力作用,因此會有 1g 的重力加速度。利用這個性質(zhì),通過測量重力加速度在加速度傳感器的 X 軸和 Y 軸上的分量,可以計算出其在垂直平面上的傾斜角度。
這樣,根據(jù)以上原理一個 2 軸加速度傳感器可以測量在 X-Y 平面上的傾斜角度。
需要注意的是,2 軸加速度傳感器只能測量 X 軸和 Y 軸上的重力分量,因而只能測量 因而只能測量 X-Y平面上的傾斜角度 。可是由于物體在空間傾斜的時候,很難保證傾斜*在 X-Y 平面上,這樣只使用 2 軸加速度傳感器進(jìn)行測量會存在局限性,因此,我們考慮使用 3 軸加速度傳感器。如下圖所示,3 軸加速度傳感器可以測量 X 軸、Y 軸和 Z 軸的重力分量,計算空間傾斜角度的公式可以推廣為
。 這個公式就是本文中用來測量物體傾斜角度的基本原理。需要說明的是,這里利用的是物體在靜止時受到重力的性質(zhì),如果物體同時也有運動加速度的話,那么這個公式將不再準(zhǔn)確。所以必須為公式增加一個限制條件,即
3 硬件實現(xiàn)
目前,在消費類產(chǎn)品中使用的加速度傳感器分為數(shù)字輸出 (例如 ADXL345)和模擬輸出 (例如 ADXL335)兩種。數(shù)字輸出的加速度傳感器可以直接通過 I2C 或 SPI 總線與 MCU 進(jìn)行連接;模擬輸出的加速度傳感器則需要使用 ADC 進(jìn)行采樣。現(xiàn)在,普遍使用的 MCU 中基本都有內(nèi)置的 ADC 通道,所以無論是數(shù)字輸出還是模擬輸出的加速度傳感器都可以非常容易地和 MCU 進(jìn)行連接,進(jìn)而實現(xiàn)測量功能。