基于单片机医用智能输液泵的研究与设计.doc

上传人:李主任 文档编号:3264667 上传时间:2019-08-07 格式:DOC 页数:42 大小:537.47KB
返回 下载 相关 举报
基于单片机医用智能输液泵的研究与设计.doc_第1页
第1页 / 共42页
基于单片机医用智能输液泵的研究与设计.doc_第2页
第2页 / 共42页
基于单片机医用智能输液泵的研究与设计.doc_第3页
第3页 / 共42页
基于单片机医用智能输液泵的研究与设计.doc_第4页
第4页 / 共42页
基于单片机医用智能输液泵的研究与设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《基于单片机医用智能输液泵的研究与设计.doc》由会员分享,可在线阅读,更多相关《基于单片机医用智能输液泵的研究与设计.doc(42页珍藏版)》请在三一文库上搜索。

1、基于单片机医用智能输液泵的研究与设计 摘 要随着科技的发展,越来越多的领域需要对流量或流速进行精确控制。尤其现代医疗领域对静脉输液流速和护理的要的流求越来越高.本装置就是采用89C51控制步进式电机挤压输液管控制液体点滴速度,并采用红外线光电传感器检测点滴速度,具有反应快,灵敏度高的优点。并详细介绍了单片机组成的电机控制系统,以及通过扩展8255芯片完成键盘和现实电路的设计。该系统还可以通过RS-232芯片与上位机组成主从控制网络,实现统一控制。并具有输液完了和气泡报警等功能,使用灵活方便。关键词:89C51,步进式电机,红外线传感器,8255,RS-232Abstract Along wit

2、h the technological development, more and more realms need discharge or current velocities of the convection proceed precision control, The particularly modern medical treatment realm loses the liquid current velocity to the vein to want with the nursing of flow to beg more and more high. This devic

3、e is to adopts a 89C51s enter the type electrical engineering squeeze to lose the liquid control system liquid intravenous drop speed. Combining the adoption infrared ray light fax feels machine examination intravenous drop speed,respond quick,the sensitivity is good. Combine detailed introducing th

4、e single electrical engineering control system that a machine constitute, and pass to expand 8255 design for completing keyboard with realistic electric circuits. That system can also pass the slice of RS-232 constitutes with place of honor machine the lord from the control network, realizes to unif

5、y the control. Combine to have the liquid of lose over the friendly bubble reports to the police to wait the function, using the vivid convenience.Keywords: 89C51s, the type of stepping, the sensor,8255, RS-232目 录第一章 绪 论11.1 引言11.2 智能输液泵可实现的功能21.3 输液泵在临床医疗应用的现状21.4 智能输液泵与莫菲氏点滴法的区别及优点2第二章 方案论证42.1 总体

6、方案论证42.2 方案比较4第三章 硬件系统设计83.1 AT89C51单片机管脚特性及相应参数83.2 传感器控制检测113.3 步进电机控制电路123.4 滴数换算方法133.5 键盘和显示部分143.6 与上位机的通信16第四章 软件设计184.1初始化模块194.2步进电机控制214.3键盘和显示子程序294.4 与上位机通信模块32结束语39参考文献39致 谢4039第一章 绪 论1.1 引言随着科技的发展,越来越多的领域需要对流体的流量或流速进行精确控制,如化工领域对微量元素的检测和分析常需要精确控制流量,机械领域也常常涉及到精确流量的控制。除此之外,医疗保健领域中对各种药液的流量

7、与流速也需要精确控制。 静脉输液室一种最常用的临床治疗方法,使护理专业的一项常用给药治疗技术。临床上应根据药物和患者情况不同配以适当的输液数量和速度。如输液过快,可能导致中毒,更严重时会导致水肿和心力衰竭;输液过慢则可能发生药量不够或无谓地延长输液时间,使治疗效果受影响并给患者和护理工作增加不必要的负担。常规临床输液。普遍采用莫菲氏挂瓶输液,并用眼睛观察,依靠手动夹子来控制药滴速度,不易精确控制输液速度,而且护理人员工作量大,不适于大型医院及战地医疗的护理。 癌症病人的化疗和病危病人的抢救治疗需要使药物以恒定的速度灌注,通过调节输入的速度和时间将化疗药物均匀地注入,既达到化疗的效果,又能最大限

