APP下载

基于STC89C52单片机的指环脉博测量仪设计与实现

2021-03-04周择文邵婷婷

计算机测量与控制 2021年2期
关键词:测量仪数码管脉搏

周择文,邵婷婷

(延安大学 物理与信息工程学院,陕西 延安 716000)

0 引言

脉搏有着人体健康状况的详细信息,我国中医自来就非常重视脉搏的诊断,这种方式也是受到了大家的接受,但是这种方式因为单凭医生的手指切脉,往往带有很强的主观臆断,而且技巧很难熟练掌握。在医院里护士每天都要记录住院的病人脉搏情况,方便医生进行科学合理的诊断,通常采用的方法都是把手放在病人的动脉上,记录10秒时间内心跳的数,然后乘以6倍,最后得出病人的脉搏数。通过这种方法得出的病人的脉搏数不够精准,而且比较费时费力,为了有效地提升脉搏测量的精准度,多样式的脉搏仪成为医疗设备与器械研发的重点[1-2]。

以往的脉搏传感器多采用的是比如指脉、耳脉等方式,但也具有难以有效维护、数据不精确等弊端。当前科学技术的不断进步,推动着脉搏测量技术的提升,现在的脉搏测量精度也是显著加强,国内外先后推出了多种款式的脉搏测量仪,中间的核心技术是对脉搏传感器的研究。丁青锋等[3]以STC89C52单片机为核心,设计了基于复合传感器的人体健康监测系统。使用电容式压力传感器和温度传感器测量人体血压脉搏和体温,避免了传统测量方式下因为人的主观因素影响测量结果的问题。杨波等[4]使用Arduino单片机采集心电和脉搏波信号,并通过Wi-Fi把数据发送到LabVIEW,该仪器使用心电贴片和压电脉搏波传感器替代传统充气式袖带,可进行无创连续血压测量。罗明等[5]设计了一种适用于日常家庭心理健康监护的腕部脉搏波的脉率变异性检测系统。蔺莹等[6]开发了一种便携Android的智能健康监护系统,相关数据超出设定阈值,手机将发出报警声,达到了预警效果。徐玉菁[7]开发的MSP430单片机的便携式血氧仪系统成本低、体积小、方便携带,具有非常好的应用前景。潘天文等[8]设计PSoC单片机的低功耗心率监测,改进算法的检出率比阈值检测算法提高了1.59%,心率采集端的平均功耗仅约40.6 mW。上述专家学者从仪器设备便携、低能耗、高检测精度、降成本等各角度为出发点不断探索具有良好的应用价值软硬件系统[9-12]。

目前国内外的研究方向集中在无创伤非接触式的传感器,它测量精度高,误差小,不与人体有直接接触[13-16]。本文基于STC89C52核心利用主流技术的光电式脉搏传感器,采用对手指末端透光度的监测,从而能够间接获得脉搏信息,本套设备可提升护理工作时效性,以期在临床医学的领域中得到应用与推广[17-19]。

1 设计原理

脉搏测量仪的设计理念为收集并发送人体脉搏发生瞬时改变而产生的生物信号,接着通过生物信号转变成光电物理信号,实时侦测人体的脉搏情况。整个过程需相应的硬件电路与相关软件来实现。依照上述思路,本文进行了脉搏测量仪的设计。

1.1 工作原理

1.1.1 脉搏信号采集

依据郎伯-比尔定律,物质在某种环境下波长处的吸光情况和它的浓度呈现的是正比的关系。如果一个保持不变的波长照到人体身上的时候,经过人体组织的吸收和衰减以后,实际测量到的光强能够比较全面的反馈出被照射位置的结构情况。

脉搏是依靠人的动脉舒张和收缩形成的,每个人的指尖位置的动脉成分是比较高的,而且在指尖的位置人体的组织厚度是比较薄的,光通过手指检测到的光强比较清晰,所以设计的脉搏测量仪是使用在人体的指尖。人的手指组织是由皮肤、肌肉、骨骼等组织构成,分为非血液组织和血液组织,很明显非血液组织它们吸收到的光通常是恒定的,而静脉血的搏动非常的微弱,不适用进行检测。所以可以知道光通过手指后,出现了一系列的变化,这些都是由动脉血的细微变化引起的,这样采用固定播长的光源进行照射,然后对通过手指的光强度进行检测,就能获得人体的脉搏信号情况。

