基于LabVIEW的脉搏检测系统设计(源码+万字报告+部署)

目录
1 引言 1
1.1 脉搏的研究背景 1
1.2 选题意义 1
2 系统设计方案 1
2.1 实现的要求和功能 1
2.2 采集主控芯片方案 2
2.3 脉搏传感器的选择 2
2.4 上位机实现方案 4
3 硬件电路设计 4
3.1 系统总框架 4
3.2 单片机模块 5
3.2.1主芯片STC15W408AS介绍 5
3.2.2 单片机最小系统模块 6
3.2.3电源电路 6
3.2.4复位电路 7
3.3 脉搏信号的采集 7
3.4 脉搏信号的处理 8
3.4.1低通滤波放大电路 8
3.4.2 电压比较器 9
3.4.3 运算放大器LM358 10
3.5 液晶显示模块 11
3.6 USB串口通信模块 11
4 系统软件设计 12
4.1测量计算原理 12
4.2主程序流程介绍 12
4.3显示程序流程 13
4.4 ADC 采用程序流程介绍 14
4.5 LabVIEW上位机程序设计 15
4.5.1 LaBVTEW串口通信配置 16
4.5.2 LabVIEW 脉搏波形显示以及脉率计算 17
5 系统测试与结果分析 19
5.1测试方法和仪器 19
6 误差分析与修正 22
总结 23
致谢 24
参考文献 25
附录 26
附录A硬件原理图 26
附录B PCB图 27
附录C 硬件外观图 28
附录D LabVIEW程序及前面板: 29
附录F 部分程序 30

1 引言
1.1脉搏的研究背景
每分钟脉搏跳动次数这一物理量在生产加工,人们日常生活的各个方面都是一个最基本也是非常重要的一个物理量,在很多应用条件下,需要对脉搏跳动这个量进行检测和监控。近几年来,伴随现代科学技术的不断进步,对现代设备的精度的要求也越来越高,信息技术领域的前沿尖端技术包括了传感器技术,通讯技术、以及计算机技术。在了解人体脉搏跳动的状况之后,便能够推断出心脏的状况,进而了解到我们身体的健康水平。但是,对于诊断看病来讲,此项工作存在着一定的难度,因此掌握诊脉方式是相对困难的。
1.2 选题意义
由心脏搏动而引起的脉搏,我们可以根据这个线索去找反映身体的重要标志。针对脉搏的跳动,我们都知道在中医上有一种非常重要的诊断方式,那就是诊脉。中医的医生一直是用手来号脉,进而得到脉搏的信息。通过手号脉是一种很难掌握的技巧,因此人们十分的迫切有一种仪器可以快速准确的得到脉搏跳动的次数这个信息。
作为工业管制系统中必不可少的组成部分,实时数据采集,是进行工业分析,进行工业处理以及控制的根据。将单片机采集到的脉搏每分钟跳动次数数据通过窗口传输给上位机,达到了进行了实时远程监控,以保证平常医疗安全检测。
2 系统设计方案
2.1 实现的要求和功能
(1)运用光电传感器原理采集到人体的指尖输出的脉搏信号,通过A/D转换、MCU处理及设计的算法得到脉率;
(2)通过上位机(LabVIEW)及液晶屏实时显示波形及脉率值,实现人体脉率的现场及远程实时监测;
(3)所采集的波形具有噪声低以及完整干净的特征;
(4)应当将测量结果的误差范围控制在6%以下;
(5)上位机的富有人性化,以方便专业人士进行分析以及观察;
(6)价格合理,性价比较高。
2.2 采集主控芯片方案
方案一:利用STC15W408AS单片机完成对各个模块进行控制。
方案二:利用单片机STC89C51作为控制部分。
方案论证:对于方案一所运用到的单片机来讲,其是由STC公司所制造的单时钟/机器周期(1T)单片机,其具有抗干扰能力超强、功耗低、可靠性高、以及高速等特点,8路高速10位A/D转换。方案二中STC89C51单片机虽然简单易懂,但功耗相对较大,数据传输的速率比较低,要实现较复杂的控制功能还存在一定的难度。综合以上所述,本设计采用方案一,用STC15W408AS作为芯片控制部分。
对于系统所采用的STC15W408AS来讲,其是由STC公司所制造的单时钟/机器周期(1T)单片机,其具有抗干扰能力超强、功耗低、以及高速等特征,其指令代码与传统的8051完全兼容。MAX810存在着数量众多的内部集成专用复位电路,2路PWM,8路高速10位A/D转换。
此外,STC15W408AS还带有丰富多样以及功能灵活齐全的片内外设,为用户提供了丰富的选择空间,同时,也为设计人员们的设计、创新、以及创造提供了更大的空间。
2.3 脉搏传感器的选择
对于脉搏跳动的测量来讲,主要存在着两种传统的测量方式:其一,利用压力传感器测量血液中压力的变化进而计算出脉搏的跳动;其二,光电容积法。目前,由于第二种方式测量的准确性以及便利性,是应用最为普遍的监测测量方案之一。
光电容积法的基本理论是,由于血管正常的搏动时,会导致人体组织不同的透光率,就是利用这种不同,来达到测量的目的。光源与光电变化器这两个部分组成了这种传感器,一般贴着人的耳垂或是手指。光源所运用到的发光二极管的波长范围在五百纳米至七百纳米之间,该波长范围的光,对动脉中氧和血红蛋白具有选择吸收的特性。当一束光照射人体表皮血管时,由于动脉的搏动会改变血液容积的变化,这种变化会造成此束光的透光率产生一定的变化。光线经由人体组织反射之后被光电变换器所接收,进而转变为电信号,然后再将这个电信号输出。由于心脏是周期性搏动的,动脉中的血管容积也会跟着周期性变化。因此,有光电变化得到的电信号也会跟着周期性变化。它们的变化基本上都可以看成是同步的。这样通过电信号周期性的变化,我们就可以得到脉搏跳动的信息,进而的到心率这一指标。
现如今,我国市场上主要有两种常用的光电容积脉搏探测器:其一,反射式光电容积探测器;其二,透射式光电容积探测器。图2.1为其结构。

