三轴加速度传感器角度值转换原理

1、如果芯片水平静置,X、Y方向的重力分量为0g,而Z轴方向的重力分量为g。如下图所示,X=0;Y=0;Z=g。
三轴加速度传感器角度值转换原理_第1张图片
2、如果两边各有一些夹角则如图二所示
三轴加速度传感器角度值转换原理_第2张图片
基于图2中的夹角概念,他们的关系为α=90°-ɑ1,β=90°-β1,γ=90°-γ1。
g在各轴上的分量为:Ax=gcosα,Ay=gcosβ,Az=gcosγ。
所以:Ax=gcosα=gcos(90°-ɑ1)=gsinɑ1
Ay=gsinβ1
Az=gsinγ1
2、如图3所示:(其中各垂直虚线的大小为:gg=AxAx+gcosα1gcosα1)
gcosβ1=squr(g
g-AyAy),
gcosγ1=squr(g
g-AzAz)。
三轴加速度传感器角度值转换原理_第3张图片
根据立体几何中,g相当于立方体的对角线,Ax、Ay、Az相当于三条边,如下图4所示,虚线大小等于Ay
Ay+AzAz,所以根据勾股定理AxAx+AyAy+AzAz=g*g

由图4和5可以知道,(以X轴为例)sinα1=Ax/g,cosα1=squr(gg-AxAx)/g,
Tanα1=(Ax/g)/【squr(gg-AxAx)/g】=Ax/squr(gg-AxAx)=Ax/squr(AyAy+AzAz)。
Tanβ1=Ay/squr(AxAx+AzAz),
Tanγ1=Az/squr(AxAx+AyAy)。
三轴加速度传感器角度值转换原理_第4张图片
最后得出加速度传感器值与角速度值(弧度)的关系:
Tanα1=Ax/squr(AyAy+AzAz),
Tanβ1=Ay/squr(AxAx+AzAz),
Tangγ1=Az/squr(AxAx+AyAy)。
其中α1、β1、γ1分别是X、Y、Z轴和水平线弧度值,Ax、Ay、Az是三个轴上的加速度值。那么弧度值分别为:
α1=arctan(Ax/squr(AyAy+AzAz))
β1=arctan(Ay/squr(AxAx+AzAz))
γ1=arctan(Az/squr(AyAy+AxAx))
接下来就得使用数据格式:弧度=θπR/180。这样算得θ=弧度180/πR,其中R取1。最后得到的各轴的角度值分别为:
θx=α1
180/π=[arctan(Ax/squr(AyAy+AzAz))]180/π
θy=β1
180/π=[arctan(Ay/squr(AxAx+AzAz))]180/π
θz=γ1
180/π=[arctan(Az/squr(AxAx+AyAy))]*180/π

转载出处作者为:小Y的专栏

你可能感兴趣的:(三轴加速度传感器角度值转换原理)