MPU6050如何从传感器输出的数值转换成有效数值呢?
各位
小弟目前在测试MPU6050,从Gyro和Accelemeter两个传感器输出了6个数值,仔细看了:
http://www.starlino.com/imu_guide.html 中的方法,首先要转换成有效数值:即通过类似如下的方法:
加速度传感器的有效数值:Rx = (AdcRx * Vref / (2^n-1) – VzeroG) / Sensitivity,其中 AdcRx 是加速度传感器在X轴上的输出数值值;
而陀螺仪的有效数值,如:GyroX = (AdcGyroX * Vref /(2^n-1) – VzeroRate) / Sensitivity, 其中 AdcGyroX是陀螺仪在X轴上的输出数值。
得到上述数值后,再进行滤波处理等。
我想请教下,我们这个MPU6050也是用如上述的公司来进行转换吗? 还是其他更为简化的公式呢?
我看了下MPU6050 规范书中,对比上面的公式,能找到 n = 16, Vref = 3.3v,但是好像没有VzeroRate 和 Sensitivity的具体数值哈。
求教各位!
MPU6050是数字的,AD转换芯片自己完成了! 拾瑞 发表于 2012-9-18 10:57 static/image/common/back.gif
MPU6050是数字的,AD转换芯片自己完成了!
谢谢,那就是说出来的数值直接做滤波就行了,是吗?还需要咋处理呢? JerryLove 发表于 2012-9-18 12:10 static/image/common/back.gif
谢谢,那就是说出来的数值直接做滤波就行了,是吗?还需要咋处理呢?
我咋看到有帖子的程序做 如下处理哈,看不懂,能解释下吗?
// 把原始数据转换为G44.
RwAcc = float(inputStringArr) / 256.0;45.
RwAcc = float(inputStringArr)/ 256.0;46.
RwAcc = float(inputStringArr)/ 256.0;47. 48.
// 把原始数据转换为"度/秒"49.
Gyro = float(inputStringArr) / 14.375;50.
Gyro = float(inputStringArr) / 14.375;51.
Gyro = float(inputStringArr) / 14.375;
不懂,继续学习中。。。 我也有疑问,知道加速度除以256就是转化为g为单位,但是加速度就不知道了,有些说是输出单位是度/秒,但有些又说是弧度/秒。另外有些还会要求除以Sensitivity,有些又不做要求。积分时间也各不相同,难道说不管积分时间出来的结果都是一样的? 楼主,你好,现在你的这个模块调试的怎么样了?我最近也在调试这个,各种问题啊,输出值你是怎么处理的呢?
额,沉了~~~问题没解决啊,求大神秒解一下~~~:lol
页:
[1]