液体点滴速度监控报警装置(51单片机)

[摘要] 该装置实时地监测液体点滴速度,通过单片机对信息的分析和处理,由主机发出相应的指令,调整系统的工作平稳,构成了一个高性能的闭环控制系统。实现了对点滴输液速度的直观监测,同时对一些异常情况的出现可实施报警。利用该装置还能通过主控平台对各个分立系统信息实施自动化、智能化的集中处理。能方便、简易的操作和使用,对医疗具有很强的实用性。

    

[关键词] 实时监控   红外传感   闭环控制   步进电机

  • 方案设计与论证

根据题目要求和原输液装置的特点,提出以下三种方案:

    1. 方案一

   直接在滴斗处用两电极棒的方法。

此方案的传感器采用简单的液体导电原理,在滴斗处安装两个电极。当水滴落下时,电极导通,从而使待测量的变化转化为高低电平电信号。采用伺服电机改变系统装置中液瓶与受液瓶的高度,达到改变点滴速度,从而进行控制。

2、方案二

把通过电机改变系统装置高度的方法,改为控制步进电机对输液管进行压缩或缓松,从而实现对点滴速度的改变。采用交流电动机控制H2的高度。即采用红外传感器测量滴斗滴液,送至单片机接口计数,通过数字模拟转换,将其转换为4—20MA标准电流值,同时通过键盘输入给定每分钟的滴数,再将此滴数将其转换为4—20MA标准电流值,将此两个信息同时进入数字PID调节器。通过偏差计算再输出一组4—20MA标准电流值,通过变频调速器控制电动机调节H2的高度,来控制滴斗滴数。此方案的优点是,完全按目前电气工程标准化运作,可以在很短时间完成。

    1. 方案三

根据点滴装置的特点,通过对装置的某一位置进行监测和控制,达到对整个系统液体点滴速度的监控。

通过控制输液软管夹头的松紧来控制点滴速度,采用红外传感器测量滴斗滴数,送至单片机接口计数并显示,首先标定两个脉冲(两滴间)间的时间间隔(以10MS为时基单位)。然后计算给定滴斗滴数(通过键盘)的时间间隔(以10MS为时基单位)。将此两个时间间隔进行比较,以决定步进电机运行的方向。该步进电机通过丝杠控制输液软管夹头的松紧,来控制滴斗滴数

4、方案比较

方案一的特点是:实现比较简单容易,原理上也是可行的,但由于本装置用于医疗,电弧的产生,可能对不同的药物有影响,同时传感器(电极)不能重复使用,以防止传染。

方案二通过改用红外传感器,弥补了方案一的不足。但是还存在问题,利用改变高度的方法虽然容易实现,但可控性不好。由此,我们采用了第三种方案,通过挤压输液管的办法来实现对点滴速度的控制。

  • 系统原理框图   

    本系统最主要的是充分利用单片机编程的灵活性和其强大的功能,使一些小的系统实现自动化和智能化成为了现实。其中的器件都比较简单,尽大可能的利用各集成芯片的功能,如系统的键盘和显示原理电路。通过红外传感器对水滴滴落的动态信息的感应 ,单片机对数据的采集分析和处理,同时使用小功率的步进电机进行机械调整,使装置能机智、即时的响应操作者的使用。

  • 主要电路原理与设计
    1. AT89C51单片机基本系统  控制与数值信号处理的核心采用AT89C51单片机,采用串口工作方式。电路如图3。
    1. 显示与键盘 如图4

利用74LS164进行串行动态9位数码管显示,74LS164的主要功能是8bits的串入并出数据处理。电路结构简单,功能强大。采用中断和查询的方法,设计的4键键盘的形式,利用单片机的灵活编程,扩展其键入功能。

3、红外传感和信号处理   采用红外线的发射和接收装置,它可用来检测包括液体在内的各种透明体、半透明体、不透明体,从而可以灵敏地反应水滴滴下。利用光电耦合器对电信号进行处理,减少干扰。

  1. 步进电机驱动和控制  

 四、系统软件工作流程  如图7  到  图12

1、软件设计:

    软件部分参考流程图,这里主要讲述一下软件编写过程中的几个细节部分。

如前所述,我们计算滴水速度的原理是通过求出2个水滴之间的时间差,通过分析,我们通过定时器建立一个基准时钟,该基准时钟有2个字节单元,分别秒单位和10毫秒单位的数值。在每次传感器送来中断的时候调用“传感测量”子程序,在该子程序中,我们在取当前触发时间时,先把上一个脉冲发生的时间保存在“历史寄存器”中,然后再更新“当前寄存器”的值,即取当前脉冲的发生时间。这样我们就记录下了2个时间(连续)值。

中断前:

 

   中断时:

注:箭头方向为中断时的赋值方向        图7

由于基准时钟是以10毫秒为最小单位的,而对于频率范围在20Hz~150Hz的脉冲而言,因为我们在后边的求滴速中要用到10毫秒单位值,而水滴的下落并不能保证绝对的规则,经测试发现,每一次求差后的值总有几个单位毫秒的变动,这个变动就导致了最终运算出来的滴速值的大幅度变化,后来惊观察发现这种误差可以归为周期性误差,所以为了消除这个误差,我们不是简单地只取一个差值,相反,我们是取了10个差值,然后再求平均值,这样处理的最大一个好处是可以使周期性误差的正、负偏差互相抵消,在很大程度上消除上述误差。