8、度地降低化疗药物的副作用。 糖尿病人遭受病痛的折磨,需要以一定的速度给他们注射一定剂量的胰岛素。以往的做法基本上是一次注射较大剂量的胰岛素,这不仅造成巨大的浪费,而且药效作用时间也较短,一次极需一种流量和流速能控制的持续输送装置,来输送少量的药物并控制其输送速度和流量。 对老人儿童和体质较弱者输送某些特殊药物,如麻醉药,降压药硝普钠,TPN(三磷酸吡啶核苷酸)等时,输液速度和用药量尤其需要认真精确控制,否则会产生严重的后果。 血液非常容易凝固,输血时很容易阻塞输液管。要保证血流速大于某一值,才能顺利输血。 另外,不管是输液还是输血,普通输液器对输液完毕和输液过程中偶然遇到的故障,如气泡,阻塞等

9、都不能自动报警,也不能及时切断输液通路,从而产生不良后果。应该及时处理,以避免血液倒流或其它后果。因此需要用智能输液泵来控制药液的输送,并进行异常报警 1.2 智能输液泵可实现的功能智能型医用输液泵可满足多种功能的需求,归纳起来,输液泵可实现以下功能:.可精确控制输液的速度 .可精确测定和控制输液量 .输液速度控制范围可精确到51000ml/h .能对气泡,输液完毕等异常情况进行报警。 .实现智能控制输液 .控制误差: 3% 1.3 输液泵在临床医疗应用的现状输液治疗是现代医药学中最常执行的操作,也是病人衡量护理技术操作水平的重要依据,它直接影响病人的安全和病人满意度以及康复的结果。 据某医院

10、2003年1月2004年12月调查资料表明,该院20个临床科室发生护理缺陷58例,有关输液治疗的护理缺陷26例,占45%,致病人投诉3例。发生输液护理缺陷的护理人员工龄12年的17人次,占65%;工龄25年的7人次,占27%;工龄5年以上的2人次,占8%。如此大规模的误操作,必定汇给病人和医院本身带来无法预计的后果,并且在现代医学护理中,根据患者病情的不同,使用的药物及所需要的滴注速度也不相同。为改变输液时仅凭护理人员不断地查看滴速是否异常、输液是否完毕然后手动调节的原始方法,需研制出一种智能型输液泵。这类输液泵在市场上已经有所应用,但目前在医院中使用的静脉输液泵价格均比较昂贵,一般在12万元

11、之间,所以在医院中大多只用于危重病人的监护输液,而普通病人的静脉输液多数仍采用手动方式、人工看护。为了改变这种现状,使普通病人的静脉输液也能自动得到监视和报警,减轻医护人员的负担,保证树叶的精确性、安全性,并且便于集中管理,我设计了一种低价位、高性能的智能医用输液泵。 1.4 智能输液泵与莫菲氏点滴法的区别及优点传统的临床护理中,多采用莫菲氏滴管输液法 ,莫菲氏点滴法问世至今已有一百多年的历史,该法在治病救人中起到了无可替代的作用,但使用中存在着诸多不便,尤其在战地和野外救护中更为突出。如:要靠高度差才能输液,否则,不但不能输液,还会导致血液倒流,造成危险。 随着大规模数字集成电路的发展,数字

12、电路在各行各业的应用也日益普及,医疗输液泵在对病人的治疗领域成为不可缺少的仪器,它可以在输液过程中精确控制流速,利用单片机对步进电机的控制来调节流速,弥补了莫菲氏点滴法的诸多不足,如伤、病员在移送,走动等过程中,可以做到无需架子的任意放置,达到正常输液救护的目的,可自主设定输液速度、输液完了报警、气泡报警等功能。所以智能输液器的各种优点必将受到人们的重视,未来的开发必然会给医疗护理领域以及战地医疗带来极大的影响。第二章 方案论证2.1 总体方案论证在详细的了解了设计要求后,通过资料的查阅,对各部分功能的掌握以及以往输液器成品的了解,在反复比较和计算的前提下,建立了总体方案的框图。 图1.1总体

