基于MicroPython:TPYBoard心率监测器

一、前言

这几年智能穿戴设备大火,尤其是手环类,从Apple Watch到荣耀手环,再到不知名的某些品牌,智能穿戴设备是铺天盖地的来了。
而其中心率监测基本上是所有穿戴设备的“标配”,为啥会如此重视心率监测?心率监测到底有必要吗?

1.持续的心率监测有助于诊断疾病

人每一次脉搏的搏动,都代表一次有效的心脏跳动,每分钟心脏跳动的次数就是心率。心率是最直接反映我们心脏健康的标志。心脏
是血液泵出的动力,也是各器官系统以及整个身体正常运行的保证。
2.心率是最好的运动“导师”
如果是经常做运动的朋友应该都知道,平时运动时可以根据心率数据更好地控制运动强度,因为心率和吸氧量及最大摄氧量呈线性关
系,而且最大心率百分比也和最大摄氧量的百分比呈线性关系,所以在跑步过程中,使用心率控制运动强度是最简单易行的方法。

二、心率监测的方法

1、PPG光电容积法

由于人体的皮肤、骨骼、肌肉、脂肪等对于光的反射是固定值,而毛细血管和动脉、静脉由于随着脉搏容积不停变大变小,所以对光
的反射值是波动值,而这个波动值正好与心率一致,所以光电容积法正是通过这个波动的频率来确定使用者的心率数据。目前市面上绝大多数的智能手环/手表都采用这种方式监测心率,而且这种方式的技术方案已经比较成熟,所以价格也相对较低。

2、心电信号测量法

还有一种就是心电信号测量法,它通过智能穿戴设备上搭载的传感器捕捉人每次心跳时微小的电极变化,再经过算法还原出心率跳动
的频率,原理和心电图类似原理。目前已经很少有智能穿戴设备采用这种方式了。


三、TPYBoard心率监测器的制作过程

上面叨叨了这么多,接下来就进入正题。开始心率监测器的制作。首先先来介绍,里面最重要的器件-MAX30102心率模块。
MAX30102心率模块介绍

MAX30102是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块。它集成了一个红光 LEO 和一个红外光 LEO 、光电检测器、光器
件,以及带环境光抑制的低噪声电子电路。MAX30102采用一个 1.8V电源和一个独立的 5.0V 用于内部 LEO 的电源,应用于可穿戴设
备进行心率和血氧采集检测,佩戴于手指、耳垂和手腕等处。标准的I2C兼容的通信接口可以将采集到的数值传输给Arduino、STM32
等单片机进行心率和血氧计算。此外,该芯片还可通过软件关断模块,待机电流接近为零,实现电源始终维持供电状态。

参考了各种资料,用micropython写了个MAX30102模块的驱动,这里不就不贴源码,给个地址(文章末)大家自己去下载学习,里面也
有各种手册、STM32单片机以及Arduino实现的源码。

现在可以监测心率数据,但是还需要一个显示屏来进行显示,这里我选择用OLED显示屏。先参照下面信息,把硬件连接起来。

TPYBoard v102     MAX30102模块
3V3      =>       VIN             
Y10      =>       SDA
Y9       =>       SCL                          
GND      =>       GND
Y12      =>       INT      

接好线了之后,把MAX30102模块的相关驱动文件拷贝到TPYBFLASH磁盘中,然后编写main.py。保存完毕,使用PuTTY软件启动运行程
序,确认程序无错误。

四、演示效果

1. 程序运行后,显示屏会显示一个心形的图案,同时MAX30102模块上的红色LED灯会亮起;

2. 将手指放置模块红色LED处,按下板载的USR按键启动测量,显示屏会提示测量中;

3. 确保手指接触良好的情况下,大约等待40秒左右,显示屏会显示测量出的心率值,此时就可以把手拿开了。


五、总结
使用MAX30102测量的心率值与荣耀手环4测量的心率值接近(大概有2-3值的差别)。程序中也有对血氧饱和度的测试,大家可以从程
序中提取出来显示在显示屏上。但是需要注意的是,因为是基于查找表来确定血氧含量,所以每个血氧传感器都需要和专业仪器进行
标定才准确。此外,RED LED的波长尤其容易受到环境温度影响,所以程序上要考虑到温度对血氧精确度的影响,这也是MAX30102本
身带有温度传感器功能的主要原因。所以程序中的血氧饱和度是仅供参考,并不准准确。

