•116•ELECTRONICSWORLD・技术交流老人跌倒自动报警系统设计延安大学物理与电子信息学院张治国张富春杨延宁马蕊婷张雄【摘要】为了实现老人跌倒后可以得到及时的救助和避免造成“二次伤害”,设计了一种基于MPU-6050六轴运动处理组件采集人体跌倒信息的自动报警系统,系统由低功耗微处理器STM32F103C8T6、自动控制语音报警和GPS定位系统构成,实现了SMS远程报警以及纠正误报警、漏报警的功能。通过系统原理图和搭建的样机测试电路研究表明,该系统具有操作简单、易便携、运行稳定、成本低的优点,可为外出活动的老人在发生意外跌倒时提供及时帮助。【关键词】六轴运动处理组件;阈值检测算法;GSM;GPSDesignOfTheAutomaticAlarmSystemForTheFallOfTheElderlyZHANGZhi-guo,ZHANGFu-chun,YANGYan-ning,MARui-ting,ZHANGXiong(SchoolofPhysicsandElectronicInformation,Yan’anUniversity,Yan’an716000,China)Abstract:Toachievetheelderlycangettimelyassistanceandavoid“secondaryinjuries”,designedaMPU-6050sixaxismotionprocessingautomaticalarmsystembasedoninformationcollectionmodulebodyfalls,thesystemiscomposedofalow-powermicroprocessorSTM32F103C8T6,automaticcon-trolvoicealarmandGPSpositioningsystem,whichrealizesthemobilephoneSMSremotealarmcorrectthefalsealarmandomitalarmfunction.Throughthestudyoftheschematicdiagramofthesystemandthetestcircuitoftheprototype,itisshownthatthesystemhastheadvantagesofsimpleoperation,easytocarry,stableoperationandlowcost,anditcanprovidetimelyhelpfortheoutgoingelderlyintheeventofanaccidentalfall.Keywords:Six-axismotionprocessingcomponent;thresholddetectionalgorithm;GSM;GPS0引言21世纪被称为“银发世纪”,人口老龄化已成为当今社会面临的严重挑战之一,伴随着人口高龄化趋势的日益严重,空巢化现象变得尤为明显,老年人的病患与意外伤害也越来越多。而跌倒是老年人常见的意外伤害事件之一,是形成老年人群损伤、骨折甚至卧床不起的主要原因之一,同时也会对老年人的心理健康造成影响[1]。而今随着电子技术和通信网络技术的不断进步,嵌入式技术的不断发展,电子类产品逐渐向自动化、小型化、易便捷方向发展[2],将嵌入式技术应用到老年人医疗护理领域的研究也取得了很大的发展。针对老年人跌倒时身体姿势变化特征,设计出一种能够实时检测老年人身体姿势的自动报警系统,当老人发生跌倒或意外伤害时,该系统可以及时发出求救信号,同时将老人的位置信息发送给预存监护人的手机终端,使老年人在面临危险时能够得到及时的救助,从而减少意外跌倒对老年人形成的伤害,提高老年人的生活质量。1跌倒检测的理论基础跌倒通常是指人体由平坐或站立姿势迅速过渡到躺倒的姿势,具备突发性、不自主性、非故意性等特点[3]。在这种姿势的转变中,重心变化成为影响运动变化过程的主要因素。在跌倒事件发生的过程中,人体的位移、速度、加速度和相对于平面的倾斜角都发生了一定的变化[4]。因此,集中收集这几个要素的数据变化可作为判断人体跌倒的依据,基于阈值的跌倒检测技术就是通过对人体跌倒状态进行建模并提取了人体在跌倒过程中的加速度值、倾斜度和重心的变化,当数据达到了设定变化的阈值时即判定人体发生了跌倒[5]。2方案设计系统设计以STM32F103C8T6微处理器为控制器件[6],利用六轴运动处理组件采集人体姿态变化数据,通过I2C协议传输数据给微处理器,STM32F103C8T6微处理器经过阈值算法检测是否达到跌到条件,若达到跌到条件,系统则自动启动语音报警系统和GPS定位系统,同时发送短信给预存监护人的手机终端;若没有达到跌到条件,系统则保持静默状态[7-8]。此外,从系统的周密性和严谨性角度考虑,系统设计增加了手动报警功能,当按下手动报警按键,系统也会进行一系列报警工作。其系统总体框图如图1所示。图1系统总体框图3系统设计论证系统设计论证包括数据采集模块、微控制器模块、四频GSM模块、GPS模块、语音报警模块等,本系统采用的是3.7V锂电池供电。以MPU-6050六轴运动处理组件为数据采集模块,实时监测老人的身体姿态状况,其数据经过STM32F103C8T6微处理器阈值检测算法处理,若达到跌倒发生的条件,就会启动语音报警系统和GPS定位系统,同时向预存手机号码发送短信进行通知。使跌倒受基金项目:国家级大学生创新训练项目(201710719020);延安大学科研计划项目(YDQ2017-10);陕西省高水平大学建设项目(2015SXTS02);延安大学继续教育教学改革研究专项科研计划项目(YDJZ2016-08);延安大学产学研项目(2017cxy05)。•117•ELECTRONICSWORLD・技术交流伤的老人得到及时的救助,避免对老人造成二次伤害。主要模块工作原理如下。3.1数据采集模块采集人体姿态变化的数据,是完成老人跌倒自动报警系统设计必不可少的部分。市场上可充当传感器的模块众多,如ADXL345、MMA7260Q等,考虑到加速度、角速度感测范围和输出频率大小,选用自带稳压芯片的MPU-6050六轴运动处理组件,其内部集成了数字运动处理器DMP,可以将三轴陀螺仪采集的数据和三轴加速度计采集的数据利用硬件算法转化为四元数据输出[9]。再经过I2C通信协议传输到STM32F103C8T6微处理器上,STM32F103C8T6作为主机(主以SMS的方式将跌倒者的位置信息发送给家人。3.5语音报警模块为了方便跌倒者及时获得周围人群的帮助,系统设计增加了语音报警功能。系统设计采用了ISD1820语音模块,其经过边沿触发的方式接在STM32F103C8T6微处理器的PB1引脚。当此端接收到上升沿时,此前储存在芯片内的语音开始播放,放音持续到内存结束。由于其输出信号微弱,采用LM386功率放大电路进行低功耗无失真功率放大。图2所示为总体硬件设计电路图。4软件设计编程选用KeiluVision5作为软件开发系统,用C语言执行软件编程[13]。在本设计中,主函数包含人体运动姿态变化数据采集模块、数据处理模块、报警模块和按键模块。其中报警模块分为语音报警功能和SMS报警功能,按键模块分为手动报警按键和取消报警按键。4.1系统软件设计首先,对系统进行初始化。初始化结束后判断传感器采集数据是否完成,若没有完成则继续判断;若采集完成将数据存储20次,再进行均值滤波。完成均值滤波后判断是否有跌倒发生,若没有跌倒,就再次判断数据采集是否完成;若有跌倒发生,就会进行报警工作。判断是否有按键按下,若没有按键按下就结束程序;若有按键按下继续进程。若按下的是手动报警键即进行一系列报警工作;若按下的是取消报警键则取消报警,进程结束。图3所示为系统软件流程图。4.2MPU-6050软件设计人体活动数据会实时被MPU-6050传感器采集,在人体跌到发生时,传感器所测得的加速度值和角速度值急剧变化,主控模块通过判断数据的急剧变化来断定是否发生跌倒的危险动作。MPU-图2总体硬件设计电路图设备),MPU-6050作为从机,主机将Slave地址传到总线上,从机用与其匹配的地址来识别主机。3.2微控制器模块控制模块采用的是高性能、低功耗、低成本、可靠性高的STM-32F103C8T6嵌入式微处理器,因此由它所构成的产品具有可便携的特点。由于STM32F103C8T6内部集成了众多外设,根据设计要求,微处理器模块和其他各个模块连接,既是构成整个系统的关键,又有效的降低了成本,同时降低了调试的难度,提高了可靠性。其经过阈值检测算法来判断是否发生跌倒事件,进而对各个模块发出执行指令,可以实现系统对各种突发状况的综合检测和实时发出报警指令[10]。3.3GPS模块定位系统模块设计采用了NEO-7M模组,其利用UART串口通信协议和STM32F103C8T6通信。NEO-7M的发送端口TXD和接收端口RXD分别与STM32F103C8T6的接收端口RXD(PA10)和发送端口TXD(PA9)相连接[11]。当微处理器检测到有跌倒发生时,该模块立即启动并保存定位数据,微处理器从GPS模块中读取经纬度、速度等数据,将数据封装通过GSM模块的SMS服务发送到移动终端,方便监护人查看目标的方位,从而实现快速定位。设计要求其具备持续时间长、低功耗、体积小、定位数据准确、传输稳定的特点。3.4四频GSM模块GSM网络建设已经具有相当大的规模,数字移动终端已经具有功能完备、使用方便的特点,信息可以及时准确的传送到移动终端。系统设计采用的是一款四频GSM的SIM800C模块,其通过UART串口通信协议和STM32F103C8T6通信[12]。STM32F103C8T6通过串口发送AT命令来控制SIM800C模块进行初始化和定位数据的发送及微处理器命令的接收。GSM模块安装了SIM卡,这就是本系统的电话号码。当发生跌倒时,该模块主要完成读取系统预存电话号码,•118•ELECTRONICSWORLD・技术交流6050模块具体测量数据如表1和表2所示。图3系统软件流程图表1加速度值方向数值1数值2数值3数值4数值5数值6X轴方向-11592-14142-13336-136688-14604-15972Y轴方向44-2096-6550-676-1992-3810Z轴方向8044-6263572578438781842表2角速度值方向数值1数值2数值3数值4数值5数值6X轴方向-19580-17586-15550-14407-13101-18210Y轴方向120816821760184817582050Z轴方向5136-232317525806-2760-1190由上述两张数据表可以看出:在人体跌倒发生时,MPU-6050传感器的X轴加速度的数据前后变化明显,而且无异常数据跳变适合设置阈值;Y轴加速度值的数据有正负跳变幅度过大,且变化不规律,不适合设置阈值;Z轴加速度值的数据有正负跳变幅度过大,且变化不规律,不适合设置阈值。X轴角速度的数据前后变化明显,而且无异常数据跳变适合设置阈值;Y轴加速度值的数据变化不明显,且变化不规律,不适合设置阈值;Z轴角速度值的数据有正负跳变幅度过大,且变化不规律,不适合设置阈值。综合上述数据分析,设计选定采用X轴加速度和X轴角速度值作为阈值参考值。5功能调试电路焊接完成后,打开电源开关,使用万用表检查数据采集模块、微控制器模块、四频GSM模块的电压是否正常;再检查STM32F103C8T6最小系统能否正常工作。检查各个模块与微控制器模块的连接是否正确,分别模拟人体姿态变化和按下手动报警按键,使用串口调试助手检查产生的数据是否合理,检查该装置是否可以正常报警,两个过程都有对应的指示灯指示[14]。软件调试主要是对软件编程和硬件之间的匹配进行检测。第一步是对初始化配置是否正常进行检查,如MPU-6050传感器、四频GSM模块、STM32F103C8T6的GPIO配置是否正常