关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 三轴加速度传感器在跌倒检测中的应用

三轴加速度传感器在跌倒检测中的应用

作者:时间:2010-09-13来源:网络收藏

过程中的变化则完全不同。图4给出的是意外过程中的变化曲线。通过图4和图3的比较,可以发现过程中的变化有4个主要特征,这可以作为跌倒的准则。这4个特这在图4中以红色的方框标注,下面将对其逐一进行详细介绍。

图4 跌倒过程中的加速度变化曲线

1. 失重:在跌倒的开始都会发生一定的失重现象。在自由落体的下降过程,这个现象会更加明显,加速度的矢量和会降低到接近0g,持续时间与自由落体的高度有关。对于一般的跌倒,失重现象虽然不会有像自由落体那么明显,但也会发生合加速度小于1g的情况(通常情况下合加速度应大于1g)。因此,这可以作为跌倒状态的第一个判断依据。可以由ADXL345的Free_Fall中断来

2. 撞击:失重之后,人体发生跌倒的时候会与地面或其他物体发生撞击,在加速度曲线中会产生一个很大的冲击。这个冲击可以通过ADXL345的Activity中断来。因此,Free_Fall中断之后,紧接着产生Activity中断是跌倒状态的第二个判断依据。

3. 静止:通常,人体在跌倒后,也就是撞击发生之后,不可能马上起来,会有短暂的静止状态(如果人因为跌倒而导致昏迷,甚至可能是较长时间的静止)。表现在加速度曲线上就是会有一段时间的平稳。这可以通过ADXL345的Inactivity中断来检测。因此,Activity中断之后的Inactivity中断是跌倒状态的第三个判断依据。

4. 与初始状态比较:跌倒之后,人体会发生翻转,因此人体的方向会与原先静止站立的姿态(初始状态)不同。这使得跌倒之后的静止状态下的三轴加速度数值与初始状态下的三轴加速度不同(见图4)。假设跌倒检测器固定在被测人体上的某个部位,这样初始状态下的三轴加速度数值可以认为是已知的(本例中,初始状态为:X轴0g,Y轴-1g,Z轴0g)。读取Inactivity中断之后的三轴加速度数据,并与初始状态进行比较。如图4所示,重力加速度方向由Y轴上的-1g变为了Z轴上的1g,这说明人体发生了侧向跌倒。因此,跌倒检测的第四个依据就是跌倒后的静止状态下加速度值与初始状态发生变化,且矢量变化超过一定的门限值(比如0.7g)。

这四个判断依据综合在一起,构成了整个的跌倒检测算法,可以对跌倒状态给出报警。当然,还要注意各个中断之间的时间间隔要在合理的范围之内。比如,除非是从很高的楼顶掉下来,否则Free_Fall中断(失重)和Activity中断(撞击)之间的时间间隔不会很长。同样,通常情况下, Activity中断(撞击)和Inactivity中断(静止)之间的时间间隔也不会很长。本文接下来会通过一个具体实例给出一组合理的取值。当然,相关中断的检测门限以及时间参数也可以根据需要而灵活设置。

另外,如果跌倒造成了严重的后果,比如,导致了人的昏迷。那么人体会在更常的一段时间内都保持静止。这个状态仍然可以通过Inactivity中断来检测。也就是说,如果发现在跌倒之后的很长时间内都保持Inactivity状态,可以再次给出一个严重报警。

典型电路连接
ADXL345和微控制器之间的电路连接非常简单。本文中的测试平台由ADXL345和微控制器ADuC70262组成。图5给出了ADXL345和ADuC70262之间的典型电路连接。ADXL345的CS管脚接高电平,表示ADXL345工作在I2C模式。SDA和SCL是I2C总线的数据线和时钟线,分别连接到ADuC7026相应的I2C总线管脚。ADuC7026的一个GPIO管脚连接到ADXL345的ALT管脚,用来选择ADXL345的I2C地址。ADXL345的INT1管脚连接到ADuC7026的IRQ输入用来产生中断信号。

其他的单片机或者处理器都可以采用与图5类似的电路与ADXL345进行连接。ADXL345还可以工作在SPI模式以获得更高的数据传输速率。关于SPI工作模式的具体描述,请参考ADXL345数据手册。

图5 ADXL345与微控制器之间的典型电路连接

表1 ADXL345寄存器功能说明

地址
寄存器名称
类型
默认值
说明
设置值
设置的功能
0DEVID只读0xE5器件ID只读
1-1CReserved保留,不要操作保留
1DTHRESH_TAP读/写0x00Tap的门限不使用
1EOFSX读/写0x00X轴失调0x06补偿X轴失调,通过初始化校正获得
1FOFSY读/写0x00Y轴失调0xF9补偿Y轴失调,通过初始化校正获得
20OFSZ读/写0x00Z轴失调0xFC补偿Z轴失调,通过初始化校正获得
21DUR读/写0x00Tap的持续时间不使用
22LATENT读/写0x00Tap的延迟时间不使用
23WINDOW读/写0x00Tap的时间窗不使用
24THRESH_ACT读/写0x00Activity的门限0x20/0x08设置Activity的门限为2g或0.5g
25THRESH_INACT读/写0x00Inactivity的门限0x03设置Inactivity的门限为0.1875g
26TIME_INACT读/写0x00Inactivity的时间0x02/0x0A设置Inactivity的时间为2s或10s
27ACT_INACT_CTL读/写0x00Activity/Inactivity使能控制0x7F/0xFF使能X、Y、Z三轴的Activity和Inactivity功能,其中Inactivity为AC coupled模式,Activity为DC coupled 或 AC coupled模式
28THRESH_FF读/写0x00Free-Fall的门限0x0C设置Free-Fall的门限为0.75g
29TIME_FF读/写0x00Free-Fall的时间0x06设置Free-Fall的时间为30ms
2ATAP_AXES读/写0x00Tap/Double Tap使能控制不使用
2BACT_TAP_STATUS只读0x00Activity/Tap中断轴指示只读
2CBW_RATE读/写0x0A采样率和功耗模式控制0x0A设置采样率为100Hz
2DPOWER_CTL读/写0x00工作模式控制0x00设置为正常工作模式
2EINT_ENABLE读/写0x00中断使能控制0x1C使能Activity、Inactivity、Free-Fall中断
2FINT_MAP读/写0x00中断影射控制0x00所有中断影射到Int1管脚
30INT_SOURCE只读0x00中断源指示只读
31DATA_FORMAT读/写0x00数据格式控制0x0B设置为+/-16g测量范围,13bit右对齐模式,中断为高电平触发,使用I2C数据接口
32DATAX0只读0x00X轴数据只读
33DATAX1只读0x00只读
34DATAY0只读0x00Y轴数据只读
35DATAY1只读0x00只读
36DATAZ0只读0x00Z轴数据只读
37DATAZ1只读0x00只读
38FIFO_CTL读/写0x00FIFO控制不使用
39FIFO_STATUS只读0x00FIFO状态不使用


评论


相关推荐

技术专区

关闭