APP下载

基于AT89S52和红外传感器的心率计设计*

2021-04-28李东泫黄士凡段俊玲常澎钊

山西电子技术 2021年2期
关键词:脉搏心率单片机

李东泫,李 平,王 鑫,黄士凡,段俊玲,常澎钊

(长治医学院生物医学工程系,山西 长治 046000)

0 引言

心率能够反映心脏功能[1],也可作为一项重要指标,为血流动力学研究和心电监护提供重要的参考依据。心率的正常与否,可以作为监控家庭成员心脏健康情况的一项重要参考。为了满足测量心率的要求,本文将设计一款用于心率测量的心率计。同时,为了满足价格低廉的要求,设计过程中要注意选用价格便宜的元器件,使设计出的心率计具有更高的性价比。心率计包括平均心率计与瞬时心率计。最常用作测定心率的信号是心电信号。

测量心率的脉搏波传感器种类很多,就其基本原理来分,可分为液体传导式、接触传导式、光传导式[2]。由于有创检测方法给病人带来很大痛苦,而且操作繁琐复杂,需要专业人士,所以在心率检测的家庭应用层面,目前研究主要基于无创检测方法。

在无创方法中,脉搏波速度的检测已经在较长时间内广泛应用于评价动脉壁扩张性和硬度[3,4]。该方法无创伤,操作简单、结果准确、重复性好,广泛应用于大型治疗和流行病学研究当中,适合于向家庭和社区医疗服务推广[5]。但是仅在欧美国家普及度较高,国内少数医院引进此种设备,因为其价格昂贵。近年来,多家国内单位开始了相关研究,也有类似的产品相继上市。但是,这些仪器均被应用在大型医疗机构中,不适用于在普通家庭和社区中推广。因此,为满足家庭需求,本着低成本、高实用性的出发点,本文对心率计的设计进行了研究,设计了一款可实现实时心率检测,并将检测结果快速反馈给使用者,同时还满足了低成本的要求。

1 系统总体设计方案

1.1 总体设计概述

心率计的总体设计如图1所示,由主控制模块、红外传感器信号采集模块、放大电路模块、报警系统、液晶显示电路模块等组成[6,7]。

图1 系统总体设计原理框图

红外传感器价格便宜,设计简单,体积小,故本设计采用红外传感器进行信号的采集,得到和心跳同频率的信号,最终产生一种低频信号,它和脉搏次数成正比。

1.2 测量计算原理

设K个连续脉搏波时间为t(秒),心率的平均值为n(次/分),则:

n=60K/t.

(1)

用单片机测定t值,为了能够控制,利用脉动信号控制单片机的定时/计数器T0定时(定时1 ms中断一次),工作寄存器对中断次数进行计数,然后读取计数值N。

t=0.001N.

(2)

把式(2)带入式(1)得到利用单片机测定心率值的数学模型,如式(3)所示:

n=60K/0.001N=60 000 K/N.

(3)

在该单片机系统中,K=1-9,K值由用户自行设置,可测心率范围20次/分-200次/分。

2 系统硬件设计

系统电路原理图如图2所示,包括主控模块、脉搏检测模块、放大电路模块、报警模块、液晶显示模块。

图2 系统电路原理图

2.1 主控制模块

主控制模块的作用是控制整个心率计,使得各个功能模块之间可以协同工作。本文将采用单片机最小系统,主要由芯片、时钟电路和复位电路组成。采用AT89S52,可以实现高可靠性、低成本、强大的性能,低功耗。

2.2 脉搏检测模块

脉搏检测模块的作用是将脉搏信号转换为电信号。利用红外传感器进行信号采集,采集出来的信号与心跳同频率。

红外发射管发射出的光,一部分会透过人体组织,产生一个透过光强β。当人体组织半透明度数值较大时,β很弱,会使得光敏三极管无法导通,所以输出高电平;当人体组织半透明度的数值较小时,β较强,会促使光敏三极管导通,所以输出低电平。

由上面的分析可看出,高低电平会随着人体组织半透明度的数值变化而变化,而人体组织半透明度会随着心脏的搏动而发生改变,如此便经由红外传感器形成了与频率与脉搏次数成正比的低频信号,波形近似于正弦波。

2.3 放大电路模块

放大电路模块的作用是放大脉搏信号,此信号十分微弱,一般会有噪声干扰,导致信噪比低,因此本文采用LM358搭建放大和滤波电路。但是经过放大滤波后的信号仍然呈不规则特征,而且仍然保有低频干扰,显然不满足计数器的要求。因此,本文采用整形电路,选用滞回电压比较器,提高抗干扰能力。

2.4 报警模块

报警模块的作用是为了向使用者示警,本文采用有源蜂鸣器,它采用直流电压供电,程序控制方便,常用作发声器件,广泛应用于报警器、电子玩具、定时器等电子产品中。

2.5 液晶显示模块

液晶显示模块是为了与使用者进行简单的交互,数字式接口液晶显示器有以下几个优点:显示质量高,画质高且不会闪烁,和单片机系统的接口简单可靠,易于实现,操作方便,体积小,重量轻,功耗低。

3 系统软件设计

采用C语言编写,程序可读性高。主要包括以下几点编写需求:

1) 程序初始化,确定中断入口地址和程序入口地址,用显示全零与否来区分是否有信号的输入。若无信号输入,则显示全零,此时心率计没有正常工作;反之,则正常工作。

2) 定时器中断服务程序,由一分钟计时、有无测试信号判断等部分组成。定时器中断主要完成一分钟计时、心跳次数的保存,外部中断服务程序完成对信号的测量和计算,当处于测量状态的时候,由单片机内部定时器控制一分钟,累加得出一分钟内的心跳次数。为了消除外界信号的干扰,在定时器中断服务程序中加入了对频率大小的判断,滤除掉小于40次/分钟和大于120次/分钟的脉冲信号。

通过程序初始化、定时器0的中断和定时器1的中断,单片机便可以检测、计算出心率次数,并在液晶显示器中显示结果。

4 测试结果

1) 采用仪器进行测量,对实际情况进行模拟。首先用信号发生器产生一个40~200次/分的方波,观察心率仪读数与信号发生器输出的频率是否相等。表1给出了部分测量结果。

表1 信号发生器测量结果

由以上测量结果看,用信号发生器产生的信号用心率仪测量时其测量误差为0,且在报警的上下限可报警。

2) 将设计出的心率仪对实际情况进行测量。表2给出了部分测量结果,前三行是对同一个体进行测量的结果,后三行是对不同个体进行测量的结果。为了进行对照,在测量时将由同一个医生采用听诊器进行测量。从结果中可以看出,人工测量的数值与心率仪测量的数值会有误差,但误差均在可接受范围之内。

表2 实际测量结果

由信号发生器产生的信号测量时没有误差,而实际测量时产生误差,这是因为信号发生器产生的信号频率稳定,而实际测量时被测人情绪、姿态等均会对心率产生很大影响,导致脉搏波不稳定。

5 小结

本设计采用AT89S52芯片,工作电流约100mA,使用脉搏波作为源信号对心率进行测量,采用红外传感器进行信号采集。通电后,将手指固定在红外传感器之间即可检测到信号,并在液晶上显示被测者的心率,同时若心率发生异常,本文设计的系统会发出警报。本文设计的系统成本低廉,精度可满足家用要求,可用于实时检测,体积较小,便于携带,能够满足日常家庭的需要。

猜你喜欢

脉搏心率单片机
心率多少才健康
离心率
离心率相关问题
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
用心感受狗狗的脉搏
光电式脉搏波检测系统的研究
探索圆锥曲线离心率的求解