三轴加速度传感器角度值转换原理
来源:互联网 发布:摄氏度转华氏度 c语言 编辑:程序博客网 时间:2024/05/22 15:18
- 本文为转载帖,转载出处作者为:小丫的专栏
- 如果芯片水平静置,X、Y方向的重力分量为0g,而Z轴方向的重力分量为g。如下图所示,X=0;Y=0 Z=g
图1 芯片水平静置
- 如果各边与水平方向有一些夹角,则其图像如图2所示,
- X轴方向的加速度大小为Ax,其与水平线的夹角为α1,与重力加速度的夹角α;
- Y轴方向的加速度为Ay,与水平线的加速度为 β1,与重力加速度g的夹角为β;
- Z轴方向的加速度为Az,与水平线的加速度为 γ1,与重力加速度g的夹角为γ。
图2 各边夹角
- 基于图2中的夹角概念,它们的关系为α = 90度- α1, β = 90度- β1 , γ = 90度- γ1。
- g在各轴方向上的分量为: Ax = gcosα,
- Ay = gcosβ ,
- Az = gcosγ;
- 将3中数据代入得:Ax = gcosα = gcos(90度- α1) =gsinα1 ,
- Ay =gsinβ1,
- Az = gsin γ1.
- 如图3所示。(其中各垂直虚线的大小为:g*g = Ax*Ax + gcosα1*gcosα1, 则gcosα1 = squr(g*g - Ax*Ax) ,
- gcosβ1 =squr (g*g - Ay*Ay ),
- gcosγ1 =squr(g*g - Az*Az ))。
- 图3 重力加速度g在各轴上的分量
- 根据立体几何中,g相当于立方体的对角线,Ax、Ay、Az相当于三条边,如图4所示,虚线大小等于 Ay*Ay+Az*Az,所以根据勾股定理Ax*Ax + Ay*Ay + Az*Az = g*g
- 由4和5可以知道,(以X轴为例) sinα1 = Ax/g, cosα1 = squr(g*g - Ax*Ax) / g ,
- tanα1 =( Ax/g) / [squr(g*g - Ax*Ax) / g] = Ax / squr(g*g - Ax*Ax) = Ax / squr(Ay*Ay + Az*Az) 。
- tanβ1 = Ay / squr(Ax*Ax+Az*Az) ,
- tanγ1 = Az / squr(Ax*Ax +Ay*Ay)。
图4 重力加速度g 作为立方体的对角线
最后得出ADXL345加速度传感器值与角速度值(弧度)的关系为:
tanα1 = Ax / squr(Ay*Ay + Az*Az) ,
tanβ1 = Ay / squr(Ax*Ax+Az*Az) ,
tanγ1 = Az / squr(Ax*Ax +Ay*Ay)。
其中 α1 、β1 、γ1分别是X、Y、Z轴和水平线的弧度值(反三角函数计算的值是弧度),Ax 、Ay、Az是三个轴上的加速度值。
那么弧度值分别为:
α1 = arctan(Ax / squr(Ay*Ay + Az*Az))
β1= arctan(Ay / squr(Ax*Ax+Az*Az))
γ1= arctan( Az / squr(Ax*Ax +Ay*Ay))
接下来就得使用数据公式:弧度= θπR/180 。 这样算得θ = 弧度*180/πR,其中R取1。最后得到的各轴的角度值分别为:
θx = α1*180/π = [arctan(Ax / squr(Ay*Ay + Az*Az))] *180/π
θy =β1*180/π = [arctan(Ay / squr(Ax*Ax+Az*Az))]*180/π
θz =γ1*180/π = [arctan( Az / squr(Ax*Ax +Ay*Ay))]*180/π
- 三轴加速度传感器角度值转换原理
- 三轴加速度传感器角度值转换原理
- 三轴加速度传感器角度值转换原理
- 三轴加速度传感器原理及应用
- 三轴加速度传感器
- 三轴加速度传感器
- mma8452 三轴加速度传感器
- 加速度传感器和角度传感器
- 【传感器】BMA253 数字,三轴加速度传感器
- MMA7455加速度传感器测量角度
- Android加速度传感器原理
- Atmega16驱动三轴加速度传感器MMA7455
- 三轴加速度传感器bma150驱动解析
- 三轴加速度传感器BMA250解读
- android SENSOR_ACCELEROMETER 三轴加速度传感器
- STM32控制三轴加速度传感器实现分析(1)
- STM32控制三轴加速度传感器实现分析(2)
- Freescale mma845x三轴加速度传感器驱动分析
- JAVAScript中的undefined
- Android 编译工具升级到24后遇到的坑之V4包的Fragment
- 基于Django的在线MOOC学习系统(5)——创建其余 App 并设计 对应的models.py
- linux编译folly
- powerdesigner 生成sql时生成对应的字段注释
- 三轴加速度传感器角度值转换原理
- CCF NOI1049 旋转图像
- Android基于HttpURLConnection网络请求
- 向数据库中批量插入千万级数据
- 一个java类的初始化过程
- JAVA连数据库入门之executeexecuteUpdate、executeQuery三者的区别
- 十步完全理解 SQL
- FindBoost.cmake
- SpringMvc 集成swagger2