基于STM32的智能看护系统*

2017-03-28 13:43张钧杰王亚龙靳全峰高宏峰
山西电子技术 2017年1期
关键词:计步机系统串口

强 威,张钧杰,刘 凯,王亚龙,靳全峰,高宏峰

(河南科技大学 信息工程学院,河南 洛阳 471023)

基于STM32的智能看护系统*

强 威,张钧杰,刘 凯,王亚龙,靳全峰,高宏峰

(河南科技大学 信息工程学院,河南 洛阳 471023)

阐述了一种基于STM32的智能防跌倒看护系统,由主机和从机组成,二者通过蓝牙通信。主机主要实现了计步、跌倒检测、定位等功能,从机主要实现了发送求助短信、测心率、一键呼救、接电话和显示等功能。本文给出了基于陀螺仪MPU6050和微控制器STM32F103C8T6的系统总体框架、硬件和软件设计,以及一些检测算法的设计。实验表明,该系统的误判率极低、实时性高、数据准确,可广泛应用。

跌倒检测;计步;GSM;MPU6050;GPS定位;STM32F103C8T6;心率检测

目前,我国的老年人数量在世界上排名第一,老年人的照看已经成为一个大问题[1]。如今,老年人跌倒、突发疾病无人知晓,存在一些慢性疾病隐患,家人却毫不知情,迷路无法求助等等问题越来越严重,老年人安全问题出现的频率也越来越高,很多老年人都迫切需要一种能够实时检测自身安全状态和身体健康指标的系统。而目前很多老年人看护系统,如老人居家看护系统,它们的设计和实现的跌倒检测算法都有很大的弊端[2],存在误判率较高的问题。

本文介绍的是一种低功耗、实时性强、设计新颖、实用性强的防跌倒看护系统,主要用在老年人群体。利用STM32处理数据速度快的优点,将检测数据进行实时检测、处理、反馈,实现了对老年人身体状况的实时检测。现在主流的微控制器STM32F103C8T6经过分频倍频后,实现了主频可选,最高频率可达72 MHz,在微控制器中属于速度较快的芯片。内嵌128 kB的FLASH存储器、20 kB的SRAM。丰富的外设也深得工程师们的喜爱,多个12位的双精度快速ADC通道。串口资源非常丰富,STM32F103C8T6有三个可用串口,STM32F1xx系列的有更多的串口资源,更是有快速的IIC通道、SPI通道、DMA通道等等。本系统充分利用了STM32的串口、ADC模数转换、定时器、IIC通道等资源。本系统的跌倒检测算法采用三重判断,分别是加速度判断、角度判断和人工关闭警报判断,解决了市场上产品误判率较高的问题,并且增加了较多的附加功能,除了检测跌倒以外还具有计步、检测心率、GPS定位、一键呼救、接听电话等功能。

1 总体设计方案

系统的主机和从机佩戴在人体不同的部位以实现更加精准的检测,主机系统佩戴在腰间,从机系统佩戴在手腕上。主机主要由以下部分组成:STM32F103C8T6,蓝牙HC-05、陀螺仪模块MPU6050、GPS模块等,图1为主机系统框图,其中GPS和蓝牙都是通过串口与主控通信,MPU6050通过IIC通道与主控通信。

图1 主机系统框图

图2为从机系统框图,从机系统主要包括STM32F103C8T6,蓝牙HC-05、GSM模块、心率传感器、有机发光二极管(Organic Light-Emitting Diode,以下简称OLED)、按键、蜂鸣器、麦克风、扬声器等部分。其中OLED通过IIC通道与主控进行通信,主控通过ADC通道采集心率模块输出的模拟信号进而转化为数字信号,蓝牙和GSM通过串口与主控通信。

图2 从机系统框图

