ST意法半导体
直播中

GMY_HK

2年用户 14经验值
擅长:电源/新能源 接口/总线/驱动 控制/MCU EDA/IC设计 PCB
私信 关注
[问答]

ism330dhcx 陀螺仪角速度数据静止时发生跳变

使用ISM330DHCX输出静止时的三周角速度数据,发现会出现个别的很大的值,如图所示
image.png
正常情况下,静止时的角速度应该在0附近波动,我开始以为是PCB布线的问题,后来买了一块这个芯片的评估版MKI207V1,测试了一下。结果仍然是这样:
image.png
我就觉得应该不是硬件的问题,对比官方的data_polling函数后,发现应该开启BDU这一位,而且还应该根据STATUS_REG这个寄存器的三位来判断一个数据是否有效
image.png
最后的结果如图所示
image.png
可以看到,X,Y轴已经好很多了,没有出现很大的值,但是Z轴仍然有几个,放大Z轴图像后发现,这个数据有点不对劲,
image.png
我使用的是SPI四线读取寄存器,ODR设置的是208HZ,我觉得可能是SPI读取输出寄存器的时候时间有点对不上,我的意思是,寄存器还没更新但是SPI就开始读取,导致读出来的数不对。不知道大家怎么看,请技术人员指导一下,谢谢1

回帖(2)

whfxsea668

2023-11-29 11:31:02
从您的描述来看,您遇到了在静止时发生跳变的问题,并且已经尝试了一些解决方案,但还没有完全解决。在此提供一些可能的解决方案和建议:

1. 确保电源供应稳定:请确保芯片的电源稳定,并且没有任何电源波动或者噪声。通过使用电压稳定器或者低噪声电源可以改善这个问题。

2. 检查模拟和数字电源分离:使用独立的模拟和数字地面可以降低噪声的干扰。确保芯片的模拟和数字电源分离。

3. 考虑滤波:使用软件滤波或者硬件滤波来平滑角速度数据。您可以尝试使用低通滤波器来减小突变的出现。

4. 检查SPI通信配置:仔细检查SPI通信的配置是否正确。确保时钟频率和数据采样时间设置正确,以确保正确读取角速度数据。

5. 尝试更高的采样率:尝试将采样率调整为更高的频率,以确保更准确地捕捉角速度数据。在一些情况下,降低采样率可能会导致数据不准确。

6. 联系厂商支持:如果以上所有方法都没有解决问题,建议联系芯片的制造商支持团队,向他们详细描述问题,并获取他们的专业建议和解决方案。

请注意,以上建议仅供参考,并不一定完全解决您的问题。具体的问题解决方案可能需要更详细的分析和调试。因此,建议您咨询相关的技术人员或专家以获得更准确的指导。
举报

GMY_HK

2023-12-1 21:51:43
发现了一个问题,我在用SPI读取输出寄存器的时候顺序不对,比如X轴陀螺仪,我原先是先读取高字节寄存器再读取低字节寄存器,更改顺序后发现没有这个问题了,可能是BDU的开启和我的读取顺序不对导致了这个问题。这是测试后的陀螺仪三轴输出,已经比较合理了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分