摘要:考虑到人们对低成本、高精度心率测量仪的需要,设计了微型化数字显示光电测量仪。该心率计依赖二极管发射红外光,红外光透过率的改变可反映手指内血容量的周期性变化,接收二极管接收到受调制的光信号;该信号经滤波放大后直接送给80C51F310单片机进行处理,并用3个LED数码管显示出实时的心率。该系统具有方便、显示直观、功耗低等优点。
关键词:心率;红外;测量
1 信号拾取原理
血液是一种高度不透明液体。近红外光在一般组织中的穿透性比在血液中大几十倍[1]。指头内部的血液容积在心脏搏动下呈周期性变化,心脏舒张时手指中血容量减小,红外光透过率增大,心脏收缩时相反。因此,可以将红外光强的变化反映脉搏的变化。手指一侧的红外发光二极管发出稳定的红外光,透过手指由另一侧的PIN管接收透过光强,再将光强信号转化为电信号[2]。
2 系统组成
整个系统由信号拾取电路、滤波电路、放大电路、基于MCU(80C51F310)的数字电路组成,同时配合有按键、声光指示和数码显示管。LM324均采用5 V单电源供电,故在正向输入端设置了可调参考电压[3]。
2.1 信号拾取电路
具体实现电路如图1所示。由外接直流电源提供5 V的直流电压,红外发射二极管串联偏置电阻发射光信号,实测工作电流约为50 mA。红外接收二极管反向偏置接收光信号,实测工作电流约为0.5 mA,将光信号转化为电信号,经电容隔直流送给滤波电路,实测信号幅值约为15 mV。隔直后的原始信号如图2所示。
图1 光发射、接收电路
图2 隔直后的原始信号
2.2 信号滤波电路
采用二阶有源滤波,根据实际需要设置R和C的值,使得截止频率约为7 Hz,并有反向放大能力。其中比较器LM324在正向输入端加入2.5 V的参考电位。具体实现电路如图3所示。
图3 有源二阶滤波电路
2.3 放大电路
具体放大电路如图4所示。比较器LM324使用单电源供电,同样需要设置参考电位。由于输出电压范围约为0.8~4.0 V,故把参考电平设置为1.6~2.5 V左右,使用220 kΩ与100 kΩ的电阻串联分压,电平不恒定,有噪声抖动,但在允许范围之内。实际测量中第一级放大20倍,第二级放大10倍。为了调整波形,最后使用了简单的反相器。放大后的信号和比较电平如图5所示。
图4 有源二阶放大电路和反相器
图5 放大后的信号和比较电平
2.4 单片机系统
单片机系统包含了复位电路、程序烧写电路、按键、LED数码管、蜂鸣器。单片机系统如图6所示。
80C51 F310单片机的供电电压是3.3 V,而稳压电源的供电电压是5 V,所以需要将5 V电压转换成稳定的3.3 V提供给单片机。为了使LED有足够的亮度,要求与它接口的电路能提供10~20 mA的驱动电流,所以需要使用一片锁存器74HCT573来驱动LED显示器。其输入高电平的下限值为2.0 V,单片机的输出高电平为3.3 V。预设了4个按键,选择P0.4~P0.7作为4个按键的接口,系统以查询方式获取按键信息。
另外,为80C51F310设置了一个可调的比较电压输送到P1.1端口。由于使用片内的比较器,故经放大后的信号直接输入单片机的P0.1端口,并用软件设置比较器的回差电压以减少噪声干扰。比较器的结果将产生中断信号,从而使单片机计数并计时,通过算法得出平均值,将计算结果显示在LED显示器上。
3 软件算法
模拟电路将处理后的信号送给了单片机的比较器0进行处理。比较器0可以作为单片机的中断源。将比较器0中断设置为上升沿中断,将定时器1的定时时间设为25 ms。设置2个工作寄存器count0和count1,分别存储程序进入比较器0中断和定时器1中断的次数。当一个脉搏信号输送给单片机的比较器0时,单片机进入比较器0中断,count0加1。当定时器1溢出进入中断,count1加1并重置后跳出中断。统计count0次内定时器1中断的次数,根据公式60×1/(0.025×count1/count0)=14 400/count0即可求得一分钟的脉搏次数,存在0.2%的计算误差,但是对实际应用影响很小。计算结果锁存显示后,将count0和count1清零,进入下一次测量过程。具体关键算法流程如图7所示。
图6 单片机系统
图7 关键算法流程图
4 实验结果及总结
该设计以80C51F310为核心实现了低成本、实时性好的小型便携的光电心率测量仪,能十分方便地测算出实时心率,为人们的心血管健康提供了参考信息。同时,在该系统上可以开发出其他人性化的扩展功能,具有良好的市场前景。