主机主要功能是定位、计步和检测老人是否摔倒。通过精确的算法将返回的数据进行处理和判断,经算法确定老人摔倒后,启动第三重判断,老人身上佩戴的从机系统蜂鸣器启动,发出摔倒警报。若15 s后老人未手动关闭蜂鸣器则确定老人摔倒,主机系统则会立刻对老人进行定位,通过蓝牙将位置信息发给从机。从机系统把老人位置以短信形式发给看护人,并提醒看护人对老人进行救治。从机系统配有心率检测模块,实时检测老人心率,并在OLED上显示出来。本系统还有计步功能,可将老人一天走的步数显示在OLED上,实现了对老人运动量的监测。老人可通过从机系统自主拨打电话给监护人(当老人迷路或者遇到危险时),也可以接听电话。可见,从机系统的主要功能是发送短信、接打电话和心率检测。

2 硬件接口电路

图3为主机系统硬件接口电路图,主机系统中使用了STM32F103C8T6的6个可编程I/O,其中MPU6050模块与STM32F103C8T6的PB8和PB9连接,GPS模块与主控芯片的PA2和PA3连接,蓝牙与主控芯片的PA9和PA10连接。跌倒检测和计步的硬件组成主要是主控和MPU6050,其中PB8为IIC通信的SCL时钟引脚,PB9为IIC通信的SDA数据引脚。

图3 主机系统硬件接口图

3 软件设计

3.1 检测跌倒算法

跌倒检测的硬件主要包括陀螺仪MPU6050和主控STM32F103C8T6,其中MPU6050是一款9轴运动传感器。它集成了3轴(X,Y,Z)MEMS陀螺仪,3轴加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用IIC接口连接一个第三方传感器,比如磁力计。扩展之后就可以通过它的IIC接口输出一个9轴的信号[3]。在本系统中我们只用了其中6轴,即角度和加速度。

设ax表示人体左右的加速度,ay表示人体前后的加速度,az表示人体上下的加速度,SVM表示人体合加速度,是区分人体运动的重要参数[4],计算公式如下:

经过观察和分析可知,首先跌倒发生时人体的重力加速度会有一个瞬间下降的过程,随后人体在与地面接触的时候会与地面产生一个激烈的冲击,接下来人体的角度会发生变化。整理分析志愿者测得的数据可知,每次摔倒都会有一个SVM<2的过程,所以将SVM<2作为第一个判断跌倒的依据。当人体向前摔倒时y轴角度大于70,当人体向后摔倒时y轴角度小于-70,人体向左摔倒x轴角度大于70,人体向右摔倒时x轴角度小于-70。所以我们想要判断老人是否跌倒只需要判断X ,Y两轴角度的绝对值是否大于70便可。

图4为跌倒检测算法流程图,合加速度SVM一直进行更新和判断。一旦满足SVM<2后,延时两秒钟再判断X,Y两轴的角度是否满足条件。当前两项都满足条件后,从机便会发出警报,做最后一项判断。若老人在15s内通过按键将警报关闭,则判断老人未跌倒,系统继续正常运行。若老人在15s内未解除警报 ,则判断老人跌倒,主机系统会马上对老人进行定位,并通过蓝牙将位置发给从机,从机通过GSM把老人位置发送给监护人,并通知监护人对其进行救治。

图4 跌倒检测算法流程图

3.2 计步算法

经整理和分析志愿者测得的数据可知:人在走路时合加速度有规律的变化,并且接近正弦波形,每走一步合加速度就会出现一个波峰,所以只需要计算波峰的个数便可。

1) 波峰检测:每隔5ms就把合加速度的值记录下来,保存在变量SVM1中,并把上次的合加速度值保存在SVM2中,并将SVM1和SVM2进行比较。若SVM1>SVM2,则还没有到达波峰,继续对数据进行更新。若SVM1

2) 去除干扰:计步的过程中主要有两种干扰,一是杂波干扰,即小幅度抖动不计步。经测试人在走路过程中SVM值最小为12。所以将每次达到波峰状态时将波峰数值保存下来,若大于12计算一步,否则不计算。二是高频抖动干扰,如某个恶作剧用户想通过短时快速反复摇动设备来模拟人走路。人体最快的跑步频率为5Hz,也就是说相邻两步的时间间隔的至少为0.2s[5],频率超过50Hz的抖动称之为高频抖动。解决方案是利用定时器中断将每次出现波峰的时间记录下来,相邻两次的时间进行比较,若时间小于0.2s则不计步,这样就虑去了高频噪声干扰。

