mpu6050 受电机震动干扰, 是否正常的
最近又再尝试做平衡车, 尝试不断收集数据时, 发觉 mpu6050 的数值总是不太稳, 在没加入滤波下, 有超过 15 度的变化.只要把电样停了, 数据又回复正常.一直以为是因为光耦做得不好, 电机产生的电流影响了主板的电路造成.
今天多花一点时间, 作了不同测试, 更换了不同的电机模块, 结果都是一样.
再更换不同电机 (6V 及 12V), 结果也是一样.
最後尝试把电机拆出来看看, 发觉用手拿着电机时, 数据正常.
再小心测试, 把电机放离车身, 车身不受震动之下, 数据完全正常.
但只要把电机拿回来, 就是轻轻碰到车身, 让其震动传到 mpu6050 上, 数据又乱跳了.
这是我用串口收集的数据, 车仔在完全静止的状态.
最初 5 秒电机没开动, 数据比较稳动, 之後开动电机後量度了大约 10 分钟, 一直在乱跳.
我也有不少 滤波的资料, 要加上去也不会有困难, 我也知道一般使用时都会加上滤波.
但自己对硬件不熟悉, 想多了解一下, 确认一下是否正常反应, 会否是 mpu6050 出了问题.
请问 mpu6050 的数据因受到震动而乱跳, 否正常的?
同求啊 是不是要经过卡尔曼滤波之类的啊 我也遇到同样问题 加速度受外部影响比较大 SproutME 发表于 2014-12-17 13:56 static/image/common/back.gif
加速度受外部影响比较大
但我这里显示的, 只是倾斜的角度.是水平放的.
是直接从 mpu6050 的数据中计出来:
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
angleX = atan2(ax, az) * 180 / PI;
angleY = atan2(ay, az) * 180 / PI;
angleZ = atan2(ax, ay) * 180 / PI;
angleZ 可以不理, 但 angleX 及 angleY 在没震动时, 即使接驳并开动了电机, 还是很稳定的.
请问你的车子, mpu6050 的数据会受震动而乱跳吗?是否靠滤波修正好?
加速度本来就这样,受外界的力影响比较大,所以才要和角速度融合才能发挥作用。我拿着6050在手上晃动数据都会波动,这是正常现像。如果静止状态都有很大波动的话就是有问题了 SproutME 发表于 2014-12-17 16:14 static/image/common/back.gif
加速度本来就这样,受外界的力影响比较大,所以才要和角速度融合才能发挥作用。我拿着6050在手上晃动数据都 ...
如果拿着6050在手上晃动, 角度在不斷轉變, 數據變化也是正常.
我是在靜止的狀態下, 安裝在車架上的.
把電機拆走後開動, 沒接觸時是完全沒問題, 但我只是把電機輕輕接觸車架 (不是碰撞, 只是輕輕接觸到), 從電機上傳來震動, 車架是沒有動的.
Super169 发表于 2014-12-17 19:30 static/image/common/back.gif
如果拿着6050在手上晃动, 角度在不斷轉變, 數據變化也是正常.
我是在靜止的狀態下, 安裝在車架上的.
把 ...
这种现象是很正常的,加速度对震动是非常敏感,与角速度做互补滤波后的角度就可使用了 wujingyu 发表于 2014-12-19 09:33 static/image/common/back.gif
这种现象是很正常的,加速度对震动是非常敏感,与角速度做互补滤波后的角度就可使用了
oh...或者我有点明白了, 想再确认一下, 不知我的理解是否正确.
mpu6050 只是测量角速度, 而非直接量度水平角度.
而角因为量度的频率非常密, 震动产生的变化被放大了, 而得出的角度就出现很大的波动.
如果是这样的话, 加入滤波的作用就会很明显了.
只是奇怪为何 6050 不是直接测量角度, 我一直以为角速度是由测量到的角度变化推算出来.
所以车子震动时, 角度变化应该是有限的.但现在得出的数字, 最大的竟然有刹那间超过 100 度 (不太可能吧, 几乎反转了).
而大部份数据, 都有 +/1 20 度以上的变化, 应该不可能接受的.
我尝试再加固 mpu6050 (希望减少自身震动的幅度, 因为我是插在面包板上, 而 mpu6050 本身只有一边针脚, 另一边是悬空的, 受震动而上下摆动的机会也很大), 另外再加上 kalman filter 後, 平放时受车子震动而产生的角度变化, 基本上在 5 度以内, 不知是否可接受.
Super169 发表于 2014-12-19 11:16 static/image/common/back.gif
oh...或者我有点明白了, 想再确认一下, 不知我的理解是否正确.
mpu6050 只是测量角速度, 而非直接量 ...
mpu6050有三轴加速度传感器,还有三轴角速度传感器(陀螺),根据加速度的三个分量可以计算出角度(这是在理想情况下,就像中学生做物理题一样),但小车在运动(震动)过程中有附加的加速度,所以根据加速度传感器计算出来的角度噪声就很大,而角速度相对来说受震动等方面的影响要小,但根据角速度的积分得出的角度就有累积误差,所以要将两者结合起来运用。
你这里的角度误差太大,可能还有别的因素,有可能系统的电源还不是很合理(没有彻底解决电源干扰问题),造成某种干扰。 wujingyu 发表于 2014-12-19 14:05 static/image/common/back.gif
mpu6050有三轴加速度传感器,还有三轴角速度传感器(陀螺),根据加速度的三个分量可以计算出角度(这是在 ...
谢谢你的资料.
我现在电机跟 arduino 已是分开供电共地.
如果把电机拿开, 同样开动的, 震动不传到车子上的话, 数据是没问题的. 我想, 电的影响应该相对比较细.
而且, 是很明显的, 只要把电机拿住, 轻轻碰到车身, 让震动传到车上, 数字就会立即大变起来.
也有可能是 mpu6050 的接线不好, 受震动影响.
页:
[1]