光电传感器由红外发光二极管和红外接收三极管构成。检测的基本原理是,伴随人的心脏的跳动,人体组织半透明度就会发生一定的改变,如果血液送到了人体的组织器官时,则它的半透明度就会变少,当血液回到了心脏,则组织器官的半透明度就会增强,这种情况在人体组织的比如耳垂、手指尖的位置尤其明显。所以本设计运用的是通过红外发光二极管对人体的手指展开照射,人的手指组织的反射和衰减情况,都会由红外三极管来进行接收,并把数据转换为电信号。因为手指动脉血在血液循环中间是按照周期规律进行变化的,所以对光的反射和衰减也是按照周期规律进行变化的,这样只要把红外接收三极管获取到数据进行相关的处理,就能非常快速地获得脉搏的测量情况。

本设计采用的是透射式的,其工作原理是,发射光源和光敏接收的器件的位置和距离对称放置,通过这种方式能够有效的获得心律的实际情况,减少了一系列的干扰。结构如图1所示。

图1 透射式光电传感器

1.1.2 STC89C52单片机

设计中运用单片机STC89C52为控制核心,当把手指放到光电传感器上面时,伴随着心脏的跳动,这时血管中的血液的流量就会出现变化,这就会造成血液饱和度产生改变,从而使得光的强弱出现改变,这个节拍和心跳是一致的,红外接收三极管的电流同样也会出现变化,使得红外接收三极管就会发出脉冲信号,信号经过一定的处理,传输到单片机上,单片机对脉冲信号进行处理后,把数据传送到数码管,数码管就会显示出测量的结果,工作原理如图2所示。

图2 工作原理示意图

设计的脉搏测量仪有许多的特点:1)测量不会侵入人体;2)使用方便快速,数值精准;3)稳定性强、方便维护、寿命比较长;4)体积小、重量轻。

1.2 主要元器件

在本设计中采用的STC89C52为控制核心,它是一款性能比较高、低电压的单片机,能够充分的满足本设计的需求。此次设计使用的AT89C51单片机的封装形式是DIP40。STC89C52单片机的封装形式和个引脚功能如图3和表1所示。

图3 STC89C52单片机的封装形式

2 系统硬件设计

2.1 信号采集电路设计

信号采集电路如图4所示。脉搏信号采集的电路设计中,红外U3为发射和接收元件,为了使得红外发射装置的灵敏度符合设计要求,R20选择了300 Ω。在使用过程中,通常会出现两种情况,一种情况是没有脉期,这时候手指阻碍了发射的红外光,但因为红外接收三极管中间有暗电流,这就会使得电压相对较低;另一种情况是有脉期,因为脉搏产生了跳动,血管中的血液让手指的透光性变得很弱,就使得红外接收管中暗电流变少,输出电压提升。这样就能较易收集到目标信号。

表1 引脚各功能表

图4 信号采集电路

当传感器输出频率比较的低时,易受高频源干扰,所以在设计中添加了C7滤波,排除了高频干扰,然后把数据传送到线性放大输入端。

2.2 信号放大设计

本设计按照人体在体育运动后的脉搏跳动次数195次/min来进行设计,通过图5能够看出,在设计中R14、C14形成了低通滤波器,使干扰尽量减少到最低,同时两者还确定了截止频率,U2B把信号进行了有效的增大,具体增大的倍数由R14/R16值来确定。

若有信号输入的时候,U2A就会输出比较高的电平,这时候红色发光二极管LED的灯会闪烁,脉搏每跳动一次,灯就会随之闪烁一次,脉冲电平经过R24传递到单片机/INTO脚,然后就能获得心率的相关数据。

图5 信号放大电路图

2.3 单片机处理电路设计

本设计中选用的STC89C52芯片,能够非常迅速的对数据进行计算,同时能进行有效的编程,故障率较低。单片机处理电路设计如图6所示。通过传感器和整形输出电路获得的脉冲电平,通过芯片的/INTO脚进入到芯片,单片机设置的模式是负跳变中断模式。

图6 单片机处理电路设计

因此,每一次的脉冲下降沿到达时,会激发单片机出现中断,然后展开计时,每一个脉冲脉搏对应的就是加1个次数,定时器中断设置为1 min,单片机对1 min内的脉搏情况累加,然后把相关的数据内容经过P0和P1口传到显示电路。

2.4 显示电路设计

通常进行单片机的设计当中,为了能够有效的观察到设备的运转情况,要使用显示器来展现运行的实际情况,所以本设计当中也是需要采用显示器设备。本设计中运用的LED数码管显示器,它是由发光的二极管显示字段构成的,LED数码管动态扫描显示,采用3位7段共阳极数码管显示器,有12个引脚,8个位选端,8个字选段,相关的显示电路如图7所示。

图7 显示电路

采用LED动态显示时,按顺序点亮每位显示器,每个数码管的位选被按次序挑选,多个数码管共同使用一个段选,段选数据仅对位选选中的数码管有效。

3 系统软件设计

