三轴加速度传感器在跌倒检测中的应用
时间:2023-09-29 10:33来源: 作者: 点击: 次前言
人们在后会面临双重危险。显而易见的是本身可能对人体产生伤害;另外,如果后不能得到及时的救助,可能会使结果更加恶化。例如,许多老年人由于其身体比较虚弱,自理能力和自我保护能力下降,常常会发生意外跌倒,如果得不到及时的救助,这种跌倒可能会导致非常严重的后果。有资料显示,很多严重的后果并不是由于跌倒直接造成的,而是由于跌倒后,未得到及时的处理和救护。当出现跌倒情况时,如果能够及时地通知到救助人员,将会大大地减轻由于跌倒而造成的危害。
不仅是对老人,在很多其他情况下,跌倒的报警也是非常有帮助的,尤其是从比较高的地方跌倒下来的时候。比如人们在登山,建筑,擦窗户,刷油漆和修理屋顶的时候。
这促使人们越来越热衷于对跌倒以及跌倒预报仪器的研制。近年来,随着iMEMS®技术的发展,使得设计基于三轴的跌倒器成为可能。这种跌倒器的基本原理是通过测量佩戴该仪器的个体在运动过程中的三个正交方向的变化来感知其身体姿态的变化,并通过算法分析判断该个体是否发生跌倒情况。当个体发生跌倒时,仪器能够配合GPS模块以及无线发送模块对这一情况进行定位及报警,以便获得相应的救助。而跌倒检测器的核心部分就是判断跌倒情况是否发生的检测原理及算法。
ADXL3451是ADI公司的一款3轴、数字输出的加速度。本文将在研究跌倒检测原理的基础上,提出一种基于ADXL345的新型跌倒检测解决方案。
iMEMS加速度ADXL345
iMEMS 半导体技术把微型机械结构与电子电路集成在同一颗芯片上。iMEMS加速度就是利用这种技术,实现对单轴、双轴甚至三轴加速度进行测量并产生模拟或数字输出的传感器。根据不同的,加速度传感器的测量范围从几g到几十g不等。数字输出的加速度传感器还会集成多种中断模式。这些特性可以为用户提供更加方便灵活的解决方案。
ADXL345是ADI公司最近推出的基于iMEMS技术的3轴、数字输出加速度传感器。ADXL345具有+/-2g,+/-4g,+/-8g,+/-16g可变的测量范围;最高13bit分辨率;固定的4mg/LSB灵敏度;3mm*5mm*1mm超小封装;40-145uA超低功耗;标准的I2C或SPI数字接口;32级FIFO存储;以及内部多种运动状态检测和灵活的中断方式等特性。所有这些特性,使得ADXL345有助于大大简化跌倒检测算法,使其成为一款非常适合用于跌倒检测器的加速度传感器。
本文给出的跌倒检测解决方案,完全基于ADXL345内部的运动状态检测功能和中断功能,甚至不需要对加速度的具体数值进行实时读取和复杂的计算操作,可以使算法的复杂度降至最低。
中断系统
图1给出了ADXL345的系统框图及管脚定义。
图1 ADXL345系统框图及管脚定义
ADXL345具有两个可编程的中断管脚:Int1和Int2。以及Data_Ready、Single_Tap、Double_Tap、Activity、Inactivity、Free_Fall、Watermark、Overrun,共计8个中断源。每个中断源可以独立地使能或禁用,还可以灵活地选择是否映射到Int1或Int2中断管脚。所有的功能都可以同时使用,只是某些功能可能需要共用中断管脚。中断功能通过INT_ENABLE寄存器的相应位来选择使能或禁用,通过INT_MAP寄存器的相应位来选择映射到Int1管脚或Int2管脚。中断功能的具体定义如下:
1. Data_Ready 当有新的数据产生时,Data_Ready中断置位;当没有新的数据时,Data_Ready中断清除。
2. Single_Tap 当加速度值超过一定门限(THRESH_TAP)并且持续时间小于一定时间范围(DUR)的时候,Single_Tap中断置位。
3. Double_Tap 当第一次Single_Tap事件发生后,在一定时间(LATENT)之后,并在一定时间(WINDOW)之内,又发生第二次Single_Tap事件时,Double _Tap中断置位。
图2给出了有效的Single_Tap中断和Double _Tap中断的示意图。
图2 Single_Tap和Double _Tap中断示意
4. Activity 当加速度值超过一定门限(THRESH_ACT)时,Activity中断置位。
5. Inactivity 当加速度值低于一定门限(THRESH_INACT)并且持续超过一定时间(TIME_INACT)时,Inactivity中断置位。TIME_INACT可以设定的最长时间为255s。
需要指出的是,对于Activity和Inactivity中断,用户可以针对X、Y、Z轴来分别进行使能或禁用。比如,可以只使能X轴的Activity中断,而禁用Y轴和Z轴的Activity中断。
另外,对于Activity和Inactivity中断,用户还可以自由选择DC coupled工作方式或者AC coupled工作方式。其区别在于,DC coupled工作方式下,每个采样点的加速度值将直接与门限(THRESH_ACT或THRESH_INACT)进行比较,来判断是否发生中断;而AC coupled工作方式下,新的采样点将以之前的某个采样点为参考,用两个采样点的差值与门限(THRESH_ACT或THRESH_INACT)进行比较,来判断是否发生中断。AC coupled工作方式下的Activity检测,是选择检测开始时的那一个采样点作为参考,以后每个采样点的加速度值都与参考点进行比较。如果它们的差值超过门限(THRESH_ACT),则Activity中断置位。AC coupled工作方式下的Inctivity检测,同样要选择一个参考点。如果新采样点与参考点的加速度差值超过门限(THRESH_INACT),参考点会被该采样点更新。如果新采样点与参考点的加速度差值小于门限(THRESH_INACT),并且持续超过一定时间(TIME_INACT),则Inctivity置位。
6. Free_Fall 当加速度值低于一定门限(THRESH_FF)并且持续超过一定时间(TIME_FF)时,Free_Fall中断置位。与Inactivity中断的区别在于,Free_Fall中断主要用于对自由落体运动的检测。因此, X、Y、Z轴总是同时被使能或禁用;其时间设定也比Inactivity中断中要小很多,TIME_FF可以设定的最大值为1.28s;而且Free_Fall中断只能是DC coupled工作方式。