液体点滴速度监控系统的设计 - 图文

更新时间:2024-05-16 12:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

输液是医院常用的治疗手段,传统输液过程中存在着输液速度不精确、需要人工监护等弊端。本文的目标就是设计一种输液监控系统以解决此问题。

本文设计的液体点滴速度监控装置系统,实现了对输液速度的检测与控制,实现了对储液瓶中液面高度的检测报警,并且动态显示输液速度。使用者可以通过按键设置输液速度,系统将自动对输液速度进行控制。此外系统还实现了多机通信,即一个主站控制一个和主从机之间的数据传输。当输液结束或输液速度发生异常时,从站使用发光二极管和蜂鸣器进行报警,并将报警信号通过串行口传送至主站,主站通过监控软件和蜂鸣器实现声光报警。

系统以8051单片机为核心,使用两块系统板(主机和从机)组成有线监控系统,主机实现对从机的控制及液体点滴速度的显示和液体点滴速度的键盘控制;从机通过外围电路检测储液瓶中液面高度和液体点滴速度;通过从机实现对步进电机控制以实现对储液瓶高低的控制,来实现控制液体点滴速度。

在整体方案设计中,在保证设计系统能达到的题目要求的精度和稳定度的前提下,考虑到系统的轻便性、实用性、可靠性,对电路系统进行了优化。

关键词: 点滴速度;光电传感器;步进电机;单片机

ABSTRACT

Transfusion commonly used as treatment in hospital, but there were some problems, such as inaccurate, need transfusion of artificial guardianship, etc. The goal is to design a transfusion monitoring system in order to solve those problems.

The monitoring and controlling system of liquid drop speed by this paper, actualize the infusion rate of test, the control of reservoir fluid bottle level detection alarm and dynamic display of transfusion speed. Users can through the button to control transfusion speed and system will automatically transfusion speed of it. Besides the system also actualize multi-machine communication, that is, a master station to control a multiple machine from a station and the master-slave data transmission between. When the infusion end or infusion speed abnormal, slave light-emitting diodes and buzzer to alarm, and will alarm signals through serial transmission to the master, stood by buzzer sound-light alarm.

The systems use 8051 SCM as machine?s core. Use two systems board (host and slave) component cable monitoring system for control of the machine from host. The master station achieves the displaying of liquid drip speed and the keyboard to control liquid drip speed. Slave machines through the outer circuit testing reservoir liquid bottle in height and liquid dropping speed, and through the control of stepping motor speed control the level of liquid storage bottle to control liquid drop speed.

In the overall program design, in ensuring the use of design systems to achieve the required accuracy and stability of the premise, taking into account the system?s portability, practicality, reliability, electrical systems were optimized.

Key words: liquid drop speed; photoelectric sensor; Stepper Motor; single chip

目 录

第一章 绪论......................................................................................1

1.1课题背景...............................................................................................1 1.2课题研究的目的和意义.......................................................................1 1.3 输液报警监控系统的方法..................................................................2 1.4 本课题采用的输液报警监控内容方法简介......................................2 1.5本文的结构...........................................................................................3

第二章 输液监控系统的总体方案...................................................4

2.1 输液监控系统的设计依据和目的......................................................4 2.2系统方案论证与比较...........................................................................5 2.2.1 控制方案的比较..........................................................................5 2.2.2点滴检测方案比较.......................................................................5 2.2.3液位监测方案比较.......................................................................5 2.2.4速度控制方案...............................................................................6 2.2.5电机的选择...................................................................................6 2.2.6主从机通信方案...........................................................................7 2.3系统总体框图........................................................................................8

第三章 系统的硬件设计................................................................10

3.1 系统的硬件设计..................................................................................10 3.2 从站各系统单元的设计......................................................................11

3.2.1中央处理单元..............................................................................11 3.2.2点滴信号检测单元......................................................................11 3.2.3点滴信号的比较、滤波、整形电路..........................................12 3.2.4 液位检测单元.............................................................................13 3.2.5检测电路的抗干扰措施..............................................................14 3.2.6声光报警电路..............................................................................14. 3.2.7 步进电机驱动单元(高度调整单元).....................................15 3.2.8 主从站接口电路.........................................................................16 3.3 主站的硬件电路图及工作原理..........................................................17

3.3.1键盘单元......................................................................................18 3.3.2 数码管显示单元.........................................................................20 3.4 主从站芯片时钟电路..........................................................................21

3.5 主从站复位单元.................................................................................21 3.6 电源电路.............................................................................................22

第四章 液体点滴监控系统的软件设计....................................24

4.1 从站各模块软件设计..........................................................................25

4.1.1 主控模块设计.............................................................................25 4.1.2 点滴速度测量模块设计.............................................................25 4.1.3 电机控制算法.............................................................................27 4.1.3.1 电机控制原理..........................................................................27 4.1.3.2 点滴速度控制..........................................................................28 4.1.4 通信程序通信模块设计.............................................................29 4.1.4.1 串口通信参数设置..................................................................29 4.1.4.2 通信协议约定..........................................................................30 4.1.4.3 主控模块设计..........................................................................31 4.1.5 报警模块设计...................................................................................32 4.2 从站各模块软件设计..........................................................................33

