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

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

  • 方案设计与论证

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

  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

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

  1. 液体点滴速度监控装置的设计

    点滴检测(数码管)使用说明 一.通过"设置"按键设置'检测点滴间隔时间'的设置,设置范围"1-9"秒(通过数码管进行实时显示).在启动检测的状态下设置,'检测点 ...

  2. 【设计方案分享】基于单片机温度监测监控报警系统设计-基于单片机钞票自动智能识别系统设计-基于单片机乒乓球游戏机控制系统设计-基于单片机温度监测监控报警系统设计-基于单片机矩阵键盘的电子密码锁设计

    820基于单片机温度监测监控报警系统设计-设计资料 温度监测器功能描述: 1.主控芯片用的是51单片机(STC89C51). 2.使用温度传感器DS18b20采集温度. 3.用1602液晶显示显示温度 ...

  3. 基于单片机乒乓球游戏机控制系统设计-基于单片机矩阵键盘的电子密码锁设计-基于单片机温度监测监控报警系统设计-基于单片机钞票自动智能识别系统设计-设计资料【转发分享】

    819基于单片机乒乓球游戏机控制系统设计-设计资料下载 乒乓球游戏机设计任务为: (1)使用乒乓游戏机的甲乙双方各在不同的位置发球或击球. (2)乒乓球的位置和移动方向由灯亮及依次点燃的方向决定,球移 ...

  4. 带低压报警的51单片机太阳能充电宝设计与制作(完整代码资料)

    本设使用太阳能电池板不定时自供电给锂电池,同时加入51单片机通过adc0809芯片解析锂电池电源,并能进行低压报警,支持两路5V1A同时放电,增加三个按键,支持菜单切换显示等功能.以及相关设计所用的模 ...

  5. 毕设无忧|51单片机经典设计项目

    基于51单片机的PM2.5检测报警系统 基于51单片机的超声波测距及温度补偿 基于51单片机的智能火灾报警系统 基于51单片机的十字路口交通灯 基于51单片机的温度控制恒温箱设计 基于51单片机酒精浓 ...

  6. 基于单片机的智能点滴速度输液液体检测

    功能介绍 以51单片机作为主控系统: 显示液位,滴数,温度等信息: 通过水位传感器检测当前药瓶是否有水: 通过滴速传传感器利用单片机定时器计算当前滴速: 通过DS18B20温度传感器采集当前药液温度, ...

  7. 【001】基于51单片机的DS18B20温度检测与报警装置的proteus仿真设计

    一.设计资料内容(私信获取) 1. 包含proteus仿真一份: 2. keil源代码一份: 3. 包含基于51单片机的DS18B20温度监测与报警的proteus仿真设计课程报告一份: 4. 包含基 ...

  8. 基于51单片机的室内湿度加湿温度声光报警智能自动控制装置设计

    wx供重浩:创享日记 对话框发送:单片机湿度 获取完整无水印论文报告(内含电路原理图和源程序代码) 在日常生活中加湿器得到了广泛的应用,但是现有的加湿器都需要手工控制开启和关闭并且不具备对室内空气温湿 ...

  9. 简易电动车报警装置(基于51单片机)

    这篇文章我们就来简单聊一聊怎么用51做一个简易的电动车报警装置,本来还想用32也实现一下的,但是不知道为什么用32的话一把继电器接上去就把433M无线发送接收模块给烧了(有知道原因的大佬可以在评论区聊 ...

最新文章

  1. 7.matlab中使用@ + “函数名”
  2. 模板 - Min_25 筛法求素数和
  3. Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
  4. Java语言程序设计实验指导_《java语言程序设计》上机实验指导手册(4).doc
  5. .html .php .asp,html静态页面中执行php、asp函数代码
  6. TC(Table Control)自定义F4
  7. [系统安全] 三.IDA Pro反汇编工具初识及逆向工程解密实战
  8. python实现傅里叶变换求幅值和相位_Python 实现图像快速傅里叶变换和离散余弦变换...
  9. 前端学习(1270):接口调用async/await
  10. 为easyui添加多条件验证
  11. 全排列及相关扩展算法(五)——递增(递减)进位制数求原排列算法
  12. 关于tomcat5.5或6.0免安装版,点击startup.bat启动自动消失问题
  13. Q93:PLY文件对应图形法向量反向问题——以bunny10K为例
  14. visual studio插件开发dll类库免加全局缓存处理办法
  15. 001-markdown简介,插件的下载和导出
  16. 基于asp.net大学生就业管理系统#毕业设计
  17. Git检查现有 SSH 密钥
  18. Linux操作系统基础知识命令参数详解
  19. 记录一次Visual Studio运行webservice调用中控打卡机出现的问题
  20. SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下

热门文章

  1. JAVA的Stream
  2. 09.调色板绘制系统界面
  3. python教程之打包python源码上传的PyPI官网
  4. 纯日记+游戏推荐(妈妈把我的游戏藏起来了)
  5. Arista思科网络专利案,Arista又赢一回合
  6. 2022年人工智能在药物发现领域的技术进展
  7. CEO,CTO,COO,CFO,CIO首席执行官,首席运营官,首席技术官
  8. 别人看我真威风,我羡别人好轻松
  9. 记录开发内容demo-java华为云发送短信验证码
  10. 和尚吃馒头c语言程序,(八十一)约瑟夫环/鲁智深吃馒头