便携式单片机控制液晶显示型心率计
扫描二维码
随时随地手机看文章
引言
过去人们测量脉搏时常用的方法是使用测量脉搏的听诊器,或者使用吸附在人体上的电极等老式测量方法,这些方法无疑都不便于室外场所使用。本心率计在设计时就充分考虑到了这一点。它采用红外线来进行检测采集人体的脉搏,检测的部位为被检测人的任意一个手指或者是耳垂。
检测的基本原理是:随着心脏的搏动,人体组织半透明度随之改变。当血液送到人体组织时,组织的半透明度减小;当血液流回心脏,组织的半透明度增大。这种现象在人体组织较薄的手指尖、耳垂等部位最为明显。因此,本心率计将红外发光二极管产生的红外线照射到人体的上述部位,并用装在该部位另一侧或旁边的红外光电管来检测机体组织的透明程度并把它转换成电信号。由于此信号的频率与人体每分钟的脉搏次数成正比,故只要把它转换成脉冲并进行整形、计数和显示,就能实现实时检测脉搏次数的目的。
硬件电路设计
笔者设计的这款便携式单片机控制液晶显示型心率计,硬件整体电路如图1所示。它可分为两个大的电路组成部分,即心率采集处理电路和单片机控制显示部分。
点击看原图
心率采集处理电路
心率采集处理电路如图2所示。该部分电路主要由脉搏次数红外检测采集电路模块、信号抗干扰电路模块、信号整形电路模块等三个主要的电路模块组成。其中,红外线发射管D1和红外线接收管Q1组成了红外检测采集电路;R2与C1、C2与C3、R4与C4和IC1a共同构成了信号抗干扰电路组,它们分别承担了对信号的低通滤波、干扰光线的光电隔离、残余高频干扰的滤除等任务。另外,IC1b、C5与R10、IC1c则共同组成了信号整形电路模块。
点击看原图
心率采集处理电路工作的基本过程如下:
首先,红外检测采集电路中D1发射红外线,而Q1则接收相应组织的半透明度,同时转换为电信号。由于脉搏一般在50次/分~200次/分之间,对应的频率范围在0.78Hz~3.33Hz之间,因此经红外检测采集到并转换得到的电信号频率就非常低。为了防止信号因外界高频信号干扰而使检测结果有误,信号就必须先进行低通滤波,以便滤出绝大部分的高频干扰。电路中采用R2和C1来完成滤除高频干扰的任务。
然后,由于本心率计设计的适用场所为室外,因此它必然会遇到强光辐射的情况。为了避免在接收正常脉搏红外线时受到强光的干扰,电路中设计使用C2、C3背靠背串联组成的双极性耦合电容构成一个简单的光电隔离电路,从而实现了对于干扰光线的隔离。此外,为了防止前面对于高频干扰滤除的不够彻底,电路中还设计连接了由IC1a、R4、C4组成的截止频率为10Hz左右的低通滤波器电路,以便进一步滤除干扰,同时将前面的信号放大200倍左右。
经前面处理得到的信号为叠加有噪声的脉冲正弦波,接下来必须对这个信号经过整形。先是通过比较器IC1b将正弦波转换成方波。利用R8可以实现将比较器的阈值调定在正弦波的幅值范围之内的目的。接下来,从IC1b的7引脚输出的方波信号经C5、R10构成的微分电路,进行微分处理后将成为正负相间的尖脉冲。为了稳定脉冲的输出,电路设计时是将此脉冲输入到单稳多谐振荡器IC1c的反相输入端,并利用IC1c的输出来作为后极工作的实际使用脉冲。
IC1c在工作时,凡有输入信号时,它会在输入信号后沿到来时输出高电平,从而使C6通过R11充电。大约持续20ms之后,IC1c同相输入端的电位会因C3充电电流减小而降低,当此电位低于反相输入端的电位时(尖脉冲已过去很久), IC1c就将改变状态并再次输出低电平。这20ms的脉冲时间是与脉搏同步的,这种脉冲在电路工作时是与红色发光二极管D3的闪烁情况相对应的。
经过IC1c之后的脉冲就是后面单片机控制电路所需的实际脉冲,通过R12送到单片机P3.3引脚后,就可实现后面的计数和显示了。
IC1a、IC1b、IC1c工作所需的4.5V电源电压,在电路中是通过R14、R15对9V分压并经IC1d缓冲而得到的。这样的设置,就使得即使电池电压降低到6V,本电路也能实现正常工作。
单片机控制电路
单片机控制电路如图3所示。本部分电路主要由AT89C2051单片机、SMC1602A液晶显示芯片、12MHz的晶振电路以及复位电路等几个部分组成。电路主要完成对于前面采集处理得到的脉冲进行计数和显示的任务。
经采集处理后得到的脉冲信号,通过P3.3引脚被输入到单片机中。单片机被设为负跳变中断触发模式。因此,每次脉冲下降沿到达时,单片机就将被触发并产生中断进行计时;而当下一次脉冲的下降沿到达时,单片机就对两次脉冲间的时间间隔进行运算,运算的结果就是心率。这个结果值,将通过P1口送至SMC1602A液晶显示芯片的数据端口,从而被显示出来。
在显示心率值之后,单片机将对此心率值与80~120的人体正常脉搏范围进行比较。若此值X为80≤X≤120,液晶显示芯片中会显示“Very Good!”,以表示被测者心率正常;若此值不在80~120范围之内,即X<80或者X>120,那么,液晶显示芯片中会显示“A Little Bad!”,以便表示被测者心率出现不正常。
另外,为了提示用户及时观察心率值的显示,电路中还设置了一个提示音的装置。即每次脉冲到来时,单片机P3.7引脚所连接的蜂鸣器SP均会发出提示音,这样,当用户第二次听到这个提示音时,就表明1分钟的脉搏计数显示已经完成。如此一来,结合前面心率采集处理电路中对于每次脉搏给予的点亮闪烁装置,本心率计在使用时就可以通过声光相结合的形式形象地把脉搏的快慢显示出来。
此外,本心率计设计的有效测量显示范围为50次/分~199次/分。为避免可能出现的干扰的影响,单片机对两个脉冲之间的时间间距进行检测,若发现有干扰,即次数值不在设置的有效测量显示范围之内时,则忽略该干扰而不显示。这样就更加降低了心率计在实际使用时出现误差的可能性。
元器件选取
电路中单片机选用AT89C2051单片机。液晶显示器芯片则选用SMC1602A,电路中用到的运算放大器IC1为常用的四运放LM324,它的四路分别分配给了IC1a、IC1b、IC1c和IC1d。本心率计的电源为7~9V直流电源,可以通过电池供电,也可通过交直流转换后来获取,正常工作时的工作电流为100mA。设计中使用的提示音装置为普通蜂鸣器,也可用8Ω微型喇叭来代替。另外,单片机采用的是12MHz的晶振,若用其它频率晶振,在软件设计中就需进行相应修改。
在使用前的安装时,可以将红外线发射管D1和红外线接收管Q1分别连接到一个夹子的两端。将剩余的电路板等部件安装于一个小盒中,为便于携带,小盒外部在电路安装完毕后应粘接一个可连接皮带的装置。为了方便使用时进行按键和观察,复位键K1、红色发光二极管D3、蜂鸣器SP以及液晶显示器芯片的显示窗口均要在盒子上留出相应放置的位置。同时液晶显示的窗口还应外加一个保护硬模,以免室外测量时的损坏。
在实际使用时,先将由图1中红外线发射管D1和红外线接收管Q1构成的检测夹子装置夹在被测者的任意一个检测手指上,然后连通电源。若观察到红色发光二极管在闪烁,那就表明心率计能够正常工作。此时,为保证观察的准确性,可以按下复位键K1使系统复位之后再重新开始测量并计数显示。
注意在两次听到蜂鸣器的提示音之后,首先观察到的结果是被检测者的心率,然后就是这个心率是否正常的英文提示语。若显示为“Very Good!”,则表示被检测者心率正常;若显示“A Little Bad!”,那么就表明被检测者的心率不太正常了。
软件设计
本心率计的软件设计采用的语言为汇编语言,主要的程序流程图如图4~图7所示。其中,图4为主程序流程图,图5为定时器中断子程序流程图,图6为INT1外中断子程序流程图,图7为显示部分的子程序流程图。
结语
本文所设计的新型便携式心率计,设计方法比较简单易行,使用的元件也比较普遍。从总体来看,它具有体积小、抗干扰能力强、使用方便、易于观察、易于携带等多种优点。因此,该心率计将非常适合于体育训练和室外作业等场合的使用。