ADXL345使用经验及技巧

外勤365登录官网 📅 2025-10-01 03:00:46 👤 admin 👁️ 6513 👑 205
ADXL345使用经验及技巧

问答对人有帮助,内容完整,我也想知道答案

0

最近用ADI的三轴加速度计ADXL做个小东东,网上搜搜,发现用这个芯片的人很多,已经有很多应用研究。常常接受ADI专家的指导,我今天也分享一回,借花献佛分享点搜到的几条ADXL345使用经验:

ADXL345是一种三轴加速度计。当ADXL345沿检测轴正向加速时,它对正加速度进行检测。在检测重力时需要注意,当检测轴的方向与重力的方向相反时检测到的是正加速度。

ADXL345通过3线式或4线式模式进行通信。

图1所示为4线式SPI模式的电气连接。注意,当使用3线式SPI模式时可断开SDO引脚。

图1、4线式连接

图2所示为推荐的3线式模式电气连接。器件的7位I2C地址是0x53,紧随其后的是R/W位。用户通过将SDO/ALTADDRESS引脚连接到VDDIO引脚来选择I2C的替代地址。此配置下的7位I2C地址是0x1D,紧随其后的是R/W位。

图2、3线式连接

初始化时,ADXL345在启动序列期间工作在100 Hz ODR,在INT1引脚上有DATA_READY中断。设置其它中断或使用FIFO时,建议所使用的寄存器在POWER_CTL和INT_ENABLE寄存器之前进行设置。

读取数据时,DATA_READY中断信号表明数据寄存器中的三轴加速度数据已被更新。当新数据就绪时它会被置为高电平。(通过DATA_FORMAT寄存器,中断信号可设置为由低电平变为高电平)利用低-高跃迁来触发中断服务例程。可从DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0和DATAZ1寄存器中读取数据。为了确保数据的一致性,推荐使用多字节读取从ADXL345获取数据。

ADXL345为16位数据格式。从数据寄存器中获取加速度数据后,用户必须对数据进行重建。

DATAX0是X轴加速度的低字节寄存器,DATAX1是高字节寄存器。在13位模式下高4位是符号位。注意,可通过DATA_FORMAT寄存器设置其它数据格式POWER_CTL和INT_ENABLE寄存器之前进行设置。

同时ADXL345具有偏移寄存器,可进行偏移校准。偏移寄存器的数据格式是8位、二进制补码。偏移寄存器的分辨率为15.6 mg/LSB。如果偏移校准的精度必须高于15.6 mg/LSB,需要在处理器中进行校准。偏移寄存器将写入到寄存器的值相加来测试加速度。例如,如果偏移为+156 mg,那么应该往偏移寄存器写入−156 mg

2

2018-11-1 09:09:22

评论

淘帖0

邀请回答

您可以邀请以下用户,快速回答问题

×

cong29898

该类别下有 74 个回答。

邀请回答

bwerwer

该类别下有 68 个回答。

邀请回答

尼克wo

该类别下有 46 个回答。

邀请回答

崇明土匪

该类别下有 45 个回答。

邀请回答

脑洞大赛7

该类别下有 40 个回答。

邀请回答

xieweibin

该类别下有 40 个回答。

邀请回答

yfdsfqdqd

该类别下有 38 个回答。

邀请回答

wjwierw

该类别下有 38 个回答。

邀请回答

Arttronix

该类别下有 32 个回答。

邀请回答

bgvywerq

该类别下有 25 个回答,其中被选为最佳答案 1 次。

邀请回答

wyerwwr

该类别下有 24 个回答。

邀请回答

easonl

该类别下有 24 个回答。

邀请回答

evpt

该类别下有 24 个回答。

邀请回答

脑洞大赛20

该类别下有 22 个回答。

邀请回答

60user167

该类别下有 22 个回答。

邀请回答

keven杨

该类别下有 21 个回答。

邀请回答

HTJD

该类别下有 20 个回答。

邀请回答

胡bbs2

该类别下有 19 个回答。

邀请回答

ci56789

该类别下有 19 个回答。