13、上确立了由AT89C51为控制芯片,通过扩展片8255连接键盘,并由液滴监控电路、气泡检测电路、步进电机驱动电路和RS-232与上位机连接形成的系统结构。利用红外传感器检测液滴流速,将采集到的数据送与AT89C51;CPU则控制步进电机蠕动角度和速度,将步进电机的角度转动量转化为直线进给,并反复计算得出在一段时间内电机控制下的实际滴数 其与预设值相比,保证在系统允许误差范围内正常工作。保持系统稳定、精确的工作。 2.2 方案比较方案一:利用红外管发出红外光,受到莫菲氏管内液滴的阻挡,变成断续的液滴信号,红外受光管将受到的断续得信号整形、放大成脉冲信号。这个信号经接口电路送入微机处理器,处理器根

14、据原设定的医学要求进行数据处理,并送往输出接口电路,再由电机驱动电路驱动直流电机,直流电机带动气泵往药液瓶内送气,使瓶内产生一定的压力,以控制液滴的滴注速度,使之达到临床输液要求。总体结构如图1.2所示。 红外线发光管红外线受光管信号发射处理输入接口电路微处理器输出接口电路电机驱动电源直流步进电机挤压泵键盘输入液晶显示器PC上位机图1.2具体使用方法如下:a. 准备好药液,将输液瓶卡入支架内,并将气泵嘴插入气管口内,将莫非氏管卡入莫非氏支架内。b. 将电源开关置于ON,仪器显示01:23:45,此时按一下设置,仪器显示500ml,根据实际药液量,用+键、+键或-键,设置好输液总量。 c. 再按

15、设置键,仪器显示40滴 ,根据病情用+键、+键、-键设置输液速度(滴/分)。d. 断续按动NC键,使输液管排气,当空气排净后使液滴正常滴注。e. 常规消毒后,将输液针头插入静脉,固定好,按行动键,自动输液开始。f. 当药液剩余量为30ml时,仪器蜂鸣报警,待输液结束,取出针头、药瓶,将电源开关置于off。g. 需要充电时,将充电器输出插头插入仪器充电插座内,充电器指示灯亮,当指示灯熄灭,充电结束。方案二:采用AT89C51芯片,通过光电传感器监测液滴信号,经脉冲整形电路送芯片(当无液滴落下时,光电传感器输出低电平;当液滴经过传感器,传感器感测到光线变化,输出脉冲信号,送与芯片的电平为高电平),

16、单片机芯片根据接收到的脉冲的频率就可以计算出当时的输液速度,并控制步进电机转速以精确控制流量和流速。 一、本方案的液滴检测部分采用的是直射式红外光电传感器ST150该传感器特点如下:1 采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。2 采用非接触检测方式。3 光缝宽度(分辨率)有0.8mm、0.4mm两种该光电传感器外形尺寸小巧,灵敏度高且价格便宜,能满足本设计输液器的各项性能要求指标。 二、步进电机部分采用四相步进电机35by48bh10驱动电压为12v。采用ULN2003芯片对其驱动,驱动电压为5v,该电压小于12v,因此要外加电压直到12v从而为电机提供足够的能量。 三、显示部分

17、 采用数码管显示方式,比起液晶显示器数码管能实现相同的功能且价格低廉,所以选择74LS48 数码管显示较为合理。 四、步进电机控制液滴流速 为力求得到准确的、实时的数据,并且控制液滴数和预设值的起始误差在3%的范围内。由于具有步进电机进给的非线性数据,所以只能经过几次的电机进给角度得到一段时间内实际的滴数,再和预设值相比较,控制在误差范围内。具体分析过程如下:测得电机转角最大值和最小值的滴数。根据病人的实际情况设定预设值,假如起始值输入每分钟100滴,设定测试时间的范围为30秒,如果实际得到只有60滴,而此时步进电机的转角为30度,那么加大步进电机的进给角度为60度,得出实际的滴数,假如得到1

