一种便携式心率检测仪的设计

2023-03-23 07:44石肖伊王先全赵雨倩
机电工程技术 2023年2期
关键词:滤波心率单片机

石肖伊,王先全,赵雨倩

(重庆理工大学,重庆 400054)

0 引言

心率是体现血液循环机能的重要生理指标,准确、及时记录心率等数据,能够有效预防心脑血管疾病,帮助问诊[1]。基于科技的不断发展,越来越先进的检测技术不断产生。国内外设计各种各样的心率检测系统,研究心率传感器是设计心率检测系统的根本。

姚鸣放等[2]采用由发射角宽的红外线发光二极管和光电三极管组成的心脏搏动信号换能器。其中光电三极管[2]红外光匹配性能强、透镜敏感度高、集电极电流范围大。由于血液中的血红蛋白具有吸收近红外线的生物效应,因此换能器具有高灵敏度和稳定的输出信号。但是该传感器测得的心率值误差较大、心率数值不稳定且受外界干扰影响较大。吕峻达等[3]选用了型号为ST188的红外光电传感器。手指腹部置于发射端和接收端之间,光电二极管根据心率的不断变化采集信号。该传感器占用的体积较小,重量较轻,可以进行高灵敏度进行识别。卢超[4]选用了HK-2000B 脉搏传感器,HK-2000B 脉搏传感器采用高度集成化工艺将力敏元件(PVDF 压电膜)、灵敏度温度补偿元件、感温元件、信号调理电路集成在传感器内。该传感器[4]具有灵敏度高、抗干扰能力强、过载能力大、一致性好、性能稳定、使用寿命长等特点。但是采用脉搏传感器的压电陶瓷片只能适用于手腕和颈部,会存在无法避免的误差,有时是和信号相似的低频率波形,即使通过了滤波电路仍不可完全消除,且人体手腕或颈部的运动,会对信号采集存在一定的影响。综上所述,从传感器的制作工艺、材料的选取、受外界的干扰信号的干扰程度和制作过程中前级电路的处理难易程度上考虑,利用光电式传感器原理简单易懂,操作简单、佩戴方便、可靠性高。

本设计的中心控制单元选择STC89C52[5],选用光电传感器接收不同信号,间接测量人体心率。单片机与LCD连接以显示心率数据。本设计的心率检测仪功耗低、稳定性好,方便日常生活检测。

1 心率检测原理

心脏器官跳动,人体组织半透明度则会产生较为显著的变化。当血液传送回心脏部位时[6],组织的半透明度会增大;但是血液输送人体各部位时,则会减小。这种现象常见于指尖等部位。

红外光电二极管发射红外光,血液反射红外光[7-11],高灵敏度光电晶体管吸收反射红外光。不同的血液量反射的红外线量不同,这种不同经过滤波、放大和整形后得到高低电平,采集、计算后可得到心率。如图1 所示。

图1 手指光吸收量变化示意图

本设计采用ST188红外光电传感器采集指尖心率信号[12],经过传感器获得的心率信号约略为正弦波,然后经过滤波、放大和整形电路的处理变为方波。将方波输入到单片机内部进行程序处理得到心率数值,通过单片机电路与液晶显示电路的相互转换,把获取到的心率数值最终显示在液晶屏上。由此,可以精确、方便地读取测量者的心率值。本课题设置了心率报警电路。当读取的心率数值低于或者高于设定阈值时,单片机驱动蜂鸣器实现报警功能。心率检测系统框架如图2所示。

图2 心率检测原理

2 方案设计

2.1 硬件电路

2.1.1 信号采集与处理模块

图3 所示为手指心率信号的采集电路,U2 是红外发射和接收装置。将手指指腹放置于ST188 传感器的上方,该传感器会精确识别心率信号并采集转换为电信号。该传感器体积小、性价比与精确度都高。

图3 反射式光电传感器