邀请回答

xiaokanchenfu

该类别下有 19 个回答。

邀请回答

举报

王雷

相关推荐

• 稳压源或者电脑USB给主板和ADXL345统一供电,ADXL345不能正常工作

2941

• nanopi neo 利用官方提供的adxl345例程无法检测到ADXL345设备。

3034

• ADXL345 Z轴数据读取异常

3972

• ADXL345中断清零问题

5396

• 请问ADXL345的中断如何配置?

8108

• ADXL345的频率及如何除去重力的影响

2651

• 不管怎么移动ADXL345都不产生中断

3125

• 请问怎样控制ADXL345只测量动态加速度

2821

• ADXL345的x轴测出的加速度是离心加速度吗

2784

• ADXL346能直接代替ADXL345吗

9439

提交评论

11个回答

答案对人有帮助,有参考价值

0

ADXL345使用心得一

ADXL345具有+/-2g,+/-4g,+/-8g,+/-16g可变的测量范围;最高13bit分辨率;固定的4mg/LSB灵敏度;3mm*5mm*1mm超小封装;40-145uA超低功耗;标准的I2C或SPI数字接口;32级FIFO存储;以及内部多种运动状态检测和灵活的中断方式等特性。

ADXL345应用领域很广,拥有灵活的和主控制器通行的SPI(3线和4线)和I2C数字接口,可选的测量范围和带宽,有方便的单振/双振检测 ,活动/非活动监控 和自由落体检测功能。

这款加速度计有八个能够独立使用的中断,中断这里要说一下的就是int1和int2两个中断管脚,中断功能能够通过寄存器相应的映射到这两个管脚。还有就是x、y、z三个轴的中断只能单独使用。另外,对于Activity和Inactivity中断,分成两个工作方式,一个是AC、一个是DC,这两个工作方式对应的工作方式是不同的,AC对应的是新的采样点将以之前的某个采样点为参考,用两个采样点的差值与门限进行比较,来判断是否发生中断。DC 工作方式下,每个采样点的加速度值将直接与门限进行比较,来判断是否发生中断。还有就是Watermark 当FIFO里所存的采样点超过一定点数(SAMPLES)时,Watermark中断置位。当FIFO里的采样点被读取,使得其中保存的采样点数小于该数值(SAMPLES)时,Watermark中断自动清除。 Watermark 当FIFO里所存的采样点超过一定点数(SAMPLES)时,Watermark中断置位。当FIFO里的采样点被读取,使得其中保存的采样点数小于该数值(SAMPLES)时,Watermark中断自动清除。 还要说的一点是:ADXL345的FIFO最多可以存储32个采样点(X、Y、Z三轴数值),且具有Bypass模式、普通FIFO模式、Stream模式和Trigger模式,一共4种工作模式。FIFO功能也是ADXL345的一个重要且十分有用的功能。

还有,当开始调试ADXL345时,先不要急着对其数据进行处理,可以直接先观察数据,然后根据数据再分析,之后再进行处理,比如做补偿电路。

2018-11-1 09:14:52

评论

举报

王雷

提交评论

答案对人有帮助,有参考价值

0

ADXL345使用心得二

ADXL345和微控制器之间的电路连接非常简单。由ADXL345和微控制器ADuC7026组成。给出了ADXL345和ADuC70262之间的典型电路连接。ADXL345的CS管脚接高电平,表示ADXL345工作在I2C模式。SDA和SCL是I2C总线的数据线和时钟线,分别连接到ADuC7026相应的I2C总线管脚。ADuC7026的一个GPIO管脚连接到ADXL345的ALT管脚,用来选择ADXL345的I2C地址。ADXL345的INT1管脚连接到ADuC7026的IRQ输入用来产生中断信号。说到了I2C,就说下有关I2C的东西吧!对于I2C总线协议,无论读写,I2C的SDA信号线上送出的第一个字节一定是SLAVE ADDRESS+WRITE。如果这里配置错了,那么数据就是一直读不出来的。读取ADXL345内部寄存器的读写操作时以字节为单位的,而两个字节之间的CS-n,SCLK一直保持有效。在读取寄存器的时候,先要读取内部地址0x00的DEVID,正确之后再进行其他寄存器的操作。因为一个器具具有唯一的ID号,而对这个ID号的读取时首要的任务。