4.2.1 主控模块设计.............................................................................33 4.2.2 输入键盘模块的设计.................................................................33. 4.2.3 数码管显示模块的设计.............................................................34

第五章 总结及展望........................................................................37

5.1总结......................................................................................................37 5.2 展望.....................................................................................................38 5.3心得体会..............................................................................................39

致 谢..................................................................................................................40 附录一 电路原理图…………………...………………………….41 附录二 部分程序清单…………………………………...……….43

第一章 绪论

1.1课题背景

输液(俗称打点滴)是临床医学上最常用的治疗手段。在病人输液的过程中,往往由于病人体质虚弱、昏迷、入睡或者医护人员正在别处忙碌等而无法留意到输液全过程,从而需要专人监护,加重了护理人员的劳动负担,也不利于病区的综合管理当输液完毕,若处理不及时,病人的血液就会因空管而倒流人输液针管内,时间稍长会使扎针处严重肿胀。若处理过早,即药液还未完全输尽就摘瓶取管则又会造成药液的浪费等等。因此常引发病人的不满以至投诉,使医护人员非常无奈。本课题就是针对上述情况,通过声光报警监控的方法实现医院输液情况的实时监测,并通过单片机与数码管来实现输液数据的实时显示和存储,以及在特殊情况下的报警。本课题对实现医院现代化、信息化有巨大的推动作用。

1.2课题研究的目的和意义

在输液远程监控系统中,信号提取是医疗监控系统工作的首要前提。医疗输液信号自动检测和传输也是信号提取的过程,医疗工作人员常常需要检测和控制液体的储量或液位,如人工肾机的透析储液罐中液储量、自动洗胃机中冲洗液的液量、中医使用的药浴机中煎药锅中的水位、静脉输液液体量检测等等。如果对仪器中液体储量疏于监测,在液体储量失控情况下或者在可能会给患者带来伤害甚至危机其生命。通过对这些液体储量的监测,医护人员便可以随时了解液体余量,并能在液体缺少时及时自动和人工补充或者采取其他措施,维护医疗设备的安全运行。因此,如何更好地对医疗液位进行监测,一直是医学工程人员考虑较多的课题之一。而在临床医学中,常采用静脉穿刺的办法将药液直接经静脉注入体内,这种输液方式称为静脉输液。但长期以来没有经济有效的自动监控装置,对已输液量或剩余液量等的监控,从而需要专人监护,加重了护理人员的劳动负担,也不利于病区的综合管理。为此我们设计利用检测输液滴数的输液监控系统,该系统自动监控输液点滴数,通过主站对从站的输液情况进行巡回检测和显示。当剩余量低于设定下限值、输液速度过高或过低时,发出声光报警,提醒护理人员及时加以处理。

本系统由主站、从站和主从站数据线路组成,主站主要是实现输液数据远程监控、显示、存储和特殊情况下的报警。从站主要是实现输液情况的实时监控。由于不需要长距离传输信号,所以主从站数据传输线路采用通信线路简单的TTL串行通信。

1.3 输液报警监控系统的方法

目前国内外常见的输液报警监控技术主要是对输液完成信息的提取,它概括起来共有5种方法:

①电极法 它是从输液瓶口插入2根电极,利用药物的导电特性来检验瓶内药物是否用完。毫无疑问,该技术具有较低的成本,但存在着安全隐患—药物特性是否会因通电而受到影响,还有电极的消毒问题。

②测重法 它是利用弹簧秤或压力传感器或电磁感应开关(干簧管)根据药物重量变化来判断药液输完与否,方法虽然简便,但其可靠性和适应性(对袋装及塑料瓶装液体不宜)无疑受到质疑。

③液面检测法 通过固定在输液瓶或输液管上的光电传感器(有采用半导体激光的,也有采用红外光的)利用液面下降到预定位置时对光的反射或折射情况的变化来判断药物输完与否。其中检测瓶内液面的,同样可靠性及适应性受到质疑,而且采用激光光源的还将带来一个高成本问题。

④超声回波检测法 它是通过脉冲信号激励超声波发生器发出超声波,当超声到达输液瓶中液面后被液面反射回到超声波接收器,通过检测超声波从发射到接收需的时间,再根据超声波在介质中传播的速度及仪器安装高度,即可得出输液瓶中度。具有非接触的特点,且性能可靠、安全性好,具有实用价值,但是由于超声波探头价格昂贵及安装操作复杂,也阻碍了超声回波技术在静脉输液检测中的应用。

⑤液滴计数法 它是根据临床医学的有关知识,一定量(以毫升为计量单位)的药液其输液量与药滴数有关,一般来说从莫非管式滴管滴落的每一滴为1/20毫升,或者是每20滴液滴总计一毫升。因此只要能检测液滴滴数,即可检测到药液的输入量。这种技术由于操作方便、价格便宜,且可靠性,实用性好它已经得到了大量的使用。

