9792

帖子

24

TA的资源

版主

21
 
外力对倾角测量的影响处理起来相对麻烦
具体还和你的实际应用有关,比如你要测量的倾角精度,响应时间等等
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

22
 
littleshrimp 发表于 2018-9-5 15:03
外力对倾角测量的影响处理起来相对麻烦
具体还和你的实际应用有关,比如你要测量的倾角精度,响应时间等等 ...

谢谢,您的回答很专业,三轴加速度支持AWT的芯片是不是只有LIS3DSH这一款,LIS2DS12做不到?

点评

lis2ds12有倾斜检测功能,运动对测量结果的影响你可以测试一下 https://www.st.com/resource/en/application_note/dm00119046.pdf  详情 回复 发表于 2018-9-6 14:42
 
 
 

回复

9792

帖子

24

TA的资源

版主

23
 
JimmyKudo 发表于 2018-9-5 21:09
谢谢,您的回答很专业,三轴加速度支持AWT的芯片是不是只有LIS3DSH这一款,LIS2DS12做不到?

lis2ds12有倾斜检测功能,运动对测量结果的影响你可以测试一下
https://www.st.com/resource/en/application_note/dm00119046.pdf
 
 
 

回复

297

帖子

0

TA的资源

一粒金砂(中级)

24
 
不错
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

25
 
版主,可以分享一下程序吗,是LIS3DSH的新手,想弄个计步器。谢谢,2510376862@qq.com
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

26
 

大佬,为什么我用的例程调试的时候,一直读不到模块的应答呢。

点评

检查供电和通信波形 自己焊的板子看看焊接是否正常  详情 回复 发表于 2019-12-25 18:17
 
 
 

回复

9792

帖子

24

TA的资源

版主

27
 
o景天o 发表于 2019-12-25 16:46 大佬,为什么我用的例程调试的时候,一直读不到模块的应答呢。

检查供电和通信波形

自己焊的板子看看焊接是否正常

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

28
 
littleshrimp 发表于 2019-12-25 18:17 检查供电和通信波形 自己焊的板子看看焊接是否正常

多谢,已经可以正常通信了,可是我在读XYZ参数的时候,模块没有移动,却跳变的很厉害,应该是不正常的,可能是什么原因呢。我这里读了下X的数据信息。

image-20191227173401-1.png (16.87 KB, 下载次数: 0)

image-20191227173401-1.png

点评

代码里没有判断XDA标志,数据可能在没有准备好时被读出 你可以在每次读取时加大于10ms的延时,或者读之前判断一下STATUS (27h)的XDA标志 或者使用DRDY信号  详情 回复 发表于 2019-12-27 17:43
 
 
 

回复

9792

帖子

24

TA的资源

版主

29
 
o景天o 发表于 2019-12-27 17:35 多谢,已经可以正常通信了,可是我在读XYZ参数的时候,模块没有移动,却跳变的很厉害,应该是不正常的, ...

代码里没有判断XDA标志,数据可能在没有准备好时被读出

你可以在每次读取时加大于10ms的延时,或者读之前判断一下STATUS (27h)的XDA标志

或者使用DRDY信号

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

30
 
littleshrimp 发表于 2019-12-27 17:43 代码里没有判断XDA标志,数据可能在没有准备好时被读出 你可以在每次读取时加大于10ms的延时,或者读 ...

我这边修改了以后,感觉从寄存器里读回的数据还是不对呀。在我不动芯片的时候,高位数据一直能读到数据。但是我以前用ADX345的时候高位都是没数据回来的,是这芯片就这样的么?

我看你这边还有用i2c_read_n_byte去读7组数据,可是我连续读取的时候,只能读到X_L数据。(同样的函数,读取ADX345就没问题)

这句   ax = (buf[3] + (buf[4] << 8)) * 0.06 + 2;这里*0.06+2是为什么呢?

image-20191230154442-2.png (11.3 KB, 下载次数: 0)

image-20191230154442-2.png

点评

"ax = (buf[3] + (buf[4] << 8)) * 0.06 + 2;这里*0.06+2是为什么呢?" 这个时间长有点忘了,目的应该是将数据转换成对应的加速度值,但是计算方法好像是写错了 [attachimg]454072[/attachimg] LIS  详情 回复 发表于 2019-12-30 16:51
你再检查一下你的通信是否正常,还有LIS3DSH的WHO_AM_I是多少,读到的和数据手册是否一致 我刚看了数据手册是0x3F,看你的代码里是0x33,这个你再确定一下  详情 回复 发表于 2019-12-30 16:15
 
 
 

回复

9792

帖子

24

TA的资源

版主

31
 
o景天o 发表于 2019-12-30 15:48 我这边修改了以后,感觉从寄存器里读回的数据还是不对呀。在我不动芯片的时候,高位数据一直能读到数据。 ...

你再检查一下你的通信是否正常,还有LIS3DSH的WHO_AM_I是多少,读到的和数据手册是否一致

我刚看了数据手册是0x3F,看你的代码里是0x33,这个你再确定一下

点评

0.0  你这么一说,我倒是想起来了,3DH的WHO_AM_I是0x33...我在看下,他们这个芯片是不是错了  详情 回复 发表于 2019-12-30 16:44
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

32
 
littleshrimp 发表于 2019-12-30 16:15 你再检查一下你的通信是否正常,还有LIS3DSH的WHO_AM_I是多少,读到的和数据手册是否一致 我刚看了数 ...

0.0  你这么一说,我倒是想起来了,3DH的WHO_AM_I是0x33...我在看下,他们这个芯片是不是错了

 
 
 

回复

9792

帖子

24

TA的资源

版主

33
 
o景天o 发表于 2019-12-30 15:48 我这边修改了以后,感觉从寄存器里读回的数据还是不对呀。在我不动芯片的时候,高位数据一直能读到数据。 ...

"ax = (buf[3] + (buf[4] << 8)) * 0.06 + 2;这里*0.06+2是为什么呢?"

这个时间长有点忘了,目的应该是将数据转换成对应的加速度值,但是计算方法好像是写错了

LIS3DSH的驱动你可以参考这个贴子的官方驱动

https://bbs.eeworld.com.cn/thread-544224-1-1.html

 

刚才看了手册没看出它的输出是不是二进制补码,正常应该是

如果是的话计算方法应该是(int16_t)(MSB<<8 + LSB) * 0.06 结果的单位是mg

0.06是根据你设置的满量程加速度值得到的,+-2g对应0.06mg/digit

 

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

34
 

感谢楼主分享,目前正在搞这个东西。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表