赵从涵
(湖北工业大学电子与电气学院 湖北省武汉市 430068)
本系统主要由4 枚按键、LCD1602、光电传感器、运放等构成。其中三枚按键负责设置脉搏数的上下限额,一枚按键构成单片机最小系统用于重置测量结果。蜂鸣器可以在测试结果超过限值范围的时候发出响声。
非ECG 检测方法主要是利用人体血液的透光性变化随着脉搏的近似规律性,接收端接则会依据感应特性捕捉微弱的人体脉搏信号。单片机的特定IO 口会将已经明显的脉冲信号通过外部中断转化为脉搏数。系统由测得一定时间内的脉搏数再经过换算得出被测者大约在一分钟的脉搏数,并在液晶屏上显示结果。
输入的直流电会有一个开关控制开闭状态。VCC 线路接入主控的VCC 引脚以及使能端,同时也通过按键再连接主控的复位端,当按键按下,会有脉冲信号进入复位端,触发复位工作。供电同样接入显示模块以及蜂鸣器,保证各个部分能够正常工作。总体框架设计如图1 所示。
图1:总体框架设计
STC89C52 的P0 为数据线接口,P1.2、P1.1、P1.0 分别连接LCD 的EN、R/W、RS 端。其中EN 是下降沿触发信号,R/W 是读/写信号,RS 是寄存器选择信号。然后LCD1602 的D1-D7 口分别接到STC89C52 的39-32 脚(见图2)。
图2:显示模块与主控连接
首先取一个要显示的字符或数据送到LCD 的显示缓冲区。本系统程序设计留有延时2.5ms,判断是否够显示的个数,不够则地址位加一取下一个要显示的字符或数据。
采集传感器采用ST188。ST188 有一个二级管红外发射端和一个三级管红外接受端。采用+5V 电源供电,R4 取330Ω,R5 取20kΩ,起到保护作用。其1、2 号引脚为ST188 发射端,供电后发出红外射线,3、4 号引脚为ST188 接受端。2、3 号管脚统一接地。4 号脚最后作为输出端接入信号处理部分。
脉搏信号需要进行一系列等处理,体脉搏信号微弱,幅值大约在几十 uV,若不处理会有强烈的噪音干扰。结合效能以及成本采用LM358 搭建起一个滤波、放大电路。
1.4.1 滤波电路
为更好地处理低频噪声以及高频噪音,选用低通滤波器和高通滤波器结合而成的带通滤波器。高通滤波器选取电容10uF 以及电阻24KΩ,低通滤波器选用电容1uF 以及电阻10KΩ,根据人体每分钟心跳60-100 次每分钟计算相关脉搏频率为1-1.67Hz,而通过计算,带通滤波器的截止频率为0.7-15.9Hz,低于0.7 Hz 以及高于15.9 Hz 的信号都将被滤除。此外,带通滤波器不能直接与主控接,否则会造成参数漂移,因此需要在带通滤波器后加入缓冲部分再接入电路。
1.4.2 放大、整形电路
经过滤波后的脉搏信号受到低频干扰,导致单片机不能准确的进行计数,会使误差与预期标准相差较大。采用整形电路——选取滞回电压比较器来增强抗干扰能力。集成运放芯片选用LM358,根据计算经过运放的信号会被放大约100 倍,除此外还外接上了一个LED 用作指示脉搏跳动的状态,LED 会根据脉搏变化规律进行同样规律的亮灭。
信号的处理部分最后与STC89C52 的输入输出功能接口(第12 脚,P3.2)连接。综上,信号整体处理流程概括为:光电传感器→放大电路→有源滤波电路→整形电路
此次项目除了一个可以重置数值的按键,其余三个按键与主控直接相连,均是为设置上下限的按键,分别为减数值键、加数值键、开始/结束设置按键。按下一次设置按键,首先进入上限设置,设置完成后,再次按下该键切换到下限设置,下限设置完毕后,再次按下该键,结束上下限设置。
蜂鸣器正极连接三级管9012 的集电级,负极接地。9012 发射级接入电源,9012 的基级会与主控RD 脚相连。如果所测得心率高于上限值或者低于下限值,蜂鸣器会受到信号控制发出报警声,提醒使用者。
主程序流程:首先单片机初始化,相关寄存器被清除。无测试状态下脉搏显示000/min,并显示预先设定然的上下限阈值。单片机通过定时15s 内测量人体的脉搏次数。若需要调整相关报警上下限,则需要首先按下范围设定按键,之后再通过加键或减键进行相应调整。
按键程序是一个独立模块设计,对应的按键IO 口输出为1。当按键按下,首先会有一个1ms 的消除抖动时间,如在消抖结束后确认按键已经被按下,则主控会根据该按键所代表的值去实现该按键功能。相关的数值控制的各部分代码限于篇幅原因不在此展开详述。
因为需要计算脉搏,所以离不开关于时间的代码编写。首先初始定时器(代码未展示),这样做可以很好的减小测量误差。如下面代码所示,在程序中脉搏测量虽然能够实时检测,但也是以一小时间段为单位,而并不是真正意义上的实时检测。计数器从1 开始,记录到超过等于6 次时间,然后算出间隔时间。
rate=60000/(time[1]+time[2]+tim3]+time[4]+time[e[5])/5 是程序中计算脉搏公式。计算中会对所测得的5 个时间取平均值再去计算脉搏,此目的能够有效抵消对于即将测试前以及测量即将结束后的测量数据误差。最后通过write_sfm3(1,5,rate)代码将计算好的数据输送至显示屏上。
本课题研究对象为可佩戴脉搏测量器,考虑可配戴舒适性和便捷性,还需对原有的设计系统做一些附加的改良。
首先,本系统有意缩减空间:根据制作的PCB,LCD1602 与C52 芯片之间会由巨大空隙,而实际制作时,将主控芯片藏匿在显示器下方空间,这样既美观也能腾出相应空间使得整个系统更加紧凑。
其次,万用板的4 个脚十分尖锐,若碰触到人体皮肤则会有明显不适感,有违可佩戴仪器的基本舒适原则,因此需要将万用板的四个角打磨光滑。
再次,需在电路与人体之间加入一个隔层,经过反复对比,采用海绵材料覆盖背板电路,使得佩戴更加舒适。除此之外,经过连接脉搏测量带,使得该测试系统能够进行佩戴在手部使用。
如此,方能够达到可佩戴的基础要求。
利用Protel99 软件对所搭建的整个电路进行模拟仿真,验证设计合理性。
除了对整个原理图进行仿真外,还特意根据本课题设计的滤波部分利用MATLAB 软件进行单独仿真,在输入幅度为1V 的正弦函数信号后,经过滤波部分最大可以通过频率为193Hz 左右,低频信号也被很好的滤除,因此能够完成带通的工作。
因为传感器和其他器件本身并非理想线性,会有一定误差。为测试本系统是否达到设计要求,对此次课题系统验证相关误差,利用听诊器测出的脉搏次数为实际的脉搏次数,作为对照参考。利用此脉搏检测系统测试出的结果与真实结果均方差约为0.58,满足使用需求。如图3 所示。
图3:测试结果
除了测量误差的要求,本系统还需要对是否能佩戴进行测试。故召集三批(每批10 个)志愿者,将本测量系统与指夹式脉搏测量仪器分别进行单次测量与连续测量舒适度比对.
从结果来看,在单次脉搏测量方面,仅有16.7%的测试者认为本系统能够舒适测量。然而在连续测量情况下,有近60%的测试者认为本系统具有舒适性。其主要原因为长时间佩戴,指夹式测量导致所测部位有轻微不适感,以至于舒适性略有降低,反而本系统无夹持装置能够发挥较大优势。
本文首先根据C52 芯片资料,搭建单片机最小系统。利用单片机常用的外围电路引脚和连接方法并参考1602 中文资料等连接LCD 液晶显示与主控。然后,本文设计脉搏采集处理电路,计算相关电阻使得滤除不需要的干扰噪音。最后为整个电路加入按键、LED 灯、蜂鸣器交互部分使得脉搏测试仪器功能更强、更加人性化。
本脉搏测试仪在测试后达到相关要求并且有以下优点:成本低廉、无痛检测,这些能满足大部分人群的需要。而且本系统能够佩戴使用,使得脉搏检测更加便捷。