1.4 本课题采用的输液报警监控内容方法简介

本课题研究的液体点滴速度监控系统采用对射式红外光电传感器,它具有非接触性测量,响应速度快,受环境影响小,测量精度高等优点。它是一种可以利用其对物体表面黑度的敏感特性,应用于测量微小的位移。从光源红外发射管发射出的一定强度的光束到达测量面后,根据物体表面的不同黑度和表面光洁度,部分光散射和反射到红外敏感接收管转变成为和接收管接收到的光强成正比的电信号。对射式光电传感器分为投光器和受光器两部分.两者光轴重合在同一直线上。工作时,投光器发出调制光,被受光器接收,变为电信号。当被测体进入检测区时,光被遮挡,受光器无光可受.传感器输出状态改变。输出脉冲再通

过脉冲整形和A/D转换变为高低电平,最后输入到单片机的外部中断0中去。单片机根据高低电平的变化来判断液滴的有无和对液滴的计数;每一个水滴产生一个这样的不规则的负向脉冲,脉冲数目与水滴数目一一对应。

1.5本文的结构

本文共分为六章:

第一章绪论部分介绍输液监控系统在国内外的研究状况,以及本课题的意义和主要工作内容。

第二章介绍输液监控系统的总体设计方案,分析了系统需求,并对各部分方案进行了详细的论证比较,最终确立了各部分方案。

第三章对主站和从站当中的硬件部分进行了设计,分别给出了主站和从站的系统框图、核心部分电路以及通信接口部分硬件电路。

第四章对主站和从站的软件部分进行了设计,首先给出主站和从站软件的总体设计,然后对各模块软件部分分别进行设计。

第二章 输液监控系统的总体方案

2.1 输液监控系统的设计依据和目的

普通输液是医院常见的一种将药液容器(瓶/袋)中的液体药物,通过输液器

(管路),在大气压作用下,向患者静脉输入药剂的治疗方法。

在病人输液过程中通常会有几种异常情况发生:(l)液体中有气泡;(2)针头堵塞;(3)管路堵塞;(4)液体已输完未被发现。由于输液时间较长,护士不可能长间守在患者身边,因此上述几种情况会给病人带来烦恼和伤害,使护理质量下降,造 成医疗纠纷。通常药液中的气泡,在正常输液前已被护士排除,因而可暂不予考虑;病区内多个病人在同时输液,输液器分布状况,是医护人员所关心的。人在输液过程中由于肢体移动或其它原因造成输液中断时,如何及时“准确得到报警信息,也是医护人员所关心的;病人输液结束,残液状况报警也是医护人员关心的;在利用中心静脉进行输液时,由于中心静脉压为负压,输液管路中药液尽时,空气极有可能进入右心造成栓塞,是医护人员所关心的。

对于上述问题的解决,国内外许多医护人员、工程技术人员想了不少办法。主要的思路基本是围绕着如何报警来进行。在实际医院护理工作中,护理人员工作十分繁忙,尤其是在中小医院,护理人员少,而病区接受输液的病人往往较多。当输液出现异常情况时,即便是床边输液报警器发出了报警信号,护理人员也经常会听不到,或听到却来不及处理。

本设计研究的输液报警系统就是针对以上问题的。在信号的获取部分,采取输液时药液下滴与没有药滴下滴时,通过对脉冲的变化,来得到液体点滴的信号。在对信号的处理部分,由于液滴并不是规则的矩形,所以,由光敏二极管所得的脉冲也不是规则的矩形波,而是不规则的图形,而单片机程序只识别数字信号,所以,我们必须把模拟的原始信号通过转换电路转换成为数字信号。报警部分的工作是建立在单片机工作的基础上的,在医院单片机输出低电平。由于蜂鸣器的一端与电源相连而导通,蜂鸣器进入工作状态开始鸣叫,提醒护士液滴已输完或异常输液发生。

本系统采用“单片机从站 单片机主站”方案实现了输液自动报警功能

和上下位机的通信。它在临床上具有很大的应用价值。本系统的研制成功将大大降低了医务人员的工作量,减轻了病人的负担。促进医院信息化、网络化、自动化、智能化的发展,方便了医院的日常管理工作。

本设计所设计的输液报警监控系统,是利用了当前市场上价格便宜的MCS-51单片机和光电传感器,它针对性强、使用方便、操作简单、成本低廉、

价格合理、利于推广等优点。而它的第二个优点即为推广容易,它利用了已有的报警装置,不需要医院重新布线,从而合理利用了已有资源。因此它将会有很大的实用价值和经济效益。

2.2系统方案论证与比较 2.2.1 控制方案的比较

方案一:此方案是传统的两位模拟控制方案,其优点是电路简单,易于实现。但模拟方式难以把精度做的很高,难以实现系统需求中的键盘显示和动态显示滴速及远程通信的功能。