18、10滴,那么逐渐减小角度,若得到90滴,就再加大进给角度,经过多次的调试,得到再测试时间范围内的稳定实际数值在和预设值的允许误差范围内,则此方案可行。因为测试时间较短,一个储液瓶滴完大概要一个小时左右,远远大于装置的测试时间,一点不影响正常病人药液的输入,故可以忽略。此计算方法简单明了,容易实施。 比较以上两种方案,前一种控制复杂,系统造价较高且精度不好,利用空气压力控制流速会对外界条件的要求很苛刻,对输液瓶的结构要求也很高,不适合使用在经济不发达的医疗机构或站地医疗之中。而方案二控制原理简单,实现的功能俱全,且整体造价经济,易于操作,对外界环境要求不高,是总体性价比较高的方案,故选择第二套方

19、案。 第三章 硬件系统设计总体硬件设计硬件设计的基本思路是实用、可靠以及小型化。为此选用了美国ATMEL公司AT89C51 单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。气泡检测电路由红外传感器及放大器组成。传感器采用ST150,当有气泡通过时,发射管发射出的光信号由于气泡的影响而改变了强度,造成接收管电压的改变,经放大器LM324放大后给89C51 发出一个低电平信号。阻塞检测电路由一个橡

20、胶导管及微动开关组成,当出现输液阻塞现象时,药液流入橡胶导管,触动微动开关,微动开关发给89C51 一个低电平号,89C51接到低电平信号后,控制报警蜂鸣器及故障报警灯进行声光报警,步进电机停止运动,进行故障处理。步进电机驱动电路采用ULN2003芯片,89C51通过驱动电路来驱动步进电机,步进电机转速与输液速度成正比。控制电机的转速即可改变输液的速度。输液容量与步进电机运行的步数以及输液泵系统的脉冲当量(即步进电机每运行一步输液泵输出药液的体积) 成正比。不同的输液管对应的脉冲当量不同。控制步进电机运行的步数即可控制输液量。3.1 AT89C51单片机管脚特性及相应参数AT89C51是一种带

21、4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。3.1.1 主要特性 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定1288位内部RAM32

22、可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.1.2 管脚说明 VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被

23、外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号

24、。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验

25、接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PS

26、EN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 图3.1振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放

27、大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2 传感器控制检测气泡检测电路由红外传感器及放大器组成。传感器采用ST150 红外对管,当有气泡通过时,发射管发射出的光信号由于气泡的影响而改变了强度,造成接收管电压的改变经放大器LM324放大后给AT89C51 发出一个低电平信号。阻塞检测电路由一个橡胶导管及微动开关组成,当出现输液阻塞现象时,药液流入橡胶导管,触动微动开关,微动开关发给AT89C51 一个低电平信号,AT8

28、9C51接到低电平信号后,控制报警蜂鸣器及故障报警灯进行声光报警,步进电机停止运动,进行故障处理。输液完毕与此同理。本方案的液滴检测部分采用的是直射式红外光电传感器ST150特点:1 采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。2 采用非接触检测方式。3 光缝宽度(分辨率)有0.8mm、0.4mm两种该光电传感器外形尺寸小巧,灵敏度高且价格便宜,能满足本设计输液器各项性能要求指标。 LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电

29、流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列下图。 图3.23.3 步进电机控制电路在这里采用ULN2003芯片来对四相步进电机进行驱动。下面介绍用AT89C51单片机驱动步进电机的方法。这款步进电机的驱动电压12V步进角为7.

30、5度一圈360度,需要48个脉冲完成。该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。采用51驱动ULN2003的方法进行驱动。硬件连接如下图。 图3.3ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,可自行加大驱动电压到12V。; A组线圈对应 P2.4; B组线圈对应 P2.5; C组线圈对应 P2.6; D组线圈对应 P2.7; 正转次序: AB组-BC组-CD组-DA组 (即一个脉冲,正转 7.5 度)。3.4 滴数换算方法测得电机转角最大值和最小值的滴数。根据病人的实际情况设定预设值,假如起始值输入每分钟100滴,设定

31、测试时间的范围为30秒,如果实际得到只有60滴,而此时步进电机的转角为30度,那么加大步进电机的进给角度为60度,得出实际的滴数,假如得到110滴,那么逐渐减小角度,若得到90滴,就再加大进给角度,经过多次的调试,得到再测试时间范围内的稳定实际数值在和预设值的允许误差范围内,则此方案可行。因为测试时间较短,一个储液瓶滴完大概要一个小时左右,远远大于装置的测试时间,一点不影响正常病人药液的输入,故可以忽略。此计算方法简单明了,容易实施。3.5 键盘和显示部分键盘的主要功能是随时设定输液速度,本设计的键盘部分设计十分简单,按键“+ +”的的功能是加大输液输液速度按键的输入值设为F,按键“”的功能是

