基于STM32单片机控制的老年人跌倒警报系统

2023-10-27 13:04信艺阳赵阳光宋朝晖李梓涵孙玉清
大学物理实验 2023年5期
关键词:实验者蜂鸣器警报

朱 敏,信艺阳,赵阳光,宋朝晖,李梓涵,孙玉清

(南京邮电大学 通达学院 通信工程学院,江苏 扬州 225127)

1 项目研究背景及其意义

1.1 项目研究背景

根据第七次全国人口普查公报显示,我国年龄在65岁以上的老年人占中国总人口的13.5%,预计到21世纪中叶,我国60岁以上人口将高达4.7亿,在总人口中占比高达30%[1]。伴随我国人口老龄化程度日益加深,社会中老年人口数目逐渐增长,老年人安全保障问题逐渐成为当代社会关注的焦点,而在日益增加的社会压力下,老年人家属很难做到时刻陪同,老人独处会面临很多的困难,以至于危害到老年人安全,跌倒就是老年人意外受伤的主要原因之一。

1.2 国内外研究现状

国外在此方面已经有较为成熟、灵活的产品,技术也更加复杂先进,比如说智能腰带产品,采用消歧装置,利用3D感知装置,会对15%以上的摔倒进行防护。2013年,美国运营商AT&T发布了一款名为Ever There的穿戴式医疗报警装置,该装置需要贴身佩戴,并通过陀螺仪、加速度仪等5种传感器来完成跌倒监测[2]。而国内市面上流行的手环多由振动器、运动传感器、蓝牙等技术模块组成,也能够较好地满足使用者的需求。

目前常见的跌倒检测方法主要分三大类:一是基于可穿戴式传感器的方法,二是基于场景传感器的方法,三是基于计算机视觉的方法[3]。我们系统检测跌倒主要采用可穿戴式传感器的方法。

1.3 项目研究创新点及意义

本项目通过可穿戴式传感器检测用户是否跌倒,由于老年人行动不便记忆力下降,会经常性遗忘装置电量,所以系统通过硬件与软件结合的方式降低其功耗,使电池持续时间更久,然后选择更为合适的加速度传感器和其他模块降低装置的价格。合理分配PCB布局使装置尺寸缩小,便于老年人佩戴。整套系统高效安全,方便快捷。

产品的目标人群是一些需要安全保障且无法灵活使用电子产品的人群,目前系统的主要功能包括实时监测使用者是否有跌倒动作,然后向其监护人发送位置信息。

2 系统整体设计及其设计原理

2.1 系统整体设计

系统整体是由STM32F103RCT6为主控制,再加上蜂鸣器模块、三轴加速度传感器、GPS定位模块和ATK-IDM750C模块等组成。单片机通过传感器模块采集数据,以MPU6050陀螺仪作为加速度传感器测量人体倾斜角度,并将所测量到的俯仰角与阈值进行对比,当陀螺仪模块测量的仰角、翻滚角、偏航角大于阈值一段时间后,系统会自动判定危险并发出警报。产品的GPS模块和陀螺仪模块实时更新信息,警报后系统将GPS模块定位到的用户位置通过通信模块ATK-IDM750C的AT指令以英文短信的形式传送至子女手机。系统总体框图如图1所示。

图1 系统总框图

2.2 单片机设计

本系统采用了由意法半导体公司设计的高性能STM32F429BIT6作为控制器,其中该型号单片机使用内核为32位的带有FPU处理器的Cortex-M4微处理器芯片,其优点是引脚数少,功耗低的同时又具备优越的计算性能和中断响应。它的工作电压范围在为1.7~3.6 V,与我们的外部供电模块相匹配,在调试模式上也支持SWD和JTAG模式。在本次实验中主要负责与外部模块连接供电、通过串行接口处理数据、发送相关指令完成实验等功能,它的主频高达180 MHz并具有多个I/O端口和通信端口,跟其他STM系列控制器相比更高效且功能完备,符合本次实验要求。

2.3 蜂鸣器模块设计

本次系统中采用的蜂鸣器为无源蜂鸣器,其内部不需要震荡源,当直流信号无法使无源蜂鸣器鸣叫时,只有给它一定频率的方波信号才可让无源蜂鸣器的振动装置起振。相对于需要在供电端上施加额定电压、依靠内部振荡电路产生固定频率的有源蜂鸣器,由电信号驱动发声的无源蜂鸣器价格更为低廉,声音频率可以根据输入的方波信号频率的改变而发生改变。在MUP6050陀螺仪的工作过程中,该无源蜂鸣器担任起必要的警报功能。我们可以在主程序最开始时设置相应的语句,运行程序将其设置为“高电平”状态,相当于暂时关闭蜂鸣器[4]。当检测到MUP6050陀螺仪倾角超过设定的阈值后,单片机便会将对应的引脚拉低,使得蜂鸣器鸣叫警报。