方案二:此方案采用MCS-51单片机系统来实现,可用软件实现复杂的算法和控制。这种方案方便地实现了系统需求中的键盘设定和动态显示滴速等功能,并且可以实现主站与从站之间的通信。

2.2.2点滴检测方案比较

方案一:可见光发光二极管与光敏三极管传感电路。 由于系统外界光源会对光敏二极管的工作有很大的干扰,一旦外界光亮度改变,就会影响对液滴的判断。如采用超强亮度发光管可以减小干扰,但功率损失大。所以方案一不可取。

方案二:不调制的红外对射传感器。由于直接采用直流电压对发光管进行供电,考虑到平均功率的限制,工作电流不能高于元件的额定值,对投币照射有一定的困难且仍然容易受到外部广元等干扰。

方案三:脉冲调制的红外对射传感器。 红外发射管的最大工作电流是由其平均电流决定的,采用占空比小的调制信号,瞬间电流会达到很大,大大提高了信号噪声比,提高了系统的抗干扰能力。

因此,本设计采用方案三。

2.2.3液位监测方案比较

方案一:电极法 它是从输液瓶口插入2根电极,利用药物的导电特性来检验瓶内药物是否用完。毫无疑问,该技术具有较低的成本,但存在着安全隐患—药物特性是否会因通电而受到影响,还有电极的消毒问题。

方案二:测重法 它是利用弹簧秤或压力传感器或电磁感应开关(干簧管)根据药物重量变化来判断药液输完与否,方法虽然简便,但其可靠性和适应性(对袋装及塑料瓶装液体不宜)无疑受到质疑。

方案三:液面检测法 通过固定在输液瓶或输液管上的光电传感器(有采用半导体激光的,也有采用红外光的)利用液面下降到预定位置时对光的反射或折

射情况的变化来判断药物输完与否。其中检测瓶内液面的,同样可靠性及适应性受到质疑,而且采用激光光源的还将带来一个高成本问题。

方案四:超声回波检测法 它是通过脉冲信号激励超声波发生器发出超声波,当超声到达输液瓶中液面后被液面反射回到超声波接收器,通过检测超声波从发射到接收需的时间,再根据超声波在介质中传播的速度及仪器安装高度,即可得出输液瓶中度。具有非接触的特点,且性能可靠、安全性好,具有实用价值,但是由于超声波探头价格昂贵及安装操作复杂,也阻碍了超声回波技术在静脉输液检测中的应用。

方案五:液滴计数法 它是根据临床医学的有关知识,一定量(以毫升为计量单位)的药液其输液量与药滴数有关,一般来说从莫非管式滴管滴落的每一滴为1/20毫升,或者是每20滴液滴总计一毫升。因此只要能检测液滴滴数,即可检测到药液的输入量。这种技术由于操作方便、价格便宜,且可靠性,实用性好它已经得到了大量的使用。

综合比较上面五种方案,从实用,简便同时保证测量准确度上,使用光电传感器测量储液瓶液面高度是最理想的选择。

2.2.4速度控制方案

对液体点滴速度的控制,可以使用下面两种方案:

方案一:采用输液软管夹头的松紧程度来控制液滴流速,控制滴速夹移动的距离很小,但是滴速夹的松紧调节过程中,存在很多因素,例如橡胶粘度与液体粘度,弹簧的弹力等等,都为非线性控制量,移动距离,移动阻力等参数难于计算,用机电系统实现起来较为困难。所以如果采用夹头控制难以实现类似的线性控制。

方案二:通过电机和滑轮系统控制储液瓶的高度,来达到控制液滴流速的目的,方案实现较为简便,通过步进电机可方便地实现对储液瓶高度的调节,从而达到控制液滴流速的目的,但缺点是调节储液瓶移动的的距离比较大,所需时间比较长,而且储液瓶高度与流速的关系非线性,并且没有现成的理论公式可以利用,而只能取足够多的采样点,来分析两者之间的关系,得出大致的经验公式。在自变量(储液瓶移动距离)变化范围较大的情况下,这项工作较为繁杂。

第一项第二项方案经过综合比较,使用电机调整高度来实现控制效果较好, 因此决定选择第二项的方案。

2.2.5电机的选择

首先讲讲电机的选择,常用的电机主要有以下几种:直流电机、步进电机、

图3-9 主站通信接口图

3.3 主站的硬件电路图及工作原理

主站由8051单片机构成,同时还包括键盘输入单元,数码管显示单元。其硬件具体检测电路如图所示:

图3-10 主站电路图

3.3.1键盘单元

键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就是说键盘是一组规则排列的开关。按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。因此,微机系统中最常见的是触点式开关按键,本设计也不例外。按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中,本设计便是如此。本设计使用的是机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程所示,抖动时间的长短与开关的机械特性有关,一般为5~10ms。按键触点的机械抖动在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,由于本设计键数较多,故采用软件去抖。软件去抖采取的措施是:在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。

一个完善的键盘控制程序应具备以下功能:(1)检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。(2)有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。(3)准确输出按键值(或键号),以满足跳转指令要求。

