基于nRF5340-DK的健康与活动助手:可监测用户的生理基础参数和运动状态
本项目介绍了基于 Nordic Semiconductor nRF5340-DK 开发平台设计并实现的智能可穿戴健康助手。该系统将 MAX30100 血氧仪和心率传感器与 MPU6050 六自由度惯性测量单元集成,构成一个紧凑型、实时的生物医学及运动监测设备。
可穿戴助手可测量心率、估算血氧饱和度(SpO2)、分析用户运动、检测身体活动,并识别潜在跌倒事件。通过蓝牙低功耗(BLE)与智能手机进行通信,实现无线监测和实时数据可视化。
固件采用 Zephyr 实时操作系统,并集成于 nRF Connect SDK 生态系统中。配套的基于 Flutter 的智能手机应用程序为移动监控提供了现代化的跨平台界面。
该项目展示了生物医学传感、惯性运动分析、无线通信、嵌入式信号处理以及低功耗物联网设计在单一可穿戴架构中的实际集成。
现代可穿戴电子设备在医疗保健、运动监测、老年人辅助、康复系统以及物联网(IoT)环境中应用日益广泛。嵌入式系统、低功耗无线通信和生物医学传感器的进步,使得小型设备能够实时采集并传输生理信息。
本项目的主要目标是设计一款可穿戴的电子助手,能够实现以下功能:
•心率监测
•血氧饱和度估计
•运动分析
活动分类,
•跌倒检测,
•智能手机通信,
•未来云计算与人工智能的融合。
该系统采用市面上可获得的模块和开放的嵌入式开发框架设计,旨在提供一个可扩展且灵活的平台,适用于教育、研究和原型开发等用途。
该系统基于:
•nRF5340-DK 开发板
•MAX30100 心率与血氧仪传感器
•MPU-6050 GY-521 模块(加速度计 + 陀螺仪)
•蓝牙低功耗(BLE)
•Zephyr RTOS / nRF Connect SDK。
该项目可扩展为:
•一款移动应用程序,
•SOS报警功能,
•睡眠分析
•压力检测
•GPS定位,
•物联网云集成。
系统架构
可穿戴助手由四个主要子系统组成:
•处理子系统
•生物医学传感子系统
•运动分析子系统
•无线通信子系统。
整个架构以nRF5340-DK开发套件为核心。
硬件平台
1. nRF5340-DK 开发套件
该项目的核心处理单元是 Nordic Semiconductor 的 nRF5340-DK。
开发板包含:
•双核ARM Cortex-M33
•蓝牙低功耗 5.4
•支持 Thread 和 Zigbee
?硬件加密加速
•集成调试界面。
•低功耗,
•Zephyr RTOS 支持
双核架构可将应用任务与通信任务分开,从而提升整体响应速度和功耗效率。
开发板还提供:
•USB调试,
•UART通信,
•GPIO 接口,
•支持 I2C
•SPI支持,
•PWM
•可编程LED灯和按钮。
项目中的职责:
•传感器通信,
•数据处理,
•信号滤波,
•BLE 传输
•电源管理,
•用户活动分析。
选择nRF5340是因为其具备先进的无线功能、出色的Zephyr实时操作系统支持,以及适用于可穿戴物联网应用的特性。
2. MAX30100 血氧仪和心率传感器
MAX30100 是一款集成式生物医学传感器,专为脉搏血氧仪和心率测量而设计。
该传感器结合了:
•红色LED
•红外LED
•光电探测器,
•模拟信号处理
•数字信号转换。
其工作原理基于光电容积描记法(PPG),即向皮肤发射的光被血液流动部分吸收。由于心脏活动引起的吸收变化,从而可提取脉搏信息。
使用两种波长:
•用于脉冲测量的红外光
•用于血氧饱和度估计的红光。
该传感器通过I2C总线进行通信,工作电压为3.3 V,因此与nRF5340平台完全兼容。
项目中的功能:
•BPM测量,
•血氧饱和度测量,
•手指存在检测,
•信号质量分析。
参数:
•I2C通信
•工作电压:1.8–3.3 V
•红外+红色LED
•集成ADC。
3. MPU6050(GY-521)惯性测量单元
MPU6050模块通过以下方式提供六自由度:
•三轴加速度计,
•三轴陀螺仪。
加速度计测量沿X、Y和Z轴的线性加速度,而陀螺仪测量角速度。
该子系统可实现:
•活动识别
•姿态估计
•方向跟踪,
•运动分析
•跌倒检测。
参数:
•I2C通信
加速度计量程:
•±2克
•±4克
•±8克
•±16克
陀螺仪范围:
•±250
•±500
•±1000
•±2000°/s。
功能:
•运动检测,
•活动分析,
•计步数,
•跌倒检测,
•空间定向。
MPU6050 使用与 MAX30100 相同的共享 I2C 总线进行通信。
选择I2C的原因是:
•低针数
•多设备支持能力
•低复杂度,
•宽传感器兼容性。
传感器的地址如下:
I2C 需要上拉电阻。SDA 和 SCL 上的上拉电阻可确保信号完整性。
典型值:
•4.7kΩ
•10kΩ
大多数 breakout board 已经内置了上拉电阻。
4. 电力系统
系统采用3.3 V电源轨,兼容所有集成模块。
对于可穿戴设备操作,未来的生产版本可能会使用:
•3.7V 锂离子电池
•TP4056 充电控制器
•低导通压降稳压器。
低功耗设计对于可穿戴设备至关重要,并已融入固件架构中。
固件架构
固件使用 Zephyr 实时操作系统,并作为 Nordic nRF Connect SDK 的一部分实现。
Zephyr 提供:
•任务调度
•硬件抽象,
•BLE 栈集成,
•驱动程序管理
•内存管理
•模块化软件架构。
使用 Zephyr 可简化可扩展性,并提升在嵌入式平台上的移植性。
固件被划分为多个软件层次:
这种模块化架构提高了可维护性,并简化了调试过程。
信号处理与滤波
可穿戴生物医学系统需要可靠的信号调理。
该项目实施:
•移动平均滤波
•阈值分析
•时间峰值检测。
该项目基于nRF5340-DK、MAX30100和MPU6050,可开发出一套用于监测用户健康与活动的现代可穿戴系统。
主要项目特点:
•心率和血氧饱和度监测
•运动分析
•跌倒检测,
•BLE通信,
•低功耗,
•与人工智能和物联网的可扩展性。
MAX30100 通过 I2C 寄存器配置进行初始化。
固件配置:
•工作模式,
•血氧饱和度模式,
•LED电流,
•采样率。
将设备置于SpO2模式,可同时测量脉搏和血氧饱和度。
传感器样本从内部FIFO缓冲区读取。
每个样本包含:
•红外信号值,
•红色信号值。
原始信号被持续实时处理。
原始PPG信号包含由以下原因引起的显著噪声:
•运动伪影
•环境光,
•ADC量化,
•皮肤接触变化。
采用移动平均滤波器以降低高频噪声。
滤波过程可稳定波形,并提高脉冲峰值检测的可靠性。
心率信号包含:
•运动伪影
•ADC噪声,
•环境光干扰。
使用了移动平均滤波器。
心率通过检测过滤后的红外波形中的周期性峰值来计算。
该算法执行:
•阈值比较
•峰值检测
•RR间期测量,
•BPM计算。
心率公式为:
该算法可产生稳定的实时脉冲测量,适用于可穿戴设备应用。
血氧饱和度通过红光和红外光吸收率的比值来估算。
所采用的近似方法是:
尽管经过简化,该算法仍体现了脉搏血氧仪的基本原理,并提供了真实的血氧饱和度估计值。
主循环集成如下:
加速度计持续测量三个轴方向的线性加速度。
该数据可实现:
•运动强度分析
•姿态估计
•活动识别。
加速度大小通过以下方式计算:
陀螺仪用于测量旋转运动和方向变化。
陀螺仪数据可提升运动追踪能力,并有助于区分正常活动与突然撞击。
使用运动强度阈值来分类活动状态:
这种方法提供了基础但有效的活动识别。
跌倒检测是该系统最重要的安全功能之一。
该算法识别:
•突然加速峰值,
•快速的转向变化,
•撞击后的不活动。
当加速度超过预设阈值时,系统会生成跌倒报警事件。
这一功能对于老年人护理和康复系统尤为重要。
蓝牙低功耗通信
蓝牙低能耗通过Zephyr BLE堆栈实现。
该可穿戴设备作为BLE外设运行,并提供自定义的GATT服务。
BLE被选中的原因是因为:
•低功耗,
•智能手机兼容性,
•实时通信能力
•可穿戴适用性。
已实现自定义的BLE特性用于:
•心率,
•血氧饱和度
•加速度计数据,
•运动事件。
智能手机通过BLE通知接收数据。
固件会定期发送:
•BPM数值,
•血氧饱和度值,
•加速度数据,
•坠落警报。
实时传输可实现持续的移动监控。
智能手机应用程序
使用 Flutter 开发了一款跨平台移动应用程序。
Flutter 可以实现:
•Android 支持,
•支持 iOS
•现代UI设计
•快速发展。
移动应用程序执行以下操作:
•BLE扫描,
•自动连接,
•GATT 服务发现,
•通知订阅
•实时数据显示。
应用程序显示:
•当前心率,
•血氧饱和度
•运动信息。
未来版本可能包含:
•健康历史图表
•云端同步
•紧急通知,
•智能手表集成
•基于人工智能的分析。
nRF5340平台具备高性能计算能力和出色的能效,非常适合进一步开发为医疗或运动领域的专业可穿戴设备。
本文编译自hackster.io





