《岱默enc03陀螺仪+mma7361加速度计角度融合讲解》由会员分享,可在线阅读,更多相关《岱默enc03陀螺仪+mma7361加速度计角度融合讲解(10页珍藏版)》请在金锄头文库上搜索。
1、岱默科技 http:/ 岱默科技 用心服务 2014/10/29 岱默科技岱默科技 | | DEMOKDEMOK 岱默科技DEMOK 清华方案清华方案平衡传感器平衡传感器 ENC03+MMA7361ENC03+MMA7361 及角度融合讲解及角度融合讲解 岱默科技 http:/ 岱默科技 用心服务 第一节:方案介绍 该方案由清华大学卓晴老师在直立车参考设计方案中提出,由陀螺仪ENC-03+加速度计 MMA7260 进行互补滤波,最终得出直立车运行时车体的倾角,经过多年参赛选手的实践验证, 该方案完全可行, 并且与卡尔曼等其他滤波相比,大大减少了软件工作量。 (1 1) 加速度传感器加速度传感器
2、工作原理工作原理 加速度传感器可以测量由地球引力作用或者物体运动所产生的加速度。 竞赛规则规定如果车模使用加速度传感器必须使用飞思卡尔公司产生的加速度传感器。MMA7260 是一款三轴低 g 半导体加速度计,可以同时输出三个方向上的加速度模拟信号。 我们只需要测量其中一个方向上的加速度值,就可以计算出车模倾角,比如使用 Z 轴方向上的加速度信号。车模直立时,固定加速度器在 Z 轴水平方向,此时输出信号为零偏电压信号。当车模发生倾斜时,重力加速度 g 便会在 Z 轴方向形成加速度分量,从而引起该轴输出电压变化。变化的规律为: sinukgkg 从上式可以看出,当倾角 比较小的时候,输出电压的变化
3、可以近似与倾角成正比。 似乎只需要加速度就可以获得车模的倾角,再对此信号进行微分便可以获得倾角速度。但在实际车模运行过程中,由于车模本身的摆动所产生的加速度会产生很大的干扰信号, 它叠加在上述测量信号上使得输出信号无法准确反映车模的倾角,所以无法单独使用。 (2 2) 陀螺仪工作原理陀螺仪工作原理 陀螺仪可以用来测量物体的旋转角速度。竞赛允许选用村田公司出品ENC-03 系列的加速度传感器。它利用了旋转坐标系中的物体会受到科里奥利力的原理,在器件中利用压电陶瓷做成振动单元。当旋转器件时会改变振动频率从岱默科技 http:/ 岱默科技 用心服务 而反映出物体旋转的角速度。在车模上安装陀螺仪,可以
4、测量车模倾斜角速度,将角速度信号进行积分便可以得到车模的倾角。 由于陀螺仪输出的是车模的角速度,不会受到车体运动的影响,因此该信号中噪声很小。车模的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。 由于从陀螺仪角速度获得角度信息,需要经过积分运算。如果角速度信号存在微小的偏差和漂移,经过积分运算之后,变化形成积累误差。这个误差会随着时间延长逐步增加,最终导致电路饱和,无法形成正确的角度信号。 如何消除这个累积误差呢? 一种简单的方法就是通过上面的加速度传感器获得的角度信息对此进行校正。 通过对比积分所得到的角度与重力加速度所得到的角度,使用它们之间的偏差改变陀螺仪的
5、输出,从而积分的角度逐步跟踪到加速度传感器所得到的角度。 图 1 通过重力加速度来矫正角度偏移 岱默科技 http:/ 岱默科技 用心服务 第二节:岱默 ENC03-MMA7361 模块介绍 此模块使用了性能更加卓越的 MMA7361 代替官方方案里的 MMA7260,二者功能与使用方法完全相同。实物图如下: 淘宝网址:淘宝网址:http:/ Angle.GraAngle = (Angle.AccZ - Angle.GRAVITY_OFFSET)/GRAVITY_ANGLE_RATIO; /计算加速度计输出角度与设定角度的差值 Angle.GyroAngleSpeed = (Angle.Ang
6、leSpeed - Angle.GYROSCOPE_OFFSET)/GYROSCOPE_ANGLE_RATIO; /计算陀螺仪的角速度 Angle.CarAngle = Angle.GyroAngleIntegera; /车的角度赋值 fDeltaValue = (Angle.GraAngle - Angle.CarAngle)/GRAVITY_ADJUST_TIME_CONSTANT; /陀螺仪积分值与加速度计对比误差值计算 岱默科技 http:/ 岱默科技 用心服务 Angle.GyroAngleIntegera += (Angle.GyroAngleSpeed + fDeltaValue
7、)/GYROSCOPE_ANGLE_SIGMA_FREQUENCY; /波形融合值 Angle.AccZ:AD 读取加速度计的值。 Angle.AngleSpeed:AD 读取陀螺仪的值。 Angle.CarAngle:就是最终融合出来的实际角度值。 较简单参数的确定: Angle.GRAVITY_OFFSET:小车直立静止状态下加速度计的输出值,即设定小车的倾斜角度。 Angle.GYROSCOPE_OFFSET:陀螺仪静止状态下的输出值 GRAVITY_ANGLE_RATIO:将加速度计旋转 90 度,用输出量的变化值除以 90 即得到加速度计的角度比率。 GRAVITY_ADJUST_T
8、IME_CONSTANT:调整系数,凭经验尝试设定。一般为(2、3、4) 。 较复杂参数的设定: GYROSCOPE_ANGLE_SIGMA_FREQUENCY 和 GYROSCOPE_ANGLE_RATIO: GYROSCOPE_ANGLE_SIGMA_FREQUENCY 字面上是指陀螺仪的积分频率,比如每1ms 积分一次,则 GYROSCOPE_ANGLE_SIGMA_FREQUENCY 为 1000。GYROSCOPE_ANGLE_RATIO 的确定则根据Angle.CarAngle 对Angle.GraAngle 的跟随情况来确定,如下图: 岱默科技 http:/ 岱默科技 用心服务
9、根据个人调试经验, 若只调整 GYROSCOPE_ANGLE_RATIO 无法使波形达到满意的程度,则需要适当改变 GYROSCOPE_ANGLE_SIGMA_FREQUENCY。对于初次调这个的同学,这两个参数的确定会花费非常大的精力,各位同学一定要大胆尝试,一切以输出波形的跟随情况为准! (即使有些数值你觉得很荒谬) ,只要能达到上图比例因子合适时的波形,小车直立指日可待! 以下是使用岱默 ENC03-MMA7361 模块角度融合后的波形: 岱默科技 http:/ 岱默科技 用心服务 图中绿线是输出实际角度,红线是加速度计的输出角度,可看出绿线能对红线较好的跟随且不受红线噪声的干扰。波形能跟随到这个程度,小车直立基本没问题了,不过进一步调整参数还能使波形更为完美,这一步就留给精益求精的同学来做咯! 岱默科技 http:/ 岱默科技 用心服务 联系我们联系我们 淘宝店铺 http:/ 技术交流 QQ 群 摄像头群 108190422 光电群 132879827 电磁群 118404899 技术交流邮箱 技术论坛 http:/ 官方网站