图4 所示为信号采集电路ST188 由红外光电二极管和高敏度光电晶体管组成ST188 光电式传感器,采用反射式非接触检测。二极管电路中的电流越大,二极管产生的发射强度越大。传感器电路检测接收管的信号,通过示波器观察接收管是否接收到反射的红外线。

图4 信号采集电路

2.1.2 滤波电路

光电传感器将采集到的心率信号转换成电信号,发送给滤波电路[13]以便于实现对采集信号的滤波。之所以选择设置频率内的心率信号是因为人体的心率信号比较微弱。选择3 个电阻和3 个电容,将高通与低通滤波电路串联为带通滤波电路,使测量所需的该频带内的信号可以通过,提高电路的干扰能力。

根据带通滤波电路可知:

所以该滤波电路滤除了大于15.92 Hz 和小于0.66 Hz的干扰。按照正常人心率为60~100 次/min 考虑,该滤波电路满足要求。如图5 所示。

图5 滤波电路

2.1.3 信号处理模块

选择LM382 芯片来设置信号放大电路和整形电路,该芯片有两个独立的运算放大器,具有高增益和内部频率补偿的特点,能够满足设计要求。本设计选用了同相放大电路。放大倍数为:

虽然通过滤波、放大后的信号容易测量,但无法避免一些低频和不规则脉冲信号的干扰。因此在放大电路之后设计了电压比较器对心率信号处理。当电压比较器接收到心率信号时,心率信号将会与参考电压相比。如果参考电压小于心率信号,将输出高电平,否则是低电平。在信号输出端接了一个LED灯用作指示心率信号的跳动状态。如果传感器检测到了心率信号,则LED灯会有规律地闪烁。如图6 所示。

图6 信号处理电路

2.1.4 STC89C52 单片机电路

本设计采用的是STC89C52 单片机作为控制芯片,它是由STC公司生产的一种低功耗、高性能CMOS8 位微控制器,具有8 K字节系统可编程Flash存储器。单片机电路中设置了复位电路和晶振电路。STC89C52 的P0 口连接了10 K的排阻且与LCD的7~14 相连。心率采集输出电路与P1.0 相连,键盘电路则由P3.0、P3.1、P3.2所构成,报警电路与P2.4 连接。主控电路如图7 所示。

图7 STC89C52 主控电路

2.1.5 数据显示模块

LCD1602 液晶显示模块用于数据显示[14]。7~14 为传输显示数据的引脚;LCD 的R/W 连接单片机的P2.6口并通过编程实现对LCD 读和写的操作;RS 为寄存器的选择功能;液晶屏的使能端为引脚E;为了实现液晶屏的亮度调节,采用R11 和R12 的分压电路连接。具体电路连接如图8 所示。

图8 LCD1602

2.1.6 数据报警模块

数据报警模块由心率设置范围电路和报警电路组成。心率设置范围电路由SW2、SW3、SW4 所按键组成。SW1 实现LCD 页面切换。心率的上下限由按键SW3、SW4 设置。SW4 具体显示心率值。蜂鸣器、三极管和电阻组成报警电路。当单片机的P2.4 输出低电平时,三极管导通,蜂鸣器电路有电流会响。输出高电平时,三极管不导通,蜂鸣器不响。当检测得到的心率数值超过心率设置范围时,由单片机控制蜂鸣器则会发出鸣叫。如图9~10 所示。

图9 键盘电路

2.2 系统软件

软件设计的开发环境为Keil。由主程序、液晶显示子程序、定时器子程序等构成了系统的软件设计。

首先进行单片机的初始化,清除一些参数和设置心率上下限的初始值。当被测者按下按键时,则会实现相应的功能。当输入心率信号到单片机中,通过1min的测量获取到心率值,在LCD1602 显示屏上显示。通过控制按键2、按键3、按键4 设置心率上下限。如果超出上下限则会驱动蜂鸣器响,实现报警功能。如图11所示。

图10 蜂鸣器电路

图11 主程序流程

3 系统调试

3.1 信号采集模块