3.3 其他功能实现

本系统用的是反射式心率传感器,输出模拟信号,即正弦波,通过从机的12位ADC采样并转化为数字信号并进行计数,估算出一分钟的心跳数,得到心率。

本系统中用的GSM模块是SIM800模块,串口通信模式,利用主控的串口2给GSM模块发送AT指令来实现发短信和接打电话的功能,由于GSM模块只能识别Unicode码,所以发短信前首先要将中文转化为Unicode码格式GSM才能发送和接收。

4 结束语

本文介绍了一种老年人看护系统,分为主机和从机系统,主机系统的功能主要是检测跌倒、计步、定位等功能,从机系统的主要功能是发送短信、接打电话、实时检测心率等功能。本系统的跌倒检测功能相对于市场上的跌倒检测产品有较大的改善,三重跌倒检测算法,大大降低了误判率。通过实际测试得到人走路的过程中SVM的变化曲线,整理分析最终得到一套独特的计步算法,计算波峰、去除低幅干扰、去除高频干扰,实现了精确的计步功能。本系统功能较为齐全、功耗较低、实时性较高,相比市场上功能单一的可穿戴设备有较大优势。

[1] 陆杰华,王伟进,薛伟玲.中国老龄产业发展的现状、前景与政策支持体系[J].城市观察,2013(4):5-21.

[2] 汪冬,葛万成,王云光,等.老人居家看护系统的设计和实现[J].中国组织工程研究与临床康复,2009(35):6923-6926.

[3] 刘莉,郑冬云,刘晓军.基于MPU6050的老年人跌倒监测系统设计[J].中国医疗器械杂志研究与论著,2015,39(5):327-330.

[4] 卓从彬,杨龙频,周林,等.基于MPU6050加速度传感器的跌倒检测与报警系统设计[J].电子器件,2015,38(4):821-825.

[5] 刘程,阳洪.自适应计步检测算法研究[J].压电与声光,2015,37(2):258-270.

Intelligent Care System Based on STM32

Qiang Wei, Zhang Junjie, Liu Kai, Wang Yalong, Jin Quanfeng, Gao Hongfeng

(CollegeofInformationEngineering,HenanUniversityofScienceandTechnology,

LuoyangHenan471023,China)

An intelligent device of care system based on STM32 is introduced in this article. The device is made up of host system and the slave system. The communication mode between the two parts is based on blue-tooth. Functions like steps-counting, falling detection, satellite positioning etc are realized on the master system and the functions like message sending, calling, alerting and pulse monitor are realized on the slave system. This article shows the hardware and software designs of the system based on MPU6050 and STM32F103C8T6. The experiments show that this system has a lower rate of erroneous judgment; it also has advantages of real-time processing and accurate data, so it can be widely used in our life.

fall detection; steps-counting; GSM; MPU6050; GPS; STM32F103C8T6; heart rate monitoring

2016-10-19

2016年度河南科技大学大学生研究训练计划资助(2016036);2015年河南科技大学教学改革项目(2015YBZD-004);2016年国家级大学生创新创业训练项目(201610464020)

强 威(1995- ),男,河南驻马店人,本科生,主要研究方向为嵌入式开发。

1674- 4578(2017)01- 0003- 03

TP273

A

猜你喜欢
计步机系统串口
浅谈AB PLC串口跟RFID传感器的通讯应用
基于G-senor和步频的运动强度分析系统设计
移动手环的设计与实现
手持式触摸测试机对闸机系统的维护研究
加速度差分有限状态机计步算法*
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
经济、可靠的自动开关机系统
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
京石高速公路自助发卡机系统的设计与应用