2.4 陀螺仪模块设计及跌倒算法设计

本系统采用正点原子公司生产的MPU6050三轴加速度传感器,能够感应用户身体倾斜状况并且计算出用户倾斜角度的模块,通过与阈值相比来检测用户是否跌倒。该型号也是InvenSense公司推出的全球首款整合型6轴运动处理组件,其内部包含三轴陀螺仪和三轴加速度传感器,并自带数字运动处理器DMP,通过IIC接口以数字形式输出融合演算数据,供电电压有3.3 V,易于供电。除此之外MPU6050与其他陀螺仪不同点是它消除了加速器和陀螺仪轴间敏感度,从而减小感测器的偏移,并内带矫正演算技术,减少用户另外矫正需求,数字输入同步引脚还支持GPS技术,而且这款陀螺仪的封装尺寸也比较小,便于携带。

MPU6050模块可以进行I2C通信,能够直接输出X、Y、Z三个方向的加速度、角度和角速度[5],也能够提供三维方向的加速度以及各自的角速度,在计算出使用者的姿态的同时帮助设计者减少计算工作。由于装置佩戴位置不同,陀螺仪计算精度也略有不同,建议将本装置佩戴在用户腰部位置,以人体垂直地面站立方向为Z轴,眼睛向前平视方向为Y轴,人体手臂平直打开为X轴,建立三维直角坐标系,如图2所示。

图2 三维空间图

(1)

用SVM表示人体的加速度向量幅值,SVM的大小代表人体运动的激烈程度[6-7]。当跌倒动作发生后,使用者将处于一个静止的状态下,可以运用此时人体的X、Y、Z轴的角度值来判断人体的姿态[8]。

MPU6050可以通过自身内部的数据传输完成四元数的运算,并且通过IIC等接口完成横滚角(roll),俯仰角(pitch)和偏航角(yaw)的运算。进行测试时,由于误差噪声等外部环境的影响,MPU6050所得到的数据并不准确,因此需要矫正,矫正时首先减小零点漂移带来的影响,后通过外部加速器对噪声进行综合。如图3所示即是MPU6050的电路原理图。

图3 MPU6050电路原理图

2.5 GPS模块设计

GPS(Navigation Satellite Timing and Ranging/Global Positioning System),中文名为“卫星授时测距导航/全球定位系统”[9]。根据相关研究结果证明,GPS相对定位精度在50公里以内可达10-6m,100~500公里可达10-7m,500~1 000 km以内可达10-9m[10],由于GPS户外定位精准,覆盖范围广,所以我们将GPS与陀螺仪相连接,通过STM32单片机去接受来自GPS采集到的地理位置信息,当单片机接收到来自陀螺仪模块的消息时,就可将实时位置通过ATK-IDM750C模块传递给用户。

本系统使用的是ALIENTEK生产的ATK-S1216F8-BD型号的高性能GPS,该产品具有以下特点:第一,本模块核心采用的是SkyTraq公司的S1216F8-BD模组,性能高效,体积小巧携带方便;第二,本模块可通过串口设置参数并保存在FLASH中,方便用户使用;第三,本模块与3.3 V和5 V电压相兼容,而且自带IPX接口,方便连接其他模块。

该系统内部集成了接收天线模块、低噪声放大模块和电源供给模块[11]。模块与单片机连接时,VCC和GND用于模块供电,TXD和RXD与单片机的RXD和TXD相连接。该模块与单片机采用串口通信输出NMEA0183语句,其中NMEA0183协议利用ASCII码也称之为“帧”来传递消息。其原理图如图4所示。

图4 GPS原理图

2.6 通信模块工作原理

ATK-IDM750C/IDM751C是一款高性能4G Cat1 DTU产品,支持各运营商的4G网络连接。具有传输速率高、网络时延小的特点,能迅速解决应用场合下的无线数据传输方案[12]。在本次的开发过程中,主要使用到的是模块中发送英文短信的功能。模块在使用时需要确保模块供电电压在5~12 V,且在5 V电压下工作时需要确保电流达到3 A才可使模块正常工作。ATK-IDM750C模块主要采用AT指令进行单片机与模块之间的通信。实验过程中对于AT指令的格式有着严格的要求,且对于每次应答的间隔时间需要在500 ms内完成,只有两者同时满足才可使模块正常工作。