GitHub源码下载地址:https://github.com/TPYBoard/TPYBoard-v102

MAX30102参考资料:http://old.tpyboard.com/downloads/docs/MAX30102参考资料.rar

转载于:https://my.oschina.net/micropython/blog/3063792

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一般描述 MAX30102是一款集成式脉搏血氧仪和心率监测模块。 它包 括内部LED,光电探测器,光学元件以及环境光抑制的低 噪声电子元件。 MAX30102提供了一个完整的系统解决方 案,以简化移动设备和可穿戴设备的设计过程。 MAX30102采用1.8V单电源供电,内部LED采用独立的5.0V 电源供电。 通讯采用标准I2C兼容接口。 该模块可以通过 零电流软件关闭,使电源轨始终保持供电状态。 应用 ● 可穿戴设备 ● 健身助理设备 优点和特点 ● LED反射式解决方案中的心率监测器和脉搏血氧仪 传感器 ● 小巧的5.6mm x 3.3mm x 1.55mm 14引脚光学模块 • 集成的盖玻片提供最佳,稳定的性能 ● 移动设备的超低功耗操作 • 可编程采样率和LED电流以节省电力 • 低功耗心率监测器(<1mW) • 超低关断电流(0.7μA,典型值) ● 快速的数据输出能力 • 高采样率 ● 强大的运动神器弹性 • 高信噪比 ● -40°C至+ 85°C工作温度范围 订购信息出现在数据表的末尾。 系统图 应用 硬件框架 DRIVER 19-7740; Rev 0; 9/15 MAX30102 High-Sensitivity Pulse Oximeter and Heart-Rate Sensor for Wearable Health www.maximintegrated.com Maxim Integrated │ 2 绝对最大额定值 VDD到 GND ............................................ ........ .....- 0.3V至+ 2.2V GND到 PGND ............................................... .... ...- 0.3V至+ 0.3V X_DRV,VLED +至 PGND ......................................- 0.3V至+ 6.0V 所有其他引脚接 GND ..........................................- 0.3V到+ 6.0V 输出短路电流持续时间.......................连续 连续输入电流到任何端子....................±20mA ESD,人 体模型(HBM).............. ......................... 2.5kV以上 闩锁免 疫................................................ ...... .....±250毫安 连续功耗(TA= + 70°C) OESIP(降低5.5mW /°C + 70°C)............................ 440mW 工作温度范围.......................... -40°C至+ 85°C结 温.......... ............................................ .. + 90°C 焊接温度(回流焊)....................................... + 260°C 存储温度范围............................ -40°C至+ 105°C 封装热特性(注1) OESIP 结到环境热阻(θJA)........ 180°C / W 结至外壳热阻(θJC)................. 150°C / W 注1:使用四层板使用JEDEC规范JESD51-7中描述的方法获得封装热阻。 有关封装散热注意事项的详细信息,请参阅 www.maximintegrated.com/thermal-tutorial. 电气特性 除非另有说明,典型值为TA= 1.8V,VIR_LED += VR_LED += 5.0V,TA= -40°C至+ 85°C。 + 25°C)(注2) 参数 符号 条件 MIN TYP MAX 单位 电源 电源电压 VDD 由RED和IR计数容差保证 1.7 1.8 2.0 V LED电源电压 R_LED +或IR_LED +到PGND VLED + 通过LED驱动器的PSRR保证(仅限 R_LED +和IR_LED +) 3.1 3.3 5.25 V SpO2和HR模式,PW =215μs, 50sps 600 1200 仅IR模式,PW =215μS,50sps 600 1200 关机时的电源电流 ISHDN TA= + 25°C,MODE = 0x80 0.7 10 &micro;A 脉冲氧化/心率传感器特性 ADC分辨率 18 位 红色ADC计数(注 3) REDC RED_PA = 0x0C,LED_PW = 0x01, SPO2_SR = 0x05, ADC_RGE = 0x00,TA= + 25°C 55536 65536 75536 计数 MAX30102 High-Sensitivity Pulse Oximeter and Heart-Rate Sensor for Wearable Health www.maximintegrated.com Maxim Integrated │ 3 IR ADC计数(注3) IRC IR_PA = 0x0C,LED_PW = 0x01, SPO2_SR = 0x05 ADC_RGE = 0x00,TA= + 25°C 55536 65536 75536
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值