图 2.1 反射式与透射式对比
Fig 2.1 Comparison of reflection and transmission
(1)对于反射式来讲,其是通过组织以及血液所反射的光强来对人体脉搏的信号进行间接性地测量,其具有更广范围的探测。然而,它所提取到的脉搏信号要弱于透射式,对于调理电路存在着更高的要求。
(2)对于透射式来讲,其是专门为身体某些较为薄弱的部位而进行设计的,例如:耳朵或手指,由探测器一侧所发射的近红外光可以将组织以及血液穿透,而被另一侧的光电探测器接收到,那么便可以将脉搏的信号再次显现出来。由上述克制,透射式红外光电传感器能很好地与本设计契合,故将其运用到本设计当中。
当手指侧方在红外对管中间的时候,由于心脏跳动,使得血管中血流量发生了一定的改变,红外发光二极管所发出的红外线对手指进行照射,通过手指中非血液组织的反射以及衰减,然后经由对面红外接收二极管来进行其透射光的接受,然后将所透射的光照强度转化成为脉冲,从而将其扩大、滤波之后传至单片机外部计数口,其后由单片机计算以及处理所输进的信号脉冲,那么就能够对脉搏次数进行实时地测算,图2.2是其工作流程图。

2.4 上位机实现方案
上位机和单片机实现是通过串口来实现的。单片机自带串口,实现起来非常方便。在本设计中,通信协议采用自定义的。上位机的实现方案有很多种,目前主流的面向对象编程软件有Visual Basic .NET、C#、Java、LabVIEW等。在本次设计中,LabVIEW是上位机的实现方案。
对于编程软件LabVIEW来讲,其是一种由NI公司所研制的虚拟仪器。借助于此软件便能够采集数据、控制仪器、分析数据、以及表达数据。其便于使用者建立适合自身所需的仪器系统。比较于传统仪器,其具有多变性、以及灵活性的特点,拥有非常广阔的发展空间。
与传统程序的设计方式相比较,LabVIEW存在着诸多无法比拟的优点,对于开发者来讲,仅需要连接起逻辑框就能够形成程序。LabVIEW在进行图形编程时,其表现出了简便清晰的特点,并且也存在着数量众多相对应的设备驱动,并且也进行了众多表达模块以及分析模块的配置。
3 硬件电路设计
3.1 系统总框架
此次设计以STC15W408AS单片机为处理控制核心,通过51单片机的ADC功能,本设计主要包括了STC15最小系统、LCD12864显示模块、信号采集电路、放大电路、比较电路、以及液晶显示电路。与单片机进行数据传输,从而实现了将脉搏传感器采集上来的数据传输到LabVIEW上位机上,显示被测者心率值以及波形。系统的总框架如图3.1所示。
图3.1 系统总框架
Fig 3.1 Overall framework of the system
3.2 单片机模块
3.2.1主芯片STC15W408AS介绍
(1)STC15W408AS单片机引脚分布如图3.2所示。

