当前位置:首页 > 医疗电子 > 医疗电子
[导读]目前,研究开发人体跌倒检测系统方面的技术有很多种,最常见的是图像分析和加速度分析法。都是基于视频图像分析的室内跌倒自动检测系统,这种技术准确性高,人体动作清晰可见,但需要多部摄像机同时工作,且暴露了用户的个人隐私,监测范围有限,受环境的影响也很大。

 某日,公司业务部德哥突然爆出一阵哀嚎:我去哪里找一家可以做“帅到报警”的方案商?

庄好人一听,乐了,发问:怎么会有那么有创意的需求,长得帅还要报警的,应用场景是什么,娱乐用户吗?

德哥一听,也乐了,答:“不是长得帅要报警,是摔倒在地上了要发布警示信息,一般可用于护理和老人家看护防范。”

同事们打趣:庄好人,你这脑回路也是没谁了~

不过话说回来,随着独居老人和老人看护产业的发展,老年人的移动看护需要朝着智能的方向去发展,目前国内外市面上摔倒报警器产品也有了成熟的方案,做一款跌倒报警器设计不是那么难。本文中21IC网就给大家介绍一款基于Arduino和三轴加速度传感器设计的跌倒检测报警系统的设计原理。如果你有这种成熟方案,也可以上传到方案超市,有需求的雇主可以通过方案超市平台的对接,和你协商合作。

目前,研究开发人体跌倒检测系统方面的技术有很多种,最常见的是图像分析和加速度分析法。都是基于视频图像分析的室内跌倒自动检测系统,这种技术准确性高,人体动作清晰可见,但需要多部摄像机同时工作,且暴露了用户的个人隐私,监测范围有限,受环境的影响也很大。另一种加速度分析方法,主要基于微机电系统(Micro-Electromechanical System,MEMS)传感器。MEMS技术近几年得到了快速发展,广泛应用在跌倒检测、状态检测、运动检测等方面。都是利用MEMS技术进行人体跌倒检测的,目前国内一些基于MEMS技术的跌到检测虽可较好实现跌倒检测,但大多计算量较大、设计复杂、价格昂贵,难以得到广泛的应用。

  

设计一种基于Arduino和三轴加速度传感器的跌倒检测报警系统,实时采集人体加速度参数和地理位置信息,应用于老年人意外跌倒后及时报警,兼具了性价比高、设计简单、实时性高、低功耗、可扩展的特点,实验证明了该系统的可行性和准确性。

  

1 系统总体设计

  

跌倒检测报警系统由Arduino最小系统、加速度参数采集模块、GPS定位模块、GSM通信模块组成,其系统框图如图1所示。

  图1 跌倒检测报警系统框图

  

Arduino实时接收加速度参数采集模块传来的人体加速度参数值,单片机通过接收来的加速度值,经过跌倒检测算法来判断穿戴者的体态,如果检测出跌倒的发生,便触发跌倒报警机制。当跌倒发生时,通过GPS定位模块能捕获到穿戴者的具体地理位置,然后发出包含跌倒位置的报警求救信息,通知佩戴者的监护人或医疗机构,进行后续的救治。本系统在考虑这些功能需求的前提下,采用Arduino为控制核心,外围连接加速度参数采集模块、GPS定位模块、GSM通信模块,来完成整个系统的功能。

  

2 硬件设计

  

硬件部分主要包括微控制器最小系统的选取、加速度参数采集模块、GPS定位模块、GSM通信模块,以及各个模块之间的连接。

  

2.1 Arduino平台

  

Arduino是一款基于开源的电子原型设计平台。Arduino包含两个主要的部分:硬件部分是可以用来做电路设计的电路板,基于AVR系列单片机和ARM微控制器,有丰富的外设接口和硬件资源;软件部分则是Arduino IDE,是在计算机中的程序开发环境。Arduino的模块化设计,大大简化了电子系统的设计过程。

  