前面的处理虽然可以提供一个比较接近真值,对于最终显示出来的影响不大,但当要用这个值去控制滴速夹时,很明显这样处理的结果降低了控制的响应度;而另一方面,对于滴速夹的控制,因为我们采用的是步进电机,而且我们对步进电机的转轴又进行了改造,加了一个螺纹栓,可以保持滴速夹控制端的位置,所以我们在每采集一个脉冲间隔时就进行滴速的更改控制,这样可以提高控制设备的响应速度。所以在本系统中对于建立一个科学合理的系统模型是很有必要的。

在对滴速进行控制时,我们借鉴了PID算法,建立了一个闭环控制状态,利用类似于锁相环的模型:即把设定的滴速和当前的滴速进行比较,输出一个差值,利用这个差值的极性来决定电机的正反转,并拉小这个差值直至最小。因为每检测到一个传感信号,我们就把设定值和当前值进行比较,这样不仅提高了设备的响应速度,而且由于我们这个系统的基准时钟是以10毫秒为单位了,因为我们能分辨到10毫秒的数量级,可以使当前值非常接近我们所设定的设定值。

这一点可以参照电机控制的流程图。(图12)

  1. 运算过程:因为我们系统的基准时钟是以10毫秒为单位了,虽然加大了系统的精度,但是却给系统的数值运算带来了麻烦,直接用四则运算(特别是乘除的运算)很容易带来无法避免的运算误差,即在运算是因为运算位数的限制而带来的数据尾数的丢失。前面说过这种误差将对我们对信号的处理和显示产生很大了影响,甚至会得到一个误差很大的最终输出,为避免这种情况,我们在保证精度的基础上采用了查表法,并且在建立表格时对数据进行一定的折中处理,使得最终得到了结果的误差能尽量小,实践证明我们这种方法还是有一定的实用性的。而且查表法的结果便于以后系统误差的自我校正,因为它保存了一个恒值。

  1. 对数据表格的处理:前面说过我们这个系统的基准时钟有两个字节单元,而即使采用题目要求的滴速(20~150分/滴)也将需要260个字节,这已经超过了8位单片机的查表范围,所以怎样建立一个合理的查表算法是很有必要的。通过对数据的观察,我们发现虽然每个时间量有两个字节,但是在秒字节的单元里,总共只能出现4种取值,即1、2和3以及0 ,所以我们可以以这4个值为标量对表格的数据进行划分,由于有了秒字节单元来做区分,我们只要在表格中写入10毫秒字节单元的值就行了,通过综合处理,在保证精度的基础上,我们所建立的表格的字节数为100多个,这样不仅满足了8位单片机的查表范围,而且大大了节省了内存,有利于系统资源的优化分配。     

  1. 通信的建立:在选择方案时,考虑到通信线的多少,我们采用了串行通信,直接利用单片机本身的串行通信口,在软件上我们考虑用串行通信的方式0来进行通信。通信协议如下:先发送握手信号,然后发送被呼叫的从机号,每个从机在接收到地址时跟自身的地址进行比较,如果不是被呼叫机,则关闭通信链路;如果是则发送响应信号。当确定了通信的链路后,就按照预定的数据包格式进行通信。数据包格式如下:

 

2、程序流程图

          

3、源程序

时间基准缓冲区:秒55h  0.01秒56h

键盘设置缓冲区:秒57h  0.01秒58h

传感测量缓冲区:前次—秒51h  0.01秒52h  当前—秒53h  0.01秒54h   差值—秒4fh 0.01秒50h

最终显示缓冲区:选择值:54h测定值5ah 5bh 5ch 设置值 5dh 5eh 5fh

R4用于步进电机的步进记忆

org 0000h

ajmp main

org 0003h

ajmp jpint    ;int0

org 000bh

ajmp times    ;t0

org 0013h

ajmp cgint    ;int1

org 0040h

main:mov sp,#60h   ;设置堆栈

     mov 41h,#00h

     mov 42h,#00h

     mov 43h,#00h

     mov 44h,#00h

     mov 45h,#00h

     mov 46h,#00h

     mov 47h,#00h

     mov 48h,#00h

     mov 4fh,#00h

     mov 50h,#00h

     mov 51h,#00h

     mov 52h,#00h

     mov 53h,#00h

     mov 54h,#00h   ;初值设置

     mov 55h,#00h

     mov 56h,#00h   ;以上为时间初值

     mov 54h,#00h

     mov 57h,#00h   ;初值显示为00

     mov 58h,#00h

     mov 59h,#00h

     mov 5ah,#00h

     mov 5bh,#00h

     mov 5ch,#00h

     mov 5dh,#00h

     mov 5eh,#00h

     mov 5fh,#00h

     mov r7,#00h

   

    1. 波形测试

利用示波器观察红外传感电信号是否规则。若不规则,说明传感器转化的电信号需要进一步处理,或者是传感器本身有问题,需要检查。直到有规则的方波输出为止。

用数字计数器对液滴计数。在系统电路工作时,用数字计数器的表笔从传感器转化的电信号输出端相接,对点滴数计数与系统显示做比较,从而进一步校正电路测量的准确度。

    1. 测量数据

单机测量:                           与计数器比较:  

预设值

(每分)

实测值

(每分)

绝对误差

(每分)

计数器

(每分)

系统

(每分)

偏差

(每分)

20

20

0

   56

   59

  3

20

22

2

   103

   109

  6

144

148

4

   22

   26

  4

144

139

5

   77

   73

  4

78

75

3

   142

   147

  5

  78

83

  5

   123

   118

  5

实物图:

具体论文资料+源代码。参考链接:基于51单片机输液报警仪原文+电路图+源代码-小程序文档类资源-CSDN下载基于51单片机输液报警仪原文+电路图+源代码更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qq_42372079/85445080

  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静水流深深深!

谢谢你的鼓励,我感激不尽!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值