打印

ADXL345 Z轴偏差大的处理

[复制链接]
978|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ljxpro|  楼主 | 2016-2-2 09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我也遇到ADXL345的Z轴输出值在1600左右的情况,作了软件处理。
1、ADXL345的Z轴沿重力的大致方向十进制示数在1200(沿重力反向)~1700(沿重力方向),换算成加速度值4.68g~6.63g。
2、从数据看,测量的加速度值变化量6.63-4.68=1.95g与实际情况1-(-1)=2g相符,说明测量是有效的,只是示数的0值偏差大,在5.65g左右。将Z轴偏移设置为5.65g时,4.68-5.65=-0.97g,6.63-5.65=0.98g。
3、因为传感器的Z轴偏移寄存器OFSZ为-2g~+2g(-128~+127,15.6mg/LSB),故使用Z轴偏移寄存器不能修正Z轴偏差,应在软件中进行修正。代码如下:

//将寄存器OFSZ设置为0x00;
......
//加速度值软件偏置,0-x,1-y,2-z
const uint16_t OFF_XYZ[] = {0x0065,0xFFDD,0x0682};

xyz[i] = (uint16_t)(temp[i*2+1]<<8) + temp[i*2] - OFF_XYZ[i]; //i=0,1,2,0-x,1-y,2-z

4、设置软件偏置修正系统偏差是设计常用方法,如果有上位机程序,可存储在.ini配置文件中,方便系统校准操作。硬件可存储在EEPROM中,调整稍繁琐。

买了两个ADXL345,第一次买的如上情况Z轴偏差大,回顾可能是首次上电时电源连接错误对器件造成损害;第二次买的正常。
通过以上软件处理后,Z轴偏大还是可以使用的。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

0

粉丝