其中,微控制器最小系统选用Arduino Uno,它是基于ATMEL公司的ATmega328P单片机的硬件平台,具有32KB Flash、1KB EEPROM、14路数字输入输出口(其中6路可用于PWM输出)、6路模拟输入接口。同时,Uno预置了Bootloader程序,不需要其他外部烧写器,可以直接通过USB下载程序。

  

2.2 加速度传感器ADXL345

  

ADXL345是ADI公司最近推出的基于iMEMS技术的3轴、数字输出加速度传感器。ADXL345具有多种可变的测量范围,高分辨率,高灵敏度,超小的封装,超低的功耗,标准的I2C或SPI数字接口,32级FIFO存储,以及内部多种运动状态检测和灵活的中断方式等特性。所有这些特性,使得 ADXL345有助于大大简化跌倒检测算法,使其成为一款非常适合用于跌倒检测器应用的加速度传感器。图2为ADXL345功能框图。

图2 ADXL345功能框图

  

ADXL345标准的I2C数字接口可以和Arduino Uno的I2C接口方便通信,将ADXL345采集到的人体三轴加速度数据传给单片机进行跌倒检测算法处理,图3给出了ADXL345和单片机之间的I2C总线典型连接图。ADXL345的(CS) ?管脚接高电平,表示ADXL345工作在I2C模式。SDA和SCL是I2C总线的数据线和时钟线,分别连接到Arduino Uno相应的I2C总线接口(A4和A5)。ADXL345的INT1管脚连接到Arduino Uno的INT0(Pin 2),用来产生中断信号。

  图3 ADXL345和单片机之间的I2C典型连接图

  

2.3 GPS定位和GSM通信模块SIM908

  

SIM908是一款集成了高性能GSM/GPRS引擎和GPS引擎的芯片。其中的GSM/GPRS引擎可以工作在GSM 850MHz,EGSM 900MHz,DCS 1800MHz和PCS 1900MHz四个频段;GPS引擎具有一流的采集和跟踪灵敏度、TTFF(Time-To-First-Fix)和准确度[12],这些特性可以很好地完成跌倒位置定位和发送报警信号的任务。在SIM908芯片上可以同时完成GPS定位和GSM通信功能,可以大大减少系统芯片的数量和功耗。图4为SIM908的功能框图。SIM908通过UART口与Arduino Uno进行通信,RXD和TXD分别与Uno的TXD和RXD相连,完成跌倒位置的GPS数据的捕获和发送GSM报警短信功能。

  图4 SIM908功能框图

  

3算法设计与实验

  

3.1 跌倒检测算法

  

对跌倒检测原理的研究主要是找到人体在跌倒过程中的加速度变化特征。图5给出的是加速度在不同运动过程中的变化曲线,包括(a)步行上楼、(b)步行下楼、(c)坐下、 (d)起立。其中红色的曲线是Y轴(垂直方向)的加速度曲线,其正常静止状态下应该为-1g;黑色和黄色的曲线分别是X轴(前后方向)和Z轴(左右方向)的加速度曲线,其正常静止状态下应该为0g;绿色的曲线是三轴加速度的矢量和,其正常静止状态下应该为+1g。

  图5 不同运动过程中的加速度变化曲线

  

由于老年人的运动相对比较慢,所以在普通的步行过程中,加速度变化不会很大。最明显的加速度变化就是在坐下动作中Y轴加速度(和加速度矢量和)上有一个超过3g的尖峰,这个尖峰是由于身体与椅子接触而产生的。而跌倒过程中的加速度变化则完全不同。图6给出的是意外跌倒过程中的加速度变化曲线。通过图6和图5的比较,可以发现跌倒过程中的加速度变化有4个主要特征,这可以作为跌倒检测的准则。这4个特征在图6中以红色的方框标注,下面将对其逐一进行详细介绍。

  图6 意外跌倒过程中的加速度变化曲线

  

