完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在用ADXL362 做自由落体检测来触发ADXL372的测量流程;
用ADI的网站上的代码资源写了驱动,ID读写、测量模式开关、温度读写、XYZ轴值的读写、静止运动链接检测模式均没有问题且结果基本准确; 但自由落体检测功能一直难以实现。设置阈值远小于1g时仍然能触发。 按照datasheet上建议的步骤为: 1. 写入0x96(150个代码)到寄存器0x23:将自由落体阈值设置为600 mg。 2. 写入0x03到寄存器0x25:将自由落体时间设置为30 ms。 3. 写入0x0C到寄存器0x27:使能绝对静止检测。 4. 写入0x20到寄存器0x2A,以将静止中断映射到INT1。 5. 写入0x83到寄存器0x2C:配置加速度计为±8 g范围和100 HzODR(输出数据速率)。 6. 写入0x02到寄存器0x2D以开始测量。 写入后,传感器平放时,从status寄存器(0x0B)上读值就一直为0x61;无法实现低于阈值则判断为自由落体功能; 我之后尝试把 量程改为 2g,阈值设为 10(即0.01g),触发时间改为10,100ODR(即100ms);依然读出来0x61的值; 然后使用静止运动检测里面的代码调整了阈值,仍然误触发; 附上按照datasheet设置触发后读出的各寄存器值:(DEC) ADXL362_REG_THRESH_INACT_H: 0 ADXL362_REG_THRESH_INACT_L: 150 ADXL362_REG_THRESH_ACT_H: 0 ADXL362_REG_THRESH_ACT_L: 0 ADXL362_REG_tiME_INACT_L: 3 ADXL362_REG_ACT_INACT_CTL: 12 ADXL362_REG_FILTER_CTL: 131 ADXL362_REG_POWER_CTL: 2 ADXL362_REG_STATUS: 97 请教一下各位这种情况该怎么继续排查?有没有其他可以实现自由落体检测的代码我可以拿来验证一下的? |
|
相关推荐
1个回答
|
|
问题出在“ 3. 写入0x0C到寄存器0x27:使能绝对静止检测。”写0x0c是使能了相对静止而不是绝对静止,那么只要保持板子30ms不动,你就会得到inactivity interrrupt,要写0x04到寄存器0x27,再试一下。
|
|
|
|
只有小组成员才能发言,加入小组>>
987 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1383 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1937 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4268 浏览 2 评论
9059 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1520浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1692浏览 2评论
989浏览 2评论
1666浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1384浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:14 , Processed in 0.785465 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号