按照最早所设计的原理图,如图12 所示。把整个信号采集与处理模块的电路图焊接完毕。测试时LED不会随着手指心率的改变而随之闪烁。经过分析与测试,确定是滤波电路存在问题。在设置滤波电路前加入带通滤波电路,找到心率信号。

图12 设计之初的信号采集电路图

传感器输出的正弦波幅度很小,经整形输出后检测到的脉冲还是很弱,在确定电路没有问题的情况下把图12 的R10 改为电位器,加强信号的放大倍数。在准确设置R10 的电阻值后,把指尖放到传感器测得的心率信号就很灵敏,且LED1 会随着心率信号的跳动随之闪烁,具体焊接实物如图13 所示。为了使采集的心率值更加精确、稳定,根据所示的原理图设计了PCB板,实物图如图14 所示。单片机输入信号如图15所示。

图13 焊接采集心率电路

图14 心率采集模块

图15 心率采集信号

3.2 单片机最小系统

单片机这一部分首先根据电路图在洞洞板进行焊接。在进行测试时发现设置的线路多且杂,只能通过杜邦线连接。线路连接的杜邦线较多且线路连接不稳定,LCD显示屏不能正确显示。通过万用表测试电路,发现电路部分没有问题。所以最后改用了PCB板来实现单片机系统的功能。PCB板如图16 所示。

图16 单片机系统模块

3.3 系统测试

根据程序通过信号发生器输出频率的改动,观察LCD屏幕的心率值是否正确。经测试,程序能够正确显示心率值。但当使用采集心率模块时,发现心率值并不稳定且数值的波动范围大。根据网上查阅有关心率相关的知识及资料,修改所设计的程序,使得利用采集心率电路输入信号,能够精确、稳定地显示心率值。

通过多次测试之后,把电源转换为设计的USB 电源,发现电路的电压并未达到设计的电压值。更换电源采用的电路模块,减少电源模块的杜邦线连接,设计心率检测仪的PCB板,保证电路电源电压的稳定。

进人测量状态后,测量值不稳定,主要是光电传感器受到手指指尖汗液的影响以及手机等电磁波干扰,将手机关机且测量前擦干指尖汗液即可。

3.4 数据分析

心率测量仪整体系统于2022 年4 月29 日15∶00 在第三实验大楼A120 进行测试,采用测试者1 与测试者2的采集心率数据,标准数值与测量值对照如表1 所示。

表1 数据对照表

由于测试者1 在当时测量的心率标准值一样,根据标准差公式对胡蝶的心率数据进行计算:

标准差σ可作为测量数据中测量不可靠性的评定标准。标准差σ的数值越小,测量的可靠性越大,测量精度高。由式(4)知,测得胡蝶的心率数值比较可靠。

在实际测量时,人工与检测仪测量的数值会有误差。这是由于系统误差和人为误差共同影响所造成的。系统误差是由实际检测时,人体脉搏强度不稳定所造成。人为误差是由计数开始和结束时间把握不准所造成。

4 结束语

手指心率检测仪的采用以STC89C52 单片机为控制核心,采用红外光电传感技术,通过对心率信号的分析和处理,最终在LCD1602 显示心率值。该系统能够准确、实时地测量心率,采用了报警功能来提醒测量者的心率值异常且具有高精度、可靠性高等特点,能够满足日常生活中的检测需求,有效实现对心率的实时监测,具有较好的市场前景以及推广价值。由于设计时间短,知识有限,本次设计还存在一些不足,如电路板复杂,程序不够简练,光电传感器的灵敏度不够高;同时此次设计的测量仪功能比较单一,没有如语音系统实现自动读出心跳次数等人性化功能。对本设计加以改进的话,能够实现在手机App 和电脑上实现通信,实时检测家人的心率情况以及更多的智能设置。

猜你喜欢
滤波心率单片机
心率多少才健康
离心率
离心率相关问题
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
探索圆锥曲线离心率的求解
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
Microchip推出两个全新PIC单片机系列