32、减小输液速度按键的输入值暂定为E,按键“启停”的功能是设定输液速度后按一下 这是输液开始,再按一下输液停止按键设为D。输液速度和输液时间都可以通过输入数字值设定。在这里采用8255芯片与单片机连接做键盘的设计。3.5.1 8255芯片结构特点介绍8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设

33、连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。引脚功能介绍如下;RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据

34、。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,

35、每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器. 当A0=0,A1=0时,PA口被选择; 当A0=0,A1=1时,PB口被选择; 当A0=1,A1=0时,PC口被选择; 当A0=1.A1=1时,控制寄存器被选择本设计所需的按键比较少所以我们将其设计为4*4键盘,多出的按键可以为以后扩展功能备用。图3.4本设计的显示部分的主要是功能是显示输液的速度值和输液的时间,便于观察和更改适当的输液速度。硬件考虑到节约成本采用的是74LS48 数码管而不是液晶显示。由于精度

36、要在-+%3 因此四位显示足够本设计的要求。硬件连接如下图3.5所示。图3.53.6 与上位机的通信 本设计与上位机进行通信的主要目的,是在输液完毕和输液泵阻塞的时候能够向远处护理人员发出报警信号,使之尽快的解决问题。通信方式采用串行通信。 串行通信是指通信的发送方和接收方之间的数据信息的传输是在单根数据线,以每次一个二进制位移动的他的好处是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信,他的缺点是传送速度低,串行通信有异步通行和同步通信两种基本通信方式,同步通信适用于传送速度高的情况,其硬件复杂,而异步通信应用于传送速度在50-19200波特之间,是比较常用的传送方式,在异步通信

37、中,数据是一帧一帧传送的,每一串行帧的数据格式由1位起始位,5-8位的数据位,1位的奇偶校验位(可省略)和1位停止位4部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。 RS232C是一种电压型总线标准,可用于设计计算机接口和终端或外设之间的连接,以不同的极性的电压表示逻辑值。-3-25V表示逻辑1。+3+25V表示逻辑0。其电平和TTL和CMOS电平是不同的,所以在通信时必须进行电平转换。 MAXIM公司的MAX232/MAX232A接收/发送器是MAXIM公司特别为EIA/TEA2232E的标准而设计的,他们在EIA/TIA2232E标准串行通信接口中日益得到

38、广泛的应用,他们具有功耗低、工作电源为单电源、外接电容仅为0.1F或1F,采用双列直插封装形式、接收器输出为三态TTL/CMOS等优越性,为双组RS 232接收发送器,工作电源为+5V,波特率高,仅需外接0.1F或1F的电容,其价格低,可在一般需要串行通信的系统中使用,MAX232外围需要4个电解电容,是内部电源转换所需电容,其取值均为1F/25V宜选用钽电容并且应尽量靠近芯片。 该电路连接原理如图3.6所示。 图3.6 第四章 软件设计软件是硬件的支撑, 也是硬件整体性能发挥的杠杆与上面的硬件相对应,把软件采用功能模块的方法进行编写,会增强系统整体可移植性。系统软件需要的功能模块主要有键盘模

39、块与显示模块, 测量信号模块与步进电机驱动控制模块, 通讯模块,报警模块。这样分类也和硬件的设置相对应。软件各模块的相互连接需要主控模块对它们进行控制。按照主控模块的执行顺序来工作。这就是整个系统的软件构建方案。控制的脉冲频率就可以控制步进电机的转速,设定好工作速度后,根据这一数值查表对应某一值, 利用这一数值在这基础上系统进行加速或减速,当测量蔽值和设定小于规定的数时记录这个脉冲率并停止调速这就是步进电机控制软件流程的主要思想,如果气泡中断信号来临,发生中断,中断中将停止步进电机。 整个输液的过程如下图4.1所示 蜂鸣器报警开始输液参数设定参数计算转换驱动步进电机阻塞故障气泡故障输液累积量显

