老人防摔GPS 定位报警系统的设计
2020-11-30韩金威
韩金威
(南阳医学高等专科学校,河南 南阳473000)
随着社会人口比例变化,大多数家庭都出现了老人多,年轻人少的情况,老人照顾不到位,老人安全问题成为每个家庭的安全隐患。老年人摔倒现象时有发生,摔倒本身不会出现多大问题,但摔倒后处理不当会造成严重后果。因此实时了解老年人独自上街的行为状态十分重要。本文针对相关问题开展研究,设计出对应跌倒报警器,以51 单片机为设计系统核心,包括可以检测出跌倒信号的传感器ADXL345 进行跌倒识别,GPS 模块VK2828U7G5LF 部分实时检查老人位置信息,GSM 模块的SIM900 能给监护人发去老人摔倒位置信息,使摔倒老人及时得到救助治疗,降低摔倒后的不利后果。
1 线路设计
1.1 GSM模块
SIM900A 是通过串口发送AT 指令来完成控制的,所以我们需要一块多串口的51 单片机STC12C5A,检查好电源和接地后,SIM900A 的TXD 和RXD 分别连接到STC12C5A 的P3.0 和P3.1 即可。当ADXL345 检查到老人摔倒数据后,通过单片机指令实现老人摔倒后位置信息的发送。
1.2 GPS 模块
VK2828U7G5LF 通过串口通信与单片机进行数据传输,当芯片的PPS 指示灯1 秒一闪烁绿灯时,它就开始实时定位了,它给单片机传输获得的定位数据,里面有、时间、位置信息等,只要产品开机并且该模块有信号就实时检查老人位置信息。通过STC12C5A60S2 对数据处理,让GSM模块把信息发送到指定手机号上。例如多个监护人电话号码、医院急救车电话等。
1.3 ADXL345 模块
ADXL345 是一款三轴、数字化的加速度传感器,它能测X、Y、Z 三个方向轴上的对应的速度信号。该模块能够对各种条件下的加速度进行检测。第一步主要通过其自带的感应器检测出加速度信号,然后进行信号转换,转换为可识别的模拟信号,从模拟信号和数字信号的定义可知,模拟量和数字量有着本质的差异。模拟信号具有幅度和时间上连续的特点;而数字量在表达幅度大小的数字域和时间域上均是离散的。当检查到老人摔倒时,通过单片机里的程序指令,让GSM模块发出求救信息,并使蜂鸣器报警。
1.4 单片机STC12C5A60S2 的功能及最小系统的电路设计
STC12C5A60S2 的主要功能有许多,作为核心控制模块可很好通过I/O 口对传感器,ADC0832 模数转换器,LCD1602 液晶显示器进行控制。该单片机是51 单片机分支,可兼容51 单片机旗下所有单片机。当前流通单片机大多数为CPLD 和C51,这两种单片机所针对系统不同。CPLD 针对功能复杂多样的系统,所需控制模块较多的系统,性价低。C51 单片机所针对的系统功能较简单,所需控制模块较少系统,性价比较高,使用性较强。
该单片机部分引脚功能特点为:PO 端口是I/O 端口的一种。I/O 端口是一个双工接口,有in 口和out 口。PO 端口需要在外部添加一个上拉电阻以改善阻抗。更特殊的P1 端口是P1.0和P1.1。这两个定时器可用作微控制器中的定时器。编程时,这个接口接收低8 位的地址字符,内部有一个上拉电阻和一个双向输入接口,用于系统编程。P2 端口和P1 端口之间存在明显差异,当作为输出口时,在连接外部系统是默认作为低电平,此外内部含有一个电阻,此电阻能带动四个低电平,在访问外载寄存器时,输出高8 位。
P3 口和其他接口还不一样。该接口内部也有电阻,但其在用C 语言编程时,一些不被其他接口检测到的控制信号它也能接受。P3 口同时具有8 位双向I/O 接口。一些Flash 闪存也可被P3 口接收,并接受一些控制信号。
RST 端口为重置输入。当振荡器运行工作时,按下复位按钮能复位RST 引脚。
ALE/PROG 端口可作为地址锁存器或编程脉冲。当ALE/PROG 端口作为编程脉冲,工作时要对Flash 编程。当ALE/PROG 端口用作地址锁存器时,问外部程序存储器或正确访问存储器时,仍然是固定脉冲信号,是时钟振荡周期的6 倍。
PSEN 是否允许控制程序的存储是其功能,每个运行周期允许两次的时候有效。EA/VPP 是允许外部访问的开关。如果CPU要想连接外部存储器,就保持EA 低电平。
2 系统分析与调试
本系统设计主要用Keil 软件进行C 语言编写进而控制单片机进行工作,然后进行程序调试,看是否有异常或错误。要把程序烧录进去,当编写程序时,由于系统本身原因,会出现很多问题。在软件调试过程中有些过程可能太短或延迟太长,如按钮的消抖动过程中时间较短,会导致连续值等,并将在此过程中不断修改。在编写完程序后检查该程序编写是否存在错误,以便为后续硬件调试减少麻烦。该软件可生成一个HEX 文件,允许刻录到微控制器,该软件编译、操作都方便简单。
当程序编译成功后,再将程序烧录进去开发板内,进行与硬件电路板对应各种元器件相结合共同工作。最后,当程序烧录结束后,开始进行对各部分元器件工作性能检测,并使用万用表对线路中各部分元器件间连接进行检测,看是否发生某元器件短路。如果没有则开始对硬件部分的主控制板进行检测,观察当对应按键接通时,数码管对应的显示情况。并检验传感器能否根据给出的触发信号,发出相应指令给系统。
最后阶段遇到的问题与相应处理方法:
使用万用表检测线路各部分的连接时发现有一个电阻发生短路,经过观察发现,是在进行焊接时,焊锡使用的太多导致的,最后又使用电烙铁进行加热,并重新进行焊接,之后再用万用表进行检测时发现电路各处连接正常。
在各部分装置都安装焊接完毕后,进行实际运行操作时发现,当供给电源后,小喇叭一直不停发出杂音,经过认真检查,发现对应的三极管的引脚连接出错,经过修改后,其可以正常工作。
报警器在收到人体给出的正确指令时,报警器没有反应,这个问题困扰了我很久,然后经过检查硬件电路各元器件间对应外部连线时发现,发现线路连接都是正确,最后经过对程序重新整理时发现,报警器对应程序编写少编写了声音检测部分。最后通过对该程序添加后,确保各部分都准确无误后,再重新给传感器以正确指令信号,这时报警器发出警报,整个装置都可以成功运行。
3 实物演示
3.1 接通电源后各个芯片亮灯
GSM模块的SIM900A 开始寻找信号一秒一闪,搜索信号完成变为两秒一闪。GPS 模块VK2828U7G5LF 背面绿灯闪烁,表明GPS 信号定位完成。ADXL345 模块灯常亮,表明工作正常。
3.2 模拟老人摔倒
首先设置接受号码,通过手机短信指令设置,手机编辑短信PHONE SMS:A(A 为接收报警预留号码)发送给插在GSM模块上卡的电话号码。接受完成后会反馈“SET END”表示设置成功。
用板子倾倒来模拟老人摔倒后的状态,当板子倾倒时ADXL345 检测到信号,通过单片机代码指令,继电器此时熄合,红色指示灯常亮(图1)。当倾倒15 秒以后仍未树立起来后,蜂鸣器开始报警,并且GSM模块发送报警短信到监护人手机上(图2)。
图1 模拟老人摔倒
图2 手机收到报警短信
3.3 模拟老人自行站起
当老人站起来时,报警蜂鸣器报警取消,继电器红灯熄灭,如图3 所示GSM模块发送“老人已站起来了,请打电话确认情况”短信到监护人手机上如图4 所示。
图3 模拟老人站起
图4 手机收到站起短信