发 帖  
原厂入驻New
张飞60小时讲透半桥串联谐振软开关电源设计,立即学习!
[问答] adxl345 activity中断y轴有事件发生
274 寄存器 中断 传感器
分享
在做activity中断的时候,使用交流耦合,使能xy轴,阀值设定为0x10,水平静止放置芯片,测的数据寄存器的xy轴数据在-70左右而且稳定,以读取0x2b寄存器发现y轴有事件发生,读取0x30 中断源是0x93表明是activity中断,但是xy轴数据稳定,没道理会有1g的跳动啊,我又试了一下0x18,也会出现经常中断,最后阀值设定为0x28,才使得没有中断发生。器件水平静止无任何人为振动或敲击它。
  x轴向上,绕x旋转,XYZ 3个数据应该会这么样呢?小弟我刚搞这个传感器,求高人指教,谢谢
0
2018-11-30 10:05:06   评论 分享淘帖 邀请回答
16个回答
您好。ADXL345做activity检测使用的是非抽取数据,输出的数据是抽取数据,带宽也更低。中断触发时可能在输出数据上看来没有满足设置条件。
但是您的设置条件和数据相差较多。请您检查芯片的供电,注意电源的去耦。请回读寄存器设置,检查写入值和回读值是否一致
2018-11-30 10:18:08 评论

举报

st94wo 发表于 2018-11-30 17:21
您好。ADXL345做activity检测使用的是非抽取数据,输出的数据是抽取数据,带宽也更低。中断触发时可能在输出数据上看来没有满足设置条件。
但是您的设置条件和数据相差较多。请您检查芯片的供电,注意电源的去耦。请回读寄存器设置,检查写入值和回读值是否一致 ...

首先谢谢您在百忙之中对我的问题的回答。但是我太理解您说的非抽取数据和抽取数据是什么意思?我不太明白,是不是非抽取数据和抽取数据并不一样,非抽取数据要比抽取数据大?我刚搞这个传感器,看到adxl345手册好像并没有提到。
那个我的寄存器写入值,进行回读得到的值是正确的,就是写入与读取操作是没有问题的。
我本来想在敲击桌面来使adxl345产生中断,实际上中断是产生了,但是我试图通过读取XYZ寄存器来获取这个产生中断的数据值,但是获取不到超过设定阀值的值。不知道怎么回事
2018-11-30 10:24:35 评论

举报

光摄微针 发表于 2018-11-30 17:28
首先谢谢您在百忙之中对我的问题的回答。但是我太理解您说的非抽取数据和抽取数据是什么意思?我不太明白,是不是非抽取数据和抽取数据并不一样,非抽取数据要比抽取数据大?我刚搞这个传感器,看到adxl345手册好像并没有提到。
那个我的寄存器写入值,进行回读得到的值是正确的,就是写入与读取操作是没有问题的。
我本来 ...

您好。active检测使用的数据和输出的数据并不完全一样,详细的阐述请您参考手册THRESHOLD部分。
但是您的设置条件和检测的结果相差较大。检测到中断后,中断是否清楚了,一直有active中断产生。实验环境中有没有振动等干扰条件。您可以将传感器电路静止平放在试验台,单独试验每个轴的中断情况。您试验过几颗传感器
2018-11-30 10:31:39 评论

举报

st94wo 发表于 2018-11-30 17:35
您好。active检测使用的数据和输出的数据并不完全一样,详细的阐述请您参考手册THRESHOLD部分。
但是您的设置条件和检测的结果相差较大。检测到中断后,中断是否清楚了,一直有active中断产生。实验环境中有没有振动等干扰条件。您可以将传感器电路静止平放在试验台,单独试验每个轴的中断情况。您试验过几颗传感器 ...

每次有中断都清除了,目前测试了6个芯片,都是同一个批次的
2018-11-30 10:48:08 评论

举报

光摄微针 发表于 2018-11-30 17:51
每次有中断都清除了,目前测试了6个芯片,都是同一个批次的

楼主,目前我也遇到这样的问题请问你是如何解决的,看了手册阈值部分好像也没有具体说清楚。
2018-11-30 11:07:55 评论

举报

st94wo 发表于 2018-11-30 17:35
您好。active检测使用的数据和输出的数据并不完全一样,详细的阐述请您参考手册THRESHOLD部分。
但是您的设置条件和检测的结果相差较大。检测到中断后,中断是否清楚了,一直有active中断产生。实验环境中有没有振动等干扰条件。您可以将传感器电路静止平放在试验台,单独试验每个轴的中断情况。您试验过几颗传感器 ...

你好,我也遇到同样的问题,我把阈值设定在2g手只要轻轻的要个晃动,就能够让ADXL345产生ACTIVITY中断,能给我解释一下这是什么问题吗?谢谢!
2018-11-30 11:23:29 评论

举报

jdjfuwegs 发表于 2018-11-30 18:27
你好,我也遇到同样的问题,我把阈值设定在2g手只要轻轻的要个晃动,就能够让ADXL345产生ACTIVITY中断,能给我解释一下这是什么问题吗?谢谢!

您好。如果使用DC的活动检测,因为存在重力加速度,Z轴(和传感器放置有关)可能会有1g的加速度信号。到2g的阈值距离有1g。可以尝试改变阈值,使用AC方式,也可以连续读取加速度数值看实际加速度信号大小
2018-11-30 11:28:56 评论

举报