失重:在跌倒的开始都会发生一定的失重现象。在自由落体的下降过程,这个现象会更加明显,加速度的矢量和会降低到接近0g。对于一般的跌倒,也会发生合加速度小于1g的情况。因此,这可以作为跌倒状态的第一个判断依据。可以由ADXL345的Free_Fall中断来检测。

  

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

  

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

  

与初始状态比较:跌倒之后,人体会发生翻转,因此人体的方向会与原先静止站立的姿态不同。这使得跌倒之后的静止状态下的三轴加速度数值与初始状态下的不同,如图5所示。因此,跌倒检测的第四个依据就是跌倒后的静止状态下加速度值与初始状态发生变化,且矢量变化超过一定的门限值。

  

这四个判断依据综合在一起,构成了整个的跌倒检测算法,可以对跌倒状态给出报警。

  

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

  图7 算法流程图

  

3.2 实验结果

  

本文设计了一个实验方案对算法进行验证。实验对向前跌倒,向后跌倒,向左、右两侧跌倒等不同跌倒姿势以及跌倒后是否有长时间静止状态的情况分别进行了10次测试,表1中给出的是相关测试结果。

  表1 实验结果

本设计将加速度传感器ADXL345、GPS和GSM模块SIM908与Arduino Uno平台结合在一起,通过加速度传感器采集人体三轴加速度值,实时检测人体体态,完成对人体跌倒的检测和报警。整体设计成本低、可靠性高、算法复杂度低、检测准确度高和可扩展的优点,具有很高的实用性,可以满足对人体跌倒检测报警的需要。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

新款Arduino UNO R4支持两个版本,为创客社区和专业设计人士提供前所未有的性能和新的可能性

关键字: 开发板 Arduino

摘要:提出了一种基于Arduino集成开发程序的智能刮痧仪设计方案,包括对设计原理、软硬件部分设计及实验结果的介绍。利用压力传感器及姿态传感器监测并记录刮痧仪的速度、压力和姿态等参数,实现对刮痧治疗的数据化。该设计方案切...

关键字: 中医 Arduino 刮痧仪

摘要:针对地方高校开放性实验室的建设与发展,设计了一套用于实验室的智能门禁管理系统,该系统以Arduino开源平台作为核心控制组件,具备光学指纹解锁功能、多位按键密码解锁功能以及门禁卡识别解锁功能,通过结合3种不同的解锁...

关键字: Arduino 门禁 指纹解锁

社区成员将有机会赢得限量版Arduino UNO Mini

关键字: e络盟 开发板 Arduino

摘 要 :随着信息时代的发展和人民日益增长的美好生活的需要,智能家居系统的设计越来越受到广泛关注。文中设计基于 Arduino 与 OneNET 云平台的简易智能家居系统,以 Arduino Sensor Sheild...

关键字: Arduino 传感器 智能家居 ESP8266 OneNET 远程操控

摘 要 :随着生活节奏的加快,现代人的睡眠普遍不足,而传统闹钟唤醒方式单一且粗暴,实际效果欠佳,因此,设计一款个性化且符合人体苏醒习惯的卧室智能唤醒系统。该系统基于 Arduino 集成开发环境,利用 PWM 基本原理实...

关键字: 智能唤醒 传感器 远程控制 Arduino 智能家居 物联网

准备好与Arduino尝试不同的东西了吗?您不必局限于用C编程。将这些替代语言用于测试驱动器。

关键字: Arduino 编程语言

Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE)。它适用于爱好者、艺术家、设计师和对于“互动”有兴趣的朋友们。

关键字: Arduino 单片机

要了解Arduino就先要了解什么是单片机,Arduino平台的基础其实就是AVR指令集的单片机。

关键字: Arduino 单片机

摘 要 :文中设计了一款智能家居系统,主要介绍了语音识别技术的相关基础原理以及流程。详细分析了一段语音信号从采集到预处理,提取特征值后与语音库中的声学模型比对得出识别结果的过程及隐马尔科夫的建模过程、算法流程,最后利用...

关键字: 智能家居 语音识别 Arduino 隐马尔科夫模型 特征提取
关闭
关闭