毕业设计(论文)-基于加速度传感器的跌倒检测及报警系统.docx_第1页
毕业设计(论文)-基于加速度传感器的跌倒检测及报警系统.docx_第2页
毕业设计(论文)-基于加速度传感器的跌倒检测及报警系统.docx_第3页
毕业设计(论文)-基于加速度传感器的跌倒检测及报警系统.docx_第4页
毕业设计(论文)-基于加速度传感器的跌倒检测及报警系统.docx_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书基于加速度传感器的跌倒检测及报警系统设计学生姓名: 学号: 学 院: 计算机与控制工程学院 专 业: 电气工程及其自动化 指导教师: 2015 年 06 月中北大学2015届毕业设计说明书基于ADXL345加速度传感器的跌倒检测及报警系统摘要随着社会的发展,人的寿命越来越长,面临着老龄化也越来越严重,因此整个国际社会都在关注此事。而在老龄化中,跌倒又是老人最经常发生的意外,这严重的影响了老年人的健康生活。如果能给老人提供一种安全的保障及其准确的检测,对于在家中老年人的日常生活状态起到一种监护,不仅能利于子女发现老人跌倒并采取求救效率,还能提高老人的生活质量,让老人在家中能及时得到救护,减轻老人的心理压力以及跌倒发生不被发现的可能性。 针对老人容易跌倒,身体难以保持平衡,结合了加速度传感器、usb接口通信以及报警装置等方面,设计一种跌倒检测报警系统。人在做运动的过程中,身体各轴的加速度都会产生变化,对于各各轴的加速度平方求和开根号,这样得出加速度的合向量,对比各种运动合向量变化的剧烈程度,判断人是否发生了跌倒。在此我利用ADXL345加速度传感器对各轴的加速的进行读取,通过usb接口通信将加速度传感器与电脑进行串口通信,使得数据得以采集出来,然后使用matlab对数据进行绘图,画出一个加速度合向量与时间的二维图,通过图形中波动的剧烈程度来进行分析。最后是进行数据进行对比,得出跌倒的阈值SVM,通过IAR编程软件编程,使输出的SVM小于或者等于阈值时,输出一个低电平,让低电平触发的蜂鸣器产生报警信号。 关键词:跌倒检测,adxl345加速度传感器,阈值算法,报警系统 The fall detection and alarm system based on ADXL345 acceleration sensor Abstract With the development of the society, the life of people is getting longer and longer, and the aging is becoming more and more serious. So the whole international community is paying attention to the matter. In the aging of the elderly, the elderly fall is the most frequent accidents, which seriously affect the health of the elderly. If we can provide a safe guarantee and accurate detection to the elderly, for in home in the daily life of the elderly to a monitoring can not only conducive to children found the old man fall and take efficiency for help, but also improve the quality of life of the elderly, so that the elderly at home can timely rescue, reduce mental pressure in the elderly and falls the possibility not to be found in the. For the old person easy to fall, the body is difficult to maintain balance, combined with the acceleration sensor, USB interface communications and alarm devices, design a fall detection alarm system. People in the process of doing exercise, the axis of the bodys acceleration will change, for the acceleration of the axis of square sum sqrt, such that the acceleration vector, comparison of various kinds of sports together the degree of the severity of the change vector, to determine whether the fall. Here I use adxl345 acceleration sensor of acceleration of the axis of the read, through the USB interface communication will acceleration sensor and computer serial communication, so that the data can be collected, and then use matlab to plot the data, draw a acceleration time vectors and two-dimensional map, pattern of fluctuations in the intensity of the. At the end of the thesis, data were compared, fall threshold SVM is obtained, through the IAR programming software programming, the output of SVM is less than or equal to the threshold value, the output a low level, low level trigger buzzer alarm signal is generated.Key words : Falling, adxl345 acceleration sensor, detection threshold algorithm, and alarm system. 目录摘要1Abstract21 绪论11.1 课题的来源及研究目的及意义11.2 国内外研究现状分析11.3 本文内容概述21.4 本章小结32 硬件部分42.1 对硬件的介绍42.2 ADXL345加速度传感器的介绍42.3 MSP430F149单片机的介绍62.4 I2C的介绍82.5 蜂鸣器的介绍92.6 电源部分的介绍92.7 晶振部分的介绍92.8 复位部分的介绍102.9 总设计原理图及实物连接图102.10 本章总结113 软件部分113.1 人体平衡分析123.2 跌倒过程的分析123.3 跌倒过程倾角的分析133.4 加速度引起倾角变化的计算分析143.5 基于倾角的阈值算法163.6 基于加速度的阈值算法173.6.1 选定参考量17第 I页 共 II 页3.6.2 数据分析183.7 基于SVM的阈值算法的提出203.8 程序流程图213.9 本章总结224 数据分析224.1 实物的功能234.2 数据采集分析234.2.1 站立不动的时候234.2.2 行走的时候244.2.3 跑步的时候244.3 算法结果254.4 主程序254.4 本章总结275 总结与期望275.1 工作成果285.2 期望28参考文献29致谢32第 II 页 共 II 页1 绪论1.1 课题的来源及研究目的及意义随着社会的快速发展,全世界人口老龄化已经逐渐的成为了当今国家社会共同话题。一般来说,如果当一个国家或者地域中,60岁以上的人口占了众人口总数的10%,或者65岁以上的人口占了总人口的7%,则认为这个国家或者这个地域已经处于了老龄化社会。中国60岁以上老年人数量已超过2个亿,占总人口的14.9%。这一比例明显高于10%的联合国传统老龄社会标准。去年全国老龄委预计,未来20年中国将进入老龄化高峰。“未富先老”成为中国越来越突出的问题。除了中国以外,世界上还有很多发达国也一样处于老龄化社会,老年人的身体健康及看护问题也越来越受到国际社会的关注。跌倒在老年人群中是比较常见的现象,老人很多机能已经下降,骨质疏松,因此相对于年轻人跌倒的伤害要大得多。据国内外学者调查研究表明:65岁以上的老年人,30%40%的老年人每年至少跌倒1次;在65岁和80岁的人群中,每年发生跌倒的几率分别为30%和50% 。在美国,跌倒竟然已经成为70岁以上老年人的死亡原因之一,而且每年跌倒造成的医疗费用就超过了200亿元。在英国跌倒也是老年人受伤死亡的主要原因。在国内每年至少有2 千万老年人发生跌倒,跌倒的医疗费用极为沉重。从而得出。对于跌倒检测的研究与报警是极其必要的,如何第一时间发现跌倒并进行救治已经成为国内外研究人员的一个研究的重中之重。跌倒检测器对被测老人的身体姿态和运动进行计算和分析,当检测到被测老人出现异常产生跌倒情况时,能够通过报警声音通知他人并报告发生跌倒的位置,以便于对这些可能产生严重后果的个体进行救助和处理。跌倒检测器可随身佩戴,在不影响老人的日常活动的情况下,一方面可以让老年人不再因为害怕跌倒而减少外出、减少活动,使他们可以更加放心的走出家门,提高老年人晚年生活的品质,另一方面也可以减轻社会和子女的压力,对构建以人为本的和谐社会有着非常积极的意义。1.2 国内外研究现状分析1.2.1 跌倒检测分类目前国内外有很多对跌倒认识的研究,甚至还有的已经做出了成品。根据获得跌倒信息手段的不同,目前的跌倒检测技术分为以下几种:(1)用户自主启动型报警系统:用户自主启动型跌倒报警系统是用户自己摔倒以后通过按键进行发射报警信号给相关的医疗单位或者亲人,以便通知他人对自己采取救治。类似的是通过放置在手镯,手表或者挂坠类的装置上,这类型的装置比较容易操作,价格低廉,只要用户按一下按键就可以完成报警操作,只是这个报警系统具有缺陷,就是当老人摔倒晕厥后,就无法报警让他人知道。对于那些患有老年痴呆以及具有其他精神疾病的老年人,就无法使用到这套系统,显然这就制约了该系统的使用范围,使得很多时候的跌倒无法被识别。(2) 视频装置的跌倒检测系统 视频装置的跌倒检测就是在用户常活动的地方安装摄像头,通过对用户的身体姿态进行扫描从而判断用户是否跌倒。该系统缺点比较明显,不利于携带以及受地点影响,影响着用户的生活,而且这个可能会侵害到用户的隐私。(3) 穿戴式的跌倒检测系统:这也是我想设计的,穿戴式的跌倒检测系统就是用户可以戴在身上,当检测到跌倒信号的时候产生报警,从而通知他人来对自己进行救治。这个系统轻巧方便,价格便宜,一般佩戴在腰上,不管用户在哪里,是否会使用,只要先配置好,就可以自动工作检测,克服了使用者因素以及地点。而且对用户的隐私也起到了一定的保护,是一种比较理想的系统。1.3 本文内容概述本论文主要是开发一种基于adxl345加速度传感器的跌倒检测及报警系统,希望能在人摔倒着地的时候发射报警声音。图1所示的流程图为跌倒报警的工作过程。图1.3中的加速度传感器和处理器为本设计需要完成的主要设计目标。本设计使用adxl345加速度传感器作为数据采集的模块,msp430f149单片机为中央处理单元,通过计算加速度阈值的检测算法来作为系统的跌倒检测的算法。本文通过以下几个部分介绍整个研究过程: (1)研究人体平衡与跌倒检测机制,设计有效的跌倒算法; (2)设计通过用adxl345加速度传感器和msp430f149单片机检测跌倒信号; (3)编写程序分析跌倒信号,通过蜂鸣器产生报警信号。 图1.3 跌倒检测报警的工作流程1.4 本章小结本章主要介绍了课题的来源及研究目的及意义,简单的说明了穿戴式的跌倒检测在国内外的发展现状。简单的举出本论文的主要工作、研究方向以及基本框架结构。 2 硬件部分2.1 对硬件的介绍加速度传感器的跌倒检测及报警系统的整体方案设计,在硬件部分需要用到ADXL345加速度模块、主控制器MSP430F149模块、电源管理模块、报警模块、USB通信模块。如下图2.1所示 图2.1 人体跌倒检测系统总体设计框图2.2 ADXL345加速度传感器的介绍ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0的倾斜角度变化。ADXL345有一个好处就是不需要模数转换,这样子就可以节省了很多成本,总的来说ADXL345加速度传感器具有以下几个特点: (1)具有4种量程,分别为2g、4g、8g 和16g; (2)具有SPI或I2C数字接口; (3)不需要模数转换,节省成本; (4)外形小巧,耗能低,便于携带。 ADXL345加速度传感器在静止的时候X、Y、Z三轴输出不均为0,在这种状态下,哪一轴的方向和重力加速度方向相反,则此轴输出为1g,剩下的其他两轴则输出0;哪一轴的方向和重力加速度方向相同,则此轴输出为-1g,剩下的其他两轴则输出0;如下图2.1.1、图2.1.2所示: 图2.1.1 ADXL345加速度传感器输出与重力方向的关系 图2.1.2 ADXL345加速度传感器的输出方向表2.1.3 ADXL345加速度传感器引脚的功能引脚编号引脚名称描述 1 2 3 4 5 6 7 8 9 10 11 12 13 14VDDI/DGNDRESERVEDGNDGNDVSCSINT1INT2NCRESERVEDSDOSDASCL数字接口电源电压。该引脚必须接地。保留。该引脚必须接到V5或者保持断开。该引脚必须接地。该引脚必须接地。电源电压。片选。中断1输出。中断2输出。内部不连接。保留。该引脚必须接地或者保持断开。串行数据输出(SPI4线)/备用PC地址选择(PC)。串行数据(PC)/串行数据输出(SPI4线)/串行数据输入和输出。串行通信时钟。SCL为I2C时钟SCLK为SPI时钟。2.3 MSP430F149单片机的介绍MSP430是德州公司新开发的一类具有16位总线的带FLASH的单片机,特别是它的集成度高,并且性价比也高,受到很多技术开发人员的喜爱。如下图2.2; 图2.2 MSP430F149单片机此单片机的工作电压为1.8V到3.6V,采用了TI公司独特的低功耗技术,最低工作电流可达到0.1A。本设计为什么选择这个单片机,主要是因为它具备以下的几个特点:(1)具有16 位总线,寻址范围达64K,中断源较多,可以实现任意嵌套,处理功能强大;(2)片上外围接孔丰富,自带看门狗、比较器、定时器、乘法器、A/D 转换模块,I/O 口达到48 个,具有极强的拓展性;(3)低功耗性能出众,根据工作模式的不同,工作电流在400A 至0.1A 之间,比起51 系列单片机要小很多;(4)该单片机具有Flash 程序存储器,具有高效的开发方式,开发极为简便;(5)性价比高;不过这需要注意到一点,就是MSP430F149内部有一个压控振荡器,如果采用这个作为系统的时钟会导致时钟源不稳定,因此这个系统需要采用外部的8M晶振作为时钟源,这样如果出现过高的频率可以对晶振进行分频处理。2.4 I2C的介绍I2C总线是用在微控制器与其外围设备的连接,总线的特点是: (1)要求有两条总线线路,分别为一条串行数据线SDA以及一条串行时钟线SCL,串行数据线在高电平时,串行数据从高电平变成低电平,这时候这表示的是起始条件;串行数据线在高电平时,串行数据从低电平变成高电平,这时则表示的是停止条件。(2)信号线非常少,还能自动寻址,并且具备多主机时钟同步等功能强大的总线协议。在此为什么选择I2C总线,是因为I2C总线最主要的好处在于它的有效性以及它的简单性,因为他使用信号线非常少,还能自动寻址,并且具备多主机时钟同步等功能强大的总线协议。为了最大程度的确保数据传输的有效性以及准确性,需要有应答信号,这个I2C数据传输就具备此功能。虽然I2C的总线接口不存在MSP430F149的硬件上,但是MSP430F14单片机上具有丰富的I/O端口,可以通过这些端口来把I2C总线的时序模拟出来,这是非常简单的。一下图2.3表示的就是MSP430F149单片机与ADXL345加速度传感器相连的电路图: 图2.3 MSP430F149单片机与ADXL345加速度传感器相连的电路图2.5 蜂鸣器的介绍本设计为测量跌倒检测并产生报警信号,这就可以由蜂鸣器来进行实现。在此采用无源蜂鸣器,需要在I/O口输入振荡频率,蜂鸣器才会发声。其工作电压为3.3V到5V。这也是本设计的输出环节,作为实现声学报警的装置,通过算法进行跌倒判断,若是跌倒符合,则产生声响,实现报警下图2.4为MSP430F149与蜂鸣器相连的电路图: 图2.4 MSP430F149与蜂鸣器相连的电路图2.6 电源部分的介绍电源部分:本系统需要使用+5V和+33V的直流稳压电源,其中MSP430Fl49及部分外围器件需要+33V电源,另外部分需要+5V电源。在本系统中,以+5V直流电压为输入电压,+33V由+5V直接线性降压。本设计使用AMS1117 稳压芯片输出3.3V 直流电,经过瓷片电容和电解电容滤波,使电源稳定性好,同时开关按下有LED 做指示,可以直视电源的通断。单片机的工作电压范围是1.8V3.6V,传感器是2.5V3.6V,其他的外围芯片在3.6V 以下均可以正常工作,因此可以直接采用3.6V 的电压,而没有必要再进行电压转换。电源电路原理图如图2.5所示。 图2.5 电源电路原理图2.7 晶振部分的介绍MSP430F149具有两种晶振,这里选用高速晶振,也叫做第二振荡器XT2,它可以给MSP430F149的工作在高频模式的时候提供时钟,XT2的频率最大可以到达8MHZ。在系统中,XT2采用的是4MHZ的晶体,XT2外接上2个22pF的电容,为了连接上MCU,则需要经过XT2IN和XT2OUT来连接。如下图2.7: 图2.7 晶振部分的电路图 2.8 复位部分的介绍 该系统产生报警信号需要有人停止,这里故添加复位电路,利用它把电路恢复到起始的状态。为了确保MSP430F149单片机中的电路稳定可靠的工作,复位电路是必不可少的一部分。复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为4.755.25V。由于MSP430F149单片机中的电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路才能开始正常工作,以下图2.8所示: 图2.7 复位电路的电路图2.9 总设计原理图及实物连接图电路板的电路原理图2.9a以及电路板连接图2.9b:图2.9a 电路板的电路原理图2.9b 电路板连接2.10 本章总结本章分别介绍了ADXL345加速度传感器工作原理以及选择它的好处,选择单片机MSP430F149的理由以及I2C总线的优点。并且说明了电源部分,蜂鸣器部分,晶振部分以及复位部分的作用以及其电路原理图。 3 软件部分3.1 人体平衡分析为什么人体有时候不能保持平衡而跌倒,这因为人体平衡能力的下降,这个降低基本上与身体上的各种机能的衰退有关,比方说身体上的各各关节的有什么病症、神经中枢有什么问题、或是说遇到外接的影响。总而言之,不管什么原因跌倒,跌倒总是会给人们带来一定的伤害。老年人是一群经常摔倒的群体,由于种种的原因,老年人的身体属于人各各身体器官衰退的时代,经常会出现大脑控制不住身体,从而导致跌倒。而这样就会给本来就脆弱的老年人照成伤害,这种伤害可能还会引起生命危险。对于为什么摔倒,我们这就要从中找到原因,并进行分析,这样才能找到一个最合适的检测方法。3.2 跌倒过程的分析对于跌倒,就是身体因为某种原因而无法保持平衡,往某个方向倾斜的状态,而这个状态可能会出现几个方向,这些状态都会导致人跌倒:根据下图分析,我们可以得到:人身体活动的主要是由脊椎体所支撑的,对于一个正常人来说一般脊椎只能做到左右前后小角度的伸屈活动,对于老人来说,身体由于机能的下降,身体的柔软度也会变得没有年轻人好。这样的话他们的脊椎骨的活动范围也就会比年轻人小很多,看到现实生活中老年人的行走动作,我们可以视老年人部分身体类似固体来分析。 图3.2.2 人体躯体图跌倒是身体失去平衡所致,在跌倒的过程中,人们很难对自身的倾倒动作进行控制。所以在发生跌倒的时间,要相比与一般时自身做动作所花的时间短很多,而在这个跌倒的过程,导致身体的重心会向倾斜方向移动,这时这个动作就会产生一个重心的倾角变化,这个倾角的变化就是我们需要测量的变化。3.3 跌倒过程倾角的分析在人跌倒的起始时候,人一般都处于站立状态,这个时候我们可以把这个站立的状态当作静止状态,此时X轴的方向与重力加速度的方向相反,则ADXL345加速度传感器的X轴输出为+1g,其他的两个轴输出为0;在跌倒结束后的时刻,人一般会出现三种状态,分别为平躺、趴着或者侧卧,并且认为这个状态也为静止状态,这时候ADXL345加速度传感器的X轴输出为0,而Y、Z两个轴的合加速度为1g。在人身体跌倒的过程中,倾斜角不停地变化,这中间会出现各种干扰,为了尽可能的清除这些干扰,设定的时候应该尽可能的把范围扩大一些,从下图3.3可以看到,跌倒这个整个过程可以分为4个阶段: (1)站立阶段,这个阶段人体与地面垂直方向的倾角为0; (2)倾倒阶段,这个阶段人体与地面垂直方向的倾角正在不断的增大; (3)接触地面阶段,这个阶段人体接触地面,对于ADXL345加速度传感器的X轴会产生较大的冲击,这导致这输出的角度值出现较大的震荡,这个阶段的角度值就没有任何的参考意义; (4)倒地静止阶段,这个阶段人体与地面的水平方向平行,而与地面垂直的倾角为90。图3.3 跌倒倾角与跌倒时间的关系3.4 加速度引起倾角变化的计算分析在人体跌倒的这个过程中,身体与地面的夹角由90变化到0,如果能够对跌倒的角度设定一个阈值,当超过该阈值时自动判定为跌倒,那么该算法无疑是最直观的和最简单的。实际上ADXL345加速度传感器也确实具有测量倾角的能力,这是它能够被广泛的应用到手机等移动设备的原因。下面根据下图3-4来分析一下ADXL345加速度传感器测量倾角的原理。 图3.4 传感器转动的几种情况图3.4 中(a)为将ADXL345加速度传感器水平放置的示意图,(b)为将ADXL345加速度传感器绕X轴旋转角,(c)为将ADXL345加速度传感器绕Y轴旋转角,(d)为将ADXL345加速度传感器同时绕X、Y轴分别旋转、角。为作上述旋转之后Z轴与竖直方向的夹角。显然在(b)、(c)、(d)图中ADXL345加速度传感器各轴的输出与(a)图有着明显的区别,但是如果在图示的各个位置保持静止,则四幅图中输出的合加速度应该是一致的,因为加速度传感器在静止状态下只能反映重力加速度g,也就是说它们的合加速度a等于g。根据上面可以得出的计算公式: (3-4)这里需要注意的是,以上的公式只能在静止或者是匀速直线运动的情况下,才能够成立。因为在变速的过程中,加速度传感器不仅仅反应的是重力加速度,还有体现物体其他方向的加速度,要把这两个加速度分开非常的困难。人在跌倒的过程就是一个变速运动的过程,在跌倒的过程,尤其是刚刚接触地面的时候,这个时间段加速度的变化是非常剧烈的,如果用以上公式进行计算会存在非常严重的误差,只有在开始时刻以及跌倒后静止的时刻才可以用到以上公式。3.5 基于倾角的阈值算法 在人跌倒的起始时候,人一般都处于站立状态,这个时候我们可以把这个站立的状态当作静止状态,此时X轴的方向与重力加速度的方向相反,则ADXL345加速度传感器的X轴输出为+1g,其他的两个轴输出为0;根据公式(3-4)为0;在跌倒结束后的时刻,人一般会出现三种状态,分别为平躺、趴着或者侧卧,并且认为这个状态也为静止状态,这时候ADXL345加速度传感器的X轴输出为0,而Y、Z两个轴的合加速度为1g。根据公式(3-4)为90。根据上一章,为了做到尽可能的去除干扰,对倾角设定一个阈值An。在连续T 的时间内,如过满足条件倾角An则认为人体是处于跌倒过程之中。而在这个过程中发现,它存在着以下两个问题:1、由式(3-4)可知,倾角的数值只决定于Z 轴的输出,而单轴的输出是比较不稳定的,而且是相对片面的。比如在弯腰的过程中,以及跌倒之后的起立过程中,整体的加速度并没有大的波动,但是反映到Z轴上就会有较大的变化,以至于角度出现很大的波动。另外如果要设定角度阈值An,则必须保证An60 度才能有效区分跌倒与起立,但是这样使得跌倒判断的时间裕度不够,不能够起到预警的作用。2、该算法未能准确的区别跌倒和起立、下楼等日常生活活动,使得算法误判率很高。从图3.5.1及图3.5.2中可以看出,传感器输出的下楼的角度变化及跑步的角度变化都没有真实的反映实际情况,通过设定角度的阈值很难对它们做出区分;如果设定时间阈值,在下楼过程中,竟然有个别倾角连续大于0 的时间段达到了0.5s,如果利用0.5s 的时间作为算法的判断窗口,可能就会导致下楼的时候也会引发警报。图3.5.1 下楼时候倾角的变化图3.5.2 跑步时候倾角的变化上面的这两个问题是可以解决的,比方说可以考虑通过滤波来减少单轴输出的波动,可是这样子一定会照成算法判断的延迟;或者通过别的算法来对这个算法进行补充,可这样子会把这个算法变得非常复杂,计算量变大以外还难以检测漏洞,使得周期变长,从而影响系统的判断效果。综上所述,通过ADXL345加速度传感器的倾角阈值算法,在现实运用中不能满足准确性,应该考虑其他更加稳定准确的算法。3.6 基于加速度的阈值算法3.6.1 选定参考量为了表示合加速度向量的大小,我们先要定义特征量SVM: (3-6-1)这式中,axayaz-加速度计X、Y、Z三个轴向的输出。为什么选择SVM作为加速度阈值算法的参考量,这是由于没有办法预知人体重心的运动方向,所以只用某一轴是不能准确的判断人的跌倒状况,上面的倾角检测就体现了这一点。而SVM是三轴的合加速度矢量的幅值,人体速度变化的剧烈程度和它的大小紧密相关,但是运动的方向和它无关。所以在一些非常缓慢的动作虽然会导致角度变化非常的大,但是SVM变化却不大,这就说明了SVM是一个非常理想的参考物理量。3.6.2 数据分析根据下图3.6.2a,可以看出跌倒的加速度曲线呈现以下几个阶段的特征:第一阶段:在人站立的时候,SVM的值为1g,比较符合ADXL345加速度传感器在静止状态下的输出特点;第二阶段:在跌倒行为发生的阶段SVM 呈现递减的趋势,递减的时间也就是人体跌倒的时间,大约为0.4s0.8s;第三阶段:人体与地面接触的时候,人体会受到冲击,速度v 在短时间之内变为0,ADXL345加速度传感器中的质量单元由于受到惯性力的作用,速度未能及时降为0,因而产生较大的相对位移,反映到输出上,SVM 就会产生较大的波峰。图3.6.2a 分别朝4个方向跌倒时产生的SVM变化曲线 表示的四种摔倒事件中,向后摔倒的峰值最大,达到了9g,向前摔倒出现了两个峰值,第一个显然是膝盖着地产生的峰值,第二个是躯干着地产生的峰值。而侧向摔倒的峰值介于向前跌倒与向后跌倒的峰值之间。从上面的分析还可以看出要做到对人体的摔倒做出预警,必须在第二阶段做出算法的判断,并保证足够的时间裕度。在该段时间内出现的SVM1g 的情况,可以认为是人体出现的失重状态。下图3.6.2b表示的是人走路与跑步的SVM的关系曲线其中的a、b分别代表着走路、跑步的加速度变化曲线,由图可得:(1)走路和跑步的数据具有明显的周期性,走路的周期T(两个相邻波峰之间的时间间隔)大约为0.65s,而跑步的周期大约为0.4s。(2)与摔倒相比,走路和跑步的波峰值比较小,走路只有2g 左右,而跑步则接近3g。(3)跟摔倒一样,走路和跑步也会有SVM1g 的阶段。尤其是跑步,在人体腾空的时间段内,人体在空中只受重力作用。该时间段的长短与跑步者的速度有关,但是它是一定存在的,这也很好解释了为何跑步的SVM 曲线中在波谷位置会出现相对平坦的一段。图3.6.2b 走路与跑步的加速度变化曲线3.7 基于SVM的阈值算法的提出对于前面的数据分析,可以比较得出,为了更好的检测跌倒状态,本设计需要根据加速度阈值的跌倒报警算法。对于阈值法的算法分为三部分:第一部分:加速度阈值的判别环节,就是根据SVM的曲线特点,理想状态下人体在站立或者静止状态下SVM 的数值为1。由于ADXL345传感器的灵敏度为0.0156g/LSB,所以输出不可能保证毫无偏差,实际上通过调整传感器的各轴的偏差,传感器在静止状态下输出可以在1.01g 左右。人在跌倒时由于受到重力的影响,重心失去控制,示重小于体重,符合失重的特点。所以如果SVM1,则认为人体是处于失重状态,SVM 数值越小说明人体失重的程度越严重。设定阈值G=1,如果有SVMG,则进入下一环节进行下一步判断。第二部分:时间阈值的判别环节,失重并不是跌倒所特有的,在坐下、下楼等活动状态下也会出现失重的阶段。人体各种活动状态下都可能会出现SVM1 的情形,实际上都可以认为是短暂的失重状态。但是跌倒相比它们失重的时间很短暂,这是由于在人体的正常活动过程中外力及时的介入,使得人体很快恢复平衡,不会长时间的处于失重的状态,而人体跌倒的时间一般是在1s-4s,相对来说是比较长的。通过各种资料分析看出,跌倒过程中比较明显的失重状态大约持续0.4s0.8s 左右,而走路的失重过程大约为0.3s,跑步0.2s,上下楼0.3s,坐下与蹲下均为0.5s。在这里设定时间阈值Tc=0.35s。如果失重的时间超过0.35s,则认为是跌倒的可疑点,这样的阈值设定在理论上是可以过滤掉大部分的非跌倒状态的。第三部分:均值阈值的判断环节,通过对实验数据的分析,发现跌倒的失重幅度比起除跑步之外的其他几种运动状态要大的多,但环节一、二并不能反映这种差距。Tc 是一个判别的可移动时间窗口,在该窗口时间内SVM 的均值Me 可以反映失重的剧烈程度,而且计算要相对简单。这里设定均值Me 的阈值Av=0.8,当Tc 时间内的SVM均值Me 小于Av 时,则认定摔倒事件发生。3.8 程序流程图下图5-2-4是本次设计在测跌倒状态下的程序流程图,一共三个环节。第一个环节,对实物硬件部分各各端口以及ADXL345加速度传感器进行初始化,设定相关的功能位;第二个环节,对SVM的阈值算法进行实现,如果未能达到阈值,说明没有产生跌倒现象,则该环节进入循环检测状态,一直到出现了阈值超过,才会跳到下一个环节;第三个环节,就是系统接收到跌倒信号,接着蜂鸣器产生报警信号。 开始 初始状态 FREE FALL中断? 连续FREE FALL 是否检测到? 超时? 活动是否中断? 超时? 不活动中断? 是否与最初的状态不同? 生成初始报警 活动是否中断? 不活动中断? 生成关键自 生成重要报警 由落体报警 3.8 程序流程图3.9 本章总结本章首先探讨了倾角检测算法的可行性,之后通过对几种日常生活活动以及跌倒模式进行数据分析,提出了基于SVM 的加速度阈值算法,最后通过数据验证了该算法的准确性和时间裕度情况,证明该算法是有效的跌倒报警算法。 4 数据分析本论文的主要目标是设计基于ADXL345加速度传感器的跌倒检测及报警系统,在之前的几章已经对内容进行了设计分析及算法提出,可是实验的用的硬件和软件和实物还是有差别。本章则是对实物进行定型实现的过程。4.1 实物的功能本设计的目标是设计一种典型的跌倒报警检测系统,主要在一下几个方面进行研究设计工作:第一:使用ADXL345加速传感器、单片机为MSP430F149、USB通信及其他相关的模块的结构组合方案,设计出一个为了老人跌倒可以进行报警的仪器;第二:通过对ADXL345加速度传感器的了解,使用它对倾斜角的测量,提出基于ADXL345加速度传感器阈值的检测算法;第三:建立跌倒报警装置的硬件以及软件系统,通过实验对设计产品进行验证,保证系统具有较高的跌倒检测的成功率及较低的误判水平。最终基于ADXL345加速度传感器的跌倒报警装置应该具有以下功能:(1)必须具有检测跌倒并报警功能。借助算法对跌倒进行识别和判断;(2)要体现输入和输出的功能。在进行跌倒后输入信号进行判断,然后输出报警信号。(3)实现实验数据采集。能对实验的数据进行采集,这样方便修改算法的不足。4.2 数据采集分析本次设计是要判断跌倒检测,所以要先对人的一些动作进行采集分析,才能从中提取规律,以下是本次设计对于四种状态的数据采集,利用matlab对采集的数据进行绘图,产生2D的平面图。4.2.1 站立不动的时候人在站立不动的时候,只受到一个静止的重力加速度的影响,ADXL345加速度传感器能测三轴加速,理论这时ADXL345加速度传感器只能读出z轴的静止重力加速度,但是人总会轻微晃动,这时候SVM就会产生一定上数值的变化,如下图4.2.1所示: 图4.2.1 站立不动4.2.2 行走的时候 人在走路的时候,虽然人体身体重心会上下移动,但是这个上下移动是呈现一个规律的上下摆动,这样得出的SVM的值也呈现一定规律的变化,只是这个变化不是很剧烈,如下图4.2.2所示:图4.2.2 行走4.2.3 跑步的时候在跑步的时候,人的重心和走路一样会上下晃动,但是这个会比行走的时候剧烈,会出现短暂的失重,因此用matlab的出来的图形会变化幅度比行走大,如下图4.2.3所示:图4.2.3 跑步4.2.4 跌倒的时候跌倒的过程可以分为三个部分,第一部分为静止或者运动中,第二部分为跌倒的过程,这个过程整个为一个失重的过程,第三部分为一个静止的过程,这时候人已经跌倒爬不起来,躺在地上。下图做了两次摔跤演习,在跌倒的过程中加速度的SVM变化相当大,这时可清晰分辨出跌倒前后,得出如下图所示:图4.2.4 跌倒4.3 算法结果根据上面几个图所示,得出在人发生跌倒的时候加速度合分量SVM变化最大,在人站立不动的时候SVM变化最小。所以可以设当SVM=1左右的时候,认定人保持静止,当SVM0.7或者SVM=0.7的时候,说明这是人体发生了跌倒的过程,这时候输出一个低电平给蜂鸣器,使其报警。4.4 主程序#include main.h/*主函数*/void main(void) WDTCTL = WDTPW + WDTHOLD; / 关狗 uchar i; /循环计数器 P2DIR = 0XFF; P2OUT = 0XFF; uart1_init(); /串口一初始化 ADXL345_init(); _EINT(); P2OUT=0X77;P6OUT=OXFF; mdelay(100); while(1) ADXL345_updata(); for(i=0;i15;i+) uart1_send(ADXL345_datai); uart1_send(n); P2OUT =P2OUT; mdelay(1000); while(svm=0.7|svm0.7) P6OUT=P6OUT /*函数名称:mdelay()功 能:延时一会参 数:you返回值 :无*/void mdelay(uint val) uint i; uchar j; for(i=0;ival;i+) for(j=0;j40;j+);void udelay(uint val) while(val-);4.4 本章总结 本章对数据进行了分析,使用matlab对数据进行处理并呈现出图形,通过对跌倒状态与其他情况下的图形变化进行对比,得出跌倒特征,确认算法的可行性。5 总结与期望5.1 工作成果老年人是跌倒的高危人群,由于身体的衰老,导致人体平衡下降,对一般人不在乎的跌倒,也可能能照成致命的伤害甚至死亡。为了让老人在跌倒的时候,产生报警信号,让我们能及时的发现,并且在黄金时间内得到救助。本次设计就是为了达到这个目的而不断努力。本次设计成果如下:1、 对ADXL345加速度传感器和单片机MSP430F149进行学习。2、学习IAR等编写软件,学习c语言,读懂程序。3、通过对比选择算法。4、通过usb通信将数据传输到电脑,利用matlab对数据进行采集绘图。本次设计虽然采集了数据,但是未完成将蜂鸣器报警程序与主程序相融合,对C语言编程的了解还不够深入,还需要学习。5.2 期望成功做出实物,以及今后的研究方向是仅仅检测跌倒事件,而要加入更多生理信号的检测,照护多人

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论