一种老年人健康监测手环系统设计

2022-06-15 09:06赵鑫于丰侨袁小平
电子设计工程 2022年11期
关键词:手环蓝牙加速度

赵鑫,于丰侨,袁小平

(中国矿业大学信息与控制工程学院,江苏徐州 221116)

随着人口老龄化的加重,老年人群体所占比重逐年增加;同时,老年人群体由于身体机能的衰退,更容易发生跌倒等突发状况。如何有效地监测老年人群体的健康状况,提高其生活质量,是当前亟需解决的一大难题。

据调查统计,意外跌倒是老年人突发状况的主要来源。基于该问题,文中提出了一种健康监测手环系统设计,该系统可以实时监测老年人是否发生跌倒,当监测到意外跌倒后,系统会自动发送求救信息,及时让老年人得到救助。此外,该系统还可以监测睡眠质量、运动情况等,全面保障老年人群体的健康生活,具有良好的实用价值。

1 系统总体设计

健康监测手环系统分为手环端和APP 端两部分,如图1 所示。手环端通过跌倒监测模块实时获取老年人运动状态,当发生跌倒时,主控模块将跌倒信息以蓝牙通信方式传输到APP 端,再通过APP 将求救信息发送给预设的紧急联系人,求救信息包括老年人所处地理位置等信息。睡眠监测模块、运动监测模块、气候监测模块分别用于其他信息的采集,并在手环上实时显示,或通过APP 来查看相关信息。

图1 系统框架图

2 硬件电路设计

硬件设计包括主控电路、串口通信电路、检测电路、显示电路、电源电路等,采用双层PCB 设计,手环尺寸仅为4.2 cm×4.5 cm,实物如图2 所示,十分小巧,便于佩戴。

图2 手环实物图

硬件设计中,显示电路以ST7789作为显示驱动,并搭配1.54寸IPS显示屏;串口通信电路采用CP2104芯片,其所需外围器件少,数据传输稳定;电源电路包括1 个电源开关和3 个功能按键,用于控制不同界面的切换和参数的显示;其他硬件电路将在下文详细介绍。

2.1 主控电路

主控电路采用意法半导体(ST)的STM32F411CE U6 作为控制核心,该芯片基于ARM Cortex-M4 32 位RISC 内核,具有浮点单元(FPU),可以加速运动状态的解算;此外,该芯片外设种类丰富,满足系统实际需求。

2.2 蓝牙电路

手环与APP 通信基于蓝牙通信方式,通过Dialog半导体的DA14585 蓝牙SoC 实现通信[1],该SoC 支持蓝牙5.0、Mesh 等技术标准[2],具有极低的功耗。在省电模式下,将广播周期设置为600 ms,经实际测试,平均功耗仅为20 μA/s,适合手环等电池供电设备。

2.3 检测电路

检测电路部分可实现包括加速度、陀螺仪、气压、温度等原始数据的获取,对原始数据处理后,可得到各项健康参数。其中三轴加速度和三轴陀螺仪数据通过InvenSense 的MPU6050 六轴传感器获取,具体电路如图3 所示,该电路采用IIC 通信方式,实际通信速率可达400 kHz,并自带数据运动处理器(DMP),满足系统数据采集和处理的实时性需求。

图3 MPU6050检测电路图

气压和温度数据通过Bosch 的BMP280 传感器得到,该传感器具有宽测压范围和高分辨率,最高精度可达0.16 Pa;温度测量可实现0.000 3 ℃的高分辨率;和MPU6050 相同,采用IIC 通信方式[3],可以最大化节省主控核心的IO 资源,具体电路如图4 所示。

图4 BMP280检测电路图

2.4 电源电路

为获取3.3 V 系统工作电压,电源电路通过对锂电池输出电压先升压再稳压得到所需电压,如图5 所示。PS7516 升压芯片将锂电池输出的3.7 V 电压升至5 V,再通过RT9013线性稳压器得到3.3 V电压。

图5 电源电路图

电池充电管理芯片TC4056A 用于给锂电池充电,调节PROG 管脚编程电阻可以得到不同大小的充电电流IBAT,具体比例关系如式(1)所示;当处于充电或充满状态时,CHRG 和STDBY 管脚会分别输出一个低电平标志。

3 软件算法设计

手环端软件部分基于LVGL 嵌入式GUI 实现任务调度和图形用户界面(GUI)的显示,基本控制流程如图6 所示。系统上电复位后,初始化各类外设和LVGL,LVGL 初始化完毕后,创建任务并开始调度。

图6 软件控制流框图

GUI 显示任务用于时间等数据的显示;跌倒监测任务在判断是否跌倒的同时,会实时获取使用者的姿态数据;睡眠监测任务可获取使用者睡眠时间和睡眠质量数据;运动监测包括步数、运动路程、卡路里消耗等数据;此外,还可以在气候监测任务中实时得到外界温度、气压和海拔数据。

3.1 跌倒监测算法

