首页 > 评测 > 聆听来自心脏的信号——Heart Rate Click模块评测

聆听来自心脏的信号——Heart Rate Click模块评测

  • 作者:netlhx
  • 来源:21ic
  • [导读]
  • 心率传感器的型号颇多,目前就有如下几种常见的传感芯片或方案供选择,有ROHM的BH1790GLC脉搏波传感器,Maxim的MAX30100,艾普柯微电子的EM702及Silicon Labs的Si1143芯片等。今天就给大家来评测一下MAX30100的方案。

Heart rate click板载的传感器是来自Maxim的MAX30100,集成了血氧测试及心率测试功能。MAX30100包含两个LED及一个光电检测器,具备低噪声模拟信号处理能力。

MAX30100工作电压为1.8V~3.3V,可以使用软件方式关闭以减少功耗,此时只有极小的待机电流。

MAX30100主要应用于可穿戴设备、运动辅助设备及医疗监控设备等方面。

MikroElektronika的Heart rate click模块8.jpg

MAX30100的基本工件原理如上图,芯片包含两个LED灯,其中一个发射红光,波长红为660nm,另外一个发射红外光,波长红为900nm。LED发射的光束经透光层射出,被检测的人体部位(通常是指尖或手腕)吸收并反射接收到的光束,其中反射部分被光电检测器接收,经ADC转换成数字信号输出。控制与信号处理部分则用来控制并处理原始信号。

科学研究表明,在人体血液中包含氧合血红蛋白(HbO2)及普通血红蛋白(Hb),它们对红光及红外光的吸收率是不同的。当心脏跳动时,血管中的血氧含量会周期性的发生变化,从而导致光电检测器得到的信号也会周期性的发生变化,通过对这一变化值值的检测,可以得到血氧的数据指标,周期性的变化也反映了心率的实际情况。血氧法(SpO2)能同时检测血氧浓度及心率两个指标。

另外一种常见的检测心率的方法是光电容积法,与血氧法不同的是该方法使用的是绿光,基本原理类似,但是绿光使用的光电容积法一般只能检测心率,不能检测血氧浓度。

MikroElektronika的Heart rate click模块9.jpg

这是MAX30100的系统框图,从图上可以看到,MAX30100通过I2C接口与外部MCU通信。该芯片同时包括了模拟及数字部分的设计,其中ADC使用的是ΔΣ ADC转换器,该转换器由一个过采样调制器及一个数字滤波器组成,它们协调工作产生高分辨率的数据流输出,ADC的精度为16位。外部MCU通过I2C接口来对MAX30100的寄存器编程以进一步控制其工作参数。

用户通过寄存器控制驱动LED的电流,从而发射不同强度的LED光束,LED的电流可以在0mA到50mA之间的变化。另外LED的脉冲宽度可以被调整为在200us到1.6ms之间变化。

几乎所有的MCU都提供了I2C接口,所以连接起来非常容易,官方也提供了C程序库供用户使用。

Heart rate click模块本身提供的接口是mikroBUS,所以最好的连接方式是使用具备mikroBUS接口的开发板或扩展板进行连接。mikroBUS接口设备比较多也比较流行,正是基于这一考虑,ST最新的STM32F723E-DISCO开发套件内就提供了该接口的扩展板,参考本站高速USB+Fanout——STM32F723E-DISCO开发板评测评测一文。

本次评测使用Arduino来连接Heart rate click,主要是因为要用到Arduino IDE的Serial Plotter绘图。

MikroElektronika的Heart rate click模块10.jpg

连接实物图,其中Arduino的A4及A5引脚充当I2C接口的SDA及SCL线,从Arduino的3V3引出对模块的供电。

官方给出的源代码主要针对mikroC平台,不过MAX30100的Arduino库可以在Github上找到,参考附录给出的下载地址。

将下载好的MAX30100的Arduino支持库添加到Arduino用户库中,如下

MikroElektronika的Heart rate click模块11.jpg

  • 本文系21ic原创,未经许可禁止转载!

网友评论