当前位置:   article > 正文

陀螺仪数据转换成角度_陀螺仪编写实时角度的计算公式?

陀螺仪数据转换成角度

ENC03以前用过,我记得还是一个模拟的陀螺仪,受温度湿度影响超级大--特别是温度,除非自己写温度补偿。

简单点的陀螺仪算角度就是陀螺仪测得的原始数据,减去offset,除以比例系数--这个要看你ad的精度以及陀螺仪的量程,我看ENC03是+-90°/s的量程,如果选取的AD是16bit的,那么这个比例系数就是2^(16-1)/90,其他情况类推,最后乘上一个时间dt,把每次取得的值累加就好。

但是陀螺仪的温漂和零漂(零漂就是你那个offset,找的话很麻烦),并且你的k60也无法保证定时器的精准,所以结果就是累计误差越来越大,使用的现象就是陀螺仪正转90度在反转回90度,发现值已经开始偏差--对了,转的过程如果超量程值直接就错了,比如你按200°/s的速度转,但是陀螺仪的测量范围只有90°,MCU无法检测到这个,他会认为你就是转了90°.

所以陀螺仪一般不是作为角度的直接输出的,ENC03还只是消费级的传感器,我试过用工业级的数字陀螺仪,结果比消费级的好很多,但是实际半小时恒定旋转再放回到原点,误差也在15°左右。

如果对地的夹角,例如对重力的,拿加速度传感器,三轴的,取每个轴向的值然后归一化,再对每个轴取arccos就可以得到了。

对东南西北的话就需要地磁传感器,首先校准--方法很多,基本的八字校准或者高级点的六点快速校准,接下来跟加速度的方法差不多,就是加速度的是相对于重力的,地磁传感器的是相对于地磁线的。

最后最后,说一下,最好的还是将加速度+地磁传感器的值先按轴向取好,再乘上一定的比例系数:比例系数和各个传感器的可信度以及系统MCU的频率有关,最后融合到陀螺仪里面,效果是最好的。

题主可以搜一下Madgwick算法,开源的,2010一个外国人的算法,比kalman滤波运算量要小,然后结果还很准确

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/537496?site
推荐阅读
相关标签
  

闽ICP备14008679号