血压计论文.docx
- 文档编号:26832867
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:24
- 大小:989.72KB
血压计论文.docx
《血压计论文.docx》由会员分享,可在线阅读,更多相关《血压计论文.docx(24页珍藏版)》请在冰豆网上搜索。
血压计论文
医学电子仪器原理与设计
课程设计报告
设计名称:
便携式电子血压计设计
姓名:
邓桂强、刘承承、龙世辉、李荣华
专业年级:
08生物医学工程学院医学信息
2011-6-1
第一部分功能设计
1.1电子血压计的设计目的
当今社会人们迫切希望一套成形的人体生理参数测量系统。
血压是人体的重要生理参数,是人们了解人体生理状况的重要指标。
测量血压的仪器称为血压计,血压计分为水银血压计、弹簧表式血压计、电子血压计三种。
其中电子血压计是一种医用范围十分广泛的医疗设备,它外观轻巧、携带方便、操作简单、显示清晰,对提高人们的生活质量发挥了重要的作用。
我们想通过此设计来达到以下目的:
1.通过设计加深对单片机的认识、了解及掌握,掌握模数转换部分、中断部分以及数码显示部分的应用,能够达到软硬件相结合的程度。
2.加深对硬件电路的了解以及掌握,学会根据系统要求设计电路,学会动手焊接电路。
3.复习相关知识,加深对以往学过的知识点的理解程度(特别是软件编程的能力)。
4.锻炼自己发现问题、分析问题、解决问题的能力,培养团队意识,锻炼分工合作以及协调能力。
1.2电子血压计的主要功能
我们的血压计基于示波法原理,根据课程实验所发传感器US9116-006N实现较准确的压力传感,使用8位单片机ATmege16对信号进行处理,将收缩压和舒张压的值在LED上显示出来。
第二部分系统设计
2.1设计摘要
血压是人体重要的生理参数,准确的测量血压对人体的健康起着十分重要的作用。
我们的血压计基于示波法原理,选用传感器US9116-006N实现压力传感,使用8位单片机ATmege16对信号进行处理,将收缩压和舒张压的值在LED上显示出来。
整套仪器具有易于携带、测量方便的特点。
2.2血压测量原理
临床上血压测量技术一般分为直接法和间接法。
前者的优点是测量值准确,并能连续监测,但它必须将导管置入血管内,是一种有创的测量方法;后者是利用脉管内压力与血液阻断开通时刻所表现的血流变化间的关系,从体表测出相应的压力值。
间接测量又分为听诊法和示波法。
我们采用的是示波法。
示波法的测量原理,与柯氏法类似,采用充气袖套来阻断上臂动脉血流。
由于心搏的血液动力学作用,在气袖压力上将重叠与心搏同步的压力波动,即脉搏波。
当袖套压力远高于收缩压时,脉搏波消失。
随着袖套压力下降,脉搏开始出现。
当袖套压力从高于收缩压降到缩压时,脉搏波会突然增大。
到平均压时振幅达到最大值。
然后又随袖套压力下降而衰减,当小于舒张压后,动脉管壁的舒张期已充分扩张,管壁刚性增强,而波幅维持比较小的水平。
示波法血压测量就是根脉搏波振幅与气袖压力之间的关系来估计血压的。
与脉搏波最大值对应的是平均压,收缩压和舒张压分别对应脉搏波最大振幅的比例来确定。
提取的脉搏波信号如下图,
2.3系统原理框图
我们设计的电子血压计主要由压力传感器US9116-006N,四运放LM324,滤波器,袖带,单片机ATmega16和LED显示器构成的。
这个设计的核心部分是专用压力传感器US9116-006N,信号处理芯片ATmega16前.者将袖带内的压力信号转换成电压信号,后者控制整个电路的工作,利用单片机最小系统中的AD转换
器对采样信号进行处理,把最终的结果通过LED显示出来。
系统设计框图如下:
2.4方案论证
2.4.1单片机选择
采用AVRmage16作为控制中心,mage16具有丰富的资源:
RAM,ROM空间大、指令周期短、运算速度快、低功耗、低电压、可编程音频处理,易于编写和调试等优点。
2.4.2集成运放芯片的选择
LM358LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。
它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。
4
图5但是,我们所设计的放大电路要用到三个运放。
考虑到芯片数量越多,出现的问题越多,我们没有选用此芯片。
LM324LM324是一个含有4个运算放大器的集成芯片,每一个放大器都是差动输入。
工作时,最低电压是3V,最高可达32V,因为它的电压范围比较宽,可以较好的与其他外接电路的电压进行匹配。
引脚图如图5。
我们最后根据我们的需要,选择了此芯片。
2.4.3传感器的选择
压力传感器US9116-006N它是细微加工硅材料而成的传感器,是六脚双列直插式封装的传感器。
它是一种比较理想的元件,不需要补偿,而且具有低滞后性、高可靠性和稳定性。
把感应到的压力信号转换为相应的电压信号,并且是线性对应的。
US9116-006N的主要参数指标为:
300mmHg的压力感受范围;零漂是+20mv;输出电压范围是100+30mv;供电电压为5VDC;环境温度范围为-20℃~+100℃它的外观及引脚图如下:
图6传感器外观图7传感器电路原理
(由于网上找不到所用的传感器类型,故用BP300代替)
2.4.4提供传感器偏置的恒流源如下图,运放LM324同相端为可设定的直流偏置电压,其反相端和输出端提供压力传感器恒流偏置的回路。
回路电流大小可以用R1、R2和R3来调节。
2.4.5一级放大电路设计
方案一:
我们需要提取的信号非常微弱,而传感器和电路中的器件又常会产生噪声,为了提高模拟输入信号的信噪比,增大所需要的信号,可以用放大滤波电路放大输入信号并衰减噪声,提取出某些特定频段的信号。
首先,我们自己根据模电书上的知识,设计了一个放大滤波电路:
电路的有关参数如下:
Au=1+R2/R1.
R2≈100R1;
R4=30R3;
C=0.5uf
经过实际实验,我们发现此电路对我们的信号几乎没有作用,我们放弃了此电路。
方案二:
在我们的测量系统中,被测物理量通过传感器转换为电信号,传感器所获得的信号常为差模小信号,并含有较大共模部分,其数值远远大于差模信号。
因此要求放大电路具有较强的抑制共模信号的能力。
我们采用了仪表放大器中的放大电路,即一个三运放放大电路,电路图如下:
差分放大单端输出
图10三运放放大电路
差分放大后其输出电压为:
Vout=-R6/R5(V+-V-)这种电路的优点在于:
a,高共模抑制比;b,三运放结构;c,双端差分输入,单端输出;经过实验的调试,得到了我们预想的放大倍数。
2.4.6滤波电路的设计从传感器输出地信号实际是袖内压力信号与脉搏波信号的叠加。
实际上,我们需要对这两种信号进行分离。
而且,还要除去信号中的杂波。
因此,需要滤波。
因为脉搏的的频率较低,大约在0.1—30Hz左右,因此了我们制定了四种方案并分别进行了测试,最终选择了方案D。
方案A:
采用无源一阶低通滤波器。
电路图如下:
图10一阶低通滤波电路参数设置:
f0=1\2πRC电路特点在于电路设计简单,易于实现,但是阻带衰减太慢选择性差
方案B:
采用压控电压源二阶带通滤波器。
电路图如下:
电路的参数如下:
Auf=1+Rf\ReC1=C2R1=R2=RRf\R=1
我们首次应用该方案,基于其可以将低于0.1Hz和高于30Hz频率波滤掉,进而得到我们想要的波频范围,但是得出的结果并不理想,由于下限频率很低,设置为0.4Hz,上限频率经计算可得到为1Hz,通频带太窄,波形幅度很小几乎等同于直线,经过多次试验而不能得到理想的实验结果,我们只能放弃方案B方案C:
有低通滤波器和高通滤波器级联组成的带通滤波器,电路图如下:
无限增益低通滤波器
无限增益高通滤波器
电路特点:
将低通滤波器和高通滤波器级联而成的带通滤波器通频带较压控电压源二阶带通滤波电路要为理想,但是焊接较为复杂,且需要两个运放。
方案D:
无限增益多路反馈二阶低通滤波,电路如图11
图11无限增益多路反馈二阶低通滤波电路
电路参数设置:
Aup=-Rf\R1R1=R2=RRf=R3
C1=0.47uf,C2=0.15uf
在此二阶电路前,我们串联了一个容值为2uf电容使静压信号得以滤掉,保证ui输入为脉搏波信号。
计算得电路频率范围在10Hz以下,经过试验发现电路允许通过的频率与计算值相符,并且在示波器上显示的波形非常理想,符合所需要的幅值,故而选择本方案作为我们的滤波电路.
2.4.7二级放大电路的设计由于脉搏信号很弱,经过一次放大后,还达不到我们的要求,因此,经过隔直和滤波后,我们还需要对脉搏信号再次放大。
由于脉搏信号只是一个低频率的交流信号,我们采用了下面一个放大倍数可调的放大电路,电路如下:
其增益为:
A=-R1/Rn
图12二级放大电路
2.4.8显示模块
方案一:
LCD显示LCD是做显示器很好的选择,尤其是要显示字母等。
但价格比较贵。
方案二:
LED显示LED在整个学习与设计过程中是最常见的。
因为我们要
显示的内容只是数字,所以选择价格比较便宜的LED。
其引脚连接如下图:
2.4.9复位电路设计
本设计使用外部复位,在键RESET的外部设置一个按键电路,目的是当按下复位按键后,低电平的持续时间(1.5uS)时,使得CPU复位。
具体过程是:
按键没按下时,RESET为高电平,不产生复位效果;按键按下时,电容通过一个闭合回路迅速放电,使得RESET为低电平,由于按键按下和弹起的时间远大于1.5uS,因此可以达到外部复位的目的。
2.4.10单片机部分引脚电路设计
PA0:
3V稳压管的作用是将外界干扰信号中高于3V的信号稳压在3V,避免损坏引脚或内部电路;0.01uF电容的作用是滤掉高频干扰。
本设计采用的是内部参考电压(2.56V),故AREF脚接上一个0.1uF的电容,这样可以提高电源稳定性。
AVCC通过一个低通滤波器和电源VCC连接,AGND与电压信号地连接。
2.4.11晶振触发电路
2.5完整电路原理图
本仪器中AVR单片机(ATMega16)的作用主要是AD转换,并将采样结果进行处理,最后输出显示数据。
其中电机驱动我们直接手动操作袖套充气,完整图如下图:
2.6软件设计
软件方面,主要利用AVR单片机ATmega16的AD转换功能,实现边采集数据
边储存有用数据,最后利用算法实现信号处理
AVR
单片机外围电路
PA0和PA1口作为模拟信号的输入端,负责接收静压信号和脉搏信号。
在外界袖带气压逐渐下降的过程中,间歇循环对PA0(静压信号转换通道)和PA1(脉搏波信号通道)进行AD转换,把模拟信号转换为数字信号。
在AD转换完成中断中,对脉搏波AD转换的结果进行判断,若此时所采集的值为脉搏信号的极大值,则存到所定义的结果体数组变量中;同时把所对应的静压信号转换结果存储到结构体数组中。
由于Mega16不能同时对两路信号进行AD转换,两路信号不可能完全对应,这里是出现误差的主要原因。
我们采用的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对应的静压值取出来转换成气压值,最后通过七段数码管循环显示出收缩压与舒张压。
具体流程图如下:
开始
参量、函数的定义及端口的初始化
袖带充气停止之后,上电,开始放气,AD转换开始
第三部分、系统测试及结论
3.1波形显示
经过滤波电路后,我们可以在示波器上得到了较好的波形。
根据示波器上波形的跳动,可以判断,得到的脉搏信号为一个包络线,静压信号也是在加压后线性减小。
观察时注意每次跳动的信号幅值。
开始时为加压时情况,然后信号幅值很小,说明信号很弱,后来,信号增大,并且在一瞬间有一个最大值,接着再次
减弱。
在一分钟左右减为零。
因为传感器很敏感,一分钟后的信号是无用信号,是我们在测量结束后摘袖带时引起的变化O
3.2结论成功作出实物,初步得到波形,能够体现出电子血压计应有的功能和作用,但是还有好多细节的东西不是很完善。
需要更进一步的改进。
第四部分、小结与感想
通过差不多半个月的学习,许多的感受,都无法用语言来描述。
在这过程中,我们经历了许多的困难。
就像我们所有的方案例证,尤其是放大滤波电路部分,都是经过我们亲身实践的。
所有的电路,我们都是尝试过的。
每一个方案,在焊接的时候,我们都会满怀希望,可是得到的结果通常都会让我们陷入失望的低谷。
每一次的失败都是对我们思路的一次否定,都会增加我们的迷茫和压力,也让我们感觉寸步难行,但是也留给我们一个新的起点,新的机会。
虽然困难重重,但我们唯一没有做的就是放弃。
我们坚信,经过不断地尝试,我们终究会成功的。
经过无数次的失败,经过无数次重来,最后我们终于做出了看似微乎其微的成果,可只有我们自己知道,这个半个月来,我付出了多少,收获了多少!
以几乎没有自习的时间换取了最后电路的完成在别人眼里可能是一种时间的浪费,我们也曾这样想过,可是,想想这么些时日来的经历和收获,我们还是充满了自豪感。
通过此课程设计,我们认识到了书本知识的重要性,但也认识到了这些知识的局限性。
对于具体问题,以书本知识为前提,要根据实际情况进行改进。
书上的理论是正确的,但要应用到实际,还要有丰富经验的支持。
我们不仅学习到了很多实用的知识,而且加强了同学间的交流,培养了合作精神。
在整个课程设计过程中,我们得到了许多老师以及同学的指导和帮助,在此,我们提出感谢,希望老师、同学以及所有的实验室能给更多的同学提供求知的机会。
第五部分、附录
附录一参考文献
[1]马潮.AVR单片机嵌入式系统原理与应用实践.北京:
北京航空航天大学出版社.
[2]童诗白,华成英.《模拟电子技术基础》.北京:
高等教育出版社.
[3]李茂奎、张兴成、付运旭等。
单片机原理及接口技术实验讲义.山东:
山东大学出版社
[4]鹏桂力,刘知贵,《基于AVR单片机的血压、脉搏装置设计》.计算机工程.附录二元器件明细表
分类
型号
数量
电阻
不同阻值
若干
电容
不同容值
若干
电线
小型
一捆
集成运放
LM324
3
74LS138
1
ATmega16
1
传感器
9116-006
1
附录三部分专用程序清单
#include
//全局变量
flashunsignedcharled_7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
flashunsignedcharposition[3]={0x01,0x02,0x04};
unsignedchardis_buff[3]={0,0,0},posit;
bittime_ok;
structpress
{unsignedcharmax[75];//假设持续时间10S,采样频率0.5次/ms,采出50个数
unsignedcharpressure[75];
}pressa;
inta=0,m=0;//两路转换停止AD转换,停止取样
//气压值送缓冲区函数
voidadc_to_disbuffer(unsignedintadc)
{
unsignedchari;
for(i=0;i<=2;i++)
{dis_buff[i]=adc%10;
adc/=10;
}
}
//timer0比较匹配中断服务
interrupt[TIM0_COMP]voidtimer0_comp_isr(void)
{
a++;
time_ok=1;
m++;
if(m=500)m=0;
}
//adc转换完成中断服务
interrupt[ADC_INT]voidadc_isr(void)
{
//ad转换完成中断
//数据采样
unsignedcharmax_collect[3]={0,0,0};
unsignedcharjingya[3]={0,0,0};
unsignedcharj=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;
}if(max_collect[1]>=max_collect[0]&&max_collect[1]>=max_collect[2]){pressa.max[j]=max_collect[1];
pressa.pressure[j++]=jingya[1];
}
}
voiddisplay(void)//3位LED数码管动态扫描环境
{
PORTD|=0X07;//PD口位选
PORTB=led_7[dis_buff[posit]];//PC口段选PORTD&=position[posit];
if(++posit>=3)posit=0;
}
//数据处理
//主函数
voidmain(void)
{
//Declareyourlocalvariableshereunsignedcharb,c,d;
intbloodpressure[2]={0,0};
unsignedcharmax;
unsignedchark;
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,ADC单0端输入
SFIOR&=0X1F;
SFIOR|=0X60;//选择T/C0比较匹配中断为ADC触发源
ADCSRA=0XAB;//AD允C许,自动触发转换,ADC转换中断允许,ADCclk=125khz#asm("sei")if(a==15000)//AD转换完成,开始数据处理//与后面显示函数相对应{
ADCSRA=0x00;
max=pressa.max[0];for(k=0;k<=50;k++)
{if(pressa.max[k]>=max)max=pressa.max[k];elseb=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;
}
}
}
}
附录四组员分工情况和工作情况
组员
主要负责事物
邓桂强
元件购买、硬件电路设计、系统设计总结报告和电路焊接
刘承承
硬件电路设计、电路焊接和PPT制作
李荣华
程序编写与调试、元件找寻
龙世辉
硬件电路设计和电路焊接、论文
补充
成员间除了主要负责的分工之外,大家相互合作,共同参与各个环节的进程,保证项目的顺利完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 血压计 论文