在通信模式和硬件连接的电路中,要注意几点:

1 、cs-n必须要上拉到VDD才能启动I2C总线模式

2 、SDA和SCL需要上拉电阻

3 、SDA在FPGA的IO配置时,要将其配置为inout类型

4 、注意ALT-ADDRESS的连接方式与对应的设备从地址是不同的底层驱动的调试是件很头疼的事情,最关键的是对时序的理解。下面是一些经验总结:

1)应当确保硬件连线的正确性。比如,在调试I2C模式时,先确定DSP板的I2C接口正常;如果开始也能确保ADXL345模块正常,那就能将错误定位在软件上,问题就容易解决多了。

2)要确保拿到通信双方器件的正确时序图。合理的配置主控器件,使双方的时序一致。

3)搜索一些参考例子,在其基础上修改,这样也可加快调试的进度。

4)调试中,尽量寻找发现异常现象,分析可能的原因。据此,修改电路或者程序,尝试凸显问题,印证推断。同时,不断记录总结现象和实际原因,日积月累,经验会不断增加。

2018-11-1 09:28:27

评论

举报

王雷

提交评论

答案对人有帮助,有参考价值

0

下面是网友分享的ADXL345校准原理

首先,这个校准的过程是手动的(类似手机上的传感器校准),把模块水平放置(这个水平也只是个大概,如果要求高的话,还需要其他仪器辅助),那么x轴和y轴的度数应该为0g,获取此时的实际x轴和y轴的度数,假设是20和-17。要注意此时传感器的量程和分辨率,假设此时adxl345是常规量程+-16g,分辨率13位,那么此时度数的系数应该是1g/256 *1000 = 3.9 mg/LSB,从数据手册上可以查到 偏移寄存器的比例因子是 15.6mg/LSB(固定的,与量程无关),那么需要设定的实际偏移值就是 20/4 = 5和-17/4 = 4(15.6/3.9约为4)

然后取两个值的补码,分别为0x05和0xFB,写入对应的偏移寄存器。

这样,每次从传感器读取的数值就自动加上了这个设置的偏移。z轴的偏移值检测方式一样,把z轴水平放置(处于0g场)。

需要注意的是:

1、传感器掉电后,设置的偏移值就丢失了,需要在下次上电后重新设置(不过这个偏移值主要跟芯片所处的环境有关,理论上不会经常性的大变化)

2、对于偏移值的测量,可以采用多次测量求平均值的方法

2018-11-1 09:39:20

评论

举报

王雷

提交评论

答案对人有帮助,有参考价值

0

胡bbs4 发表于 2018-11-1 10:21

下面是网友分享的ADXL345校准原理

首先,这个校准的过程是手动的(类似手机上的传感器校准),把模块水平放置(这个水平也只是个大概,如果要求高的话,还需要其他仪器辅助),那么x轴和y轴的度数应该为0g,获取此时的实际x轴和y轴的度数,假设是20和-17。要注意此时传感器的量程和分辨率,假设此时adxl345是常规量程+-16g ...

谢谢楼主的热情分享!!!

是的,ADXL推出以来,获得大量的成功应用,也是网上工程师讨论最多的加速度计方案。

本论坛中就有不少工程师关于ADXL的应用问题以及咱们专家的回答帖子哦,点击下面的链接,近30条相关问答供大家参考:

http://ezchina.analog.com/search.jspa?peopleEnabled=true&userID=&containerType=&container=&q=ADXL345

2018-11-1 09:58:22

评论

举报

段朝思

提交评论

答案对人有帮助,有参考价值

0

胡bbs4 发表于 2018-11-1 10:21

下面是网友分享的ADXL345校准原理