实验过程中由MPU6050对人体倾角进行测量,当检测到老人跌倒后警报便会响起,同时单片机会执行英文短信程序,将此时老人的位置信息发送给提前设定好的联系人发送短信告知其位置,其中N代表北纬,E代表东经。

3 系统整体调试

3.1 系统软件功能介绍

本次实验中软件系统主要由:主函数、俯仰角采集函数、位置信息测量函数以及信息发送函数组成。系统上电后,依次执行对于各种外部硬件的初始化,包括I2C初始化、MPU6050初始化、GPS初始化、ATK-IDM750C初始化以及串口初始化。实验过程中通过软件I2C的方式读取由MPU6050所发送的俯仰角信息,通过串口2接收GPS所传输的实时位置信息,通过串口3与通信模块之间建立通信。系统运行后便会自动测量仰角、翻滚角、偏航角、当前经纬度信息以及当前时间。当所测量的仰角、翻滚角、偏航角信息均超出所设置的阈值一段时间后,系统便会自动向通信模块发出AT指令将老人当前位置信息发送至子女手机中。

3.2 系统实验结果

为了验证该系统的准确性和可行性,我们将各个模块连接到一起并邀请四名实验者(年龄21~23岁,身高170~185 cm)穿戴本装置进行测试,本次测试从两个方面进行,验证使用者在日常生活中穿戴该装置是否会出现误判现象,比如没有跌倒却发出警报,同时验证本装置的准确性,测试在用户跌倒时系统是否依旧正常运行,各项功能是否照常运转。

将该装置装备在四名实验者的腰间分别进行两组动作实验,第一组包括正常行走、坐下和慢跑,第二组为跌倒,其中正常行走、坐下、慢跑都是“温和动作”实验,每名实验者正常行走、坐下、慢跑动作各实验20次,故第一组实验动作一共实验60次。第二组跌倒动作也实验60次,故每组动作采集到60个样本。

当四名实验者进行“正常行走”实验时,发现蜂鸣器并没有报警,陀螺仪检测用户的仰角、翻滚角、偏航角没有超过阈值,GPS与通信模块正常工作并没有向实验者发送位置短信。接下来我们让四名实验者逐一进行“坐下”实验,二十次实验内蜂鸣器都没有警报,陀螺仪检测角度同正常行走时相同,没有超过设定阈值,GPS和通信系统也没有发送短信,警报系统正常工作没有误判。考虑到老年人腿脚不便,让四名实验者进行慢跑动作,发现在第五次和第十一次实验中系统发出警报,故判断在慢跑时系统误判率为10%。剩下的十八次实验同之前的实验一样并没有发生跌倒警报,由此可见当使用者进行一些“温和”动作时装置的误判率为3.33%。

接下来我们让实验者行走一段时间后跌倒,当实验者跌倒后,发现蜂鸣器开始鸣叫发出警报,由此判断陀螺仪检测到人体仰俯角超过阈值,随后实验者手机接收到来自通信模块发送的GPS定位位置短信。实验进行六十次,在第三十二次实验中系统没有检测到跌倒现象,没有发出警报,漏判一次,误判率为1.66%。实验结果如表1所示。

表1 两组动作实验结果

4 结 论

本产品设计初衷为聚焦老年人、残障者等无法进行自行自救的人群。随着通信设备的普及,大多数人在面对突发状况时有能力自救或者求助其他人,然而总有部分人群难以自理。在社会生存压力下,一些残障者、老年人的家人无法做到时刻陪同。本产品基于不能自理者在独处时因某些突发状况发生身体平衡状态快速变化、无人能够提供较为及时帮助这一情况,设计了一款基于GPS通信技术的警报系统。该系统快速便捷,能够时刻监控老人姿态的变化,并通过算法判断是否需要及时警报或给佩戴者家属发送短信,在一定程度上减少了意外伤害对佩戴者身体健康带来的影响。经过多次实验测试,该系统准确性较高,安全性能好,佩戴者出行携带较为方便。该系统在后续应用中,将增加更多实用性能和突发状况报警功能,如血氧检测功能,呼吸状态监测。在携带形式上也会有更多改进以适用于未来的市场。

猜你喜欢
实验者蜂鸣器警报
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于北斗三号的人防警报控制系统及应用
探讨消毒供应室护理人员职业倦怠情况及对应的措施
掌控板制作简易钢琴
喉气管狭窄外科治疗效果的分析
加年华
假期终结者
单片机驱动蜂鸣器的程序设计
是谁的责任?
拉响夏日警报定格无痕迹美肌