大家好:
我在使用LIS2HH12: 3 轴“pico”加速度计时遇到了 读数不准的问题,请大家看一下。
首先我的应用场景:安装在设备上,
FPGA通过IIC时刻读出当前的位置,不会有突发的振动情况,不需要中断的情况
我的测试环境:我把装有加速度计的板子安装在三轴云台上,首先水平,读出的X 是7.4° 然后三轴台绕X轴旋转三十度(三轴台的精度是0.01°)此时读出的角度是38.56°。但是在此位置从新上下电后,读出的角度是37.66度。
我的问题是,每次从新上下电,读出的角度是正常的,为什么随着转台转动,他的角度会有偏差。
排除几个问题:1.转台转动非常缓慢,停下来的读数,也是过了好久,排除转台的加速度造成的影响;
2.我在程序里面也采用均值滤波,应该不会有偏差;
我的加速计配置(1)CTRL1=3Fh(XYZ使能,ODR100Hz)
(2)CTRL4_DATA=8'h00; (3)读STATUS( 4)读X低位 (5)读X高位 ( 6)读Y低位 (7)读Y高位 (8)读Z低位 (9)读Z高位 [/td]
以下内容为评论
[td]配置方面,"CTRL4_DATA=8'h00;"是什么?为了得到稳定性比较好的数据,可以适当降低滤波器的带宽频率。另外,建议使用high resolu
tion mode,也就是 CTRL1=BFH。
读取数据时,建议用多字节读取的方式,一个数据包将加速度计六个字节数据全部读出。
角度偏差有几个方面可能造成:
1。 芯片修改过配置后,会有一段非常短暂的时间可能数据不稳定,ODR=100Hz时第一组数据需要丢弃;
2。温度改变会造成一定的温飘,温飘也会导致加速度值的变化;
3。角度是怎样计算的?最好是从加速度计的原始数据着手分析,看看测试过程中,什么数据发生了变化。