本系统因使用的按键较多,故采用矩阵式(也称行列式)键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独

立式按键键盘要节省很多I /O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。设计的键盘电路如图所示。

在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。编程扫描方式是利用CPU完成其它工作的空余调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。采用上述两种键盘扫描方式时,无论是否按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态,为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。

图3-11 键盘设计电路

3.3.2 数码管显示单元

单片机的显示器常常使用七段发光数码显示器(LED),能显示数字和部分字英文母。每个数码管显示器由8个发光二极管组成,阳极连在一起的成为共阳极显示器,阴极连在一起的叫做共阴极显示器。当二极管导通时,相应字段发亮,显示出各种字符,例如,对共阴极显示器,公共阴极为低电平,阳极为高电平,gfedcba为1001111时,则显示3。

(a) 外形 (b) 共阳极 (c)共阴极

图3-12 数码显示器结构

本次设计采用动态显示方式驱动3个七段数码管,来显示点滴的速度。数码管采用共阴极,由于8051单片机每个I/O的上拉电流只有1-2mA。所以在位码和段码之间都加上反向驱动器。

图3-13 数码管显示电路

3.4主从站芯片时钟电路

8051的时钟可以由两种方式产生,即内部时钟方式和外部时钟方式。内部时钟方式利用芯片内部的振荡电路,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路将自激振荡。可以用示波器观察到XTAL2输出的波形。定时元件可用晶体振荡器和电容组成并联谐振回路,如图所示。晶体振荡频率可在2~12MHz之间选择,电容C在5~30pF之间选择,外部时钟方式是XTAL1接地,XTAL2接外部振荡电源。

图3-14 时钟电路

3.5 主从站复位单元

在8051单片机的时钟电路工作以后,RST引脚上出现24个振荡周期以上的高电平,8051单片机芯片内部初始复位。复位后,P0~P3口输出高电平,即P0~P3口的内容是FFH,初值07H写入栈指针SP,其余的特殊功能寄存器和程序计数器PC被清零。RST从高电平变为低电平后,8051单片机从0地址开始执行程序。8051单片机初始复位不影响内部RAM的状态,包括工作寄存器R0~R7。8051复位后内部寄存器的初始状态如表所示。

表3-1 8051复位后内部寄存器初态 特殊功能寄存器 ACC B PSW SP DPL

初始状态 00H OOH OOH O7H OOH 特殊功能寄存器 TCON TH0 TL0 TH1 TL1 初始状态 00H 00H 00H 00H 00H

DPH P0~P3 IP IE TMOD 动复位。

OOH OFFH XXX00000B 0XXOOOOOB OOH SCON SBUF PCON 00H 不定 0XXXXXXXB 8051单片机的复位方式有上电复位和手动复位两种,本次设计采用的是手

图3-15 复位单元

3.6供电单元

任何电气设备的使用均离不开供电系统,在整个单片机系统设计中,电源的设计是必须要考虑的。电源的设计取决于系统所要求的供电方式,如是采用单电源方案,还是多电源方案,系统的功耗有无特殊规定等。在本设计中由于系统所选用的单片机是8051,它的标准工作电压为+5V,采集所用的发光二极管和光敏三极管等电路它们的工作电压都是+5V,因此在本设计中采用单电源方案,单电源方案的优点是系统简单、工作可靠。此外由于设计到对步进电机的控制,还需加入一较高的电源电压以便增强电机的驱动能力。考虑到用电安全及设计方便等因素,将其设定在+12V。因此我们的目标是设计出一个能够提供+5V与+12V的电源,其电路如图所示。

图3-16 电源电路

由上图中可以得知,此电源电路可以将220V的交流市电转换为+12V和+5V直流电进行输出。从原理上看,首先将220V交流市电通过变压器转换为24V交流电,然后采用二极管桥式整流电路并通过滤波电容C11对其进行整流,获得略低于24V的直流输出,经过C13滤除纹波电压后进入集成稳压源L7815产生+12V直流电压提供给使用,同时此电压又作为MC7805的输入电压,通过MC7805产生+5V电压供系统逻辑电路和各模块使用。这种做法的好处是只使用一个变压器,降低了成本,同时还减小了+5V直流电源的纹波电压。

第四章 液体点滴监控系统的软件设计

输液远程监控系统从站核心是单片机,而软件是单片机控制系统的关键,一个单片机控制系统的功能实现和可靠性在很大程度上决定于软件。本系统的从站站系统软件设计的重点在于:

(1)INTO中断处理程序,主要是用于对光电传感器转过来的液滴信号进行计数;

(2)INT1中断处理程序,主要是用于对光电传感器转过来的检测液面液滴信号进行中断处理;

(3)基于TTL双机通信的通信接口程序,关键是软件传输信号的处理; (4)主模块框架的构建,关键是微处理器资源的合理分配和使用;

开始 初始化 向主机申请 设定滴速 滴速检测 与主站通信 异常? Y N 发出报警信号 Y N 报警解除

图4-1 从站流程图

