基于LabVIEW的脉搏检测系统设计毕业论文.docx
- 文档编号:6967787
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:29
- 大小:744.47KB
基于LabVIEW的脉搏检测系统设计毕业论文.docx
《基于LabVIEW的脉搏检测系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的脉搏检测系统设计毕业论文.docx(29页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的脉搏检测系统设计毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
摘要
本课题以STC15单片机作为控制系统核心的心率测量仪的设计,先采用红外对管实现对脉搏信号的采集,再使用LM328作为运放设计调理电路实现对采集信号的处理,经处理的信号送入单片机进行A/D采样以及算法处理,最后在液晶屏上实现脉搏波形以及脉率的显示。
除此之外,还采用LabVIEW设计上位机实现与MCU通信。
基本实现了对人体脉搏的测量,以及对脉搏波形的实时监控。
本设计测量脉率方法简单,测试结果精确,显示界面整齐大方,具有比较好的发展前景。
关键词:
脉搏检测系统,STC15W408AS,红外光电传感器,串口,LabVIEW
Designofpulseratedetectionsystem
BasedonLabVIEW
MeasurementandControlTechnologyandInstrument,Measuring2014classWeiCaiLian
SupervisorGanYong-jing
Abstract
ThistopictoSTC15single-chipmicrocomputerascorecontrolsystemoftheheartratemeterdesign,byusinginfraredtubetopulsesignal,theamplificationfiltercircuitforfilterandamplificationprocessing,thepulsesignalsusingLM328asop-ampdesigncontrolcircuittorealizethecollectionofsignalprocessing,theprocessingofsignalintotheMCUA/Dsamplingandprocessingalgorithm,thefinalrealizationofpulsewaveformontheLCDpanelandpulsefrequencydisplay.Inaddition,LabVIEWisusedtodesigntheuppermachinetocommunicatewithMCU.Themeasurementofhumanpulseandthereal-timemonitoringofpulsewaveformarerealized.Thedesignmeasuringpulseratemethodissimple,thetestresultisaccurate,thedisplayinterfaceisfriendly,hastherelativelygooddevelopmentprospect.
Keywords:
Pulsedetectionsystem,STC15W408AS,infraredemissionreceivingsensor,serialport,LabVIEW
目录1引言
1.1脉搏的研究背景
每分钟脉搏跳动次数这一物理量在生产加工,人们日常生活的各个方面都是一个最基本也是非常重要的一个物理量,在很多应用条件下,需要对脉搏跳动这个量进行检测和监控。
近几年来,伴随现代科学技术的不断进步,对现代设备的精度的要求也越来越高,信息技术领域的前沿尖端技术包括传感器技术,通讯技术以及计算机技术。
我们可以通过脉搏跳动的情况了解到心脏的情况,以得知身体的健康状况。
然而诊断看病是个不容易的工作,诊脉的方法不容易被人掌握。
1.2选题意义
由心脏搏动而引起的脉搏,我们可以根据这个线索去找反映身体的重要标志。
针对脉搏的跳动,我们都知道在中医上有一种非常重要的诊断方式,那就是诊脉。
中医的医生一直是用手来号脉,进而得到脉搏的信息。
通过手号脉是一种很难掌握的技巧,因此人们十分的迫切有一种仪器可以快速准确的得到脉搏跳动的次数这个信息。
作为工业管制系统中必不可少的组成部分,实时数据采集,是进行工业分析,进行工业处理以及控制的根据。
将单片机采集到的脉搏每分钟跳动次数数据通过窗口传输给上位机,达到了进行了实时远程监控,以保证平常医疗安全检测。
2系统设计方案
2.1实现的要求和功能
(1)运用光电传感器原理采集到人体的指尖输出的脉搏信号,通过A/D转换、MCU处理及设计的算法得到脉率;
(2)通过上位机(LabVIEW)及液晶屏实时显示波形及脉率值,实现人体脉率的现场及远程实时监测;
(3)采集到的波形完好干净,噪声小;
(4)测量结果误差范围在6%以内;
(5)上位机界面友好,人性化,便于专业人士分析观察;
(6)价格合理,性价比较高。
2.2采集主控芯片方案
方案一:
利用STC15W408AS单片机完成对各个模块进行控制。
方案二:
利用单片机STC89C51作为控制部分。
方案论证:
方案一中STC15W408AS单片机是STC生产的单时钟/机器周期(1T)的单片机,是高速/高可靠、低功耗、超强抗干扰,8路高速10位A/D转换。
方案二中STC89C51单片机虽然简单易懂,但功耗较大,数据传输速率低,要实现较复杂的控制功能还存在一定的难度。
综上所述,本设计采用方案一,用STC15W408AS作为芯片控制部分。
系统所采用的STC15W408AS是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
MAX810有很多内部集成专用复位电路,2路的PWM,8路非常高速10位A/D转换,针对电动、智能控制,滤波掉很多干扰场合。
STC15W408AS还带有丰富多样和功能灵活齐全的片内外设,为用户提供了丰富的选择空间,同时,也为设计人员们的设计、创新及创造提供了更大的空间。
2.3脉搏传感器的选择
测量脉搏跳动,传统的测量方法主要是两种:
一是利用压力传感器测量血液中压力的变化进而计算脉搏的跳动,二是光电容积法。
目前,由于第二种方式测量的准确性和便利性,是应用最为普遍的监测测量方案之一。
光电容积法的基本理论是,由于血管正常的搏动时,会导致人体组织不同的透光率,就是利用这种不同,来达到测量的目的。
光源与光电变化器这两个部分组成了这种传感器,一般贴着人的手指或者耳垂。
光源利用的是波长为500nm~700nm范围的发光二极管,该波长范围的光,对动脉中氧和血红蛋白具有选择吸收的特性。
当一束光照射人体表皮血管时,由于动脉的搏动会改变血液容积的变化,这种变化会导致这束光的透光率发生改变。
人体组织反射出来的光线经由光电变换器接收,转变为电信号,再将这个电信号输出。
由于心脏是周期性搏动的,动脉中的血管容积也会跟着周期性变化。
因此有光电变化得到的电信号也会跟着周期性变化。
它们的变化基本上都可以看成是同步的。
这样通过电信号周期性的变化,我们就可以得到脉搏跳动的信息,进而的到心率这一指标。
目前市场上常用的光电容积脉搏探测器主要分为两大类:
透射式光电容积探测器与反射式光电容积探测器。
它们的结构如图2.1所示。
图2.1反射式与透射式比较
Fig2.1Comparisonofreflectionandtransmission
(1)反射式是靠血液与组织反射的光强来间接测量脉搏信号,探测的范围更广,不会受制于探测未知的厚度,但是它提取的信号要比透射式更加微弱,对调理电路要求更高。
(2)透射式是针对身体一些比较薄弱的部位设计的,比如说手指或者是耳朵,探测器一侧发出的近红外光能够穿透血液和组织被另一侧的光电探测器所接收,这样就能再现脉搏信号。
由上述克制,透射式红外光电传感器能很好地与本设计契合,故将其运用到本设计当中。
当手指侧方在红外对管中间的时候,心脏的跳动,引起血管中的血流量的变化,红外发光二极管产生的红外线照射在放在光传递路径中的手指上,经过手指非血液组织的衰减和反射,由对面的红外接收二极管来接受期透射光,并把透射过来的不同光照强度转换成脉冲,继而进行放大、滤波后传送到单片机的外部计数口,最后单片机对该输入的信号脉冲进行计算处理,即可实时的测出脉搏次数。
脉搏信号的检测提取、滤波放大,然后传到单片机工作的过程如下图2.2所示。
图2.2信号检测处理工作流程图
Fig2.2Flowchartofsignaldetectionandprocessing
2.4上位机实现方案
上位机和单片机实现是通过串口来实现的。
单片机自带串口,实现起来非常方便。
在本设计中,通信协议采用自定义的。
上位机的实现方案有很多种,目前主流的面向对象编程软件有VisualBasic.NET、C#、Java、LabVIEW等。
本设计中的上位机实现采取了LabVIEW。
LabVIEW属于虚拟仪器,它是NI公司开发的的一款不同于以往的图形化编程软件,通过它可以实现数据的采集以及仪器的控制、数据分析和数据表达。
它能方便用户在普通计算机上构建自己需要的仪器系统,通过它与外部的数据采集的硬件加以组合就能很方便的设计出所需要的虚拟仪器。
与传统的仪器相比,它使用起来灵活多变,不受生产厂家的限制,所以其应用领域非常广,有很大的应用前景。
LabVIEW有许多传统程序设计方法不能比的优势,作为开发者并不像以往即要考虑用户界面、数据表达、数据同步等复杂的问题还要考虑程序流程方面的问题。
在LabVIEW中有许多基本的VI库。
使用者只要把各个逻辑框连接起来即可构成程序。
LabVIEW图形编程简单明了,相应的设备驱动也很多,同时还配置有很多的分析模块和表达模块,对于相对比较简单的编程任务,采用单一的VI即可以胜任,对于比较复杂的测试任务,我们可以按照模块化的设计理念,把一项项复杂的测试任务变成一系列的子任务。
3硬件电路设计
3.1系统总框架
设计以STC15W408AS单片机为处理控制核心,通过51单片机的ADC功能,本设计主要包括STC15最小系统、LCD12864显示模块、信号采集电路、放大电路、比较电路、液晶显示电路。
与单片机进行数据传输,从而实现了将脉搏传感器采集上来的数据传输到LabVIEW上位机上,显示被测者心率值和波形。
系统的总框架如图3.1所示。
图3.1系统总框架
Fig3.1Overallframeworkofthesystem
3.2单片机模块
3.2.1主芯片STC15W408AS介绍
(1)STC15W408AS单片机引脚分布如图3.2所示。
图3.2STC15W408AS引脚图
Fig3.2STC15W408ASpindrawing
(2)下面将对STC15W408AS芯片部分引脚的功能及特性进行说明:
1)RST:
表示异步复位引脚。
当RST为低电平状态时,MCU为复位状态,重设内部寄存器,及片内SRAM;当RST从低电平变为高电平的时候,PC指针从0地址开始。
STM15中的RST具有施密特功能,在输入电压不达1.9V时芯片会自动复位。
2)SCK、SDA、RS、CS:
连接对应的液晶显示屏的接口,SCK是I2C的时钟控制线,SDA是I2C的数据传输线,RS为RD是读数据的控制信号。
3)P1.0/ADC0:
ADC的输入通道经过调理电路放大后的脉搏信号,其峰峰值已能达到0.5V左右,而STC15W408AS系列单片机片内集成有有12位转换精度的ADC模块,最小分辨率为
能满足其对精度的需要,其采样频率最高可达200ksps,而信号的频率只有0~10Hz,所以采样频率也能完全符合要求。
并且采用片内集成的ADC12还可以节约开发的成本,增强系统的稳定性、
4)P3.3/INT1:
外部中断1,既可以上升沿中断也可以下降沿中断,如果INT1管脚仅为下降沿中断。
如果INT1被清0,INT1管脚既支持上升沿支持下降沿中断。
作为输出信号接口。
5)TXD和RXD:
分别为串口发送和接受引脚。
3.2.2单片机最小系统模块
单片机最小系统指的是单片机的最小应用系统,是用最少的元器件组成的单片机可以正常工作的系统,由单片机、电源电路、复位电路组成。
3.2.3电源电路
本设计需要5V电源供电,调理电路中的LM324、LCD显示、单片机供电以及红外发射传感器都需要5V供电。
需要5V供电,并且由于脉搏信号的微弱,很容易受到电源纹波的干扰,所以为了保证能采集到比较干净的脉搏信号,电源的设计也非常的重要。
在这里选择了一款低功耗的电压转换器,它是一种低功耗、正电压转换器,其输出电流可达800mA。
该芯片非常适用于电池供电场合。
在稳压芯片的两端都加入了一个100NF的极性电容用来滤掉电源中的低频信号,也都加入了一个10uF的非极性电容用来滤掉电路中可能出现的高频信号。
这样的设计能一定程度上减少电源纹波的干扰,为提取可靠的脉搏信号提供了保证。
如图3.3所示。
图3.3电源电路
Fig3.3Powercircuit
3.2.4复位电路
单片机复位是指将整个系统初始化,以便系统回到原始状态重新运行。
复位的条件为,在RST引脚输入连续两个周期以上的高电平,然后单片机就开始执行复位操作。
本设计中采用的是按键复位,复位电路所接的引脚为单片机的RST引脚。
本设计复位电路原理图如图3.4所示。
图3.4复位电路
Fig3.4Resetcircuit
3.3脉搏信号的采集
信号采集电路如下图3.5所示。
D1,D2分别为红外发射二极管和红外接收二极管,D1和D2组成红外传感器。
VCC为电源输入。
当手指插入手指插入红外对管之间,心脏收缩时,即脉搏跳的瞬间,指尖血液流过时,红外光透过率降低,R3流过的电流小;当心脏舒张时,血液回流,即脉搏不跳的瞬间,指尖血液含量少,透过率相对高,R3流过的电流变大。
综上,电流的大小随着手指脉搏跳动变化而变化,从而脉搏输出信号会收到一高一低的电压信号,电压幅度为mv级。
图3.5信号采集电路
Fig3.5Signalacquisitioncircuit
3.4脉搏信号的处理
3.4.1低通滤波放大电路
因为由于传感器直接采集到的脉搏信号是非常微弱的,不能直接让单片机进行分析,所以要先经过信号放大和滤波,把信号放大到V的数量级。
因为脉搏信号的频率比较低,所以这里选用低通滤波电路对信号处理。
如图3.6所示,电路是有由RC滤波电路加上同相比例运算电路组成,电解电容C4是用来隔直流,C4和R4构成RC滤波。
信号输入时要经过R4和C4共用组成低通滤波电路,目的是将输入的信号进行频率截止和清除干扰,以提高测量数据的精确度。
而LM358的作用就是将滤波后得到的微弱信号进行放大,以便于被单片机采集到,放大倍数则按照单片机采集信号的标准通过R5和R6的阻值比例来调节。
可以通过调节电位器来改变电压的放大倍数,电压最小放大倍数为:
(3.1)
截止频率为:
(3.2)
假设已较高的心率200次/min来计算,频率为3.33Hz左右,所以滤波特性还可以。
图3.6信号放大电路
Fig3.6Signalamplifiercircuit
3.4.2电压比较器
经过滤波和放大信号仍然属于模拟信号,现在要把这个信号送到电压比较器,将模拟信号转变成高电平或低电平两种状态的数字信号。
图3.7是电压比较器。
这是一个单限比较器,同相输入端射极跟随器正向输入是接上图的一级放的输出的,所以这里叫做二级,二级的射极跟随器是为了能够带负载能力强和输出稳定。
三级也就是比较器为了能够输出整形后的脉搏方波,输出接一个LED灯,能直观显示脉搏跳动,来一次高电平灯就亮一次。
其中4口是经过整形后方波输出端口,10K电位器是用来调节门限电压。
图3.7信号比较电路
Fig3.7Signalcomparisoncircuit
3.4.3运算放大器LM358
信号处理中使用的运放是LM358.LM358内部含有有两个独立的、高增益、内部频率补偿的双运放。
它既可以在单电源的模式下工作,也适用于双电源的工作模式。
图3.8为LM358的引脚图。
其中OUT1和OUT2分别为两个运放的信号输出端口;VCC接电源电压,GND接地;IN1(+)、IN2(-)、IN2(-)分别为两个运放同相输入端和反相输出端。
当输入1(+)大于输入1(-),输入2(+)大于2(-)是,输入1和输出2输出高电平;
当输入1(+)小于输入1(-),输入2(+)小于2(-)是,输入1和输出2输出低电平;
图3.8LM358的引脚结构
Fig3.8LM358pinstructure
3.5液晶显示模块
经过ADC转换的数字信号需要液晶屏显示出来,由于需要显示脉搏的波形所以要选择一款分辨率相对比较高的液晶屏,除此之外,液晶屏必须要具有低功耗,体积小这样才能便携式携带。
所以最后选择了性价比较高的LCD12864显示屏,它原来是是诺基亚手机的显示屏,后来由于其具有速度快、3.3V驱动、接口简单等优点被设计师看中,取代传统最常用的1602显示屏。
液晶显示屏的使用引脚只有十二个,其实除去电源、背光引脚之外只需要五个引脚连接单片机的I/O口,所以非常方便。
为了使液晶屏的电源以及背光都能被单片机灵活控制,在这里选择除了GND外其它5个引脚都由单片机的I/O口控制。
分别接在P1.3到P1.7七个I/O口中。
具体引脚如图3.10所示:
图3.10LCD1602显示模块原理图
Fig3.9LCD1602displaymoduleschematicdiagram
3.6USB串口通信模块
本设计选USB串口来进行单片机和LabVIEW上位机的通信,USB传输时使用的是差分信号,采用USB通信方式时还需要实现USB通信协议。
单片机串口可以实现TTL,不能直接用于USB通信,而且USB协议很复杂,不容易用单片机实现。
所以我们可将单片机串口输出的电平通过CH340G转接芯片装换成上位机USB接口可以识别的差分信号和实现USB通信协议之后,就将数据传送至上位机。
TXD与单片机的P3.1引脚相接通,RXD与P3.2引脚相接通。
目前市场上的多数与上位机通信产品大都是采用串口通信。
该项目采用后发现其非常简单可行,对于相关的使用上位机的仪器设备有一定的借鉴意义。
4系统软件设计
4.1测量计算原理
在单片机中,主要运用测量的计算,这个测量的原理是,在t秒时间内,有连续的K个脉搏跳动,则在t时间内,脉搏跳动频率的平均值n(次/min)为:
n=60K/t(4-1)
我们通过使用脉动信号去控制单片机上的定时器T0,中断计数使用的是工作寄存器,假定该值为N,于是得到:
t=0.001N(4-2)
由前面两个式子可以得到:
n=60K/t=60K/0.001n=60000K/N(4-3)
上式的数据模型,就是使用单片机计算脉动跳动频率的公式原型。
4.2主程序流程介绍
在程序设计时,一般采用模块化的设计模式,这样的设计可以使得每个模块都相对独立,互不影响。
因为模块化的程序是将程序分成多个小模块来设计,使得设计思路更加清晰,所以可读性更高。
也可以分解单个模块依次进行设计或调试,管理起来也更方便。
主程序流程图如4.1图所示。
图4.1主程序设计
Fig4.1Mainprogramdesign
4.3显示程序流程
显示程序将单片机计算出来的心率和AD转化的波形显示在液晶显示屏上。
如图设计中关键的是定时10ms,是为采样2次脉搏建立基础。
本设计是用定时器T1定时来实现10ms定时,等待每10ms定时的,等待每10ms检测时间t,程序中是用XinTiao_Jishu表示,那么就可以由公式n=6000/t来算出每分钟脉搏数,这里是2次脉搏就显示脉搏数,所以t是M为2的时候的时间,也就是T0计数器对两个脉冲时间的计数,计算结果最后转换成十进制,送到液晶进行显示。
图4.2显示程序流程
Fig4.2Displayprogramflow
4.4ADC采用程序流程介绍
(1)ADC初始化。
1)P1端口设置成ADC功能
2)ADC存放的10bit数字信号,清零
3)禁止ADC中断
(2)ADC转换
1)ADC上电,确定转换速率和通道,启动转换
2)延时
3)等待转换完毕,否则一直等待
4)清标志位
(3)读取10bit的转换值。
/*----------------------------
读取ADC结果
----------------------------*/
BYTEGetADCResult(BYTEch)
{
ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch|ADC_START;
_nop_();//等待4个NOP
_nop_();
_nop_();
_nop_();
while(!
(ADC_CONTR&ADC_FLAG));//等待ADC转换完成
ADC_CONTR&=~ADC_FLAG;//CloseADC
returnADC_RES;//返回ADC结果
}
/*----------------------------
初始化ADC
----------------------------*/
voidInitADC()
{
P1ASF=0x01;//设置P1口为AD口
ADC_RES=0;//清除结果寄存器
ADC_CONTR=ADC_POWER|ADC_SPEEDLL;
Delay1
(2);//ADC上电并延时
4.5LabVIEW上位机程序设计
本设计中下位机和上位机需要通过RS232串口进行通信。
单片机使用串口协议发送数据,需要设置相应的串口工作方式和波特率,本设计采用了串口工作方式1,波特率设定为9600bps。
设定定时器1工作于8位自动重载模式,用于产生9600bps的波特率。
下位机主程序如图4.3所示。
图4.3上位机程序的流程框图
Figure4.3flowblockdiagramforLabVIEWprogram
4.5.1LaBVTEW串口通信配置
本设计选用RS232串口通信来进行上位机和下位机之间数据传输,下位机设定的定时器波特率为9600bps。
LabVIEW提供VISA(virtualinstrumentsoftwarearchitecture)驱动和函数接口,可以方便的实现串口仪器设备的控制。
VISA是VXIplug&play联盟制定的I/O接口软件标准及其规范的总称,包含用于仪器编程的标准I/O函数库,由于其独立于硬件设备、操作系统、总线和编程环境,使开发人员可以用同一API(applicationprogramminginterface)控制GPIB、串口、USB、以太网、PXI或VXI仪器。
运用VISA进行串口通信的基本流程为,首先调用VISAConfigureSerialPortVI进行串口配置,VISAResourceName、BaudrateDataBits和Parity分别用来配置串口号、波特率、数据位和奇偶校验位。
然后在While循环中通过VISAWriteVI和VISAReadVI分别从串口输入和输出数据,实现数据交换。
最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 脉搏 检测 系统 设计 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)