一、共同点
- 三款传感器均为六轴/九轴陀螺仪,在一个传感器内集成了加速度计和陀螺仪两种传感器,简化了我们的操作。
二、区别
MPU6050排除
- MPU6050 系列传感器采用的 IIC 协议进行数据读取,读写速度较慢,软件 IIC 时序也过多的占用单片机资源。同时 MPU6050 属于
较老的型号,精度较低,没有选择。BMX055 和 ICM20602 均为同时支持 IIC 和SPI 的传感器,利用硬件 SPI 协议进行读写,占用的单片机资源降低非常多, - 优势是集成了解算芯片,能直接把四元数解算成数据
BMX055
BMX055 系列陀螺仪精度非常高,对陀螺仪数据进行积分后计算的角度数据变化灵敏。
- 同时积分漂移也相对较少,经过简单的抗零漂处理后得到的角度数据就能够基本满足单车的使用。
- 但是 BMX055 系列的加速度计精度非常低,测试多个传感器,均发现 BMX055 系列加速度计存在一定的问题。简单来说,就是人为进行一次抖动后,正常的加速度只会检测到这一次加速度的抖动情况,而 BMX055 系列陀螺仪会在检测到第一次加速度引发的抖动之后,再一次的检测到抖动情况。存在较大的噪声。
icm20602
- 而 ICM20602 系列的角速度精度同样较高,同时加速度计的测量也较为准确,
- ICM-20602 使用硬件 SPI 可达到 10M 波特率。
- 需要单片机提供算力将四元数转换成欧拉角
三、总结建议
- 综合考虑采用 ICM20602 系列六轴传感器,利用 SPI 协议进行数据读取,利用卡尔曼滤波器进行数据融合,经过长时间的参数整定,基本能达到更好的效果。
四、展望+提升
陀螺仪串联磁力计
先假定了在大部分时间里,载体是静止或者匀速直线运动的,所以可以认为加速度计的测量值,就是重力加速度。但是,在载体水平时,重力加速度的方向与Z轴相同,是无法反映出偏航角yaw的(因为偏航角是绕Z轴旋转,即使偏航角变化,Z轴方向仍然不变,也就是说加速度计无法感知Z轴的旋转)。
而磁力计可以测出地球的磁场,能够得到水平的北向方位,所以引入磁力计的数据,可以用来修正陀螺仪的偏航角。