4.1从站各模块软件设计

从机监控系统程序由若干个子程序模块和一个主控程序模块组成,其中主控程序模块是软件系统的核心,其作用是管理协调各子模块,使之按照设计的流程进行工作。

4.1.1主控模块设计

主控模块作为软件系统核心,在工作的时候首先对数据缓冲区和串口部分进行初始化,然后协调各子模块进行工作。本设计的初始化主要包含以下两方面,一方面是对串口进行初始化,让串口工作在方式1,波特率则由定时器T1的溢出率进行设定,设置为1200bit /s,并处于允许接收的状态。单片机外围电路中使用频率为11.0592MHz的晶振,需将定时器1的初始值设定为248(0E8)。因为串口数据通信过程中的发送与接收都必须通过中断来进行实现,故而还必须设定串口的中断方式;另一方面是对外部中断0的设置,在输液监控系统中,每当有液滴下落时,液滴检测电路就会将其产生的电信号捕捉,送到信号整形与A /D转换电路中,最后产生一个数字脉冲,送至单片机内部使之产生一个外部中断0。系统在此中断计数时,需要开启外部中断0,且将其设置在电平触发模式,以及用于技术的R4寄存器的清零。

4.1.2点滴速度测量模块设计

点滴速度可以有以下两种方式进行测量:

方式一:以点滴间隔为单位,记录一次点滴的时间,用60除以点滴单位时间就可得到每分钟的点滴数。这种方法用到除法操作,而且当点滴速度较快时,测量误差较大,因为测量单位点滴时间的误差回被60秒这样大的时间单位放大。但此法在修正点滴速度时,可以实时的测得当前的点滴的速度变化量,适合在调整滴速度使用。

方式二:以单位时间记录点滴数。通过简单的乘法就可计算出点滴速度,但此法也存在单位时间内不是完整的点滴数目,从而存在一定的测量误差。但是,此法在点滴速度恒定的情况下,可以采用多个单位时间取均值,从而求得单位时间的平均点滴数,这样可以达到比较好的精度。

在本设计系统中,采用将两者结合的方法进行测量。以点滴为单位,同时记录单位时间内的点滴数。通过对多个点滴测量计算出点滴速度。实现原理如下:

中断计数

A B 中断计数 图4-2 速度计算实现原理

使用定时器T0定时200?S,当检测到第一个到来的脉冲信号时,程序进行中断处理,将计数器存储内容读出,再将计数器清零作为记录脉冲信号的初始值计为COUNT=0,当定时器定时到达200?S时,程序中断检测输入信号是否有脉冲信号到来,同时计数器加1即为COUNT=1,另外设定计数器COUNT1记录检测到的脉冲信号个数,设定计数器COUNT1的存储单元是10,这样可以通过循环存储脉冲个数。在定时器COUNT1中取出5个相临脉冲信号点(设起始脉冲点是x,此时对应的计数器COUNT值是n1,第五个脉冲点是x+5,此时对应的计数器COUNT值是n2)这样就能计算出5个脉冲点所需要的时间为:

t?(n2?n1)?200?S (4-1)

由式(4-1)得到相临脉冲信号时间间隔的平均值 点滴速度:v?

其中sum?tT?,这样就可以得到

560S1500?Tsum (4-2)

n2?n1根据上面的理论分析和计算,得到点滴速度测量的程

序框图如图 。

图4-3 点滴速度测量程序流程

Y Y 定时200uS 开始 设置计数器COUNT= 0 设置计数器COUNT1= 0 定时结束 N 退出 中断 COUNT加1 检测到脉冲信号 N 计数器COUNT1加1

4.1.3电机控制算法 4.1.3.1 电机控制原理

实现原理:检测液体点滴速度,同150滴/秒进行比较,当点滴速度小于150滴/秒时,电机控制点滴装置上升直到点滴速度到达150滴/秒。慢慢降低高度,检测点滴速度,和相应高度建立一一对应列表。可以通过两种方式生成列表。

方式一:等间隔方式生成列表。步进电机运行在非匀速状态,以保证等间隔下降。由于高度和点滴速度的近似线性关系,可以通过等间隔方式比较准确的列表,但是实现电机的非匀速转动,相应的增加了软件的难度。

方式二:步进电机匀速生成列表。当步进电机转动时,绕线直径变小,装置下降位移间隔减小,这样当点滴速度较小时调节范围便小,调节效果比等间隔产生的效果好。

综合比较,在探索过程与实际检测中,发现使用步进电机匀速方式生成列表

效果比较好,故而采用步进电机匀速方式生成列表。

4.1.3.2点滴速度控制

动来改变的,这样就可以避免测量h2的值,直接通过改变步进电机的转角即能实现对点滴速度的控制。在对点滴速度进行控制之前,单片机通过自学习产生高度h2和点滴速度之间的对应关系列表,为了在保证控制精度的前提下,尽量减少控制调节的时间,可以先通过大范围内调节到设定点滴速度附近,再通过微调将点滴速度调节到?10%?1滴的精度内。

