赵俊杰,张艳芬,崔凯
(营口职业技术学院机电工程学院,辽宁营口,115000)
本文设计的该款智能运动手环系统是以STM32F407芯片为核心,其硬件部分主要包括微处理器模块、通信模块、显示模块和传感器模块等。其中传感器模块包括九轴加速度传感器、振动传感器、光电心率传感器和马达振动传感器。该智能运动手环的系统总体设计框图如图1所示。
图1 系统总体设计框图
在嵌入式系统中,经常需要控制许多结构简单的外部设备或者电路,这些设备有的需要通过CPU控制,有的需要CPU提供输入信号。对设备的控制,使用传统的串口或者并口就显得比较复杂,所以,在嵌入式微处理器上通常提供了一种“通用可编程I/O端口”,也就是GPIO。本系统的控制模块是以单片机为核心,采用STM32F407型单片机芯片,该系列MCU面向需要在小至10×10mm的封装内实现高集成度、高性能、嵌入式存储器和外设,具有性价比高、性能强大、外设资源丰富,市场大等特点被广泛应用。
该款智能运动手环通讯模块采用CC蓝牙来完成,通过低功耗蓝牙(BLE)技术,将手环采集检测的参数传递给手机APP。蓝牙低能耗技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHzISM射频频段。它从一开始就设计为超低功耗(ULP)无线技术。它利用许多智能手段最大限度地降低功耗。蓝牙低能耗技术采用可变连接时间间隔,这个间隔根据具体应用可以设置为几毫秒到几秒不等。另外,因为BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态(节省能源),此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。BLE技术具有低成本、低功耗、高可靠性、快速启动、瞬间连接等优点被广泛应用。蓝牙模块带有超低功耗的性能,节省可移动设备的电源功耗,可以在很多复杂的场景中工作。蓝牙通信模块通过蓝牙通信传输数据,数据再经过串口和其他控制器进行交互,最终进行无线数据传输,将手环采集的步数和心率等数据传输到手机APP中。
本系统基于整体硬件设计综合考虑,显示模块采用的是0.96寸的OLED显示屏,它能够很好的显示数据,比如运动步数、心率等。OLED显示屏具有自发光性,且视角广、节能、可柔性弯曲,其核心很薄,可以很好满足本智能运动手环设计的需求。
传感器模块是该款智能运动手环的核心硬件器件,主要包括九轴加速度传感器、震动传感器和光电心率传感器,能够记录运动步数、监测实时心率、检测睡眠质量等。
2.4.1 九轴加速度传感器
本系统采用的是MPU-9250型九轴加速度传感器,对运动者的运动信息进行数据采集。MPU-9250型九轴加速度传感器它包括16位ADC三轴陀螺仪信号输出及调理、16位ADC三轴加速度信号输出及调理和16位ADC三轴磁力计信号输出及调理。其中MPU-9250陀螺仪是由三个独立检测X、 Y、Z轴的MEMS组成,利用科里典利效应来检测每个轴的转动,各种速率都可以被编程。MPU9250的三轴加速度也是单独分开测量的,根据每个轴上的电容来测量轴的偏差度,每一个传感器都有专门的ADC来提供数字性的输出。三轴磁力计采用高精度的霍尔效应传感器,通过驱动电路,信号放大和计算电路来处理信号来采集地磁场在X、 Y、Z轴上的电磁强度,其结构原理如图2所示。
图2 MPU-9250型九轴加速度传感器原理图
2.4.2 震动传感器
本系统的振动传感器采用的是1027手机扁平马达,在振动速度传感器的内部有一个被固定住的永久性磁铁和一个被弹簧固定着的线圈,当振动存在的时候,永久性磁铁会随着外壳和物体一同振动。但此时的线圈却不能和磁铁一起振动,这样就形成了电磁感应,线圈以一定的速度切割磁体产生的磁力线,最终输出由此产生的电动势。
2.4.3 光电心率传感器
本系统采用MAX30102A型光电心率传感器来实时监测心率数据。人体组织在血管搏动时造成透光率不同来进行脉搏和d氧饱和度测量压,使其使用的传感器由光源和光电变换器两部分组成。MAX30102A型光电心率传感器本身自带18位高精度ADC,使用I2C接口与外接MCU通信,体积小、能耗小、外界干扰小,易于集成系统。MAX30102集成了LED驱动电路,可以根据不同情况调节LED电流,采样率也可以根据不同应用进行选择,其结构原理如图3所示。
图3 MAX30102A型光电心率传感器原理图
该智能手环以STM32单片机为核心控制,采用C语言编程来实现其功能。首先对系统进行初始化设置,然后通过MPU-9250型九轴加速度传感器和MAX30102A型光电心率传感器对运动步数和心率等信号采集,并判断是否检测到采集的数据,之后再通过数值计算及 A/D 转换将数据通过蓝牙无线发送至服务器端,并通过OLED显示模块将其显示。系统的主程序流程图如图4所示。
图4 主程序流程图
结合以上硬件部分和软件部分的设计,通过实物搭建对该款智能运动手环进行设计调试。该款智能运动手环其模式选择界面有自动模式和手动模式两种。在自动模式下,可以设置运动模式时间和睡眠模式时间,然后点击“保存”,就可以保存模式设置。在手动模式下,可以选择“普通模式”、“运动模式”和“睡眠模式”。假如选择“运动模式”,点击“保存”后,RGB灯红绿蓝三种颜色闪烁,在OLED显示屏上显示运动的图标。以监测运动步数和心率为例,在APP上设置为运动模式,然后摇动运动手环板卡,按K2按键两次,OLED上便可以显示步数,图5和图6分别为运动手环在OLED显示屏上显示运动步数和心率值的实物图。
图5 运动步数显示实物图
图6 心率值显示实物图
本文设计了一款智能运动手环,可以对人们的运动状态和健康状态进行监测显示,以满足人们对身体状况的实时监测需求。该智能运动手环系统设计是以STM32F407型单片机芯片为控制核心,采用高性价比的0.96寸OLED显示屏对其数据进行模块显示,且主要以MPU-9250型九轴加速度传感器、1027手机扁平马达震动传感器和MAX30102A型光电心率传感器作为主要器件,采用MPU-9250型九轴加速度传感器采集佩戴者的心率信息,采用MAX30102A型光电心率传感器对手环佩戴者的运动状态和运动步数等数据采集处理,并驱动OLED显示模块实现数据实时显示。同时该款智能运动手环的数据通过蓝牙通信模块将数据发送到云端服务器并将其发送到手机APP端,实现远程实时手机监控。最后以对运动者的运动步数和心率监测为例,对该系统的设计研究进行实物调试,结果验证了该款智能运动手环系统结构设计简单,便于操作,且具有性能高、功耗低、安全可靠、成本低廉等优点,达到了预期的研究目标,可以被广泛应用和推广。