ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LIS3DHTR 写驱动时遇到的两个问题

2020-01-21 14:05:53  阅读:485  来源: 互联网

标签:digit 量程 AD 遇到 16 mg 加速度 驱动 LIS3DHTR


LIS3DH是ST的一款三轴加速度计;TR表示包装方式,编带包装后绕在轮盘上,便于自动贴片机使用。


I2C通信正常却读不到正确的加速度值

  1. 判断I2通信正常是通过从WHO_AM_I(0x0F)能读出0x33WHO_AM_I
  2. 读取加速度值是发送地址OUT_X_L(0x28)后连读6个字节,却没有读正确(意料之外的数据)。
    OUT_X_L
  3. 确认了三轴也有使能。
    CTRL_REG1
  4. 结果是I2C通信协议和LSM6DS3TR有点区别。连读的时候需要将寄存器地址最高位置1,后面的地址才会自增。MSBMSB

加速度换算的问题

  1. ±2g量程Normal Mode下,手册给出的单位是mg/digit,这个digit百思不得其解。
    mg/digit
  2. 根据这个表格,在不同模式下ADC使用了不同位数(位数越少功耗越低),随着量程增大(±2/4/8/16g),ADC的分辨率越低。
    digit
  3. 推测这个mg/digit对应的是在确定模式确定量程下AD值变化1对应的加速度变化值,但实际通信中总是16位的AD值,所以不管内部AD是几位,最终都会映射到16位AD值,实际的转换系数为量程(2/4/8/16) *2*1000/65536,单位是mg/LSB(手册里的digit意思应该同LSB)。
廖昌海 发布了46 篇原创文章 · 获赞 83 · 访问量 14万+ 私信 关注

标签:digit,量程,AD,遇到,16,mg,加速度,驱动,LIS3DHTR
来源: https://blog.csdn.net/hxiaohai/article/details/104060560

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有