是 开始 通过改变高度h2来实现对点滴速度的控制,而高度h2是由步进电机的转

设置点滴速度V 检测点滴速度V1 V-10%-1滴V+10%+1 是 电机反转,减小h2 电机右转,增加h2

图4-4 步进电机调整点滴速度

根据测量及查询相关资料,发现液体的滴速和液瓶的高度成线性关系,如下图,如果我们把每厘米对应的液瓶的高度输入单片机,然后根据现在的滴速和键盘输入的滴速相比较,如果大,步进电机反转,调整到相应的高度;如果小,步进电机正转,调整到相应的高度。由于步进电机是在匀速运动情况下进行调整,而实际情况是步进电机不会再匀速下进行运动,所以产生误差,但由于是百分之事情的误差范围是可以接受的,所以可以认定此种方法可以控制滴速。

0 图4-5 液面高度与液滴流速的关系图

150 液面高度/厘米 170 滴数/分

4.1.4通信程序通信模块设计

要实现输液的监控,主站和从站之间必须有通信模块。在下位机的模块程序通信程序的设计是程序设计中的重点。在设计通信程序时,必须设置串行通信口的通信参数和通信协议的约定。

4.1.4.1串口通信参数设置

在设计串口通信程序时,必须设置串行口的通信参数,它包括通信的波特率、数据位数、起始位、停止位以及奇偶校验位等。对于单片机而言,有些参数是固定的,如数据位数是8位,起始位是1位,停止位是1位。可变的参数只有波特率和奇偶校验位。

单片机串行口的工作方式有4种,即方式0、方式l、方式2和方式3。其中方O是移位寄存器方式,不能进行串行通信。方式1到方式3都可以进行串行通信,只是通信的过程存在一些差别。对于不同的工作方式,波特率的设置方式也不同。

在本设计种有选用的单片机串行口工作方式l,它是一个10位异步串行接口(UART)。这里传送的一帧长度为10位,包括1位起始位、8位数据位和1位停止位,不包括奇偶校验位。TXD为数据发送引脚,RXD为数据接收引脚,波特率由定时/计数器T1的溢出率决定,是可变的。发送时,数据从ECD(P3.1)引

脚输入,当数据写入发送缓冲器SBUF时,就启动发送。发送完一帧数据后,由硬件将TI置1,并申请中断,通知CPU可以发送下一个数据。

接收时,由软件使REN置1容许接收,串行口采样引脚RXD(P3.O)。当采样到1至0的跳变时,确认是起始位“0”,就开始接收一帧数据。当停止位来到之后将停止位送入RB8位,由硬件将RI置1,并申请中断,通知CPU从SBUF取走接收到的一个数据。

所谓定时器Tl的溢出率,是指单位时间内定时器Tl的溢出次数。设定时器初值位X,则定时器溢出率的计算公式为:

晶振频率nT1溢出率=/(2?X)12通常在T1被用作串口波特率时,T1常被设置为工作模式2,即8位自动装入值的定时器模式。此时,TL1被用做8位定时器,TH1用于保存定时器初值,当定时器T1溢出时,会自动装载初值,无需进行软件处理。这样上述公式中的n值就是8,

在这种情况下,波特率的计算公式为:

fOSC2SMOD2SMOD 波特率=?定时器T1溢出率=?323212(256-X)

通常在系统设计时,大多数情况是先确定了系统的波特率B,再根据系统的波特率B计算定时器Tl的计数初值,因此计数初值X为:

2SMOD?fOSC2SMOD?fOSCX?256??256?32?12?B384?B

在本设计中所有晶振为11.O592MHz,波特率设置为1200bit/s,因此计数的预置值X为:248(OES)。

4.1.4.2通信协议约定

在串行口通信的硬件设计完后,通信双方必须约定通信协议。协议一方面要规定通信的基本参数,如通信波特率、数据位数、停止位数及奇偶校验的方式等,更重要的一方面是要规定双方传输数据的格式,以及传输数据时控制数据流的方式。不管什么接口标准,它只负责解释传输线上的数据值,并不解释传输的各数据值本身及其组合在一起时的含义。因此通信双方必须在通信前规定这些数据的

含义,即规定表征数据含义的数据格式。

在本设计中,主站(单片机)和从站(单片机)采用查询方式发送控制字符和数据,采用中断方式接收字符和数据。帧格式为:

表4-1 帧格式

地址 1字节 类型 1字节 数据长度 1字节 数据 字节数不定,可以为零个。 奇偶校验位 0字节

在数据帧外部,为了保证通信的透明度,使用SLIP协议进行串行通信封装,其转义字符为Oxdb,帧结束标志为OxOA,整个帧作为SLIP协议的数据部分。

一帧的传输经过大致有以下几个步骤:

(1)无传输通信线路上处于逻辑?1'状态,或称传号,表明线路无数据传输。 (2)起始传输发送方在任何时刻将通信线路上的逻辑'1'状态拉至逻辑'0'状态,发出一个空号,表明发送方要开始传输数据。接收方在接收到空号后,开始与发送方同步,并希望收到随后的数据。

