青岛海航 苏振 程斌 李贵忠 摘 要 本系统设计是以单片机89C51为核心,以键盘及红外传感器为输入系统,以数码管,声光报警电路及步进电机为输出系统的智能化输液控制及监测系统.键盘系统为独立式按键系统,红外传感器的功能为检测点滴的滴下及控制报警电路.步进电机具有转速可控功率大及输入脉冲不变时可保持大力矩等优点,这样就可以自如控制吊瓶的上,下缓移可以达到智能控制的目的. 一, 方案设计及论证 根据题目的基本要求,设计任务主要完成 1 数据采集方案的选择 数据采集一般可以采用以下几种方案: ①使用发光二极管和光敏三极管组合. ②使用红外发光二极管和接受管组合. ③利用激光. 通过对比,在这次设计中由于是近距离探测,故采用方案②来完成数据采集.由于红外光波长比可见光长,因此受可见光的影响较小.同时红外系统还具有以下优点:尺寸小,质量轻,能有效的抗可见光波段的伪装,对辅助装置要求最少,对人眼无伤害. 当然红外光也有一定的缺点,如大气,潮湿的天气,雾和云对它有衰减作用,所以只适用于室内通信.在现代生活中,人们为了更方便的使用红外光这种有效的媒质,利用红外光做出了很多器件,发射式光电检测器就是其中的一种器件,它具体积小,灵敏度高,线性好等特点,外围电路简单,安装起来方便,电源要求不高.用它作为近距离传感器是最理想的,电路设计简单,性能稳定可靠. 2 键盘方案的选择 方案一 采用矩阵式键盘,此类键盘采用矩阵式行列扫描方式,优点是当按 键较多时可降低占用单片机的I/O口数目,缺点为电路复杂且会加大编程难度. 方案二 采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式.缺点为当按键较多时占用单片机的I/O口数目较多,优点为电路设计简单,且编程极其容易. 综合考虑两种方案及题目要求,方案一需要8个I/O口,方案二需要11个I/O口,由于系统资源足够用,故采用方案二. 3 电机系统方案的选择 方案一 采用单片机和A/D转换构成系统,控制普通电机的步数和旋转方向,可以考虑达林管组成的H型PWM电路.用单片机控制达林管使之工作在占空比可调的开关状态,精确调整电机转速,减小因惯性,速度,步距角过大而引起的调整误差,达到改变点滴高度的要求,缺点是控制信号为模拟信号,需要将单片机输出的序列脉冲转换,延长了控制的时间,并且步距角为,满足不了控制误差范围为设定值滴的要求. 方案二 用单片机控制步进电机,控制信号为数字信号,不在需要数/模转换;具有快速启/停能力,可在一刹那间实现启动或停止,且步距角降低到,延时短,定位准确,精度高,可操作性强. 综合考虑题目要求,一方面调节的步长尽可能的小,定位要好;另一方面如果停止信号到来,滑轮能够快速停止,并且力矩足够大,确保吊瓶不下滑. 通过对比,利用步进电机可以自如控制吊瓶的上,下缓移,完全满足题目的要求,因此采用方案二. 4 计算点滴速度的方案选择 在一定时间内点滴的滴数(即点滴的速度)是单片机通过红外传感器测得的脉冲信号计数获得的,但怎样计算点滴速度以满足在3分钟内实现电机对点滴速度的控制是必须考虑的问题 方案一 根据一定时间T(如30秒)内滴下的点滴的滴数n计算点滴的速,计算公式为:(滴/分).根据此方案,若选取的计数时间T较短,以10 秒为例,如检测系统误差为1滴,则算得的速度误差为6滴,此时假设点滴的实际速度为30滴/分,而计算速度为36滴/分,误差为30%,大于题目要求的误差范围10%1滴.若选取的时间计数T较长,则系统达到稳定的时间太长. 方案二 根据一定滴数N滴下所经过的时间t计算点滴的速度,计算公式为(滴/分).此方案的误差与系统计算的时间精度有关,通过调整计算的时间精度可以改进计算误差,达到题目所要求的误差范围. 通过比较论证,作者选用方案二. 二,系统框图及工作原理 图2-1给出了系统组成方框图.通过键盘输入模块输入预置的点滴速度并将数据信息传送给单片机.系统进入调整方式一(电机为主,等待中断)调整装置刚开始运行时步进电机以定速转动,等待传感装置发出中断信号.当点滴速度进入一定范围(预置值±10)时单片机检测到中断信号进入调整方式二(采集信号为主,电机被动)采集装置1通过红外光电传感器对不同标志的检测,并以电信号的形式传给单片机,经运算,分析,处理后单片机通过输出端口将数据传给显示模块和电机,实现点滴速度的显示和对滴瓶高度的控制,使实际点滴速度更接近预置值,由于硬件的限制既不可预测的误差,实际点滴速度极难达到预置值,因此设置当实际点滴速度进入预置值M×10%±1滴范围内时电机停止转动,这样就实现了智能控制功能.另外,数据采集装置1将通过红外光电传感器检测到 的信号直接输出给声光报警装置,节省了单片机的资源.当声光报警持续30秒钟后无人复位,则由单片机发出信号关闭声光报警,同时发出信号控制电机使吊瓶下降直至无液滴滴出,可以大大提高输液的安全系数. 三,系统分立模块设计及工作原理 1 键盘框图及原理 电路如图3-1.当A部分某一按键被按下时,键盘接地电路导通相应I/O口由高电平下降为低电平,此时单片机系统监测到P1口相应位的电平变化执行相应的子程序,本程序中子程序为对P0口送出所键入数字的四位二进制代码,作为CC4511译码器的输入信号驱动数码管.例:按下按键5则P1.6由高电平下降为低电平,单片机系统扫描P1口监测到p1.6的变化执行子程序MOV P0,50H.程序执行后P0口低四位变为0101.P0口低四位分别送到3片cc4511译码器的A,B,C,D输入端,这样三片CC4511译码器都被设置了相同的预置数,如果要设置十位为预置数则只需按下十位的片选键则十位显示预置数.同理可以分被选通个位及百位,置数完毕后按确定键,则置数及显示过程完毕,单片机自 动完成对输液装置的监测及控制 . 2 数据采集模块及工作原理 (1)点滴速度的检测 采用红外传感技术实现对滴斗中点滴的检测,电路如图3-2所示.比较器LM311的门限电压为可调电压,可提供0.8 V——5V的电 图3-2 图3-3 压,以适应不同环境.当无点滴经过红外传感器感应区时,接收管导通,Vi输出低电平,低于比较器的门限电压V-,V1输出低电平.当点滴经过感应区时,红外发射管发出的光线在一个短暂的时间内被阻挡,接收管出现一个短暂的截止,Vi输出电平产生一个上升沿,高于比较器的门限电压V-,比较器输出一个高电平脉冲给单片机,触发单片机计数,达到了单位时间内计数的目的. (2)液面高度的检测 采用红外对管传感器对储液瓶中的滴液高度进行检测,电路如图3-3.它的工作原理如上所述,所不同的是,当储液的高度高于警戒线时,接收管截止,V2输出高电平;当储液的高度低于警戒线时,接收管导通,V2输出低电平. 3 声光报警模块 电路如图3-4.当点滴的速度低于20滴/分或高于150滴/分时,单片机发出信号使V2出现高电平,触发蜂鸣器报警装置,蜂鸣器发出响声.同时,当储液瓶中的滴液低于警戒线时,V2输入高电平,也触发蜂鸣器报警,提醒医护人员和受液人采取相应措施,避免危险事故发生. 4电机模块及原理 单片机控制步进电动机,主要任务是:一 通过延时控制电机转速即控制吊瓶运动速度,二 按相序输入脉冲以实现电机转动方向控制.每输入一个脉冲电机沿选择方向前进一步,每前进一步电机转动一个固定角度.从这个意义上讲,电机也是一个数字/角度转换器. 方式 步序 控制位 通电绕组 控制字 三 相 单 三 拍 式 1步 2 步 3 步 P3.2 P3.1 P3.0 C相 B相 A相 0 0 1 0 1 0 1 0 0 A相 B相 C相 01H 02H 03H 根据上表,单三拍相序为 A—>B—>C—>A时电机正转,反之A<—B<—C<—A则电机反转.本题设计的关键是控制电机的旋转方向和步数,把调节的最小绝对误差控制在预置数M×10%±1滴 图3-5 四 软件程序设计 1 滴速检测程序 滴速检测程序 ①如前文所述,在滴管两侧套上红外传感器,液滴滴下时,便产生一个脉冲,INT0发出中断请求信号,记下脉冲数,只需记录两个脉冲所间隔的时间,便能得到滴速.其中,时间差有定时器的时钟计算得到. ②考虑单片机的资源问题,LED显示的驱动信号有单片机的引脚串出提供,有两片CC40194(移位寄存器)构成的七位串行/并行转换器转换成并行输出的信号,取Q3Q4Q5Q6经CC4511驱动数码管. 资源名称 功能 外部中断INT0(下降沿触发) 液滴检测中断 定时器T0(工作方式1,6Mhz) 记脉冲当前时间 *说明*:AT89C51计算得到的是组合16进制形式的 滴速数据N,将其转换成十进制存储、串出.方法:N 除以64H(100),商作为百位,余数除以0AH(10),商作为十位,余数为个位.电路中S0端接高电平1,S1受Q7控制,二片寄存器连接成串行输入右移工作模式,Q7是转换结束标志.当Q7=1时,S1为0, 使之成为S1S0=01的串入右移工作方式,当Q7=0时,S1=1,有S1S0=10,则串行送数结束,标志着串行输入的数据已转换成并行输出. 2 电机控制子程序 五 发挥部分 根据题目要求,采取多机串行通信,系统中只有一个主机,有多个从机,主机发送的信息可传到各个从机或指定的从机.而各个从机发送的信息只能被主机接受. 1 通信协议 ①地址FFH是对所有从机都起作用的一条控制命令:命令各从机恢复SM2=1的状态. ②主机发送的控制命令代码为:00H:要求从机接受数据块; 01H:要求从机发送数据块;其他:非法指令. ③数据块长度:16个字节. ④从机状态字格式为: D7 D6 D5 D4 D3 D2 D1 D0 ERR 0 0 0 0 0 trdy rrdy 其中:若err=1,表示从机接受到非法命令;若trdy =1,表示从机发送准备就绪;若rrdy=1. 多机通信实现过程如下; (1) 准备阶段 首先定义从机地址;置SM2=1;REN=1允许串行口中断. (2) 通信阶段 主机发送的地址信息的特征是串行数据的第9位为1,而发送的数据信息的特征是串行数据的第9位为0.对于从机就要利用SM2来确认主机是否在呼叫自己.从机处于接收时,置SM2=1,然后根据接收到的串行数据的第9位的值来确定是否接收主机信号. 2设计思想 发挥部分的要求是进行对从站进行监控,这个功能与基本部分的要求可以并行执行,考虑用双CPU进行主站设计,这里讨论的主要是串行通信CPU. 硬件设计模块图如下: 监控系统的难点是多机的串行通信,具体协议上面已给出,这里不再重述. 3 自由发挥部分 (1)设置两按键,当电源接通后,吊瓶的位置可能没有处于要求位置上这就需要人工控制调瓶的上升或下降直至调瓶处于要求位置. (2)在原来声光报警的基础上进一步考虑,若声光报警一定时间后(1分钟)还没有人工解除报警,则对步进电机输出信号使其控制调瓶下降直至液滴不再滴出为止.这样可以在医生不在且病人睡着的情况下提高输液的安全系数. 数据采集装置1 数据采集装置2 键盘输入 ATC89C51 单片机最小系统 显示装置 声光报警装置 控制电机 图2-1 图3-1 按键 Y N Y N 开中断 等待中断 液滴数加1,判断它=2 计算相临液滴的时间间隔,N=N+1;判断N=3 求3次测量的平均值计算点滴速度 记时器加0.1S N N N Y 测试滴速子程序 比较原速度与目的速度是否相等 目的速度是否大于原速度 提高点滴速度 其他子程序 Y 降低点滴速度 定点 巡回 主站监控 AT89C51 LED显示 报警系统 从站 从站 从站 Y Y N N Y Y N N "00" 非法命令 Y N 符合 不符合 "01" 返回 中断 就绪 就绪 否 否 "00" 正确 否 否 符合 是 否 返回 子程序入口 串行口初始化 发送地址桢 从机应答否 应答地址相符否 命令从机复位 发送命令桢 从机应答否 命令正确否 命令分类 从机发送准备就绪否 从机接收准备就绪否 发送数据块 接收数据块 保护现场 地址符合否 发回地址 接收下一桢 是命令桢吗 命令分类 从机接收准备就绪吗 从机发送准备就绪吗 Rrdy=0送主机 Rrdy=1送主机 Trdy=1送主机 Trdy=0送主机 接收数据桢 发送数据桢 接收完否 发送完否 SM2=1恢复现场 多机通信主机程序流程图 多机通信从机程序流程图

评论