液体点滴速度监控装置.docx
《液体点滴速度监控装置.docx》由会员分享,可在线阅读,更多相关《液体点滴速度监控装置.docx(14页珍藏版)》请在冰点文库上搜索。
液体点滴速度监控装置
液体点滴速度监控装置
液体点滴速度监控装置
2007年6月9日
摘要:
液体点滴速度监控系统是能够实现自动监控液滴的速度并且能做出相应调整的自动控制系统。
本文对系统如何实现自动监测、自动调节等功能作了详细的分析和研究,利用光电传感器采集液滴的速度变化信号和液位高度信号,用AT89S52作为中央处理器进行信号分析和处理,利用建立的模型通过直流电机进行控制液滴速度。
主从站采用MAX487E与单片机系统构成RS-485通讯接口进行数据和控制信息的传送。
问题重述
一、任务
设计并制作一个液体点滴速度监测与控制装置,示意图如右图所示。
二、要求
1、基本要求
(1)在滴斗处检测点滴速度,并制作一个数显装置,能动态显示点滴速度(滴/分)。
(2)通过改变h2控制点滴速度,如右图所示;也可以通过控制输液软管夹头的松紧等其它方式来控制点滴速度。
点滴速度可用键盘设定并显示,设定范围为20~150(滴/分),控制误差范围为设定值
10%
1滴。
(3)调整时间≤3分钟(从改变设定值起到点滴速度基本稳定,能人工读出数据为止)。
(4)当h1降到警戒值(2~3cm)时,能发出报警信号。
2、发挥部分
设计并制作一个由主站控制16个从站的有线监控系统。
16个从站中,只有一个从站是按基本要求制作的一套点滴速度监控装置,其它从站为模拟从站(仅要求制作一个模拟从站)。
(1)主站功能:
a.具有定点和巡回检测两种方式。
b.可显示从站传输过来的从站号和点滴速度。
c.在巡回检测时,主站能任意设定要查询的从站数量、从站号和各从站的点滴速度。
d.收到从站发来的报警信号后,能声光报警并显示相应的从站号;可用手动方式解除报警状态。
(2)从站功能:
a.能输出从站号、点滴速度和报警信号;从站号和点滴速度可以任意设定。
b.接收主站设定的点滴速度信息并显示。
c.对异常情况进行报警。
(3)主站和从站间的通信方式不限,通信协议自定,但应尽量减少信号传输线的数量。
(4)其它。
题目分析
对题目进行综合分析,可知本题的主要任务、功能有:
一、任务:
液滴速度控制、液滴检测、液位检测、电机控制、主从站通讯
二、系统功能:
1.设计从站
a)检测并显示液滴速度
b)根据设定控制电机调节液滴速度,调节时间小于3min
c)液位过低报警
2.设计主站
a)接受从站的检测数据
b)向从站发送命令
方案论证
本题的主要设计部分为从站
根据题目的要求,系统模块构成框图如下:
对于各部分功能的实现,方案比较与选择如下:
一、液滴速度检测模块
方案一:
采用电容式传感器测量点滴速度。
在输液管的滴斗外围放置一对电极,形成一个电容。
当液滴滴下时电容量发生变化,可通过LC振荡电路来测量这个电容的变化。
当输出的频率值发生变化时,说明有液滴通过,可以达到检测点滴速度的目的。
此方案对于单一药液测量精确度高,但对于不同的药液时,由于电解质不同,电容变化可能不同,而且外围电路也较为复杂。
方案二:
采用可见发光二极管与光敏二极管的传感电路。
由于光敏二极管受外界光源影响较大,一旦外部光强改变较大时,就会改变对液滴的判断。
如果采用超强两度发光管可以减少干扰,缺点是功耗较大。
方案三:
采用脉冲调制的红外传感器测量点滴速度。
当液滴滴下时,红外发射管发射的光透过液滴后强度发生变化,接受管接受强度变化后的信号输出变化的电压信号。
此信号经过放大整形后被转化为TTL电平信号送到单片机计数来测量点滴速度。
该传感器具有体积小、灵敏度高、线形度好等特点,外围电路较为简单,性能稳定。
经过综合比较,我们选择方案3。
二、液滴速度控制模块
对于滴速的控制有以下两种选择
1.可通过控制滴速夹或者滴管的夹紧度的办法来控制滴速。
这种办法控制比较灵敏,控制方便,体积小巧,性能较好。
但前提是要有相应的灵敏可靠的高精度机械装置,在不便制作相应装置的条件下,不宜采用此方法,还有一个问题就是滴管的弹性形变不容易恢复容易导致问题。
2.通过调节滴瓶高度的方法控制滴速。
这种方法简便易行,控制可靠,是推荐的控制方式,当然也有缺点,就是不便于移动。
综合考虑,我们选择方案二
三、液位检测模块
1.采用电容传感测液位。
在储液瓶的瓶身正对贴两片金属薄片作为传感电容,储液液面下降,电容两极间的介电常数减小,电容值随之减小,经过C/V变换后输出电压上升。
当储液瓶液面降到警戒液面时,转换电压高于回差比较阀值电压,比较其反转输出开关信号。
C/V转换具有优良的线形、较高的变换灵敏度与抗干扰性能。
2.通过测量电阻测液位。
在储液瓶内嵌入两片金属片,将其固定于警戒液面处,当瓶中药液浸没金属片时两金属片之间的电阻可以测出,一旦液位低于警戒液面金属片将其露出水面,此时两金属片之间的电阻接近无穷大。
由于金属片浸没和露出液面时的电阻区别很大,所以此方案便于实现,较为准确。
然而不使用与大范围的推广,而且加电后药液离子浓度的变化不定,同时,在储液瓶内部安装金属片,实际操作性不强,且不符合卫生规范。
所以此方案实用性不是很强。
3.采用红外传感器,一个发射管,两个接受管,分别位于储液瓶警戒线的上下部分,这样,当页面处于安全位置时,2个紧挨的红外线接受管产生的幅度值将一致,这时它们之间不会产生幅度落差,也不会发出报警信号;但当液面降到2个紧挨的接受管的中锋时,此时两个接受管一个在液面上方,一个在液面下方,由于接受管处于不同介质,此时收到的幅度值不一样,从而产生幅度差,发出报警信号。
具体工作原理如图所示:
4.采用形变易恢复的弹簧和一个触压开关控制。
根据胡克定律,我们知道弹簧受力越大,伸展就越长。
当储液瓶中的水位达到警戒值时,弹簧伸长,触及触压开关,从而产生一个外部中断接入单片机控制电路。
此方案电路简单,主要对弹簧的要求,但也是需要现在输液瓶内部安装设备,不符合卫生规范。
综合分析,我们选择方案四。
四、报警模块
如果设定的速度过高,则在输液瓶上升到支架顶部时,依然达不到设定的滴速,输液瓶继续上升有可能会拉倒支架,出现危险情况。
所以在支架的帝国内部安装一个个简易触动开关,当滴瓶上升到指定高度(接近滑轮)时,触压传感器接通,外接一个反向器,直接送到单片机AT89S52的外部中断1上。
如果液滴的速度过高(大于150或小于20滴/分),产生报警信号。
五、电机驱动方式
1.使用直流减速电机驱动滴瓶的升降。
即采用直流电机,加上适当的减速器的方式。
这种方式简单易行,直流电机的控制方法主要是调节加在电机上的电压。
但由于直流电机是连续运转,因此要对位置进行精确控制时,还应加上码盘等传感器构成位置伺服系统。
2.使用步进电机驱动滴瓶的升降。
由于输液瓶的负载过重,根据需要,可能还需配上相应的减速器。
这也是一种很好的控制方式,步进电机可以实现开环控制,不需外加位置传感器,可以实现精确的位置控制
这两种方式都能达到很好的控制效果,而且相应的控制电路也不复杂。
这里的关键就是减速器,减速器的选用影响较大,由于滴瓶装满水后,重量较大,一般电机难以直接驱动,因此一般都需要一个较大减速比的减速器。
减速比过小,电机不易带动,减速比过大,电极速度由过慢,影响性能。
另外,由于当输液瓶不调节时,电机处于停转状态,要保持滴瓶不会自动掉下来,电机或者减速器应该具有自锁功能。
六、主从机通讯模块
1.并行方式。
采用并行通信模块,但由于传输线太多,成本高,而且不适合远距离通讯,因此放弃本方案;
2.I2C总线方式。
只要两条线就可以实现多机通讯,但不适于较远的通讯。
对于没有其接口的单片机来说,软件模拟较为复杂;
3.采用RS-485总线型半双工串行通信。
RS-485只需两根传输线,采用差分电平传送信号,抗干扰强,有效传输距离可达到1200m,而且RS-485具有组网能力强的特点,组网时只需将AB两根传输线直接接入网络。
采用合适的接口芯片,节点数可以扩展到256个
本系统对通信速率要求不是很高,且要求信号线尽量少,因此我们选择方案三。
主站采用“广播-应答”的通信方式实现对从站的通信。
各从站均采用MAX487E接口芯片实现TTL电平到RS-485的转换。
硬件设计
一、滴速检测电路:
电路原理图如上所示,采用了红外光电传感器测滴速,它是由红外发射管和接收管组成的。
主要功能是实现电—红外线—电的转换,由于红外光波长比可见光波长长,且红外传感器具有体积小、重量轻、易于安装等特点。
该电路还采用了LM567锁相环音频译码集成电路。
LM567是专门用于解调某一单音频率的调制信号,在工业自动控制、遥控遥测等领域具有广泛的应用。
当接受管接受到反射回的信号时,LM567的输出端输出为低电平,根据对输出端电平的变化检测可以实现对滴速的测量。
电路的输出可以输入单片机的中断,当有液滴落下时,单片机接收一个中断信号,进行液滴计数。
本电路的最大特点就是红外线发射部分不设专门的信号发生电路,而是直接从接受部分的检测电路LM567的3脚引入信号,此信号时LM567锁相音频译码器的锁相中心频率,这样既简化了线路和调试工作,又防止了周围环境变化和元器件的参数变化对收发频率造成的差异,实现了红外线发射与接受工作频率的同步自动跟踪,增强了电路的稳定性和抗干扰能力。
二、电机驱动电路
电机驱动采用L298作为驱动电路,采样PWM方式调速。
事实上,在这个电路中,电机不需要进行调速,只需要控制其正反转就可以了。
L298具有两路H桥驱动电路,这里者应用了一路,电机电源采用12V直流电。
为简化电路设计,并未使用光耦隔离。
由于在给定的电压之下,滴瓶中的水容量不同,即电机的负载不同,电机的转速会发生变化。
在本系统的控制方案中,要对滴瓶的位置进行控制,也就是要对电机转动的角度进行控制,由于电机转速会发生变化,因此严格意义上不能通过控制电机转动的时间来达到控制滴瓶升降距离的目的。
应该外加一个码盘构成位置伺服系统。
但由于在调速的三分钟内,输液瓶的重量改变很小,电机负载基本不变,即认为电机可以匀速转动。
为了简化设计与制作,同时考虑到电机的减速比较大,负载变化导致的转速变化在容许的范围内,因此采用控制电机转动时间的方法来控制滴瓶升降。
我们查找L298芯片资料,其输入信号对应电机功能控制如下表。
INPUTS
FUNCTION
1EN=H
1A1=H;1A2=L
Forward
1A1=L;1A2=H
Reverse
1A1=1A2
FastMotorStop
1EN=L
1A1=X;1A2=X
FreeRunningMotorStop
H=high;L=low;X=Don’tcare
我们将引脚6(1EN)接单片机引脚p1.2,引脚5(1A1)接单片机引脚p1.3,引脚7(1A2)接单片机引脚p1.4。
三、通讯电路
采用RS-485总线型半双工串行通讯,只需2根传输线,传输距离可达几千米。
首先需要一个转换电路,将单片机串口的TTL电平转化为RS-485信号。
使用的转换芯片为MAX487E。
单片机用一个收发控制引脚控制芯片的收发。
MAX487E的输入脚4可直接与单片机的TXD脚相连,输出脚1与单片机的RXD脚相连。
MAX487E内部的驱动器与接收器是三态的,通过引脚3(驱动器输出高电平使能)和引脚2(接收器低电平使能)进行发送与接收,发送与接收的两种控制信号是反相的,可将二者接同一控制信号(如P3.5)这样可严格保证收发信号在时间上错开,即“1”电平控制发送,“0”电平控制接收。
A、B端实现多机联网。
采用RS-485可以进行组网,采用一主多从的方式实现通讯。
每一个从机都有一套完善的通信设备,在主机的控制下,分时与主机进行通讯。
其通讯组网图如下:
通讯数据格式
说明:
通讯数据格式有两个字节,第一个字节前二位表示起始帧(最大速度150二进制表示为10010110,这样便于分辨出这两帧),第3、4位表示报警信息处理,第一帧最后四位表示从站点号。
第二帧八位数据表示点滴的速度或者报警信号。
第一个字节的第3、4位对应的功能编码:
X0|X1
0
1
0
一切正常
解除警报
1
速度异常
液位过低报警
四、控制电路
主机和从机都分别需要一套控制系统。
主机主要负责数据的收发显示,而从机除了数据的收发控制外,还需要负责液滴的检测,电机的控制。
控制芯片采用最常见的AT89S52,AT89S52有2个外部中断,一个串行中断,三个时钟中断,而且还带有看门狗电路(DIP封装如下),比较适合本系统的设计。
如果为了给系统增强语音等功能,也可以选用凌阳SP061A等芯片。
五、显示与键盘电路
由于要显示的东西较多,采用4个LED,三个用来显示速度,一个用来显示从站号。
显示电路中,p0口作为段选信号,p1.0,p1.1经过2_4译码后作为位选信号。
采用共阳极的数码管。
其基本电路图如下所示:
从左到右,第一位显示从站号,后3位显示速度。
同时,本系统所需的按键也较多,因此可采用4*4的矩阵扫描键盘。
其中,p1口的低四位为行输入,高四位为列输出。
由于p1口有上拉电阻,所以不需要在外接上拉电阻。
键盘设置点滴速度:
按键功能说明:
1、0-9为数字键,该数字键表示站点号或者速度,A-F表示10-15的站点号;
2、复用
Speed-setup/A键:
该键有两个功能,一个是设置点滴速度的功能键,另一个是数字键;
Enter/d键:
该键有两个功能,一个是确认键,一个是第16号从站号F。
Cancel/E键:
该键有两个功能,一个是删除当前输入和报警信号,一个是第15号从站号E;
按定点检测键b,开始对设定的从站进行定点检测;
按巡回检测键c,将循环检测设定的各个从站的点滴速度,同时显示从站号;
统计键g用于设定需要巡回检测的数量;
举例:
设置从站点15号的速度为125滴/分:
a)先按下Speed-setup/A键,表示现在开始设置站号和速度;
b)再输入键E,表示输入第15号从站号
c)依次输入1、2、4,即输入所设置的速度;
d)发现输入错误,按键Cancel,表示删除当前输入数据;
e)再依次输入1、2、5,即输入正确的设置速度;
f)按Enter/F键,表示确认
g)设置完毕
六、主站电路
主站电路主要是单片机电路,配上相应的显示和键盘,再加上一个通讯电路。
电路构成比较简单。
主要工作集中在相应软件的编写当中。
七、液位检测电路
在警戒值测量部分,系统采用了电压幅值落差法实现。
在储液瓶的两侧装上一个发射管和2个接收管,如下图所示。
一个发射管在一边,另外2个接收管在另一边,并且把2个接收管并排紧挨着竖放在一起。
电压幅值落差法利用的原理就是当储液瓶内的水面在双接收管的上方或下方时(即两接收管处在同一介质内)2个紧挨的红外线接收管产生的幅度值将一致,这时候它们之间就不存在幅度落差,也不会发出告警信号。
具体描述如下:
当水面降到3cm时,也就是当水面降到2个紧挨接收管的中逢口时,此时一个接收管将在水面上方,一个在水面下方,它们此时收到的电压值也就不一样了。
原因在于当接收管处于不同介质里的时候,它所获得的电压值是不同的,就在接收管之间产生了幅度落差.此时单片机将得到这个报警信号,从而向报警系统输出报警信号。
利用这2个接收管在水面下降到3cm时两管产生的电压幅值落差,单片机通过这个落差值来决定是否发出报警信号。
此种方法,受到的外界强光干扰少,抗干扰能力强。
软件设计
一、I/O端口分配
1、p1口:
键盘输入
2、p0口:
数码管的段码显示
3、P1.0,p1.1:
数码管位选
4、P1.2:
电机控制使能
5、P1.3:
电机正转
6、P1.4:
电机反转
7、P3.0(RXD),P3.1(TXD):
串口通讯
8、P3.2:
过液位,外部中断#INTR0
9、P3.3:
过高检测,外部中断#INTR1
10、P3.4:
检测液滴速度,时钟0中断T0
二、各部分实现方法:
a)键盘部分
键盘部分采用128Hz的中断实现扫描,键值处理部分主要是对站号及其速度的设置,当设置完毕并且按下确认键后,便会将所设置的站号及其速度送到设置的缓冲寄存器Buffer中去,在10s检测的模块中汇集那个该设置的值和当前点滴的速度进行比较,如果不一致则会控制电机的转动来调节直到他们相同,这里误差设置为10,即当误差在10滴内则认为达到要求,电机停止调整。
b)储液瓶液面高度的检测
储液瓶内液面的高度的检测采用的是外部中断0即p3.2来实现,上电后为高电平,当液面达到警戒位置时,比较器输出高电平,反向后为低电平,这就会触发中断产生一个报警信号。
c)数码管的显示部分
数码管的显示部分采用的是动态扫描的方法,程序每执行一次显示一位,当程序执行4次之后又会从数码管的第一位开始显示,依次循环,只要我们设置扫描频率大于40Hz,人眼就分辨不出来,我们就能看到四位几乎是同时显示。
d)滴速检测算法
要检测滴速,需要一定的计算方法。
主要有以下的两种办法
1、测量每两个液滴之间的时间,再计算出滴数
2、测量1min内滴下的液滴数
其中第二种方法由于直接测量,因此非常准确。
但有一个问题,如果直接测量的话,那么要等到一分钟以后,才更新一次数据,不能满足控制的需要。
因此,这里才用一种滑动测速的方法解决这个问题。
方法是利用六个计时进程分别计数,每个进程计一分钟内滴过的液滴数,进程各自错开10sec,这样每隔10sec就可以更新一次数据,满足控制的要求。
滑动测试原理图
e)滴速控制算法
本系统采用电动机驱动调节点滴瓶的高度来调节点滴的速度
可以猜用两种方案:
2、将各个高度对应的速度做成表存入rom,这样只需查表,但是这样表不可能精确到cm级,也就是说只能先粗调,然后细调/
3、研究滴瓶高度与滴速间的关系,以便选择合适的控制算法。
我们由伯努利方程得:
将伯努利方程两边分别对时间求导可得:
在本系统中v可以理解为当前的滴速,在每次调速前可视为常数,因此有:
为便于计算机处理,将其离散化得到:
三、主站程序流程
四、主从站通讯
五、从站程序流程
参考资料:
潘中银等:
《液滴点滴速度监控装置(F题)》——国防科技大学2003年全国大学生电子设计竞赛F题二等奖
陈彦、陈平:
《基于锁相环技术的液体点滴速度监控系统》——《电子技术》2004第3期
蓝江桥等:
《液体点滴速度监控装置(F题)测评分析》——全国大学生电子设计竞赛湖北赛区评审组专家
羚阳等:
《用凌阳SPCE061A实现的液体点滴速度监控装置》——《电子世界》2003第11期
刘宝明、尹世华等:
《点滴智能控制系统的设计与实现》——(解放军西安通信学院,陕西西安710065)
赵兆等:
《液体点滴速度监控装置(F题)》——上海交通大学2003年全国大学生电子设计竞赛F题一等奖