• MAX30102心率血氧传感器


    背景

    目前,基本上所有的可穿戴式设备都集成了心率血氧测量的功能,在手表/手环中尤为常见。一般情况下,开发人员用于评估的心率血氧传感器型号用的都是MAX30102/MAX30100。MAX30102EFD如下图所示。
    在这里插入图片描述
    为上图所示的MAX30102传感器增加外围电路后就成为了常见的MAX30102模组,如下图所示。
    在这里插入图片描述
    MAX30102传感器是美国美信公司(maxim integrated)生产的一款集成的脉搏血氧仪和心率监测仪生物传感器模块。由于公司名称是Maxim,所以器件名以MAX开头,型号为30102。不过目前这个公司已经被美国的半导体巨头亚德诺半导体(ADI)公司收购,MAX30102属于一种光学生物传感器,ADI在售的心率血氧传感器还有MAX30101、MAX86140、MAX86141、MAX32664、MAXM86161等,有需要的朋友可以直接去ADI官方对相应的器件功能进行相应的评估。

    基本功能

    使用MAX30102可以对心率、血氧、温度三个指标进行测量,配合一些MCU能够实现相关物理量的快速采集。

    基本结构

    链接: MAX30102官方介绍
    链接: MAX30102心率血氧评估板数据解算及使用手册
    链接: SpO2 测量原理介绍
    链接: [心率血氧测量原理论文](file:///C:/Users/23890/Desktop/MAX30102%E8%B5%84%E6%96%99/%E5%BF%83%E7%8E%87%E8%A1%80%E6%B0%A7%E6%B5%8B%E8%AF%95%E5%8E%9F%E7%90%86%E6%96%87%E7%AB%A0.pdf)

    基本原理

    通过光电的方式对心率和血氧进行测量,在模块上有两个LED,然后又有两套光电二极管。

    采集方法

    直通式采集方法

    在医院测量中常用的一种血氧采集方式,如下图所示,光电传感器和光源分别置于手指的两侧,光源穿过手指被另一侧的光电二极管接收,根据光衰减量计算血氧浓度。
    在这里插入图片描述

    反射式采集方法

    常见于一些穿戴设备如常见的手环、手表等设备中。LED光源和光电二极管置于同侧,光穿过皮肤被反射回同侧光电二极管,光电二极管根据光衰减量进行血氧的计算。

    血氧采集原理

    血氧即血氧饱和度(SpO2),这是一个百分比的概念。物理含义是血液中氧气饱和度的百分比。我们都知道,人体或者动物中有自己的血液循环系统,血液中由血红蛋白携带氧气从动脉流出,然后在携二氧化碳等气体送到肺部。所以会有富氧的血红蛋白
    (Hb-O2)和缺氧的血红蛋白(Rhb)之分。所以可以通过血液中富氧血红蛋白占总血红蛋白的比例来定义血氧饱和度。所以SpO2可以用以下表达式描述,C代表血红蛋白的数量:
    S p O 2 = C [ H b O 2 ] C [ H b O 2 ] + C [ R H b ] × 100 \mathrm{SpO}_{2}= \frac{\mathrm{C}\left[\mathrm{HbO}_{2}\right]}{\mathrm{C}\left[\mathrm{HbO}_{2}\right]+\mathrm{C}[\mathrm{RHb}]} \times100 SpO2=C[HbO2]+C[RHb]C[HbO2]×100

    Beer-Lambert 定理

    Beer-Lambert 定理描述了光在传播过程中通过材料的衰减特性。
    I = I 0 e − ε ( λ ) C d I = I_{0} e^{-\varepsilon (\lambda )Cd} I=I0eε(λ)Cd
    根据上面的公式,可以计算得到
    A = ln ⁡ I 0 I = ε ( λ ) C d A = \ln_{}{\frac{I_{0} }{I} } =\varepsilon (\lambda )Cd A=lnII0=ε(λ)Cd
    A 这里代表光线总的衰减量, I 0 为入射光强度, I 为反射光强度。 ε ( λ ) 称为摩尔消光系数,指物质对某波长的光的吸收能力的量度。 C 是穿透材料的浓度, d 为光传播路径。 A 这里代表光线总的衰减量,I_{0}为入射光强度,I为反射光强度。\\\varepsilon (\lambda )称为摩尔消光系数,指物质对某波长的光的吸收能力的量度。\\C是穿透材料的浓度,d为光传播路径。 A这里代表光线总的衰减量,I0为入射光强度,I为反射光强度。ε(λ)称为摩尔消光系数,指物质对某波长的光的吸收能力的量度。C是穿透材料的浓度,d为光传播路径。

    皮肤组织模型

    使用光电方式完成血氧测量基于下面的三层主要结构的基本模型。光线首先穿透皮肤组织,下面一层是动脉血,动脉血由心脏推动,心脏跳动一次血液产生一次脉动。第二层是静脉血及分布的毛细血管,第三层是骨头、肌肉等其他物质。光线穿透这三层物质被光电二极管接收,根据光线衰减量对血氧含量进行测量。
    在这里插入图片描述

    那么,根据上面的Beer-Lambert 定理,针对测量的具体场景,测量过程的衰减为三层穿透物质衰减量的叠加。
    A = d [ ε H b O 2 ( λ ) C [ H b O 2 ] + ε R H b ( λ ) C [ R H b ] + ε other  ( λ ) C [  other  ] ] A=d\left[\varepsilon_{\mathrm{HbO}_{2}}(\lambda) C\left[\mathrm{HbO}_{2}\right]+\varepsilon_{\mathrm{RHb}}(\lambda) C[\mathrm{RHb}]+\varepsilon_{\text {other }}(\lambda) C[\text { other }]\right] A=d[εHbO2(λ)C[HbO2]+εRHb(λ)C[RHb]+εother (λ)C[ other ]]

    血氧测量过程

    基本的测量原理是使用一个LED照射待测量点,这个测量点可能是手指、耳垂等位置,接收端的光电二极管对穿透上面三层结构的反射光进行计算,进而得出血氧含量。具体的细节在于,三层模型中的脉动血会对光线产生不同程度的吸收和调制。穿透皮肤的反射光线称为PPG(photoplethysmographic)信号,正常情况下,PPG信号如下图所示。值得注意的是,为了保证高精度,一般使用两种不同波长的光(660nm和880nm)进行照射并根据结果进行联合计算。
    在这里插入图片描述
    常见的计算过程需要知道R的值,R与SpO2强相关,可以根据R直接计算SpO2
    R = A C red  / D C red  A C ired  / D C ired  \mathrm{R}=\frac{\mathrm{AC}_{\text {red }} / \mathrm{DC}_{\text {red }}}{\mathrm{AC}_{\text {ired }} / \mathrm{DC}_{\text {ired }}} R=ACired /DCired ACred /DCred 
    R与SpO2的关系式由经验的出来的,比较简单的一种计算方式为:
    S p O 2 = 104 − 17 R SpO2 = 104 - 17R SpO2=10417R

    AC / DC 的计算

    AC是交流分量,DC是直流分量。通常情况下,光电二极管接收到的典型的波形如下:
    在这里插入图片描述
    估算AC、DC值的方法如下:找两个波谷点,两个波谷点之间有一个波峰点,两个波谷点相连成一条直线,与Y轴平行的线穿过波峰点会与两个波谷点连接成的直线相交于一点,这个点就是DC点,DC点的Y轴对应值就是直流分量,AC分量的值为波峰点到DC点之间的差值。
    为什么是这样没有弄明白。

    里面有两种不同波长的光对与皮肤的穿透的原理的论文没有弄明白。

    心率采集原理

    血管脉动的频率和心脏跳动的频率相同,血管脉动会导致光衰减量的不同。心脏每跳动一次,会产生一个波峰点和一个波谷点,典型的波形如下,通过计算波峰和波谷之间的时间差就能够计算心率。
    在这里插入图片描述

    实验结果

    串口调试助手测量的结果如下图所示。心率数据为83,血氧浓度98。
    在这里插入图片描述

    代码走读

    资源链接

    内容涵盖: MAX30102 DataSheet (英文版)、

  • 相关阅读:
    Unity3D Text使用超链接跳转事件
    【Linux03-基本工具之VIM】Linux下的强大编辑器(附软件生态与yum)
    微信快捷回复怎么设置?
    【无标题】
    中断系统中的设备树__中断号的演变与irq_domain
    深度学习 Day 16——利用卷神经网络实现咖啡豆的识别
    KMP深入理解——next数组求最大周期,最小循环节
    奇异值分解
    群体遗传学-选择消除分析
    【源码解读】VUE2.0和VUE3.0响应式区别?
  • 原文地址:https://blog.csdn.net/qq_41861711/article/details/133496800