3.1 脉搏测量主程序

脉搏测量主程序让单片机按照系统设定的内容进行运转,当整个系统通电以后,首先进行系统的初始化,主要是对单片机内各个部分的工作状态进行设定。完成了初始化的工作后,然后就按照设定好的流程,进行相应的程序运行,图8为程序流程图。

图8 主程序流程图

3.2 定时器中断程序

定时器中断程序主要是由脉搏时间计量、有没有信号判断、数码管扫描构成。当定时器中断开始运行后,对规定时间内脉搏的测量数据进行统计,流程如图9所示。

图9 定时器中断程序流程图

3.3 INT中断程序

外部中断服务程序是对外部信号的测量和计算,采取的是边沿触发的模式,当进行测量的时候,有一个脉冲脉搏就会进行计数为1,然后单片机里面的内部定时1 min,最后计算出1 min里面脉搏的总数据。

4 调试及实际验证

4.1 系统调试

可以对脉搏测量仪出现的各类情况进行相应的调试,让设备各功能都正常发挥作用,常用的调试内容如表2所示。

表2 系统调试常用内容

基于单片机的脉搏计系统是多功能的数字型设计,所以对于它的程序也较为复杂。所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,至调试成功。由于Proteus中缺少传感器等相关元器件,故选用开关的闭合与断开时高低电平的变化来表示脉搏的跳动,其仿真如图10所示。

图10 Proteus整体仿真图

当脉搏数大于120时,蜂鸣器报警同时黄灯亮。当脉搏数小于60时,绿灯点亮同时蜂鸣器显示报警,仿真在模拟心跳时是用信号发生器替代的,可以通过改变其周期数改变心跳数,在模拟时达到良好效果。

4.2 脉搏测量仪使用

当脉搏测量仪通电后,设备上显示为零,然后把手指套上指环传感器,很短的时间内,红色发光二极管会跟着脉搏的跳动而闪烁,在按下复位按钮后设备开始运转,这时就会显示出测量人的心率和测试时间,如果测量出现有不稳定的状态,可以重新按下复位键进行再次测量。

4.3 实际效果验证

为了测试本文设计的指环脉搏测量仪的准确度,与听诊器实际测得脉搏次数进行比较。结果如表3所示,实际脉搏次数与脉搏测量值之差为绝对误差,得单片机绝对误差为1.1,相对误差为0.9%,达到直接应用要求。

表3 实测脉搏数据比较次 min

4.4 减少干扰方法

对于脉搏测量仪来说,因为检测到的数据信号都是十分的微弱,外界有着很微小的影响干扰,都会对测量结果造成较大的误差。

1)减少环境光的干扰。通过本设计的脉搏测量仪进行检测中,光敏器件在获取到的光信号中,不光有脉搏信息的透射光的信号,同时还会有外界的自然光的影响,所以可以采取密封的指套式包装形式,让整个外壳都采用不透光的材质,这样能够使得外界光源对于检测的数据影响减到最小。采取指套式外壳后进行检测,获得的检测数据更加精准,稳定性更高,易于收集。

2)减少电磁干扰。考虑到本设计中采取光电转换获得的脉搏信号都是比较微弱的,通常会受到外界的电磁信号的干扰,所以在设计中充分考虑到这一点,芯片内集成了光敏器和一级放大电路,从根本上排除了其它电磁信号对收集到的脉搏信号的干扰。另外工频干扰也是会影响测量数据精准度的,一般的脉搏信号频率都是0.3~30 Hz,比工频的50 Hz要小,信号通过低通滤波器,将工频干扰有效抑制。

3)排除移动或者震动的干扰。在对脉搏进行测量的时候,一般手指和脉搏传感器会产生细微的移动或者震动,这就会使得测量的结果出现一定的差别,这就要使手指和指套式传感器紧密的结合,保证测量时的稳定性,这就能使得测量的效果准确有效。

5 结束语

本设计中采用STC89C52单片机作为核心的控制器,通过光电传感器收集到脉冲信号,信号经过有效的放大、滤波以及整形,经过单片机的有效处理,最终在数码管上显示出脉搏测量的结果,采取有效的调试和使用。本套设备可提升护理工作时效性,在临床医学的领域中具有较大应用与推广价值。

猜你喜欢

测量仪数码管脉搏
物理项目教学设计,用单片机控制四位数码管显示
蓝桥杯树莓派模拟题解析三:“电子测距仪”
谁是逃跑的劫匪
Arduino编程
MC9S08FL16单片机数码管静态显示分析
用心感受狗狗的脉搏
电压相量测量仪设计与制作
脉搏的检查及与脉搏异常相关的疾病
关节轴承内圈外球面球径测量仪的设计