【ADXL375】低功耗三轴加速度传感器 +Arduino IDE

目录

一、概述

二、ADXL375简要介绍 

三、驱动代码 

(一)驱动代码下载

(二)驱动代码示例分析 

四、实验测试

五、总结


一、概述

        由于网上关于ADXL375的资源比较丰富,所以本文主要讲述关于ADXL375的简易开发流程,并给出详细的资料以供取用。

实际上ADXL375的驱动实现流程和上一篇文章提到的ADXL373驱动代码是很相似的,如有需要可以点击下方链接跳转:【ADXL373、ADXL372】超低功耗加速度计的驱动代码测试-CSDN博客

二、ADXL375简要介绍 

        ADXL375是一款3轴、±200G 数字MEMS加速度计,其原理图如下:

         初步了解,可以看到其内部是有一个ADC来转换传感器信号的,它将三轴加速度储存为16位二进制补码的形式,与ADXL373的12位数据相比,ADXL375的精度是高很多的,所以它的应用场景也更加的丰富。

重点特征:

        1、低功耗:VS = 2.5 V时(典型值),测量模式下低至35 µA,待机模式下为0.1 µA;

        2、冲击事件检测(在汽车领域可以应用于检测汽车碰撞这一类事件);

        3、电源电压范围:2.0 V至3.6 V

        4、支持SPI(3线式或4线式)和I2C数字接口(一般会使用SPI

        5、宽工作温度范围: -40℃至+85℃

        6、抗冲击能力:10,000 g

        7、ADXL375-EP支持防务和航空航天应用(AQEC标准)

详细参数和数据手册可跳至官网下载:

        ADXL375数据手册和产品信息 | Analog Devices 

三、驱动代码 

(一)驱动代码下载

        可以直接访问github上面的库:

  adafruit/Adafruit_ADXL375: Arduino library for ADX375 high-G accelerometer (github.com)

(二)驱动代码示例分析 

在这个库文件中的examples中有两个示例:offsets.ino  以及 sensortest.ino,如下图所示:

其中offsets.ino相较于sensortest.ino多了一个自动校准的代码,如下图红色方框内所示: 

        如果你看过我关于ADXL373的那篇文章中关于偏移寄存器的设置(OFFSET Register) ,那么你可以更容易的理解这段代码的逻辑。在这里我们可以很好的复习一遍,ADXL375传感器在成功运行读到数据之后,大概率数据并不是理想的。(水平放置下可能是:+0.05g,-0.05g,+0.85g)所以给驱动代码加一段校准程序是必要的。那么如何校准呢?

         首先,我们需要把OFFSET REGISTER内的数值置为0,也就是清空寄存器。之后我们根据上图中的Offset的范围以及49mg/LSB可以得到:在OFFSET_REG中的Value每增加1相对应的会偏移8个LSB(400 mg ≈ 49 * 8 mg),而我们要做的就是:根据OFFSET REG 清零之后测得的三轴的加速度数据,然后算出对应的偏移量应该为多少,最后再重新设置进OFFSET Register中即可完成校准。并且由于 49mg = 0.049g / LSB,所以最后得到的数据会有约为0.05g的误差。

四、实验测试

        因为在实际芯片测试中ADXL375在加速度大于100g的时候表现出来较大的误差,所以就暂时不把测试结果放出来了。但可以告知的是,我使用测试设备是冲击台,最高是设置了峰值为250g的冲击测试,最低是65g的加速度。

        这是冲击台的一部分测试结果(纵坐标单位均为/g):

        我还做了正弦震动的测试,设置的加速度峰值是15g,属于较低的G值:

五、总结

        对于如何编写ADXL375的库文件可以参考别人已经写好的库进行开发,也可以直接使用现成的驱动代码,相比起ADXL373无码可用要好一点。

        挖坑:后续如果找到实验结果不理想的原因,并优化了ADXL375的驱动代码,可以实验测出它在大G值时还依旧保持较高的准确性的话,将会在这里进行更新,预计是9月份完成。

        如果您对我所介绍的内容有任何改进的建议也欢迎告诉我!如果本文对你有帮助的话,不妨点个赞。欢迎留言讨论问题,一起讨论问题、解决问题。

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值