测试机构
关于测试机构说明,见陀螺仪小型测试平台
测试工程
整个对陀螺仪测试的代码工程都记录在Github上的一个项目中,项目还会随着进展进行更新
项目URL:https://github.com/HITLIVING/-RT-Thread-.git
可以通过Pull下来整个项目进一步了解
对测试功能的实现需要格外关注gyroscope_app.c
gyroscope_app.h
两个文件
测试方案与步骤
- 完成对MPU9250的驱动
- 读取MPU9250地磁计原始数据
- 设计对原始数据的处理过程
- 对去除偏移量后的数据做信号分析
- 添加滤波器
- 滤波器作用在去除偏移量后的数据
- 静态角度测试
[x] 动态角度测试
从驱动到滤波器设计均与MPU6050流程大致相同,可参照MPU6050速度计测角测试
- 关于MPU9250地磁计的矫正,参照MPU9250地磁计校准与使用
静态角度测试
- 测试静置MPU6050从地磁计返回的数据得出的角度情况
- 为方便计算设计的返回角度为0~360°,为了方便观察避免0和360的来回跳动
- 这里通过修改宏定义将角的取值范围取-180°~180°
- 可以看到,地磁计的静态测角误差在±1°
- 但是没有漂移的趋势,即不存在累计误差
-
动态角度测试
我们测试,当转动陀螺仪到达固定角度时,计算所得角度与测试平台上的角度的拟合情况
数据源1:陀螺仪计算返回角度
- 数据源2:测试平台上指针角度刻度
测试从0°->5°->10°->30°->60°->90°->30°->0°
以上动作在1min内完成
- 可以看到在小角度时偏差较小,角度较大时偏差角度较大
- 在相同角度时,数据的偏差情况一致,角度的偏差情况与测量时间无关,与摆动幅度无关,仅与当前角度有关
- 角度的波纹较明显
造成以上现象有以下原因
- 地磁计对芯片的安装有较大的要求,要求芯片水平放置,否则就会影响到校准参数和测量角度
- 根据地磁计的原理,所测得的角度为绝对角度,因此数值仅与当前的朝向有关
抗环境干扰能力较差,这也是出现波纹的原因,在复杂的电磁环境中,效果难以保证
地磁计只是互补滤波的一个环节,其实际作用还取决于滤波的信任度
- 因为其绝对特性可以作为速度计的参考角度,对速度计实时矫正