便携式无线心电监护系统设计
郝亚楠
(太原工业学院 电子工程系 太原 030008)
摘 要:本设计采用无线通讯技术,。提出处理脉搏信号的新方案,即采集及处理与无 线发送部分(前端系统)+无线接 收与MCU(后端系统)。前端系统主要负责脉搏信号的采集和初步处理并发送,能够单独工作;通过无线接收和串口接口MCU显示,后端系统主要负责跟踪显。示由前端系统传递来的信号。正是有了无线接收模块的作用,使得系统具有了实时监测的能力。
Abstract: This design uses wireless communication technology,. A new scheme for pulse signal processing is proposed, which is the acquisition and processing of Unwired transmission parts(front-end system) + wireless reception and MCU(back-end system). The front-end system is mainly responsible for the pulse signal acquisition and preliminary processing and transmission, and can work alone; Through wireless reception and serial interface MCU display, the backend system is mainly responsible for tracking the display. Indicates the signal transmitted from the front-end system. It is with the function of wireless receiving module that the system has the ability to monitor in real time.
关键词: MCU,无线收发模块,串口,心电监护,脉搏
Key words: MCU, wireless transceiver module, serial port, electrocardiogram, Pulse
1.主要研究的内容
本系统设计制作一个基于单片机的脉搏计。主要完成以下功能:
(1) 脉搏信号产生的原因及特点。
(2) 高通滤波器和低通滤波器的设计。
(3) 采用STC89C52单片机作为控制器,用液晶实时显示此刻测量的心率。
(4) 通过红外线传感器提 取信号并通过滤波放大电路,把信号整形成方波给单片机计算一分钟内的脉搏次数。
(5) 用户可以设置脉搏次数的上限和下限,超过上限或上限单片机会驱动蜂鸣器发响。
(6) 通过无线串口蓝牙模块HC-06,将下位机采集的脉搏数,实时无线传给传给上位机。
2. 总体方案设计
本设计系统框图如下图2.1所示
图 2.1 系统结构框图
由STC89C52、LCD1602、光电传感器、无线模块、运放等构成。系统可以通过软件设置上下限脉搏数,当心率超过设定的报警范围时单片机会驱动蜂鸣器发响。测量脉搏时需将手指套在光电传感器上,当人心脏跳动的时候,手指处动脉血管的透光性不一样会导致光电接收管接收到的透射光强弱不一样,间接地将生物信号转化为电信号,通过放大器对其进行滤波、放大、整形后连接到单片机的外部中断0,单片机利用定时器计时20s,外部中断对其进行计数,最终换算成人一分钟脉 搏的跳动次数,显示在液晶屏上。同时用无线串口蓝牙模块将数据发送给另一单片机,具有实时监控的作用。
3.硬件电路设计
3.1 主控模块
MCU在整个系统中起着主导作用,需要检测中断信号,时刻发送数据,同时实时显示数据,还有驱动蜂鸣器报警,这里选用 STC89C52单片机作为系统的主控芯片。
STC89C52单片机的基本组成框图见图 3.1。
XTAL2 XTAL1
Vcc
Vss
RST EA ALE PSEN P0 P1 P2 P3
图 3.1 STC89C52单片机结构图
3.1.1 STC89C52单片机的中断系统
STC89C52系列片机的中断系统有5个中断源,2个优先级,能够实现二级中断服务嵌套[4]。在单片机应用系统中,经常会有定时控制需求,如定时输出、定时检测、定时扫描等;也常常要对外部突发事件产生中断进行计数。STC89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。
3.1.2 单片机最小系统设计
图3.2为单片机最小系统电路图,单片机最小系统由单片机、晶振电路、复位电路组成,晶振电路选用了11.0592MHZ的晶振提供时钟,根据官网的数据手册,要让晶振起振还要配备2个的电容,电容容量范围在15-33pf之间,容量太大,晶振不能工作。本次设计增加按键手动复位,在单片机上电瞬间,由于C2电容隔直流作用,电压非常小,绝大部分电压都在下拉电阻R1上,此时RST处于高电平,之后电容C2会逐渐充电,RST电为会慢慢降低,当RST电为低于某值时,开始复位。为了保证复位成功电容充放电时间要大于2US,选择了10K和10UF较为常规的值,充放电时间远大于2US,也就是大于24个振荡周期。手动复位,避免了系统死机无法复位情况。
图 3.2 单片机最小系统电路图
3.2 液晶显示部分与STC89C52的连接
LCD1602与单片机的连接有两种方式。一种是直接控制方式。另一种所谓的间接控制方式。他们的区别只是所有的数据线的数量不同,其他都一样。
如图3.3所示。液晶通过排阻与单片机P0口相连,将要显示的数据通过P0口给单片机。用P2.2控制选通液晶模块、P2.1控制液晶写操作信号和读/写选择信号、P2.0控制寄存器选择信号。
接口说明如下:
(1)液晶1脚接电源负极或地。2脚接VCC;15背光电源正极,16脚背光电源负极;为了避免5V电压过高烧坏背光,需要加个10Ω的限流电阻。
(2)液晶3端为液晶对比度调节端,接正电源时对比度最弱,接地时对比度最强,为了方便调节,串联一个10KΩ电阻。
(3)液晶4端寄存器选择位,高电平选择数。据寄存器,低电平选。择指令寄存。
(4)液晶5端为读/写选择端,因为我们不从液晶读取任何数据,只向其写入命令和显示数据,因此此端始终选择为写状态,即低电平接地。
(5)液晶6端为使能信号,若想用液晶模块,必须EN软件置1。
图 3.3 LCD1602与STC89C52的连接
3.3 蜂鸣器模块设计
本设计还带有脉搏超出设定范围报警的功能,当检测到当前脉搏跳动的次数超出用户所设定的上下限时,单片机就驱动蜂鸣器发声。本次设计选用压电式蜂鸣器,蜂鸣器模块电路图如图3.4所示。当P1.0软件置0的时候三极管导通,这时候蜂鸣器发声;当P1.0置1的时候,三极管关闭,蜂鸣器不发声。
图 3.4 蜂鸣器驱动电路图
3.4 脉搏信号采集
近年来,光电检测技术快速发展,用光电法提取脉搏信息在医学界得到广泛的应用,受到专家和学者的重视。这是因为光能抗干扰能力强,能不受电磁干扰,与人体绝缘可以不用侵入人体检测和采集病人各种信息,具有操作简单,不会给病人造成痛楚,效率高,精度高等优点。
图3.5是脉搏信号的采集电路,X2是红外发射,X1接收三极管,R1是限流电阻,可以控制X2的发光强度,R2影响红外接收三极管感应红外线灵敏度。R1过大,X2发出的红外光太弱,透射指尖到接收管就微乎其微,不能区分有无脉搏信号。反之,R1过小,红外光太强,红外接收三极管仍然不能辨别有无脉搏跳动。当手指从红外对管中间拿走时,模拟电路输入端电压会出现突变,电压达到最大值,为了防止电压进入U2A输入端,用C1、C2串联组成的双极性耦合电容把它隔断,避免错误的判断。C2耦合电容与R12构成高通滤波器。由于脉搏频率很低,幅度小,所以应取大容量电容。但要注意,耦合电容不应过大,否则电路响应很慢,出现延迟。为了减小信号衰减,耦合电容不小于0.5uf。
图3.5 信号采集电路
3.5 信号放大滤波
一般健康成年人的脉搏较低时50次/min,此时输出频率为0.78HZ。最高也就为200次/min,脉搏频率也只有3.33HZ,可以看出脉搏信号一般都处于低频率,因此信号首先经过R2、C6滤波以滤除高频干扰,然后在通过耦合电容C1、C2将脉搏信号送入放大器LM324中。集成运算放大器LM324,R6、C4构成低通滤波器再次滤除残留的高频干扰。放大倍数由R6、R4决定。
低通滤波器截止频率:
有源滤波电路传递函数:
放大倍数:
3.6 波形整形电路
波形整形电路如图3.6所示,由比较器、RC充放电路组成。
图 3.6 波形整形电路
3.7 蓝牙硬件电路设计
在本设计中进行数据的无线传输核心部分就是蓝牙,要求主从蓝牙模块自行配对,误码率小,在不同型号单片机之间能够实现稳定的通信。本设计采用的是HC-06蓝牙模块。蓝牙模块HC-06模块易于操作,高性能,兼容性好的蓝牙串口模块,有很宽的波特率范围,与单片机兼容性好。HC-06模块可直接用单片机5V直接供电,不需要max232等进行电平转换。蓝牙连接成功后以透传模式进行数据传输。蓝牙模块引脚如下图 3.13所示。
图 3.13 HC-06模块
VCC:接单片机的5V。
GND:接单片机的GND。
TXD:发送端,接单片机的RX。
RXD:接收端,接单片机的TX。
要注意,单片机与单片机之间用蓝牙进行无线通行时,必须为一从一主,从设备发送数据,主设备接收数据。
3.8 脉搏测量仪电路总图
将手指放在红外对光的中间,由于心脏跳动,动脉血管就会进行充血,这样就会影响指尖的透光性,因此采用红外对管将这种随心脏跳动的变化的光信号转化为电信号,经过一级集成运放的滤波和放大,然后将信号送给二级集成运放组成的电压比较器,输出高低电平的方波。再将信号送给RC组成的微分电路,得到正负相间的锯齿状脉冲波,然后再经过RC充放电路,使LM324,正负向输入端的电压随心脏变化,输出高低变化的脉冲,将脉冲信号送给单片机外部中断INT0,进行记数。然后通过软件算法,计算出脉搏数,用液晶显示,并发送给另一单片机。在这过程中单片机会判断测得心率是否在设定的范围内,若心率超出范围,P1.0脚会输出低电平,驱动蜂鸣器报警。如下图3.14电路原理总图。
图 3.14 电路原理图
4.软件系统
本次设计,软件部分是用keil uVision3版本编写,主要由主程序,液晶显示程序,外部中断,定时器中断,串行口中断,延时函数构成。主程序主要是完成液晶初始化,给定时器T0/T1装初值,设置中断优先级和串口波特率。显示程序将单片机计算出的脉搏数,通过液晶显示出来。外部中断是对脉冲计数,定时器中断是将脉冲数给数据缓存器,串口中断是把测得的数据发送给上位机。
4.1 主程序流程
系统主程序是单片机按部就班执行各项操作的依据。系统上电后,首先按设定的初值,对单片机进行初始化,完成PCON、SCON、TCON、TMOD以及各引脚工作状态的设定。系统初始化后,按照优先级和main主函数依次执行子程序。流程图如图4.1所示。
Y
图 4.1 系统程序流程图
4.2 定时器中断
当检测到脉搏后,给单片机复位,定时器0进行初始化,定时器开始计时,时间为20s,由于外部中断优先级高于定时器0,在这20S内,主要外部中断0有下降沿到来时,外部中断0都会对其计数。流程图如图4.2所示。
定时器中断0进入
N
图 4.2 定时器中断流程图
4.3 外部INT中断
模拟电路采集到的脉搏信号送给外部中断0,采用下降沿触发的方式,当输入一个脉冲信号,脉搏次数就加一,由于单片机定时器设置为20s,还需将脉搏次数乘以3,就得到每分钟的次数。流程图如4.3所示。
外部中断0进入
Y
图 4.3 INT中断流程图
4.4 串口通信
51单片机串口通信由串行控制寄存器SCON、发送数据的电路、还有接收电路。流程图如4.4所示。
图 4.4 串行中断流程图
在本设计中采用工作模式1,波特率设置为9600BPS。外部中断对脉冲信号进行记数,20s后将数据存入到SBUF缓存器,单片机立马执行串行中断函数,当数据发送完后,TI由硬件置1,此时还需用软件将其清零。在接收端,将数据从SBUF中提取,然后送给液晶显示。
波特率;(X是定时器初值)
初值X;查表可得:TH1= 0Xfd, TL1= 0Xfa.
5.抗干扰措施及使用方法
5.1 抗干扰措施
光电式脉搏传感器在测量中脉搏信号很微弱,容易受到干扰,例如环境光干扰,电磁干扰,电流噪声干扰,测量运动噪声等,这些都属于系统硬件方面的干扰,可以通过改进硬件电路,进行多次滤波,除去无用信号。
5.1.1 环境光对脉搏传感器测量的影响
红外接收三极管接收到的光信号,可能还存在周围环境中的光信号,例如照明灯、太阳光等。为了减小干扰,可以将脉搏传感器放在不透光的密闭环境中测量,或者用黑色布条把测量部分裹起来,这样可减少环境背景光的干扰。如果在脉搏传感器内表面都涂上一层吸光物质,就可消除透射光的反射干扰。
5.1.2 电磁干扰对脉搏传感器的影响
由于我们周围无处不存在有电磁场,某些频率的电磁场会干扰脉搏的测量。再加上采集到的脉搏信号本身就很微弱,干扰信号的幅度可能都高于有用信号,这样就会淹没脉搏信号。在脉搏信号传输至放大器时,就会掺杂有大量的杂波,这些杂波一旦进入放大器,也会随有用信号一同放大。所以,可以在一级放大电路采用屏蔽仪消除电磁干扰。
最常见的干扰就是工频干扰,周围220V交流电线产生50HZ干扰信号。由于脉搏信号的频率很低,一般在0.3到3.33HZ之间,远小于工频50HZ,因此,可在电路中设计一个低通滤波器。
5.1.3 测量过程中运动噪声的影响
在测量过程中,手指与传感器接触时,手指可能会颤抖,这种抖动会使红外接收三极管接收到的光强度不稳定,这就是由运动产生的噪声。以下从三个方面减少误差:
(1)使用更紧的指套式传感器,手指放进去后,不容易松动。
(2)在测量过程中,要身体保持镇静,尽量避免身体晃动。
(3)通过软件来减小误差,根据脉搏信号的频率和幅度,用程序滤除一些频率异常过高,和幅度有突增的信号。
5.2 测量仪使用方法
测量仪通电后,两个蓝牙模块自动配对,当蓝牙模块信号灯不闪烁时,即配对成功,按下复位按钮液晶显示全部显示0。把手指放置于红外对管之间,以稍微有压迫感为宜,很快就可看到红色发光二极管在闪烁,说明已经检测到脉搏,若闪烁没有规律,调整指尖与传感器接触点,直到感觉脉搏节奏与亮灭同步,按下复位键后单片机和显示部分开始工作,单片机立刻开始计数,等待二十秒后,液晶显示出心率。如果偶尔出现不稳的情况,可按复位键对系统进行复位。
6.系统调试
6.1 系统调试
本课题系统设计共分为两大部分:模拟电路部分和数字电路部分(MCU)。先调试MCU部分,用函数发生器产生脉冲信号,送给MCU的P3.2脚,观察MCU部分能否正常显示。模拟部分,将指尖放在红外对管之间,借助示波器观察输出波形。
1. 放大倍数的增加
经示波器观察传感器输出波形幅度较小,经过比较器和RC电路整形后,脉冲很弱,在确定电路正确的情况下,改变电阻R6、R4的阻值,增大放大器的增益。
2. 时钟的调试
根据定时器的初值与晶振振荡频率和定时时间关系公式,计算出初值,通过运行一段时间与秒表进行校正,看时间差,然后依次为依据改变定时器的初值,就可使时钟调准确。
3. 适量运动后测量,脉搏次数没有增加
可能是电压比较器设置的阈值电压不合适,一些干扰信号进入比较器,可以调节电位器,改变比较电压。
4. 前后测量值不稳定
主要是光电传感器收到周围光线和电磁波的干扰,其次就是有虚焊。
6.2 系统检验
系统上电后等待测试状态,如图6.1所示:
图 6.1 实物等待测量
测试中显示的数据,如图6.2所示:
图 6.2 实物正在测量
6.3 误差分析
表 6.1 实测数据与参考数据
实际的脉搏次数 |
测量得出脉搏次数 |
测量得出脉搏次数 |
测量得出脉搏次数 |
测量得出脉搏次数 |
测量得出脉搏次数 |
1 |
2 |
3 |
4 |
5 |
|
65 |
64 |
64 |
63 |
65 |
63 |
72 |
70 |
71 |
69 |
69 |
70 |
76 |
76 |
75 |
75 |
74 |
73 |
81 |
80 |
80 |
79 |
81 |
80 |
85 |
83 |
83 |
85 |
82 |
84 |
注:实际的脉搏次数以听诊器测出的脉搏次数为参考值。
由于元器件本身并非理想线性,加之测量时操作不规范,实测数据进行了线性补偿。
由均方差公式得:
误差分析:经校准,非线性补偿后,误差已基本达到要求。
7总 结
本设计基于蓝牙的无线心电监护系统,实现了对脉搏信号实时采集与处理,并具有报警和无线发送功能,采用用51单片机,用软件代替硬件电路,简化了电路设计。通过单片机最小系统进行脉搏测量,光电二极管采集脉搏信号,经过放大器的滤波、放大、整形,然后输出高低电平的方波信号,送给单片机外部中断0。利用单片机定时器中断,外部中断,串行中断等,计算出脉搏次数,然后液晶显示当前心率,判断是否超过报警范围,并用HC-06蓝牙模块,将数据发送给上位机。本次所设计的监护系统操作简单、功耗低、对病人有很好的监护作用,具有实际意义。