(3)数据传输起始位跟着要发送或接收的一串位序列,即表示一个字符代码。数据位传输规定最低位在前,最高位在后。数据位的确定是根据实际需求以获得最佳传输速度。

(4)奇偶传输数据位之后是可选择的奇偶位发送或接收。奇偶位的逻辑状态取决于奇偶校验的类型。必须保证在同一次传输过程中,每帧选择的奇偶校验类型是一致的。

(5)停止传输奇偶位之后是发送或接收的停止位,其逻辑状态恒为1,位时间可在1、1.5或2位选择,且必须保证在每帧传输其间均为相同。

4.1.4.3本设计的通信程序设计

在下位机主程序流程图中串行口初始化在主模块完成,使本机处于通讯状态。定时/计数器l用作波特率发生器,定时/计数器0用作超时处理的定时器。初始化后,打开串行口中断等待串行口中断产生。在通信程序中将串行口设置为模式1工作方式并由定时器1采用方式2定时,振,波特率设置为120Obit/s,然后启动定时器1,开放串行口中断,为最高优先级。选用11.O592MHz晶振并将其优先权设置。其通信模块流程图如图 所示。

主站

从站

图4-6 主站和从站之间的定点通信 结束 结束 发出控制命令 响 应 接 收 应 答 发 出 应 答 发 出 请 求 接 收 请 求 开始 开始 4.1.5报警模块设计

查询检测液面是否低于设定值的报警模块程序设计主要是INT1中断来实现的。一旦检测到光电传感器之间有信号,就像检测液滴速度时有液体滴下,说明液面已经低于所设定的预设值。此时INT1的电平发生转变,INT1开始工作,给报警标志位置1,并把单片机的P3.4脚置1,使它驱动蜂鸣器和发光二极管进行声光报警,提醒医务工作者开始更换输液瓶。

报警请求 启动报警电路 中断返回

图4-7 报警模块流程图

输液远程监控系统主站核心是单片机,而软件是单片机控制系统的关键,一个单片机控制系统的功能实现和可靠性在很大程度上决定于软件。本系统的主站系统软件设计的重点在于:

(1)4×4矩阵键盘输入,主要是用于对点滴速度的设定; (2)8位数码管显示,主要是用于对从站点滴速度的显示;

(3)基于TTL双机通信的通信接口程序,关键是软件传输信号的处理; (4)主模块框架的构建,关键是微处理器资源的合理分配和使用;

图4-8 主站程序流程图

开始 初始化 与从站通信显示 异常? N Y 向从站发送控制信息 报警

4.2 从站各模块软件设计

主站监控系统程序由若干个子程序模块和一个主控程序模块组成,其中主控程序模块是软件系统的核心,其作用是管理协调各子模块,使之按照设计的流程进行工作。

4.2.1 主控模块设计

主控模块作为软件系统核心,在工作的时候首先对数据缓冲区和串口部分进行初始化,然后协调各子模块进行工作。本设计的初始化主要包含以下两方面,一方面是对串口进行初始化,让串口工作在方式1,波特率则由定时器T1的溢出率进行设定,设置为1200bit /s,并处于允许接收的状态。单片机外围电路中使用频率为11.0592MHz的晶振,需将定时器1的初始值设定为248(0E8)。因为串口数据通信过程中的发送与接收都必须通过中断来进行实现,故而还必须设定串口的中断方式。

4.2.2 输入键盘模块的设计

输入键盘采用的是矩阵键盘,矩阵键盘中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,

当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。确定矩阵式键盘上何键被按下使用的是“行扫描法”。

1、判断键盘中有无键按 全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。

2、判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

图中,8051单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。4根行线和4根列线形成16个相交点。

1、检测当前是否有键被按下。检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“1”,则无键闭合,否则有键闭合。

2、去除键抖动。当检测到有键按下时,延后一段时间再做下一步的检测判断。

3、若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。4、为了保证键每闭合一次CPU仅作一次处理,必须去除键释放时的抖动。

4.4.3 数码管显示模块的设计

数码管显示模块选用的共阴极数码管,三个数码管并排显示,通过反向器驱动数码管,来显示出当前点滴速度,分别显示点滴速度的百位、十位、个位。

图4-9 键盘行扫描法扫描流程图

Y N

Y N 键盘扫描 有键闭合 延时去键抖动 键盘扫描 N 找到闭合键 Y 计算键值 建立无效标志 闭合键释放 建立有效标志 返回

开始 初始化 数据转化成BCD码,送入缓冲区 判断有没有键盘按下 Y N 延时子程序 继续扫描显示 显示

图4-10 键盘输入程序

初始 输出位选通信号 初始化显示参数 延时 关所有位显示 位选通信号移位 取显示数据 指向下一个显示数据 输出段码数据 3位完成 返回 图4-11 数码管显示流程图

本文来源:https://www.bwwdw.com/article/nen7.html

Top