脉搏测量.docx
- 文档编号:10077875
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:18
- 大小:604.28KB
脉搏测量.docx
《脉搏测量.docx》由会员分享,可在线阅读,更多相关《脉搏测量.docx(18页珍藏版)》请在冰豆网上搜索。
脉搏测量
脉搏测量仪
摘要:
脉搏测量仪在我们的日常生活中已经得到了非常广泛的应用。
为了提高脉搏测量仪的简便性和精确度,本课题设计了一种基于单片机的脉搏测量仪。
系统以单片机为核心,以红外发光二极管和光敏三极管为传感器,并利用单片机系统内部定时器来计算时间,由光敏三极管感应产生脉冲,单片机通过对脉冲累加得到脉搏跳动次数,时间由定时器定时而得。
系统运行中能显示脉搏次数和时间,系统停止运行时,能够显示总的脉搏次数和时间。
经测试,系统工作正常,达到设计要求。
关键词:
脉搏测量仪;单片机;光电传感器
1.设计目的及要求
1.1设计目的
该系统以单片机STC89C52单片机为核心,以红外发光二极管和光敏三极管为传感器,并利用单片机系统内部定时器来计算时间,由光敏三极管感应产生脉冲,单片机通过对脉冲累加得到脉搏跳动次数,时间由定时器定时而得。
系统运行中能显示脉搏次数和时间,系统停止运行时,能够显示总的脉搏次数和时间。
1.2设计要求
(1)设计方案要合理、正确;
(2)系统硬件设计及焊接制作;
(3)系统软件设计及调试;
(4)系统联调;
(5)写出设计报告
2.脉搏测量仪系统结构
脉搏测量仪的设计,必须是通过采集人体脉搏变化引起的一些生物信号,然后把生物信号转化为物理信号,使得这些变化的物理信号能够表达人体的脉搏变化,最后要得出每分钟的脉搏次数,就需要通过相应的硬件电路及芯片来处理物理变化并存储脉搏次数。
在硬件设计中一般的物理信号就是电压变化,有了这个系统的设计思路,本课题就此开始实施。
2.1光电脉搏测量仪的结构
光电脉搏测量仪是利用光电传感器作为变换原件,把采集到的用于检测脉搏跳动的红外光转换成电信号,用电子仪表进行测量和显示的装置。
本系统的组成包括光电传感器、信号处理、单片机电路、数码显示、电源等部分。
(1)光电传感器
即将非电量(红外光)转换成电量的转换元件,它由红外发射二极管和接收三极管组成,它可以将接收到的红外光按一定的函数关系(通常是线性关系)转换成便于测量的物理量(如电压、电流或频率等)输出。
(2)信号处理
即处理光电传感器采集到的低频信号的模拟电路(包括放大、滤波、整形等)。
(3)单片机电路
即利用单片机自身的定时中断计数功能对输入的脉冲电平进行运算得出心率。
(4)数码显示
即把单片机计算得出的结果用8位LED数码管静态扫描来显示,便于直接准确无误的读出数据。
(5)电源
即向光电传感器、信号处理、单片机提供的电源,可以是5V-9V的交流或直流的稳压电源。
2.2工作原理
本设计采用单片机STC89C52为控制核心,实现脉搏测量仪的基本测量功能。
来自传感和整形输出电路的脉冲电平输入单片机STC89C52RC的/INTO脚,单片机设为负跳变中断触发模式,故每次脉冲下降沿到达时触发单片机产生中断并进行计时,来一个脉冲脉搏次数就加一;定时器中断主要完成一分钟的定时功能。
单片机对一分钟内的脉冲次数进行累加,通过P0口把测量过程和结果送到LCD显示器显示出来。
当手指放在红外线发射二极管和接收三极管中间,随着心脏的跳动,血管中血液的流量将发生变换。
由于手指放在光的传递路径中,血管中血液饱和程度的变化将引起光的强度发生变化,因此和心跳的节拍相对应,红外接收三极管的电流也跟着改变,这就导致红外接收三极管输出脉冲信号。
该信号经放大、滤波、整形后输出,输出的脉冲信号作为单片机的外部中断信号。
单片机电路对输入的脉冲信号进行计算处理后把结果送到数码管显示。
3.硬件系统
3.1单片机引脚图
随着心脏的搏动,人体组织半透明度随之改变:
当血液送到人体组织时,组织的半透明度减小,当血液流回心脏,组织半透明度则增大;这种现象在人体组织较薄的手指尖、耳垂等部位最为明显。
因此本设计将光敏二极管产生的红外线照射到人体的手指部位,经过手指组织的反射和衰减由装在该部位旁边的光敏三管来接收其透射光并把它转换成电信号。
由于手指动脉血在血液循环过程中呈周期性的脉动变化,所以它对光的反射和衰减也是周期性脉动的,于是光敏接收三极管输出信号的变化也就反映了动脉血的脉动变化。
故只要把此电信号转换成脉冲并进行整形、计数和显示,即可实时的测出脉搏的次数。
3.2LM3851运算放大器
LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。
它的使用范围包括传感放大器、直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。
LM358的特点:
.内部频率补偿
.低输入偏流
.低输入失调电压和失调电流
.共模输入电压范围宽,包括接地
.差模输入电压范围宽,等于电源电压范围
.直流电压增益高(约100dB)
.单位增益频带宽(约1MHz)
.电源电压范围宽:
单电源(3—30V);
.低功耗电流,适合于电池供电
.输出电压摆幅大
3.3A103G排阻
排阻的特点:
排阻具有方向性,与色环电阻相比具有整齐、所占空间少的优势
识别:
在三位数字中,从左至右的第一、第二位为有效数字,第三位表示前两位数字乘10的N次方(单位为Ω)。
如果阻值中有小数点,则用“R”表示,并占一位有效数字。
A103G排阻怎样接在单片机与1602的LCD之间:
在一端有个白点,那端的第一个脚接电源,其余的各脚接液晶屏数据线就行了。
上拉排阻:
上拉是相对下拉来说的。
可以简单的理解上拉的作用是给信号线提供一个驱动电压,使之传输更稳定,传输距离更远,用来抵消线路中内阻对信号的损耗。
3.4六键按键
这个按键一共2排,每排3个引脚,中间一根是公共端,对应他左右2个脚一个常开一个常闭,另外一排和这个一样,常开对常开,公共点对公共点,常闭对常闭,是完全独立的2组。
2个短接,接电源输入,中间这个也是2个短接输出就可以了。
安装的时候要用表量下哪个是常开,开关自锁键未按下时连接的是一边;按下自锁键后连接的是另一边。
连接电路时中间的引脚一般都选择接入VCC。
3.5LCD
(1)字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,显示容量:
16×2个字符,即可以显示两行,每行16个字符。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。
1602LCD是指显示的内容为16X2,芯片工作电压:
4.5—5.5V,工作电流:
2.0mA(5.0V),模块最佳工作电压:
5.0V
(2)管脚功能
1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地
第2脚:
VDD接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
3.6电位器
电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。
电位器通常由电阻体和可移动的电刷组成。
当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。
电位器既可作三端元件使用也可作二端元件使用。
后者可视作可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系得输出电压,因此称之为电位器。
3.7定时器中断程序流程
定时器中断服务程序由一分钟计时、按键检测、有无测试信号判断等部分组成。
当定时器中断开始执行后,对一分钟开始计时,1s计时到之后继续检测下1s,直到60s到了再停止并保存测得的脉搏次数。
同时可以对按键进行检测,只要复位测试值就可以重新开始测试。
主要完成一分钟的定时功能和保存测得的脉搏次数。
流程如下图所示。
定时器中断程序流程图
外部中断服务程序完成对外部信号的测量和计算。
外部中断采用边沿触发的方式,当处于测量状态的时候,来一个脉冲脉搏次数就加一,由单片机内部定时器控制一分钟,累加得出一分钟内的脉搏次数。
流程如下图所示。
INT中断流程图
显示程序包括显示上次的脉搏次数、本次测量中的时间和脉搏的次数。
从中断程序中取得结果后,先显示上次的脉搏次数,经过10ms的延时后再显示测试中的脉搏次数,再经过10ms的延时显示测试中的时间。
流程如图所示
显示程序流程图
4.抗干扰措施及使用方法
4.1抗干扰措施
为了提高测量仪的精确度,系统首先要解决的是硬件方面的干扰问题。
光电式脉搏测量仪的测量过程中,前端测量到的脉搏信号十分微弱,容易受到外界环境干扰,其中主要的干扰源有测量环境光干扰、电磁干扰、测量运动噪声。
在光电式脉搏传感器中,光敏器件接收到的光信号不仅包含脉搏信息的透射光的信号,而且包含测量环境下的背景光信号,由于动脉波动引起的光强变化比背景光的变化微弱得多,因此在测量过程当中要保持测量背景光的恒定,减少背景光的干扰。
测量环境下的背景光包含环境光和在测量过程中引起的二次反射光。
为了减少环境光对脉搏信号测量的影响,同时考虑到传感器使用的方便性,采用密封的指套式包装方式,整个外壳采用不透光的介质和颜色,尽量减小外界环境光的影响,为了避免测量过程中的二次反射光的影响,在指套式传感器的内层表面涂上一层吸光材料,这样能有效减少二次反射光的干扰。
加上指套式外壳后的脉搏传感器测量到的脉搏波形比较平滑。
这是因为加指套式的脉搏传感器中环境光在测量过程中基本不受外界环境光的影响,而且能够有效减少二次反射光,使照射到手指上的光波长单一,所以得到的脉搏信号较为稳定,没有明显的重叠杂波信号,能够很好的体现出脉搏波形的特征。
4.2电磁干扰对脉搏传感器的影响
通过光电转换得到的包含脉搏信息的电信号一般比较微弱,容易受到外界电磁信号的干扰,在传统的光电式脉搏传感器电路中,由于光敏器件和放大电路是分离的,那么在信号的传递过程就很容易受到外界电磁干扰,通常在一级放大电路采用电磁屏蔽的方式来消除电磁干扰。
本系统采用了新型的光敏器件,在芯片内部集成光敏器和一级放大电路,有效地抑制了外界电磁信号对原始脉搏信号的干扰。
工频干扰是电路中最常见的干扰,脉搏信号变化缓慢,特别容易受到工频信号的干扰,因此对工频信号干扰的抑制是保证脉搏信号测量精度的主要措施之一。
通常脉搏信号的频率范围在0.3-30Hz之间,小于工频50Hz,因此通过低通滤波器可以有效滤除工频干扰,这在信号调理电路中容易实现;同时可以在控制电路中对光源进行脉冲调制,这样不但能够降低系统的功耗,而且能够在一定程度上减小外界的电磁干扰,在脉搏信号数据采集后,可以通过数据处理法方法进一步滤除工频信号的干扰。
测量过程当中,通常情况下手指和光电式脉搏传感器可能产生相对的运动,这样对脉搏测量产生误差,可以通过两个方面减少运动噪声误差:
一是改善指套式传感器的机械抗运动性,比如说使指套能够更紧的套在手指上,不易松动;二是从脉搏信号处理的角度,通过算法来减小误差。
对于传感器的设计,现在采用的主要是第一个途径。
4.3测量仪使用方法
测量仪通电后,LCD1602全部显示0,把手轻轻置于右下角的传感器中,以稍微有压迫感为宜,这时很快就可以看到红色发光二极管会伴随你的脉搏而闪烁,让你直观的看到自己脉搏跳动的速度,按下复位键后单片机和显示部分开始工作,单片机立刻开始计数,同时LCD1602显示出你的心率和测试的时间,非常方便。
如果偶尔出现不稳的情况,请按复位键对系统进行复位。
5.系统调试
根据系统设计方案,本系统的调试可分为两大部分:
模拟部分和纯MCU部分。
由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试。
断开两部分的连接点,先调试MCU部分。
试着输入一系列脉冲(用适当的电阻接正极,间断性地输入),观察MCU部分能是否能显示;模拟部分用不透明的笔在红外发射二极管和接收三级管之间摇摆,借助示波器观察波形效果如何。
单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。
最后将各模块组合后进行整体测试,使系统的功能得以实现。
1.放大倍数的增加
传感器的输出端经示波器观察有幅度很小的正弦波,但经整形输出后检测到的脉冲还是很弱,在确定电路没有问题的情况下,加强信号的放大倍数,调整电阻RW1和R4的阻值。
(1)时钟的调试根据晶体振荡频率计算出内部定时器的基本参数,通过运行一段时间可通过秒表来校正后,看时间误差的量,以这个量为依据改变程序中的内部定时器基本参数,就可使时钟调准确。
(2)开机后无显示首先检查交流电源部分,有无交流,若无则可能保险管或变压器烧坏,如有继续查直流有无,如无则电源已烧坏,可更换解决。
(3)显示正常但经适当运动后测量,脉搏次数没有增加。
可能是前置放大级有问题,可采用更换的办法判断并排除。
(4)进人测量状态,但测量值不稳定主要是光电传感器受到电磁波等干扰,其次是损坏或有虚焊。
(5)开机后显示不正常或按键失灵可查手指摆放的位置或按键电路,若无故障则是硬件损坏。
(6)电源的改变理论上模拟部分有三处电压应为9V,但经过测试,全部使用5V电压也是可行的。
6.总结
单片机近20年的飞速发展,俨然已成为计算机发展和应用的一个重要方面。
另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
而51单片机作为单片机的主流,随着集成技术的发展,51系列单片机继承和发展了MCS-51系列的技术特色,有逐渐取而代之之势。
本设计主要是51单片机在脉搏测试系统中的应用。
重点介绍了单片机的最小系统,通过单片机最小系统实现了脉搏的测量系统,由光电传感器采集到脉冲信号,经过信号的放大、滤波和整形电路将输出的信号通过单片机的外部中断获取并最终在数码管上显示。
利用单片机自身的定时中断、外部中断、计数等功能,不仅能显示出此次脉搏测量的次数,还能自动储存这个数据。
本次所设计的测量仪系统实现简单、功能稳定、使用方便,应用广泛,具有实际意义。
由于时间比较短,同时本人掌握的知识有限,本次设计虽已完成,但其中有很多不足,如程序不够简练,电路板不够美观,光电传感器灵敏度不够高,显示部分不够完美等,同时此次设计的测量仪功能比较单一,没有如语音系统实现自动读出脉搏次数等人性化功能,且在设计过程中使用的运放数量也较多,加大了电源管理的复杂度。
然而科技的进步势必会使测量仪的功能日益强大和完善,其应用领域将不断扩大,将会给我们的生活带来更多的方便和精彩。
参考文献
[1].欧阳俊.基于BL-410的指端脉搏波采集系统应用研究.2004.
[2].韩文波.光电式脉搏波监测系统.长春光学精密机械学院学报.1999.第22卷第4期
[3].朱国富,廖明涛,王博亮.袖珍式脉搏波测量仪.电子技术应用.
[4].刘云丽,徐可欣等.微功耗光电式脉搏测量仪.电子测量技术.2005.
[5].程咏梅,夏雅琴,尚岚.人体脉搏波信号检测系统.北京生物医学工程.2006.
[6].刘文,杨欣,张铠麟.基于AT89C2051单片机的指脉检测系统的研究.医疗装备.
[7].张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社.第1版
[8].任为民.电子技术基础课程设计.中央广播电视大学出版社.
附录
#include
#defineucharunsignedchar;
#defineuintunsignedint;
#defineTIMER0_HIGHT0xd8;
Fosc=12MHZ;
#defineTIMER0_LOW0xf0;
#defineTIMER1_HIGHT0xec;
sbitP37=P3^7;
bitstarttest;//启动测脉搏标志uintcnt10ms;
uintcnt1s;//1秒计数器
uintPulsecnt;//脉搏次数,计数器
ucharDispCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
voidInit_Extint(void);voidTimer0_InitProc();
voidinitvar();
voidInit_System(void);
voidDisplay(ucharchose_dat,uchardat);
voidShowDisp(uinttPulsecnt,uinttcnt1s);
voidDelayMs(uintMs);
voidmain()
{
Init_System();//初始化
while
(1)
}
{
if(starttest==1)//处在测试状态
{
Pulsecnt++;//来一次中断脉搏计数器加1
}
}
Timer0Interrupt()interrupt1{
TH0=TIMER0_HIGHT;
TL0=TIMER0_LOW;//设置定时器0低字节初值
if(++cnt10ms==100)//1s计时到
{
cnt10ms=0;
if(starttest==1)//处在测试状态
{
if(++cnt1s==60)//一分钟时间到
{
starttest=0;//一次检测完毕,等待下一次检测
if(Pulsecnt<40||Pulsecnt>260)//设置脉搏正常范围,超出则启动定时器1
{
TH1=TIMER1_HIGHT;//设置定时器1高字节初值
TL1=TIMER1_LOW;//设置定时器1低字节初值
TR1=1;//启动定时器1
ET1=1;//开定时器1中断
}
}
}
}
if(keyin==0)//检测按键
{
ET1=0;//按键按下则关闭定时器1中断
if(starttest==1)//处在测试状态
{
cnt10ms=0;//复位测试值,重新开始测试
cnt1s=0;Pulsecnt=0;
}
else//不在测试状态,开始新的一次测试
{
starttest=1;
cnt10ms=0;
}
}
}
Timer1Interrupt()interrupt3
{
TH1=TIMER1_HIGHT;//设置定时器1高字节初值
TL1=TIMER1_LOW;//设置定时器1低字节初值
P37=P37;
}
voidInit_Extint(void)
{
IT0=1;//外部中断0设置为下降沿触发
IE0=0;
EX0=1;//允许外部中断0}
voidTimer0_InitProc()
{
TMOD=0x11;//设置定时器0和1,方式1:
16位定时器
TH0=TIMER0_HIGHT;//设置定时器0高字节初值
TL0=TIMER0_LOW;//设置定时器0低字节初值
TR0=1;//启动定时器0
ET0=1;//开定时器0中断
EA=1;//开总中断
}
voidinitvar()
{
starttest=0;
cnt10ms=0;
cnt1s=0;
Pulsecnt=0;
P37=0;
}
voidInit_System(void)
{
Init_Extint();
Timer0_InitProc();
initvar();
}
{
P0=dat;//送显示字型
P2=(0x01< DelayMs (1);//延时1MS P2=0xFF;//关闭显示,消影 } voidShowDisp(uinttPulsecnt,uinttcnt1s) { Display(5,DispCode[tPulsecnt%10]);//显示测试中的脉搏 tPulsecnt=tPulsecnt/10; Display(4,DispCode[tPulsecnt%10]); tPulsecnt=tPulsecnt/10; Display(3,DispCode[tPulsecnt%10]); Display(1,DispCode[tcnt1s%10]);//显示测试中的时间 tcnt1s=tcnt1s/10; Display(0,DispCode[tcnt1s%10]); } DelayMs(uintMs) { uinti,j; for(i=Ms;i>0;i--) for(j=110;j>0;j--); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 脉搏 测量