1、如果芯片水平静置,X、Y方向的重力分量为0g,而Z轴方向的重力分量为g。如下图所示,X=0;Y=0;Z=g。
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(gg-AyAy),
gcosγ1=squr(gg-AzAz)。
根据立体几何中,g相当于立方体的对角线,Ax、Ay、Az相当于三条边,如下图4所示,虚线大小等于AyAy+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)。
最后得出加速度传感器值与角速度值(弧度)的关系:
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=α1180/π=[arctan(Ax/squr(AyAy+AzAz))]180/π
θy=β1180/π=[arctan(Ay/squr(AxAx+AzAz))]180/π
θz=γ1180/π=[arctan(Az/squr(AxAx+AyAy))]*180/π