意外跌倒是老年人突发状况的主要来源,因此对老人年的运动状态进行监测至关重要。监测从技术分类上出发,可分为阈值监测[4-6]和基于深度学习的监测[7-9]。阈值监测是指将传感器采集到的加速度等数据处理后,与预设阈值进行比对,从而作出跌倒与否的判断。该方法实现较为简单,对硬件要求较低,适合手环等低功耗设备。而基于深度学习的监测对采集到的样本数据进行模型训练,再部署到硬件设备中进行推理判断。该方法具有较高的精度,但计算量过大,一般的低功耗设备难以满足算力和功耗的要求。综合考量,文中采用阈值监测。

人在跌倒瞬间,人体重心高度会发生变化,基于此,较于传统的基于加速度的阈值监测方法[10-11],文中提出的监测方案还引入了高度差这一参数,以进一步提高监测的准确性,具体监测流程如图7 所示。

图7 跌倒监测算法流程

首先,从MPU6050 获取原始数据进行处理,得到x轴、y轴和z轴的加速度值;从BMP280 获取气压数据,将其转换后得到海拔高度数据。对人体跌倒时间进行测试,将跌倒监测周期设置为1 ms。每次监测任务中,将获取的x、y、z轴加速度值与前一次数据分别作差后取绝对值再求和,得到合加速度差,若该值未超过阈值th_v,则未发生跌倒;反之,进行高度差的判断。只有当高度差也超过预设的阈值th_h时,才会触发跌倒标志,并将跌倒信息发送至APP端,进行后续求救信息发送等操作。

3.2 睡眠监测算法

对老年人睡眠监测的方式有多导睡眠监测(PSG)、基于脉搏血氧的监测、基于腕动信号的监测等方式[12-15],其中,前两种睡眠监测方式技术复杂,且价格昂贵,难以应用到手环上;而基于腕动信号的监测方式利用三轴加速度值实现睡眠监测,实现成本低,易于部署到手环上。

文中基于腕动信号实现睡眠监测,具体流程如图8 所示。对六轴传感器采集到的数据作预处理,将得到x轴、y轴和z轴的合加速度值作为腕动数值量,将其和预设阈值th_s 比较,若大于阈值,则计数器加1。采样频率为1 kHz,以1 min 作为最小睡眠单元,当采集时间达到1 min 时,统计计数器的有效值,并和前后相邻4 min 的数据一起代入式(2)中计算,若计算值小于1,则睡眠时间加1。

图8 睡眠监测算法流程图

式(2)是在John B.Webster于1982 年在《An Activity-Based Sleep Monitor Systemor Ambulatory Use》中所提的睡眠监测方法上修改而来,其中D是睡-醒状态值,当D小于1 时,处于觉醒状态;反之,处于睡眠状态。A-2、A-1、A0、A1、A2是当前这1 min 和前后相邻4 min 的腕活动量,即计数器的有效值。P-2、P-1、P0、P1、P2是用于调节算法灵敏度的缩放因子。

3.3 GUI设计

为增强手环界面的显示效果,采用LVGL 进行GUI 设计[16],LVGL 是一个开源轻量级图形库,兼容性强,可以很好地嵌入到手环系统中。GUI 分为主页、菜单页、应用页三级界面,如图9 所示。其中,主页显示时间、运动步数、蓝牙连接状态、电池状态等信息;菜单页用于切换应用页的显示;应用页则分别显示各项健康参数、系统信息等。

图9 GUI部分界面图

4 系统测试

文中以跌倒监测、睡眠时间和运动步数3 项数据为例进行实际测试,以验证系统功能的可行性。针对跌倒监测,选取3 位测试者进行实验,为确保实验的准确率,测试者佩戴手环,身体直立,手臂自然下垂;测试内容分为前摔、后摔、侧摔、坐下和躺下5种行为,每种行为测试50 次,实验数据如表1 所示。从实验数据可知,跌倒监测准确率在90%以上,而对正常行为的误判不超过2%。

表1 跌倒监测实验结果

睡眠测试以23:00~9:00 为测试区间,测试者手腕上同时佩戴文中所设计手环和专业健康监测手表,实验数据如表2 所示,由表2 可知,所设计手环的监测误差在15%以内。

表2 睡眠监测实验结果

为测试计步器功能,测试者以匀速行走100 步,并保持手臂较大的摆幅,测试结果如表3 所示,由表3 可知,步数监测准确率在95%以上。

表3 步数监测实验结果

基于上述测试结果,系统各项指标基本满足功能需求,可行性较高。

5 结论

文中设计了一种老年人健康监测的手环系统,给出了跌倒监测、睡眠监测等健康参数监测的方案,实际测试各项指标均满足了实验要求,具有一定的实用价值。然而,各项测试结果都在较为理想的实验条件下所得,如何将其有效地应用于复杂多变的日常生活环境中,在未来的研究中将进一步完善。

猜你喜欢
手环蓝牙加速度
蓝牙音箱的直线之美
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
天际加速度
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
创新,动能转换的“加速度”
死亡加速度
疯狂编辑部之智能手环
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
学习监测手环
麦开:放弃智能手环