序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机心率脉搏计设计
1 硬件设计
1.1 主控电路
1.1.1 主控单片机选择
此次设计选用单片机作为主控制器,为了保证系统更好的运行,应选用性价比高、可靠性高、低功耗的控制器,以防止器件的损坏,影响系统的运行。由于单片机在整个设计中相当于人体的心脏,是本设计的核心,基于此有以下两种方案可供选择:
方案一:使用STC89C51单片机作为主控制芯片。此系列单片机是STC公司推出的一种低功耗、高性能CMOS8位微控制器的51内核的单片机,它是系统中包含Flash程序存储器模块的可编程芯片,该器件包含4K字节的只读程序存储器,可重复擦除1000次[5]。该芯片由8位通用CPU和ISP闪存单元组成。该器件的基本功能与普通的51单片机能够全部兼容。STC89C51系列单片机是一个能量消耗较低的新型单片机,它具有的开发简单、可在线编程下载、成本低是非常不错的选择。
方案二:使用MC9S12DG8单片机作为主控制芯片。它是Motorola的M68HC12系列16位微控制器之一,内部结构主要由单芯片微计算机的基本部分和CAN功能块部分组成,可专门用于计数,一般用于手机、便携式医疗器材等领域[9]。但是开发难度相对比较大、价格昂贵。
综上,与MC9S12DG8单片机相比,STC89C51单片机开发难度较低、稳定性高,并且价格低廉没有造成资源浪费,因此选择了方案一作为本设计的主控制器。
1.1.2 STC89C51单片机引脚说明
STC89C51单片机有两种封装形式[6]:PDIP(40个引脚)和PLCC(44个引脚)。如图1.1所示。本设计中采用的是直插式的PDIP封装形式。
图1.1 STC89C51封装形式
管脚说明:STC89C51单片机外部有32个端口可供使用,相关引脚运用说明如表1.1所示(其中VCC是电源电压接电源,GND接地)。
表1.1 STC89C51单片机引脚功能
1.1.3 STC89C51单片机最小系统
单片机最小系统由电源电路、复位电路、晶振电路三部分组成。三部分对单片机的正常运行起着不同的作用。
电源电路主要负责提供单片机工作期间的电压电流。本设计采用的电源电路为USB电源线,可连接电脑端或是手机充电插头连接电源即可。
复位电路主要是对单片机进行初始化。复位电路是在通电过程中保持单片机复位的情况下打开电源运行程序的不稳定过程中,防止错误行为或故障的电路。首先电源稳定上升,然后通过RST针脚电平稳定降下之后,单片机方可工作正常。单片机复位电路图如图1.2所示。
图1.2 复位电路电路图
晶振电路则是给单片机工作提供标准的时钟。晶振电路可以认为是电容与电阻并联连接,再串联电容连接的系统,在该电路中负载电容的值起着决定性作用。晶振电路中有两个独立的反向放大器,两个放大器都要接入电容并且两个电容串联起来的容量值应等于负载电容值,两个电容会对震动频率起作用,从而进行调节频率[7]。单片机晶振电路图如图1.3所示。
图1.3 晶振电路电路图
电源电路、复位电路、晶振电路三部分组成单片机的最小系统,即让单片机正常工作并且用最少元件组成的系统。最小系统电路图如图1.4所示。
图1.4 单片机最小系统
1.2 驱动电路
1.2.1 放大器的选择
这次设计的脉搏信号本身很弱,因此首先必须将过滤后的波形进行适当运放。基于此本设计有两种方案可供选择。
方案一:运用OPA237放大器。OPA237运算放大器是德州仪器(TI)的微型产品之一。特性包括小尺寸、低偏移电压、低静态电流、低偏移电流和大功率范围。但其采用单电源使用,电池供电空间有限,成本较高且应用难度较大。
方案二:使用LM358放大器。两个独立的高增益运算放大器组成一个LM358。其既能单电源工作,也可以是双电源工作,电源的功耗电流与电源电压大小之间无关,并且经济实惠、实用。变频放大器、DC增益部件和所有常规运算放大器包括在应用方向中[8]。LM358引脚排列如图1.5所示。
图1.5 LM358引脚排列
综上所述,与OPA237相比较来看,LM358放大器从运作方式和操作以及本设计应用上来看都是不错的选择。所以最终选择了LM358。
1.2.2 放大电路
低通放大器是基于身体脉搏心率运动后跳动次数200次/min来设计的,如图2.6所示。R6、C6形成了低通录波器从而能够消除残留的影响并决定着截止频率。运放LM358能够把信号放大而放大倍数依据R12/R13来决定,低通放大之后输出的信号是叠加有噪声的脉动正弦波,如图1.7所示。
图1.6 低通放大电路
图1.7 低通放大波形图
1.2.3 波形整形电路
在该设计中放大滤波器的脉冲信号存在着低频干扰并具有不满足计数器要求的非正常脉冲信号,不符合计数器的要求,所以该设计中应使用整形电路。有输入信号时,LM358沿着比较器输入信号的每个后输出低水平,并使用发光二极管D1来展示脉搏心率测量的状态,一旦发生脉搏跳动,发光二极管点亮一次。同时,此脉冲水平将传递到微控制器/INTO脚部,来计算和显示心率[10]。波形整形电路如图1.8所示,输出波形如图1.9所示。
图1.8 波形整形电路
图1.9 经过比较器LM358的输出波形
1.3 信号采集电路
1.3.1 传感器的选择
传感器也被成为转换器,相当于我们人体的重要器官,用来接收外界传递的信息。本设计需要通过传感器采集到人体的心跳信号并且人要通过触碰传感器来实现接受信号[12]。通过对社会的广泛调查以及结合大学所学的知识,有以下两种方案可供选择:
方案一:运用压电式传感器。选取压电式传感器的检测操作方法一般情况下是通过传感器把脉搏震动转变为电信号。我们经常见到的压力传感器能够使用已有的雅典陶瓷来取代。考虑到压电式原件的内部电阻偏高一般是两个相同的压电元件,急性反弹重叠,使中间的铜片形成电极。因此,中央电极出去全空状态,可以用良好绝缘性的导线导出。
方案二:运用光电式传感器。众所周知,人体血液是一种不透明的液体。光对一般组织的穿透力相对于血液来说,是它的几十倍。根据这项功能,我将目光放到了光电式传感器上,使用光电效应手指脉冲传感器,用它来记录我们的脉冲信号。光电检测方法是利用光电系统传感器二极管检测人体内红外线的血流速度是否根据光的反射透射率或光的反射透射率转换为红外电信号的检测方法。这种检测方法主要有两种一般形式。一个是正射光,另一个是反射式。瞄准仪在适当大小的环的两侧各放置一个传送管和接收管测量时,将工匠的手指伸入环后,随着手指的血流变化,会导致光电流产生变化。反射式光电发射和光电接受都是单向的,如果人体内的血流发生变化,对光的反射率也会发生变化,从而检测心率。该方法的优点是外部干扰信号较小[13]。
综上所述,光电式传感器从采集方式、材料选择、受外界的干扰信号的影响上要优于压电式传感器,因此本次设计选用了光电式传感器来进行设计。
1.3.2 光电传感器
脉搏心率一般情况下通过机体动脉舒张以及收缩生成,机体指尖组织里的动脉成分含量相对较高,并且指尖厚度相对来讲偏薄,透过手指之后获取的光强总体偏高,所以一般情况下光电式脉搏心率传感器的测量部位位于机体手指部位[14]。
光电传感器可以划分为红外发光二级管以及红外接收三极管这几个部分。光电传感器依据光接收的方式能够划分成透射式和反射式。两种形式中透射式的发射光源和光敏接收器件的距离基本一致,而且能够均匀分布,接受透射光。反射式发射光源与对光敏感的接收装置在同一侧,受到精密测量脉搏信号的反射光。因此,该系统使用反射光电传感器。结构如图1.10所示,实拍图如图1.11所示。
图1.10 反射式光电传感器结构图
图1.11 反射式光电传感器实拍图
光电传感器的检测原理为心脏搏动的过程中机体组织半透明度会发生一定的变化:在血液送至机体组织的时候其半透明度会在一定程度上下降,在血液流回心脏的时候组织半透明度会在一定程度上上升;其在机体手指尖以及耳垂等位置显示的最为显著。
所以此次设计把红外发光二极管生成的红外线照射至手指位置,通过手指的反射以及衰减,通过光敏三极管接受透射光同时转化为电信号[16]。由于手指动脉血在血液循环中周期性波动,因此光的反射和衰减呈现出相同的变化趋势。在这种情况下,红外接收晶体管输出信号的变化表明了动脉血的变化。
1.3.3 信号采集电路
ST188中有红外发射和接收装置,如图1.12所示,R10应选用470Ω,原因是考虑了接收晶体管的灵敏度。如R10非常小,通过电流就会上升,红外接收晶体管无法确定有无脉搏心率及信号;反之,如R21非常大,通过电流则非常小,也无法准确判断。在检测过程中当手指处于测量位置时,会有两个时间段,一是无脉搏阶段。虽然手指已经接触到传感器并已经遮挡住二极管发射的红外光,但由于三极管有暗电流的产生,输出电压被迫变小;二是有脉搏阶段。三极管中暗电流逐渐减小,那么输出电压就会增加此时可检测到心率。由于ST188传感器的信号输出频率很低,因此信号首先由联合容量C4组合,随后依据R5、C5滤波来过滤高频干扰之后放于线性放大输入端。测量结束后用C4耦合电容进行阻止,以便在手指脱离传感器或干涉光线强,导致输入端直流电压波动严重时[17],防止其泄漏到LM358输入端。
图1.12 信号采集电路图
1.4 显示电路
1.4.1 显示器模块的选择
该系统需要显示心跳脉搏次数、时间,其中包含了数字和字母,所以至少需要2行的屏幕显示。显示器件可以有以下选择:
方案一:采用LED动态显示屏。数码管是一类显示屏,其针对不同的管脚输入相对的电流,使其发亮进而得以显示。是单片机应用广泛的显示方法之一。动态驱动器和连接所有数字机构的8个显示行程“a、b、c、d、e、f、g和DP”同名[18]。而当连接主控器时LED动态扫描方法占用更多的I/O端口,主控制器端口的电流输出不足,因此还需要有驱动器模块来放大电流并控制数字电子管,如此一来会增加焊接难度,导致焊接错误。
方案二:使用LCD1602液晶显示屏。LCD1602是一种广泛使用的字符型液液晶显示模块。可以显示包括数字、字母或字符 的32个字符(16×2),因其由大量点阵构成,导致字符每个位有间隔,所以采用控制器HD44780控制器来使显示效果更佳。此控制器电路简单可完成动态字符等功能。
上述两种方案比较表明,液晶显示设备固有的大小适中、显示效果好、控制方便等优点要优于LED动态显示屏,因此选择LCD来实现相应的屏显功能。
1.4.2 LCD1602液晶显示器
LCD1602液晶模块,也称为LCD1602字符液晶,具有16×2标记,可以在一行中显示16个字符、数字、符号等。LCD1602具有11个命令,通过将这些命令发送到液晶屏,单芯片微型计算机可以执行特定功能,如打开、关闭和全屏等。控制LCD1602液晶显示器可以通过执行读状态操作,写状态操作,读数据操作和写数据操作来对LCD1602执行某些操作。显示电路图如图1.13所示。
图1.13 显示电路
管脚功能:LCD1602通常使用标准的16脚接口,如图1.14。不同引脚接口有不同的功能,相应介绍如表1.2所示。
图1.14 LCD1602引脚
表1.2 LCD1602引脚说明
编号 | 符号 | 引脚说明 | 编号 | 符号 | 引脚说明 |
1 | VSS | 地电源 | 9 | DB2 | 数据 |
2 | VCC | 电源正极 | 10 | DB3 | 数据 |
3 | VL | 液晶显示偏压 | 11 | DB4 | 数据 |
4 | RS | 数据/命令选择 | 12 | DB5 | 数据 |
5 | R/W | 读/写选择 | 13 | DB6 | 数据 |
6 | E | 使能信号 | 14 | DB7 | 数据 |
7 | DB0 | 数据 | 15 | BL+ | 背光源正极 |
8 | DB1 | 数据 | 16 | BL- | 背光源负极 |
LCD1602具有以下特点:可使用在+3.3V电压上、对比度可调节。其有多种控制命令,例如重置电路屏幕清理、字符闪烁、光标闪烁、显示移动等。内部包含常用于低功耗等袖珍仪表和低功耗应用系统的192个5×7光栅的CGROM字符发生器和8个可自定义的5×7的CGRAM字符发生器。
1.5 总体电路图设计
本设计由单片机STC89C51作为系统的控制核心,系统的总体设计电路图见附录1。其中包含着几大重要的模块分别是主控模块、检测模块、信号处理模块、显示模块和电源模块。本设计的工作过程是ST188传感器采集信号,采集到的信号经放大器处理即放大、滤波和整形后输出给单片机,单片机处理后再将信号传递给显示模块LCD1602液晶显示屏显示,最终得到结果。
2 系统调试
2.1 系统硬件调试
根据理论设计电路图,来设计制作硬件电路。系统硬件电路的调试主要检测电路的焊料泄漏、断线、焊接、短路、接通电源后是否正常运行等。当板子焊好后首先要根据电路图仔细检查一下,看看有没有漏焊的情况,同时要看需要连接的线路有没有都连上,特别要注意电源线和地线的连接。
断线、焊接、短路时可通过数字万用表检测,检查时需要细心注意和耐心,不要急躁。用2根表笔检测需要检测部件和导线的两端,导通时蜂鸣器鸣响,断开时不鸣响。这样,可以根据我们所需要的检查情况,结合检查的现象,检查线路是否有问题。
成功下载程序后,通电发现LCD1602液晶显示器上未显示任何内容,对着电路图仔细检查电路发现光电传感器的位置漏焊;经过修改之后液晶显示器可以显示当前的读数。实物通电后如图2.1所示。
图2.1 实物展示图
2.2 系统软件调试
本设计是基于单片机控制,利用单片机的主程序完成对心率脉搏计的控制,使用的是STC89C51系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。本次设计以Keil μVision 4软件进行编写,如图2.2所示。
图2.2 Keil μVision 4的编译环境
Keil μVision 4使用的基本方法,首先需要建立一个新的项目,选择使用的单片机类型,可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。在编译程序之后,生成.HEX文件。程序写入控制芯片STC89C51后,接通电源,电源指示灯亮,系统启动。当人的手指接触到光电传感器时,指示灯亮说明系统开始工作,记录一分钟心率脉搏次数,则心率脉搏计工作正常。
STC-ISP是适用于STC系列单片机的一种将程序下载到单片机的软件。其工作过程是将单片机按照方向至于烧写器中,安装好驱动程序连接好计算机,启动软件选择对应的COM口。选中事先编辑好的.hex文件,确定后点击下载,此时软件会先对单片机里的原程序就行擦处,擦处后进行新程序的下载,程序就烧写成功,单片机烧写软件STC-ISP如图2.3所示。
图2.3 单片机烧写软件
总体原理图设计
如果你有任何问题、需要建议或解决疑难,别客气噢,随时找我求助或寻求支持。我专注于单片机相关的知识,可以提供电子设计、嵌入式系统、编程和硬件方面的宝贵帮助。不管你的问题属于哪个领域,都可以向我咨询啦,获取有针对性的建议和指导。祝愿你在单片机设计领域取得巨大成功!