40、示气泡检测监控子程序输液结束停止暂停处理显示灯报警图4.14.1初始化模块在软件设计过程中初始化就是把变量赋为默认值,把控件设为默认状态,把没准备的准备好。在这个过程中输液速度,报警装置,和时间都会被清零,电机回到初始位置。 实现该功能的软件流程图如下。 上电显示为0输液参数设定电机在初始位置单片机复位YYNN 图 4.1 4.2步进电机控制4.2.1 步进电机失步的调整由于受步进电机本身特性的限制,在电机启、停及运行速度突变时,往往会出现失步现象,从而影响输液泵系统的精度。为解决这一问题,本系统采用了软件实现自动升、降速的方法。步进电机控制速度图如图4.2 所示。图中加、减速段近似于指数曲线

41、,启动时速度逐渐加大可以避免冲击,加速到一定频率后恒速运行,快到终点时速度缓慢减小,直到走完规定的步数后停机,这样可以避免失步现象。 图4.2自动升、降速控制的原理框图如下图4.3所示。其中误差寄存器A 中的存数N 等指令脉冲数N指令与输出脉冲数N输出之差, 即N = N指令-N输出。进位溢出累加器寄存器B误差寄存器Af0f指令+-f输出图4.3对N 以f 0 的频率进行累加运算,当累加之和超过累加器的容量时,将在最高位产生溢出。此溢出脉冲即作为输出脉冲f 输出控制步进电机。在t 时间内对N 累加后的累加数N总为N总= Nf 0t累加数N总的溢出次数为N溢出=(1)式中n 累加器和寄存器的位数

42、。输出脉冲频率为f 输出=(2)N = ( f 指令- f 输出)t = ( f 指令- kN)t (3)写成微分形式有f 指令=+ f 输出 (4)当指令脉冲由0 突变为f 输出时,上述方程的解为f 输出= f 指令(1 - ) (5)式中T 时间常数这就是电机速度上升的过程。当指令脉冲由f 指令突变为0 时,上述微分方程的解为f 输出= f 指令(1 - )这就是电机减速的过程。可见,当f 指令突变时,f 输出均按指数曲线变化。在本系统中用软件的方法来完成电机启动、停止时自动升、降速的过程。累加脉冲和指令脉冲采用软件延时的方法产生。利用AT89C51的两个定时P计数器T0 和T1 来作为计

43、数器,每个机器指令周期T0 值减1 ,当T0值减至0 时发出一个累加脉冲,同时T0 赋初值, T1 值减1 ,重复上述过程。当T1 值减为0 时发出一个指令脉冲。由此可知, T1 的初值表示了累加脉冲频率f 0 和指令脉冲频率f 指令的比值。误差寄存器中存数N = N指令- N输出,每当CPU 产生一个指令脉冲时,误差寄存器的值加1 ;每当累加器产生溢出时,误差寄存器的值减1。每当CPU 产生一个累加脉冲时,将误差寄存器中的数N 与上次存储在寄存器B 中的累加数相加,若产生溢出,则发送一个输出脉冲,将在累加器中的余数存入寄存器B 中;若无溢出,则将累加结果存入寄存器B 中。自动升程序的框图如下

44、图4.4所示。误差寄存器存数N清零,零寄存器B清零延时累加脉冲到?BB+N有进位溢出?发出进给脉冲NN+1 BB+1指令脉冲到?发指令脉冲NN+1返回返回NNNYY(a)主程序流程计数器置初值计数器减1计数到发脉冲(b)累加脉冲产生流程图图4.4步进电机启停调速程序#include static unsigned int count; /计数static int step_index; /步进索引数,值为07static bit turn; /步进电机转动方向static bit stop_flag; /步进电机停止标志static int speedlevel; /步进电机转速参数,数值越大

45、速度越慢,最小值为1,速度最快static int spcount; /步进电机转速参数计数void delay(unsigned int endcount);/延时函数,延时为endcount*0.5毫秒void gorun(); /步进电机控制步进函数void main(void) count = 0; step_index = 0; spcount = 0; stop_flag = 0;P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0;EA = 1; /允许CPU中断 TMOD = 0x11; /设定时器0和1为16位模式1 ET0 = 1; /定时器0中断允许

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1