图3.2 STC15W408AS引脚图
Fig 3.2 STC15W408AS pin drawing
(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~10赫兹,因此,采样频率也同要求相一致。此外,运用片内集成的ADC12也能够促使开发成本得以降低以及系统稳定性得以提升。
4)P3.3/INT1:外部中断1,不仅能够下降沿中断,同时能够上升沿中断,假使INT1管脚只是下降沿中断。假使INT1在清0之后,INT1管脚不仅支持上升沿支持下降沿中断。作为输出信号接口。
5)TXD和RXD:分别为串口发送和接受引脚。
3.2.2单片机最小系统模块
对于单片机最小系统来讲,其指的是单片机最小的应用系统,通过最少的元器件而构成的单片机正常运作的系统,由复位电路、电源电路、以及单片机所构成。
3.2.3电源电路
本设计需要5V电源供电,调理电路中的LM324、LCD显示、单片机供电以及红外发射传感器都需5V电源供电。
因为电源纹波会极易干扰到微弱的脉搏信号,因此为确保采集到的脉搏信号较为干净,那么设计电源同样十分关键。此处所选取的电压转换器具有低功耗的特点,它的输出电流能够达到800毫安。此芯片应用在电池供电场合是十分适合的。此外,稳压芯片的两侧均增加了一个100NF的极性电容,其目的是将电源中的低频信号过滤掉,同时增加了一个10uF的非极性电容,其目的是将电路中的高频信号过滤掉。在某种程度上,此设计可以降低电源纹波所产生的干扰,有效地保障了可靠脉搏信号的提取。如图3.3所示。

图3.3 电源电路
Fig 3.3 Power circuit
3.2.4 复位电路
对于单片机复位来讲,其指的是把所有系统进行初始化,以利于系统可以返回至原始的状态而再次进行运行。复位条件是:输进连续2个周期以上的高电平在RST引脚,其后复位操作由单片机开始实施。图3.4为此次所设计的复位电路原理图。

3.3 脉搏信号的采集
图3.5为信号采集电路图。D1是红外发射二极管,D2是红外接收二极管,红外传感器由D1以及D2所构成。VCC是电源输入。在人体手指插到红外对管中间且心脏收缩的时候,也就是脉搏跳的瞬间。指尖的血液流过的时候,红外光的透过率下降,经过R3的电流低;在心脏处于舒张状态时,人体血液开始回流,也就是脉搏不跳的瞬间,指尖所含有的血液较少,具有较高的透过率,经过R3的电流便会增大。