st94wo 发表于 2018-11-30 18:32
您好。如果使用DC的活动检测,因为存在重力加速度,Z轴(和传感器放置有关)可能会有1g的加速度信号。到2g的阈值距离有1g。可以尝试改变阈值,使用AC方式,也可以连续读取加速度数值看实际加速度信号大小

你好!我最近在做adxl345相关的实验。做到相对阈值活动中断触发时遇到了问题。
有个疑问:相对阈值检测时,参考值是开始测试时的值。这个开始测试是如何界定的?是芯片上电时还是每个前一次中断被触发时的值?
下面是我的部分程序,你帮忙看看设置是否有问题。(测试现象时:x轴每次移动角度与前一次有一定的差值时才会触发中断,与上电时的初试状态位值无关。)
ADXL345_SetRegisterValue(ADXL345_POWER_CTL,0x00);
                              ADXL345_SetRegisterValue(ADXL345_INT_ENABLE,0x00);
                              ADXL345_SetRegisterValue(ADXL345_DATA_FORMAT,0X0B);
                              ADXL345_SetRegisterValue(ADXL345_BW_RATE,0x0A);
                              ADXL345_SetRegisterValue(ADXL345_OFSX,0x00);
                      ADXL345_SetRegisterValue(ADXL345_OFSY,0x00);
                      ADXL345_SetRegisterValue(ADXL345_OFSZ,0x00);
                              ADXL345_SetRegisterValue(ADXL345_THRESH_ACT, 0x01);
                              ADXL345_SetRegisterValue(ADXL345_THRESH_INACT, 0x01);
      ADXL345_SetRegisterValue(ADXL345_TIME_INACT, 0x01);
                              ADXL345_SetRegisterValue(ADXL345_ACT_INACT_CTL, 0xc0);// AC-x axis Enable
                              ADXL345_SetRegisterValue(ADXL345_INT_MAP, 0x08);//activity -- INT1
                              ADXL345_SetRegisterValue(ADXL345_INT_ENABLE,0x18);
                              ADXL345_SetRegisterValue(ADXL345_POWER_CTL,0x08);
 
                              ADXL345_GetRegisterValue(ADXL345_ACT_TAP_STATUS);
                              ADXL345_GetRegisterValue(ADXL345_INT_SOURCE);
 
中断触发后及时清中断:
ADXL345_GetRegisterValue(ADXL345_ACT_TAP_STATUS);
                              ADXL345_GetRegisterValue(ADXL345_INT_SOURCE);
2018-11-30 11:43:31 评论

举报

云汉007 发表于 2018-11-30 18:47
你好!我最近在做adxl345相关的实验。做到相对阈值活动中断触发时遇到了问题。
有个疑问:相对阈值检测时,参考值是开始测试时的值。这个开始测试是如何界定的?是芯片上电时还是每个前一次中断被触发时的值?
下面是我的部分程序,你帮忙看看设置是否有问题。(测试现象时:x轴每次移动角度与前一次有一定的差值时才会触发 ...

您好。使用AC活动检测,活动检测开始时的加速度值会取做参考值,"the acceleration value at the start of activity detection is taken as a reference value. New samples of acceleration are then compared to this reference value,"
请参考数据手册ACT AC/DC and INACT AC/DC Bits部分。
2018-11-30 11:59:57 评论

举报

st94wo 发表于 2018-11-30 19:03
您好。使用AC活动检测,活动检测开始时的加速度值会取做参考值,"the acceleration value at the start of activity detection is taken as a reference value. New samples of acceleration are then compared to this reference value,"
请参考数据手册ACT AC/DC and INACT AC/DC Bits部分。 ...

您好! 首先谢谢您的回答。您提到的文档部分我阅读了好几遍。 对“at the start of activity detection”一直不能深刻理解。 它是指活动中断开始使能的那一刻吗?  顺便帮我看下,上面发的程序部分是否可以进行ACT AC检测?  谢谢!!
2018-11-30 12:15:48 评论

举报

云汉007 发表于 2018-11-30 19:19
您好! 首先谢谢您的回答。您提到的文档部分我阅读了好几遍。 对“at the start of activity detection”一直不能深刻理解。 它是指活动中断开始使能的那一刻吗?  顺便帮我看下,上面发的程序部分是否可以进行ACT AC检测?  谢谢!! ...

您好。请参考链接中的讨论ADXL345: Question about reference values for AC... | EngineerZone
2018-11-30 12:22:03 评论

举报

Z轴方向一直会有1g的加速度,所以当你静止不动时,Z轴也会有比较大的数据,所以你阀值设为1g有中断就很正常了。
2018-11-30 12:39:06 评论

举报

as819160932 发表于 2018-11-30 19:42
Z轴方向一直会有1g的加速度,所以当你静止不动时,Z轴也会有比较大的数据,所以你阀值设为1g有中断就很正常了。

Z轴我禁用了,只使能xy轴的
2018-11-30 12:51:02 评论

举报

光摄微针 发表于 2018-11-30 19:54
Z轴我禁用了,只使能xy轴的

你确定你把Z轴关闭了,我怎么在资料里面没有发现有这个功能呢
2018-11-30 13:07:09 评论

举报

光摄微针 发表于 2018-11-30 19:54
Z轴我禁用了,只使能xy轴的

我看到了,我以前没有用过这个功能。也不太清楚。
2018-11-30 13:25:54 评论

举报

as819160932 发表于 2018-11-30 20:29
我看到了,我以前没有用过这个功能。也不太清楚。

2018-11-30 13:43:17 评论

举报

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

693个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表