概要
随着日新月异科技发展,在心率体温测量方面,我们取得了迅速的发展,就近日而言,脉搏测量仪已经在多个领域大展身手,除了在医学领域有所建树,在人们的日常生活方面的应用也不断拓展,如检疫中心的额温枪都用到了技术先进的脉搏测量仪。在今年的疫情爆发的同时,我们可以积极应对,利用所学的知识,方便高效地检测出人体有无异常体温,在上学签到时,我们可以利用此来检测温度,预防集体性感染事件。为了在心率测量仪的精准性和便携性方面做出重大改变,我计划设计一种以51单片机为核心的心率体温测量仪。我们的心率体温检测系统以STC89C51单片机为核心,借用单片机系统的内部计时器计算时间。其大致的步骤为通过ST188光电传感器感应生成脉冲,心跳次数由单片机累计所得,其对应的时间根据定时器获取。本设计使用的时候可以展现脉搏心率次数以及时间长短,当其终止使用的时候可以展示总的脉搏心率次数以及时间长短。经过我的个人测试,系统成功运行,符合设计要求。通过软件与硬件方面的整体调试并进行实验,得出结论为在技术上可行,预期可以实现功能,准确、快速地完成测量任务。
关键词:心率体温检测系统;STC89C51单片机;光电传感器
一、控制系统方案设计
1.1 主控系统方案设计
方案一:单片机作为主要的控制芯片,是集成电路的一种,可以单独完成现代产业所需要的控制功能。单片机外形很小,但是所具备的功能却是很大的,它将微处理器、储存器、输入/输出接口电路通过导线焊接到板子上,集成到同一片芯片。图1.1是采用单片机作为本设计的控制部分,该系统主要有单片机、传感器和显示器构成。
人体检测心率脉搏时,通过传感器采集输出脉冲信号,传递给单片机,单片机经过计算输出给显示电路进行显示。而在液晶显示屏上的,也就是我们得到的结果。通过得到的结果,来判断我们是否处于非正常状态。
图1.1 基于单片机的心率脉搏检测系统结构图
方案二:以TI公司生产的DSP芯片作为核心。SP即数字信号处理器,是一种研究用数字对信号进行分析、转换、滤波、检测、调制、解调和高速算法的元件[3]。该系统主要由光电脉搏传感器、脉搏信号调理电路和DSP实时检测及处理系统三部分组成[4]。如图1.2所示,当传感器采集到人体生理脉搏信号时,信号就会经调理电路传送到DSP系统中,实现心率脉搏的检测。
图1.2 基于DSP的心率脉搏检测系统结构图
总之,DSP的运行速度很高,但与之相对应的,是它负责的控制算法。相比而言单片机系统的控制方法相对简单,可靠性高,价格低,功耗低。虽然单片机与DSP相比功能相对简单,但完全可以满足设计要求。因此,综合个人实际以及现在市面上的元器件花费情况,我们选用单片机作为这次系统研究的主控芯片。
1.2 脉搏传感器方案设计
传感器也被称为换能器、转换器等。相当于我们身体中的五官,用来感受外界传递给我们的信息。
脉搏传感器是脉搏检测系统的重要部分。在本次系统设计之前,我花费了大量的精力,通过广泛的社会调查,结合在大学期间所学习的知识,融汇贯通,研究出了几套方案,具体如下面三种:
方案一:光电式传感器。众所周知,人体血液是一种不透明的液体。光对一般组织的穿透力相对于血液来说,是它的几十倍。根据这项功能,我将目光放到了光电式传感器上,使用光电效应手指脉冲传感器,用它来记录我们的脉冲信号。在它的内部结构中,我们用光电二极管的来锁定装置,其光电效应特性决定了光照强度与电流成正比,光照强度越大,相对应的锁定电流也就越大。当然有固定的光强范围。
在元器件所决定的光强范围中,光电二极管的阻断电流与光强成正比的线性关系[5]。当脉搏跳动时,人体中的血管体积和光透过血液的散发随着脉搏的跳动而变化,随之而对应的,不同强度的光传递到光电管的两极,将会得到不同强度的光流。再由模拟量转换成数字量,可以得到相对应的数字型号,再将得到的信号分别传输到通常用于测脉冲的光电传感器的红外对管和红外放射管。
下面对红外对管和红外放射管分别做简短的功能介绍,两者相互作用,得到所需的数据资料。
我们首先用手指尖按住红外对管,因为手指尖易于测量。手指的血液浓度和光头率会伴随着心脏的跳动而产生相对应的变化(一定范围内),相对应的,红外对管对应的信号也会不停改变。我们可以使用一些常规的处理方法,如放大、滤波、比较等,将采集到的模拟信号转换成我们所需要的理想的数字信号 。
采用反射式的红外管。这是目前市面上最主流的传感器,我们通常都采用这种传感器来采集信号,因为红外线管是在手指的同一侧接收和传输的,所以就可以忽视个体的差异,通常可以适用于大部分用户。这种传感器通过接收血液散射反射的光,通过这次的采集方式,我们能够准确测量血管内部容积的变化。
方案二:压电式传感器。目前来说,一次性心电电极是使用最多的,这种传感器通常采用接扣与敏感区分离的方法,通过这种方式我们能明显的感受到干扰量的减少,因为人体运动会产生大量干扰,这对传感器的准确性会产生极大地偏导。在考虑到人的体液会对我们的测量造成极大的干扰,所以我选择了相对贴合我们实际的电机,我们所采集到的心电信号质量起着很大程度上取决于电极的好坏,我们采用的电极必须要有强大的粘合力,能紧帖在我们所需要的测量的部位[6]。为了在实际应用中统一和比较接收到的脉冲信号,在记录脉冲信号时,我们对电极的位置、各部分元器件的连接有着极其严格的要求。
目前,市场上已开发出一种新型高分子压电材料聚偏氟乙烯研制的压电传感器,作为压电传感器,它有着十分优良的特点:他的灵敏度较高,可以精确检测出数据;在灵敏度较高的情况下,他还能有着十分可观的频率范围;他的结构简单,易于上手并且使用相比较其他方式来说十分方便。
当手指前端处于接触状态时,模拟信号从传感器中提取出来,转换为电信号。这样传感器通过捕捉手指脉冲的波长,可以得到人体的脉搏信号。
方案三:集成传感器。当前,集成心电传感器在市场是数不胜数,相比于其他传感器, 它具有最高的灵敏度,并且它的集成度高,个头小巧,方便携带,它还可以比较直观地看到心率的变化,其中且已包含了滤波等抗干扰电路,波形经过放大处理后,可以直接应用在单片机之中。它的缺点也十分明显,就是它的价格非常昂贵,价格是其他传感器的数十倍,就本次设计来说,考虑到经费以及锻炼自己的目的,不会轻易选择使用该型传感器。
综上所述,光电式传感器的实用性,便捷性抗干扰性都要优于压电式传感器,并且在价格上碾压集成传感器,经多方考虑,本次设计选用了光电式传感器来进行设计研究。
1.3 系统工作原理
本设计控制器采用 STC89C51单片机,用于实现人体的心率体温测量系统检测。我们可以利用光电脉冲传感器收集人体脉冲和心率的数据。接收到的信号发送至STC89C51进行处理,得到的数据将会在液晶显示屏上显示,液晶显示屏上显示得到得的脉搏数和温度。若有异常,显示屏将会显示出具体的脉搏温度,得以提醒人们脉搏或提问异常。心率监测系统设计框图如图1.3所示:
图1.3 心率监测系统设计框图
日常的测试操作中,我们可以将手指位于传感器的位置。当心脏跳动收缩时,血管内液体的浓度和流量也会发生变化。当光照射手指组织时,血管中血氧饱和度的变化会导致接收管中接收到的光强度发生变化,这里就呈现出线性正比的联系,从而使光脉冲和心跳相等。当接收管波长变化时,红外接收管也随之变化,电流也随之波动。此时,红外接收器可以检测转换为脉冲信号的电压变化。信号在单片机端口经过滤波、放大、成形后发射。单片机在接收到外部中断信号后执行相应的命令[7]。CPU对输入的脉冲信号进行处理,将得到的数值进行输出,输出的心率数值将会在液晶上面显示。
二、 硬件设计
2.1 主电路设计
此次设计选用单片机当作主控芯片,为了保证系统更好的运行,STC89C51单片机掌握起来更方便,成本低廉,超强的抗干扰性,在系统中可以进行编程,不需要编程器。故本设计采用STC89C51单片机[8]。
基于此有以下两种方案可供选择:
方案一:STC89S51单片机作为心率监测系统的CPU是因为其低廉的价格和编程的方便性。虽然STC89S51单片机的功能是有限的,但是对于心率监测系统的功能实现是没有问题的。
方案二:飞思卡尔公司的嵌入式芯片9S12XS128,这款单片机的最实用的优点就是可以专门计数,这对于我们本系统来说是十分有利的。
最终,在考虑实际应用后,我选择了STC89S51单片机放弃了嵌入式芯片9S12XS128,嵌入式芯片9S12XS128对比其他的单片机功能齐全,操作也更加简单,与之相对应的是昂贵的价格。综合来说,不符合设计心率体温监测系统的设计初衷[9]。
2.1.2 STC89C51的主要功能及性能参数
此次设计选用的STC89C51单片机,使用COMOS8作为单片机的微处理器,片内具有4KB的Flash存储器。该设备有40个管脚,速度快,价格便宜,燃录方便,通过串行口下载,在线编程一般情况下增强型是6时钟然而普通型是12时钟;工作频率范围在40MHZ以内,和8051的80MHZ以内基本相一致;STC89C1相应的Flash可以划分成4KB/8KB/15KB;内部存储器为512B;定时器一共有3个16位;中断源一共有8个;其不需要专用编程器;通用I/O口一般由32/36个;工作电压通常情况下为3.8-5.5V;外形封装可以分为40脚PDIP、44脚PLCC以及PQFP等[10]。
2.1.3 STC89C51单片机引脚说明
图2.1 STC89C51封装形式
管脚说明:STC89C51外部有32个端口可供使用,相关引脚运用说明见如表2.1所示(其中VCC是电源电压接电源,GND接地)。
表2.1 P3口的第二功能
时钟振荡器:其为STC89C51里存在构成内部振荡器的高增益反相放大器,引脚XTAL1以及XTAL2是其输入端以及输出端。其能够和当作反馈元件的片外石英晶体或者陶瓷谐振器组成自激振荡器,振荡电路的详细分布如图2.2所示。
图2.2内部震荡电路
.
三、 主要代码
#include <reg51.h>
#include <intrins.h>
#include "1602.h"