[运动传感器] ST加速计(LIS3DH)使用基础篇 三 --single click, double click

nmg   2017-7-26 17:39 楼主
LIS3DH芯片集成了单击和双击的功能,这给很多应用提供了便利,例如在穿戴设备上,不但减少了布置按键给小巧的结构设计带来的挑战,对于用户来说,这种更大自由度的操作方式更是一种愉悦的享受。下面具体介绍下这个功能吧。

要了解这两个功能的设置,需先了解下相关的寄存器:


0?wx_fmt=png
0?wx_fmt=png

0?wx_fmt=png
0?wx_fmt=png


这里有一个阈值设置的寄存器,和三个时间的窗口设置的寄存器(timelimit , time latency, time window). 后面在介绍single click 和double click 时会讲到他们分别的作用。

一  Single click

如下图,sensor通过检查加速度的变化是否有超出预先定义的阈值,然后在规定的时间内(time limit)又是否小于此阈值来判断一个single click 的动作,阈值和时间(time limit)就定义了加速的的变化波形。下图中,a 同时满足了阈值和时间限制的条件,是一次成功的动作的识别,然后产生了中断。b只满足了大于阈值的条件,但在规定时间限制内没有降到阈值下,所以不满足识别的条件。

0?wx_fmt=png


二 Double click
如下图,double click实际上是两个singleclick的识别,但是同时还要满足另外两个时间窗口的要求(timelatency , time window).当第一click识别后,在time latency 窗口内,sensor不会做任何识别,在time window 窗口内开始第二click的识别,判断此时的加速度值是否大于阈值,如果成功识别到第二次click,就会产生一个中断输出一个doubleclick 的事件。
0?wx_fmt=png


实战技巧:

1)时间窗口的设置,寄存器每个最小的时间单位是LSB=1/ODR(output data rate) , 假设ODR是100 HZ,那最小的时间单位就是10ms,假设你要设的时间是t,那对应的寄存器就要设置为X=t/(1/100).

2)阈值的设定是与量程相关的,1LSB= FULL SCALE/128.

3)数据的采集,为了设置合理的时间窗口和阈值,要进行数据的收集,因为不同的应用,结构,材料可能不同,导致最终敲击的波形会有一些差异,建议收集数据时采用系统能支持的最大采样频率,这样采集的数据才能完整反映实际的波形。如下图是一个双击的波形图。可以看出波形比较尖锐,latency窗口比timelimit 窗口要明显的大。


0?wx_fmt=png

4) 根据设计的要求合理评估识别率与误触发率,最终配置合理的参数。

回复评论 (2)

请问想 你那个数据采集  是怎么弄出来的呢

点赞  2021-8-7 11:35
引用: 浩瀚飞芯 发表于 2021-8-7 11:35 请问想 你那个数据采集  是怎么弄出来的呢

最下边那张图应该是用EXCEL画的,采集数据的方式有很多种,你可以自己使用单片机读取传感器数据然后发送到上位机分析。也可以使用ST的传感器工作,STEVAL-MKI109V3来读取分析数据。

虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2021-8-9 15:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复