基本原理
由于加速度傳感器在靜止放置時受到重力作用,因此會有1g的重力加速度。利用這個性質(zhì),通過測量重力加速度在X/Y軸上的分量,可以計算出在垂直平面上的傾斜角度。
?
如圖所示,有Ax=gsinα,Ay=gcosα。則Ax/Ay=tanα,即α=arctan(Ax/Ay)。
根據(jù)以上原理就可以根據(jù)2軸加速度傳感器測量X-Y的平面上的傾斜角度。
但是在實際應(yīng)用中,很難保證傾斜只發(fā)生在X-Y平面。因此,用三軸傳感器的傾角計算公式可拓展如下:
?
上述公式基本解決了靜態(tài)環(huán)境下的傾角計算,我們再考慮一種更復雜的場景,運動條件下計算傾角,就需要再增加一個限定條件,即:
?
硬件實現(xiàn)
目前,在消費類產(chǎn)品中使用的加速度主要為數(shù)字輸出(I2C/SPI),可以非常簡單的跟MCU通信,實現(xiàn)測量功能。ST提供的產(chǎn)品按照精度分為LIS2DH12TR(12bit),LIS2HH12TR(16bit),車規(guī)加速度AIS328DQTR(12bit)。
傾斜角度的精度和加速度值的分辨率之間的關(guān)系:
● 8bit的ADC可以得到3.4。以上的精度
● 10bit的ADC可以得到0.8。以上的精度
● 12bit的ADC可以得到0.2。以上的精度
● 14bit的ADC可以得到0.05。以上的精度
● 16bit的ADC可以得到0.0124。以上的精度
?