
陀螺仪和加速度计
的角速度和角度计算。
A.陀螺仪角度计算,很多帖子中都提到了用的是积分,但是我这里还是重新讲下。
angle_n
=
angle_n-1
+
(Gyro-C_Gyro)*R_Gyro
angle_n
当前角度值,它的单位做前是度(°)
angle_n-1上一次计算出的角度值
Gyro陀螺仪敏感轴偏转值,也就是当前敏感轴读数
C_Gyro陀螺仪零点偏移值,这个值的测量方法是:将陀螺仪敏感轴水平放置静止时的读数,我的零点偏移值是水平、垂直、倒置,分简塌别取1024次,作平均值得出的,读数是-177.8865041,但是最后在程序实践中,调整到-99.90。或许还有别的办法,自己看着办吧。
R_Gyro是陀螺仪比例。飞思卡尔的参考中提到这个值是可以计算出来的,下面我会提供下载,大家自己去看看怎么算的,但是在其论坛和调试手册中都提到,这个比例值还是实验法测量出来的比较准确。
B.加速度仪
角度计算。
加速度仪的角度计算有很多方法,论坛里就有2中。但是都用到了三角函数,数学没学好,照抄了也不行。参考了飞思卡尔的计算方法后大概拦胡圆是这样的。
Angle_Z
=
(az-C_Z)*R_Z
angle_z
加速度计敏感轴Z轴产生倾角计算出的角度,单位度(°)
az是加速度仪
Z轴读数
C_Z
Z轴零点偏移量
测量方法和陀螺仪的一样。
R_Z
加速度计Z轴比例
关于陀螺仪的使用感觉还是挺难的,毕竟牵扯的面比较多。如果想学的最好是在论坛里多看看!
我知道的也不多,说一下我的理解吧。拿正点原子的程序为例mou6050:原子的程序配合上位机能输出6个数据,加速度输出:ax,ay,az角速度输出:wx,wy,wz分别在上位机上显示,这个数据是原始数据,dmp结算后的四元数。而单片机TFT屏幕上显示逗灶的Pitch、Roll、Yaw角度是通过陀螺仪的四元数解算出来,这个数据有个问题即使陀螺仪放不平(有个倾斜角),mpu6050上电后是以此时的状山凳扮态为0度角度,这样测出来的数据肯定是错误的。原因是:陀螺仪测量的是角速度变化率,它也不知道0度在哪,它是以刷新的那个时刻记为0度开始积分的。因此陀螺仪单独是没法用的需要校准,校准的传感器可以是地磁传感器或者加速度计。而陀螺仪地磁和加速度计又有自己的缺点,需要他们把彼此的粗磨数据做个融合。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)