为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 电子血压计设计

电子血压计设计

2012-05-19 21页 pdf 7MB 218阅读

用户头像

is_119563

暂无简介

举报
电子血压计设计 1 电子血压计设计 学院: 物理学院 组员:刘鑫 王展峰 栾义龙 袁颖 指导老师: 李茂奎 2010年 6月 2 目目目目 录录录录 第一部分、功能设计 1. 1 电子血压计的设计目的-----------------------------------(3) 1.2 电子血压计的主要功能----------------------------------- (3) 第二部分、系统设计 2.1 设计摘要-------------------------------------------------(3) ...
电子血压计设计
1 电子血压计设计 学院: 物理学院 组员:刘鑫 王展峰 栾义龙 袁颖 指导老师: 李茂奎 2010年 6月 2 目目目目 录录录录 第一部分、功能设计 1. 1 电子血压计的设计目的-----------------------------------(3) 1.2 电子血压计的主要功能----------------------------------- (3) 第二部分、系统设计 2.1 设计摘要-------------------------------------------------(3) 2.2 血压测量原理---------------------------------------------(3) 2.3 系统原理框图---------------------------------------------(4) 2.4 论证-------------------------------------------------(4) 2.4.1 单片机选择--------------------------------------------------(5) 2.4.2 集成运放芯片的选择------------------------------------------(5) 2.4.3 传感器的选择------------------------------------------------(5) 2.4.4 一级放大电路设计--------------------------------------------(6) 2.4.5 滤波电路的设计----------------------------------------------(7) 2.4.6 二级放大电路的设计------------------------------------------(9) 2.4.7 显示模块----------------------------------------------------(10) 2.5 完整电路原理图-------------------------------------------(11) 2.6 单片机软件设计-------------------------------------------(11) 第三部分、系统测试及结论 3.1 波形显示--------------------------------------------------(13) 3.2 结论------------------------------------------------------(14) 第四部分、小结与感想-------------------------------------( 14) 第五部分、附录----------------------------------------------(15) 附录一 参考文献 附录二 元器件明细表 附录三 部分专用程序清单 附录四 组员分工情况和工作情况 附录五 作品实物照片 3 第一部分 功能设计 1.1 电子血压计的设计目的 当今社会人们迫切希望一套成形的人体生理参数测量系统。血压是人体的重 要生理参数,是人们了解人体生理状况的重要指标。测量血压的仪器称为血压计, 血压计分为水银血压计、弹簧表式血压计、电子血压计三种。其中电子血压计是 一种医用范围十分广泛的医疗设备,它外观轻巧、携带方便、操作简单、显示清 晰,对提高人们的生活质量发挥了重要的作用。 我们想通过此设计达到一下目的: 1.通过设计加深对 AVR 单片机的认识、了解及掌握,掌握模数转换部分,中 断部分以及数码管显示部分的应用,能够达到熟练使用 AVR 的程度。 2.加深对硬件电路的了解以及掌握,学会根据系统要求设计电路,学会动手 焊接电路。 3.复习 C语言的相关知识。 4.锻炼自己发现问题、分析问题、解决问题的能力,培养团队意识,锻炼分 工合作以及协调能力。 1.2 电子血压计的主要功能 我们的血压计基于示波法原理,选用专用传感器 BP300 实现准确的压力传 感,使用 8位单片机 ATmege16 对信号进行处理,将收缩压和舒张压的值在 LED 上显示出来。 第二部分 系统设计 2.1 设计摘要 血压是人体重要的生理参数,准确的测量血压对人体的健康起着十分重要的 作用。我们的血压计基于示波法原理,选用专用传感器 BP300 实现准确的压力传 感,使用 8位单片机 ATmege16 对信号进行处理,将收缩压和舒张压的值在 LED 上显示出来。整套仪器具有使用方便、显示直观的特点。 关键字: ATmega16 压力传感器 BP300 LM324 LED 显示 示波法 血压 2.2 血压测量原理 临床上血压测量技术一般分为直接法和间接法。前者的优点是测量值准确, 并能连续监测,但它必须将导管置入血管内,是一种有创测量方法;后者是利用 脉管内压力与血液阻断开通时刻所表现的血流变化间的关系,从体表测出相应的 压力值。间接测量又分为听诊法和示波法。我们的血压计采用示波法。 示波法的测量原理,与柯氏法类似,采用充气袖套来阻断上臂动脉血流。 由于心搏的血液动力学作用,在气袖压力上将重叠与心搏同步的压力波动,即脉 搏波。当袖套压力远高于收缩压时,脉搏波消失。随着袖套压力下降,脉搏开始 4 出现。当袖套压力从高于收缩压降到缩压时,脉搏波会突然增大。到平均压时振 幅达到最大值。然后又随袖套压力下降而衰减,当小于舒张压后,动脉管壁的舒 张期已充分扩张,管壁刚性增强,而波幅维持比较小的水平。示波法血压测量就 是根脉搏波振幅与气袖压力之间的关系来估计血压的。与脉搏波最大值对应的是 平均压,收缩压和舒张压分别对应脉搏波最大振幅的比例来确定。提取的脉搏波 信号如下图, 收缩压和舒张压的获取原理图如下 图 1 图 2 2.3 系统原理框图 我们设计的电子血压计主要由压力传感器 BP300,四运放 LM324,滤波器, 气泵,单片机 ATmega16 和 LED 显示器构成的。这个设计的核心部分是专用压力 传感器 BP300,信号处理芯片 ATmega16.前者将袖带内的压力信号转换成电压信 号,后者控制整个电路的工作,利用 AVR 单片机中的 AD 转换器对采样信号进行 处理,把最终的结果通过 LED 显示出来。 系统设计框图如下: 压力传感器袖带 放大部分 隔直 ATmega16 固定放 气阀 LED 显 示 低通滤波电路 放大电路 5 图 3 整体设计 2.4 方案论证 2.4.1 单片机选择 采用 AVRmage16 作为泉韵新声的控制中心。mage16 具有丰富的资源:RAM, ROM 空间大、指令周期短、运算速度快、低功耗、低电压、可编程音频处理,易 于编写和调试等优点。 2.4.2 集成运放芯片的选择 方案一:LM358。LM358 内部包括有两个独立的、高增益、内部频率补 偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电 源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范 围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放 大器的场合。 引脚图如下: 图 4 LM358 图 5 LM324 但是,我们所设计的放大电路要用到三个运放。考虑到芯片数量越多,出现的问 题越多,我们没有选用此芯片。 方案二: LM324。LM324 是一个含有 4个运算放大器的集成芯片,每一个放 大器都是差动输入。工作时,最低电压是 3V,最高可达 32V,因为它的电压范围 比较宽,可以较好的与其他外接电路的电压进行匹配。引脚图如图 5。我们最后 根据我们的需要,选择了此芯片。 6 2.4.3 传感器的选择 方案一:采用电容式压力传感器。电容式传感器具有灵敏度高、温度稳定性 好等优点。由于网上购买不到,我们从血压计成品中拆出一个。但由于没有相关 数据手册,在网上也找不到关于此传感器的任何信息。最终,放弃使用此传感器。 方案二: 采用压力传感器 BP300。它是细微加工硅材料而成的传感器,也 是六脚双列直插式封装的传感器。它是一种比较理想的元件,不需要补偿,而且 具有低滞后性、高可靠性和稳定性。把感应到的压力信号转换为相应的电压信号, 并且是线性对应的。我们采用此传感器。 BP300的主要参数指标为:300mmHg的压力感受范围;零漂是+20mv;输 出电压范围是 100+30mv;供电电压为 5VDC;环境温度范围为-20℃~+100℃它的 外观及引脚图如下: 图 6 传感器外观 图 7 传感器电路原理 2.4.4 一级放大电路设计 方案一:我们需要提取的信号非常微弱,而传感器和电路中的器件又常会产 生噪声,为了提高模拟输入信号的信噪比,增大所需要的信号,可以用放大滤波 电路放大输入信号并衰减噪声,提取出某些特定频段的信号。首先,我们自己根 据模电书上的知识,设计了一个放大滤波电路: 7 A A C R4 R2 R1 R3 + — + — ui u01 u02 图 8 电路的有关参数如下: Au=1+R2/R1. R2≈100R1; R4=30R3; C=0.5uf 经过实际实验,我们发现此电路对我们的信号几乎没有作用,我们放弃了此 电路。 方案二:在我们的测量系统中,被测物理量通过传感器转换为电信号,传感 器所获得的信号常为差模小信号,并含有较大共模部分,其数值远远大于差模信 号。因此要求放大电路具有较强的抑制共模信号的能力。 我们采用了仪表放大器中的放大电路,即一个三运放放大电路,电路图如下: 8 ui1 ui2 uo1 uo2 R1 R7 R2 R3 R4 R6 uo R5 ∞ + - + N1 IR ∞- + + N2 ∞ - + + N3 图 9 三运放放大电路 电路的有关参数如下: IR=(uo2–ui2)/R2=(ui1–uo1)/R1=(ui2–ui1)/Rp uo1=ui1(1+R1/Rp)–ui2R1/Rp uo2=ui2(1+R2/Rp)–ui1R2/Rp uo =(uo2–uo1)R5 /R3 这种电路的优点在于: a,高共模抑制比; b,三运放结构; c,双端差分输入,单端输出; 经过实验,虽然遇到了许多问题,但最终都得以解决,得到了我们理想的放 大倍数。 2.4.5 滤波电路的设计 从传感器输出地信号实际是袖内压力信号与脉搏波信号的叠加。实际上,我 们需要对这两种信号进行分离。而且,还要除去信号中的杂波。因此,需要滤波。 因为脉搏的的频率较低,大约在 0.1—30Hz 左右,因此了我们制定了四种方案并 分别进行了测试,最终选择了方案 D。 方案 A:采用无源一阶低通滤波器。电路图如下: 9 图 10 一阶低通滤波电路 参数设置:f0=1\2πRC 电路特点在于电路设计简单,易于实现,但是阻带衰减太慢选择性差. 方案 B:采用压控电压源二阶带通滤波器。电路图如下: 电路的参数如下: Auf=1+Rf\Re C1=C2 R1=R2=R Rf\R=1 我们首次应用该方案,基于其可以将低于 0.1Hz 和高于 30Hz 频率波滤掉, 进而得到我们想要的波频范围,但是得出的结果并不理想,由于下限频率很低, 设置为 0.4Hz,上限频率经计算可得到为 1Hz,通频带太窄,波形幅度很小几乎 等同于直线,经过多次试验而不能得到理想的实验结果,我们只能放弃方案 B。 方案 C:有低通滤波器和高通滤波器级联组成的带通滤波器,电路图如下: 10 无限增益低通滤波器 无限增益高通滤波器 电路特点:将低通滤波器和高通滤波器级联而成的带通滤波器通频带较压控 电压源二阶带通滤波电路要为理想,但是焊接较为复杂,且需要两个运放。 方案 D:无限增益多路反馈二阶低通滤波,电路电路如图 11 R1 C2 R2 C1 R3 uo u i - + Rf 图 11 无限增益多路反馈二阶低通滤波电路 电路参数设置:Aup=-Rf\R1 R1=R2=R Rf=R3 C1=0.47uf,C2=0.15uf 在此二阶电路前,我们串联了一个容值为 2uf 电容使静压信号得以滤掉,保 证 ui输入为脉搏波信号。计算得电路频率范围在 10Hz 以下,经过试验发现电路 11 允许通过的频率与计算值相符,并且在示波器上显示的波形非常理想,符合所需 要的幅值,故而选择本方案作为我们的滤波电路. 2.4.6 二级放大电路的设计 由于脉搏信号很弱,经过一次放大后,还达不到我们的要求,因此,经过隔 直和滤波后,我们还需要对脉搏信号再次放大。由于脉搏信号只是一个低频率的 交流信号,我们采用了下面一个放大倍数可调的放大电路,电路如下: + — — R1 Rp ui u0 图 12 二级放大电路 2.4.7 显示模块 方案一:LCD 显示。LCD 是做显示器很好的选择,尤其是要显示字母等。但 价格比较贵。 方案二:LED 显示。LED 在整个学习与设计过程中是最常见的。因为我们要 显示的内容只是数字,所以选择价格比较便宜的 LED。 2.5 完整电路原理图 12 信号 调理 电路 2.6 软件设计 软件方面,主要利用 AVR 单片机 ATmega16 的 AD 转换功能,实现边采集数据边储 存有用数据,最后利用算法实现信号处理。 PA0 和 PA1 口作为模拟信号的输入端,负责接收静压信号和脉搏信号。在外 界袖带气压逐渐下降的过程中,间歇循环对 PA0(静压信号转换通道)和 PA1(脉 搏波信号通道)进行 AD 转换,把模拟信号转换为数字信号。在 AD 转换完成中断 中,对脉搏波 AD 转换的结果进行判断,若此时所采集的值为脉搏信号的极大值, 则存到所定义的结果体数组变量中;同时把所对应的静压信号转换结果存储到结 构体数组中。(由于 Mega16 不能同时对两路信号进行 AD 转换,两路信号不可能 13 完全对应,这里是出现误差的主要原因)我们采用的 AD 转换触发信号是 T/C0 的 比较匹配中断,由于脉搏信号的频率大约为 1HZ,最高频率 f1 约为 3HZ,采样频 率为 f1 的 4~10倍,所以我们采用的采样频率 f2 为 20HZ,f2*13=260HZ,小于 50KHZ,所以我们采用62.5KHZ(我们芯片的时钟频率为1MHZ,大于且最接近50KHZ 的分频系数为 16 分频,此时的 ADC 采样时钟频率为 62.5KHZ)的 ADC 采样时钟 频率。 数据采集完之后,就要在主函数中进行数据的处理。首先找出最大值, 其在结构体中的下标为 k,在小于 k的下标中找到第一个脉搏波信号大于最大值 的 0.7 倍的值得下标,记为 c;在大于 k的下标中找到第一个脉搏波信号小于最 大值的 0.8 倍的值的下标,记为 d。然后把 c、d 对应的静压值取出来转换成气 压值,最后通过七段数码管循环显示出收缩压与舒张压。 具体图如下: 14 开始 参量、函数的定义及端口的初始化 袖带充气停止之后,上电,开始放 气,AD转换开始 时间已到 OR 数据已 足 数据采集 脉搏波是否 极大值 脉搏波信号及对应的静压信 号的值存入结构体变量中 从结构体中找到脉搏波的最大值并 记下其值及其下标 k 从结构体中找到脉搏波的 最大值并记下其值及其下 在下标大于 k 的脉搏波信 找出 c、d 对应的静压信号的值, 将其转换为血压值,分别对应收 缩压与舒张压 通过数码管循环显 示收缩压与舒张压 结束 否 是 否 是 第三部分、系统测试及结论 3.1 波形显示 经过滤波电路后,我们在示波器上得到了很好的波形。根据示波器上波形的 跳动,可以判断,得到的脉搏信号的确是一个包络线。静压信号也是在加压后线 性减小。具体波形显示,请看链接波形显示.avi(右键连接。观察时注意每次跳 动的信号幅值。开始时为加压时情况,然后信号幅值很小,说明信号很弱,后来, 15 信号增大,并且在一瞬间有一个最大值,接着再次减弱。在一分钟左右减为零。 因为传感器很敏感,一分钟后的信号是无用信号,是我们在测量结束后摘袖带时 引起的变化。) 3.2 结论 首先,我们已经得到了很好的信号。 第四部分、小结与感想 经过认一个学期的学习,我们从不懂单片机到认识它,应用它,从不懂电路 到能够利用它,我们经历了好奇,迷茫,无奈以及取得进步时的喜悦。还有许多 的感受,都无法用语言来描述。在这过程中,我们经历了许多的困难。就像我们 所有的方案例证,尤其是放大滤波电路部分,都是经过我们亲身实践的。所有的 电路,我们都是尝试过的。每一个方案,在焊接的时候,我们都会满怀希望,可 焊接后,得到的结果通常都会让我们失望。每一次的失败都是对我们思路的一次 否定,都会增加我们的迷茫和压力。让我们感觉寸步难行。 但无论感觉怎样,我们唯一没有做的就是放弃。我们相信,经过不断地尝试, 终究会有结果的。从真正开始着手焊接电路到最终完成电路部分的焊接,大约用 了两个月的时间。虽然,最后的成果总结起来看似很简单,可只有我们自己知道, 两个月来,我付出了多少。 以几乎没有自习的时间换取了最后电路的完成在别人眼里可能是一种时间 的浪费,我们也曾这样想过,可是,想想两个月来的经历和收获,我们还是充满 了自豪感。通过此课程设计,我们认识到了书本知识的重要性,但也认识到了这 些知识的局限性。对于具体问题,以书本知识为前提,要根据实际情况进行改进。 书上的理论是正确的,但要应用到实际,还要有丰富经验的支持。我们不仅学习 到了很多实用的知识,而且加强了同学间的交流,培养了合作精神。 在整个课程设计过程中,我们得到了李茂奎,兰建胜老师以及黄晨学长,王 新军的同学的指导和帮助,使用了单片机实验室,单片机虚拟实验室以及模电实 验的设备,在此,我们提出感谢,希望老师、同学以及所有的实验室能给更多的 同学提供求知的机会。 第五部分、附录 附录一参考文献 [1] 马潮.AVR 单片机嵌入式系统原理与应用实践.北京:北京航空航天大学出版社. [2]童诗白,华成英.模拟电子技术基础.北京:高等教育出版社. [3]李茂奎、张兴成、付运旭等。单片机原理及接口技术实验讲义.山东:山东大学出版社 16 [4] 鹏桂力,刘知贵,鲜华,李婧,王彩峰.基于 AVR 单片机的血压、脉搏装置设计.计算机 工程.2007,1000-3428(2007)12-0247-04. 附录二元器件明细表 附录三部分专用程序清单 /***************************************************** This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator ?Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 2010/6/16 Author : Company : Comments: Chip type : ATmega16 Program type : Application Clock frequency : 1.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include //全局变量 flash unsigned char led_7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; flash unsigned char position[3]={0x01,0x02,0x04}; unsigned char dis_buff[3]={0,0,0},posit; bit time_ok; struct press {unsigned char max[75];//假设持续时间 10S,采样频率 0.5 次/ms,采出 50 个 数(不知具体能采出多少个数) 分类 型号 数量 电阻 不同阻值 13 电容 不同容值 8 电线 一捆 集成运放 LM324 3 传感器 BP300T 1 17 unsigned char pressure[75]; }pressa; int a=0,m=0;//两路转换 停止 AD 转换,停止取样 //气压值送缓冲区函数 //显示函数的一部分 //有待于进一步修正 void adc_to_disbuffer(unsigned int adc) { unsigned char i; for(i=0;i<=2;i++) {dis_buff[i]=adc%10; adc/=10; } } //timer 0 比较匹配中断服务 interrupt[TIM0_COMP]void timer0_comp_isr(void) { a++; time_ok=1; m++; if(m=500) m=0; } //adc 转换完成中断服务 interrupt[ADC_INT]void adc_isr(void) { //ad 转换完成中断 //数据采样 unsigned char max_collect[3]={0,0,0}; unsigned char jingya[3]={0,0,0}; unsigned char j=0; if(a%2==0) //AD 转换通道选择 ADMUX=0x60;//PDA 脉搏波 PA0 口 else ADMUX=0x61;//PDB静压波 PA1 口 if(a%2==0) { max_collect[0]=max_collect[1]; max_collect[1]=max_collect[2]; max_collect[2]=ADCH; } else { jingya[0]=jingya[1]; jingya[1]=jingya[2]; jingya[2]=ADCH; 18 } if(max_collect[1]>=max_collect[0]&&max_collect[1]>=max_collect[2]) {pressa.max[j]=max_collect[1]; pressa.pressure[j++]=jingya[1]; } } void display(void) //3 位 LED 数码管动态扫描环境 { PORTD|=0X07; //PD 口位选 PORTB=led_7[dis_buff[posit]]; //PC 口段选 PORTD&=position[posit]; if(++posit>=3) posit=0; } //数据处理 //主函数 void main(void) { // Declare your local variables here unsigned char b,c,d; int bloodpressure[2]={0,0}; unsigned char max; unsigned char k; DDRA=0X00; PORTA=0X00; DDRD=0x07; PORTD=0x07; DDRB=0XFF; PORTB=0x00; //TC/0 初始化 TCCR0=0x0b;// 内部时钟,64 分频(4MHZ/64=62.5KHZ),CTC 模式 TCNT0=0X00; OCR0=0X20; //OCR0=0X7C(124),(124+1)/62.5KHZ=2MS TIMSK=0X02; //使能 T/C0 比较匹配中断 //ADC 初始化 ADMUX=0X60; // 参考电源 AVCC,ADC0 单端输入 SFIOR&=0X1F; SFIOR|=0X60; //选择 T/C0 比较匹配中断为 ADC 触发源 ADCSRA=0XAB;//ADC 允许,自动触发转换,ADC 转换中断允许,ADCclk=125khz #asm("sei") if(a==15000)//AD 转换完成,开始数据处理 //与后面显示函数相对应 { 19 ADCSRA=0x00; max=pressa.max[0]; for(k=0;k<=50;k++) { if(pressa.max[k]>=max) max=pressa.max[k]; else b=k-1; } //收缩压电压 前提气压与电压之间为线性关系 for(k=0;k<=b;k++) {if(pressa.max[k]>=(pressa.max[b]*0.58))//系数待定 c=k; break; } //舒张压电压 for(k=b;k<=50;k++) {if(pressa.max[k]<=(pressa.max[b]*0.77))//系数待定 d=k; break; } //电压转换为血压 bloodpressure[0]=pressa.pressure[c];//*x1;//系数 x1 待定 bloodpressure[1]=pressa.pressure[d];//*x2;//系数 x2 待定 } //数码管显示函数(最后结果) while(1) { if(a>=15000&&m<=250) //数值设置 { adc_to_disbuffer(bloodpressure[0]); if(time_ok) { display(); time_ok=0; } } else { adc_to_disbuffer(bloodpressure[1]); if(time_ok) { display(); time_ok=0; } 20 } } } 附录四组员分工情况和工作情况 组员 主要负责事物 栾义龙 原件购买、硬件电路设计和电路焊接、 袁颖 硬件电路设计和电路焊接、ppt 制作 王展峰 程序编写与调试、系统设计总结 刘鑫 硬件电路设计和电路焊接、网页制作 补充 小组成员之间除各自主要负责事物之外,大家相互合作,共 同参与各个环节的进程,保证项目的顺利完成。 附录五作品实物照片 21
/
本文档为【电子血压计设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索