首先,这个校准的过程是手动的(类似手机上的传感器校准),把模块水平放置(这个水平也只是个大概,如果要求高的话,还需要其他仪器辅助),那么x轴和y轴的度数应该为0g,获取此时的实际x轴和y轴的度数,假设是20和-17。要注意此时传感器的量程和分辨率,假设此时adxl345是常规量程+-16g ...

请问ADXL345在每次上电使用时都需要校准吗?我初次使用些芯片做倾斜角检测,一次做了50块板,发现40块的输出是一致的,另有10块的输出偏差很远(差几十度)但偏差值也不一致。

2018-11-1 10:04:36

评论

举报

李红

提交评论

答案对人有帮助,有参考价值

0

jhhfhgj 发表于 2018-11-1 10:46

请问ADXL345在每次上电使用时都需要校准吗?我初次使用些芯片做倾斜角检测,一次做了50块板,发现40块的输出是一致的,另有10块的输出偏差很远(差几十度)但偏差值也不一致。

根据ADI官方说法,ADXL345的校准参数是写在寄存器里面的,每次掉电后寄存器数据无法保存,因此需要每次上电重新校准。

如果输出偏差特别大,以我个人经验来看,可能芯片存在问题。建议最好采购找ADI指定的大的代理商如艾睿电子等采购,价格可能要贵一些。你买的ADXL345一片的价格是多钱?如果是10多块RMB,多半就是假的了。

附件

winmail.dat.zip5.0 KB

2018-11-1 10:17:35

评论

举报

王玉宁

提交评论

答案对人有帮助,有参考价值

0

ADXL345应用非常丰富,欢迎大家补充更多应用经验、技术资料。

2018-11-1 10:25:48

评论

举报

段朝思

提交评论

答案对人有帮助,有参考价值

0

感觉楼主好像没写完。

我用过ADXL345,但令我气愤的是我买到的居然是假芯片,害的我调试了好长时间也没有结果。只得将第一次采购的十多片全部扔掉。

ADXL345的功能的确很强大,但需要花费较长时间去熟悉掌握。我目前只是做到能一一定频率把三轴数据读出来并显示在PC屏幕上,中断功能试过但好像没反应。

2018-11-1 10:42:21

评论

举报

王玉宁

提交评论

答案对人有帮助,有参考价值

0

林宇宣55 发表于 2018-11-1 11:24

感觉楼主好像没写完。

我用过ADXL345,但令我气愤的是我买到的居然是假芯片,害的我调试了好长时间也没有结果。只得将第一次采购的十多片全部扔掉。

ADXL345的功能的确很强大,但需要花费较长时间去熟悉掌握。我目前只是做到能一一定频率把三轴数据读出来并显示在PC屏幕上,中断功能试过但好像没反应。 ...

欢迎补您充更多的使用经验哦

2018-11-1 10:53:57

评论

举报

段朝思

提交评论

答案对人有帮助,有参考价值

0

林宇宣55 发表于 2018-11-1 11:24

感觉楼主好像没写完。

我用过ADXL345,但令我气愤的是我买到的居然是假芯片,害的我调试了好长时间也没有结果。只得将第一次采购的十多片全部扔掉。

ADXL345的功能的确很强大,但需要花费较长时间去熟悉掌握。我目前只是做到能一一定频率把三轴数据读出来并显示在PC屏幕上,中断功能试过但好像没反应。 ...

目前我也是只用于过将数据读取出来,中断也都无法进入,

2018-11-1 11:11:56

评论

举报

马慧霞

提交评论

答案对人有帮助,有参考价值

0

是否也适用于ADXL355

2019-8-16 16:14:11

评论

举报

大江东去Chris

提交评论

只有小组成员才能发言,加入小组>>

皇家推荐

揭秘App标签与Android标签:掌握移动应用开发的黄金法则
燊的意思,燊的解释,燊的拼音,燊的部首,燊的笔顺
明日方舟龙门币价值设定解析:深入探讨游戏内货币的经济体系
Xiaomi/Redmi Phone/Pad Root教程
宝可梦晶灿钻石明亮珍珠:教你玩转随风球的最佳策略
一加13T充电多久充满?