完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[size=10.5000pt]使用ADXL350遇到了读数问题。控制器使用定时器在1秒内定时读取1024数据,但是把数据发送到上位机显示,发现数据有跳变错误。如下图所示:黄色:Z轴,紫色:Y轴,蓝色:X轴。下图为传感器静止放置时,1秒内每个轴读取的1024个点数据连续波形。
[size=10.5000pt]说下配置:4线SPI,±2g,全分辨率(DATA_FORMAT= 0x09),POWER_CTL = 0x8,INT_ENABLE=0x00,800Hz采样BW_RATE=0xD,FIFO旁路模式FIFO_CTL=0x00。 [size=10.5000pt]尝试过降低SPI速度,同样现象。还尝试过使用1600HZ采样,这种错误现象更加剧烈。尝试过FIFO流水线模式,同样有此数据错误现象。 [size=10.5000pt]但是只要将传感器换一个方向,让X轴Y轴都在重力方向有分量,Z轴与水平面平行,数据出错的概率就有明显改善。如下图所示: [size=10.5000pt]问题1:我的配置是否有错误? [size=10.5000pt]问题2:这种现象是怎样产生的,怎样解决? [size=10.5000pt]问题3:这个会不会和传感器内部更新寄存器时,外部SPI同时又在读取同一个寄存器,导致冲突,致使数据出错? [size=10.5000pt]问题4:由于需要在1秒内读取1024个数据然后做FFT,有没有更好的方式来读取1024个点数据? [size=10.5000pt]谢谢! |
|
相关推荐
1个回答
|
|
您好,
1. 初始化配置没什么问题,建议写0x0B到寄存器DATA_FORMAT,因为在full resolution模式下,器件的灵敏度是固定的512 l***/g,这个灵敏度不随量程而改变,而是相当于ADC位数会随着量程变化,这是ADXL350比较特殊的地方。当然,你原来的配置也不会引起你看到的问题。 2. 产生这一现象很有可能是电源出现不稳定跳动造成的,还有一个很大可能是你注意一下读数的方式,ADXL350的3轴输出,或者说6个byte的输出要连读,也就是手册里写的multiply bytes, burst read。不要一个字节一个字节的读,否则有可能造成你高字节读的一组数据,低字节是下次转化的数据了,把两者拼接到一起就可能出错了。 3. SPI速度不会有影响,但要确认你的MCU在你配置的速度下是能稳定工作的。这可以通过连续读器件的DEVICE ID来确认。因为ID是写好不会变的。一般来说3MHz左右的速度不会有什么问题的。 4. 还要注意数据是否是在传到上位机的过程中出错,这可以在MCU里加一个判断,看是否从ADXL350输出的原始数据有那么大跳动。 |
|
|
|
只有小组成员才能发言,加入小组>>
992 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1387 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1940 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4271 浏览 2 评论
9063 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1528浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1694浏览 2评论
994浏览 2评论
1671浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1388浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 02:04 , Processed in 0.803895 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号