3.4 脉搏信号的处理
3.4.1低通滤波放大电路
对于传感器所直接采集的脉搏信号来讲,其是十分微弱的,因此不可以让单片机对其实施直接的分析。其必须要先将信号扩大以及滤波,将信号扩大至V的数量级。由于脉搏信号具有相对较低的频率,因此,此处信号的处理选择了低通滤波电路。如图3.6所示,此电路是同相比例运算电路以及RC滤波电路两者所组成,电解电容C4是用来隔直流,C4和R4构成RC滤波。信号输入时要经过R4和C4共用组成低通滤波电路,目的是将输入的信号进行频率截止和清除干扰,以提高测量数据的精确度。而LM358的作用就是将滤波后得到的微弱信号进行放大,以便于被单片机采集到,放大倍数则按照单片机采集信号的标准通过R5和R6的阻值比例来调整。
能够借助于电位器的调节来进行电压放大倍数的变化,最小的电压放大倍数是:
(3.1)
截止频率是:
(3.2)
假如以每秒200次的心率进行计算,那么其频率大约是3.33赫兹,因此滤波的特性还是相对较好的。

图3.6 信号放大电路
Fig 3.6 Signal amplifier circuit
3.4.2 电压比较器
信号在经滤波以及扩大之后,其依旧是模拟信号,目前要将此信号送至电压比较器,把模拟信号转换为低电平或是高电平状态的数字信号。图3.7为电压比较器。
此为单限比较器,同相输入端射极跟随器正向输入是接上图的一级放的输出的,因此此处称之为二级。三级即为比较器可以将整形之后的脉搏方波输出,将一LED灯连接在输出处,此时人体脉搏的跳动便能够直观地显示出来,当高电平来一次,那么灯便亮一次。

3.4.3 运算放大器LM358
在处理信号时所运用到的运放为LM358.LM358 ,其具有2个内部频率补偿、高增益、独立的双运放。其不仅能够工作于单电源模式下,双电源工作模式同样适用。下图3.8是LM358引脚图。两个运放的信号输出端口依次是OUT1以及OUT2;GND接地,VCC接电源电压;IN1(+)为两个运放的同相输入端,IN2(-)为两个运放反相输出端。
当输入1(+)大于输入1(-),输入2(+)大于2(-)是,输入1和输出2输出高电平;
当输入1(+)小于输入1(-),输入2(+)小于2(-)是,输入1和输出2输出低电平;

图3.8 LM358的引脚结构
Fig 3.8 LM358 pin structure
3.5 液晶显示模块
在数字信号被ADC转换之后,则需在液晶屏予以显示,因为需将脉搏波形显示出来,因此应当选取一种具有较高分辨率的液晶屏,此外,为了使液晶屏便于携带,那么其要具备体积小以及功耗低的特点。综合考虑了之后,便选取了LCD12864显示屏。
对于液晶显示屏来讲,其使用引脚仅为12个,但是在去掉背光引脚以及电源引脚后,仅需5个引脚与单片机的I/O口相连接,因此十分便利。以更好地促使单片机灵活地控制液晶屏的背光与电源光,此处选取除GND之外其它5个引脚均受单片机I/O口的控制。依次连接至P1.3到P1.7七个I/O口中。具体引脚如图3.10所示:

图3.10 LCD1602显示模块原理图
Fig 3.9 LCD1602 display module schematic diagram
3.6 USB串口通信模块
在此次的设计中,应用了USB串口来实现LabVIEW上位机与单片机之间的通信,在传输的过程中,USB所运用的为差分信号。对于单片机串口来讲,其能够实现TTL,却只能间接地应用在USB通信中,此外USB协议十分复杂,通过单片机难以实现。因此,我们能够把单片机串口所输出的电平借助于CH340G转接芯片而转变为上位机USB接口能够辨认的差分信号以及USB通信协议实现后,便能够把相关的数据传到上位机。
在运用此项目之后,可以明显地感受到其所具有的各种优点,那么对于应用上位机的有关仪器设备具有重要的参考价值。

你可能感兴趣的:(labview)