资源描述
液体点滴速度监控装置
摘 要
本设计为液体点滴速度监控装置,实现了对液体点滴速度的检测与控制和储液瓶中液面高度的检测报警,并且动态显示点滴速度,可以通过按键设置液体点滴速度并使用步进电机进行速度控制;为了达到较好的调整稳定度,通过软件实现控制电路的自适应调节;利用软件屏蔽检测中的异常信号;另外实现了多机通信,即一个主机站控制多个从机站和主、从机之间的数据传输。报警信号通过串行口实现从机到主机的传输,利用发光二极管和蜂鸣器实现主机的声光报警,同时从机使用数码管显示异常信息。
系统以单片机89C51为核心,使用两块系统板(主机和从机)组成有线监控系统,主机实现对从机的控制;从机通过外围电路检测储液瓶中液面高度和液体点滴速度;通过从机实现对步进电机控制以此来控制液体点滴速度。软件使用均值法处理采样信号以减小误差。
在整体方案设计中,在保证设计系统能达到的题目要求的精度和稳定度的前提下,考虑到系统的轻便性、实用性、可靠性,对电路系统进行了优化。
关键词:PID 光电传感器 步进电机 自适应 多机通信
§1方案比较、设计与论证
本系统采用模块化设计,可分为测量模块、控制模块和单片机主从通信模块。
1.1测量模块方案比较与论证
1.1.1储液瓶液面高度测量
方案一:使用拉力传感器间接测量。将拉力传感器接在滑轮和储液瓶之间,利用液面高度变化和拉力变化之间的线性关系进行间接测量。但是拉力传感器价格贵,从实用性角度考虑,在设计系统中不合适。
方案二:利用超声波测量液面高度。超声波测距准确,是一种常用的测距方法。但是在本系统存在液体产生的表面波动,使用超声波传感器检测液面会产生较大的误差,同时超声波传感器安装方位的确定也是一大难题。
方案三:使用光电传感器定点对液面进行监测。利用光在不同媒质界面的折射或反射原理,通过光电传感器接收光信号实现液面检测功能。此外,光电传感器安装方便,只需将传感器固定在储液瓶外瓶壁上即可,不需要详细计算储液瓶液面高度值,简化了外围电路结构。
综合比较上面三种方案,从实用,简便同时保证测量准确度上,使用光电传感器测量储液瓶液面高度是最理想的选择。
1.1.2液体点滴速度测量
方案一:利用光透射原理。使用光敏二极管和单向光源实现光检测。通过光敏二极管接收透射过来的单向光源的光信号,产生脉冲信号。实现框图如图1-1。
图1-1 利用透射检测点滴速度
方案二:利用光的反射原理。使用红外发光二极管和光敏三极管实现光源检测。红外发光二极管垂直于漏斗壁发送红外光,红外接收三极管依据接收到的红外光信号的强弱产生脉冲信号,通过定时采样计算出液体点滴速度。实现原理框图如图1-2。
图1-2 利用反射检测点滴速度
综合比较上面两种方案,利用透射原理来检测点滴速度时,由于储液瓶是透明玻璃瓶,从光源发射出来的光大部分反射,透射光比较微弱,这样检测信号产生误差较大,同时电路需要对微弱信号进行处理,这样就增加了电路设计上的难度;利用光的反射原理实现时,由于反射信号比较强,这样可以减小信号检测时的误差,同时电路形式要透射时情况简单。
1.2控制模块方案比较与论证
对液体点滴速度的控制,可以使用下面两种方案:
方案一:采用输液软管夹头控制点滴速度,由于夹头的控制中存在很多因素,例如橡胶粘度与液体粘度,弹簧的弹力等等,都为非线性控制量,所以如果采用夹头控制难以实现类似的线性控制
方案二:采用步动电机调整高度,这种方法通过步动电机的移步控制可以较精确的控制高度,从而实现接近线性的控制点滴的速度。
综合比较上面两种方案,使用步进电机来实现控制效果较好。
1.3主从单片机通信方案设计与论证
并行通信是数据各位同时进行传输的方式,优点在于传输速度快,但是其传输数据宽度导致通信线路复杂,由于本系统数据传输量不大,可使通信线路尽量简单才用串行通信方式。串行通信能通过同步传送和异步传送两种方式来实现。
方式一:同步传送方式。同步传送字符格式简单,其有效数据位传送速率快,但是硬件实现上比较复杂,同时对同步时钟脉冲信号的相位一致性要求很严格。
方式二:异步传送方式。异步传送方式以字符为单位一个个发送和接收的,每个字符要用起始位和结束位作为字符开始和结束的标志位。在异步传送中,字符间隔不固定,需要加空闲位等待传送,这样其完成数据传送的时间较长,异步传送优点就在于实现上简单。
综合比较上面两种方案,本系统中实现单片机与单片机之间的通信采用异步传送方式。
§2设计系统组成框图
通过以上方案设计比较,确定系统实现框图如下图2-1:
图2-1 系统组成框图
§3理论分析及控制算法确定
3.1 点滴速度和高度之间的关系
液体点滴速度和滴斗高、滴速夹的松紧以及针头有很大关系。当滴速夹和针头固定不变时,点滴速度和漏斗高存在固定的数学关系。示意图如图3-1。
设滴速夹对速度的影响为,针头对速度的影响为,受液瓶高度为,(、和 图3-1 速度和高度关系 为定值),由图3-1可以得到液体垂直高度和液体产生的压强P之间的关系是:
(3-1)
(其中是液体密度,是重力加速度)
当、固定时,其对速度的影响不变。可以将漏斗、滴速夹和受液瓶等效成如图3-2中的物理电路。
图3-2 等效电路图
压强等效成电压,滴速夹对点滴速度的控制转化成电路中电阻对电路电流的控制,针管对点滴速度的控制转化成电阻对电路电流的控制。这样就可以得到 压强P、常数(为常数)和点滴速度之间的关系为:
(3-2)
由式(3-2)和(3-3)得到:
=
即有 (3-3)
(其中为常数)
点滴速度主要是受高度、滴速夹及针管的影响,其他因素的影响相对来说很小,当滴速夹和针管位置固定时,其影响一定,这样就可近似地得到式(3-3)中高度和点滴的关系。由于实际情况下,常数不易确定,所以高度和速度之间的关系需通过实际测量得到。本设计系统通过软件自学习测量得到和的关系列表。
3.2 PID控制算法
该系统为液体点滴速度监控系统,由于确定点滴速度和高度之间的关系比较复杂,所以对点滴速度的监控使用PID控制来实现。 PID控制的实质是根据输入的偏差值,按一定的函数关系进行运算,其运算结果用以控制输出。
在计算机为核心的离散控制系统中,PID控制器采用差分方程表示,即
(3-4)
式中:——采样周期时的输出,
——采样周期时的偏差,
——采样周期。
在式(3-4)中,令
则有 (3-5)
式(3-5)被称为数字PID控制器的位置型算式。其输出控制量对应于系统的输出y(位置),是全量输出。系统框图如图3-3。
图3-3 位置型PID算式
由于式(3-5)的第二项计算复杂,一般采用增量型PID算式。即
(3-6)
增量式算法只输出控制量的增量。采用增量式算法,系统中需增加一个积分装置,如步进电机。系统框图如图3-4。
图3-4 增量式PID算式
在液体点滴速度监控系统中,通过对式(3-6)中参数,,进行调整,经过实际观察其控制效果,找到合适的控制参数。
3.3多机通信
对于集散测控单元(例如多机通信)使用串行通信来实现,因为串行通信的硬件实现上比较简单。串行通信是指通信的发送方和接收方之间的数据信息的传输是在单根数据线上,以每次一个二进制的01为最小单位进行传输。串行通信的传输速度要比并行通信慢的多,但是串行通信可以简化通信线路。串行通信有同步通信和异步通信两种方式。
(1)异步通信控制规程
为实现串行通信并保证数据的正确传输,要求通信双方遵循某种约定的规程。异步通信控制规程,或称异步通信协议,其特点是通信双方以一帧作为数据传输单位。每一帧从起始位开始、后跟数据位(位长度可选)、奇偶位(奇偶检验可选),停止位(如图3-5)。1帧的数据格式如下:
图3-5 异步通信时序图
一帧的传输经过大致有以下几个步骤:
(1)无传输 通信线路上处于逻辑‘1'状态,或称传号,表明线路无数据传输。
(2)起始传输 发送方在任何时刻将通信线路上的逻辑'1'状态拉至逻辑'0'状态,发出一个空号,表明发送方要开始传输数据。接收方在接收到空号后,开始与发送方同步,并希望收到随后的数据。
(3)数据传输 起始位跟着要发送或接收的一串位序列,即表示一个字符代码。数据位传输规定最低位在前,最高位在后。数据位的确定是根据实际需求以获得最佳传输速度。
(4)奇偶传输 数据位之后是可选择的奇偶位发送或接收。奇偶位的逻辑状态取决于奇偶校验的类型。必须保证在同一次传输过程中,每帧选择的奇偶校验类型是一致的。
(5)停止传输 奇偶位之后是发送或接收的停止位,其逻辑状态恒为1,位时间可在1、1.5或2位选择,且必须保证在每帧传输其间均为相同。
发送方在发送完1帧后,可连续发送下1帧,也可随机发送下1帧。在这两种情况下,当接收方收到传号后,双方取得同步。通信双方除遵循相同的数据传输帧格式外,为确保传输数据的正确性,双方还要具有相同的数据传输率:每秒传输的二进制位数,其倒数即为波特率(Baud Rate)。
(2)波特率是衡量数据传输速率的指标。设数据传输的速率是1200字符/秒,每个字符为8位,则其传输的波特率是:
8位/字符1200字符/秒=9600波特
3.4点滴速度和点滴周期的分析。
图3-6 点滴速度测量
通过采集几个相邻间隔脉冲信号周期,平均得到相邻间隔脉冲信号的周期T,这样就可以得到点滴速度。
§4单元电路设计与计算
通过对题目的分析,可以将要实现的系统分成几个小模块分别实现。电路上可以划分为:电机驱动模块、储液瓶液体高度检测模块、液体点滴速度检测模块。
4.1电机驱动方式
步进电机是纯粹的数字控制电动机,由电脉冲信号即可转变成角位移,比其他类型的电动机更适合于本系统,故选用步进电动机。本系统中使用步进电机来控制的高度,以控制点滴速度。由于单片机带负载能力有限,不能直接驱动步进电机转动,所以有必要在单片机和步进电机之间加上步进电机驱动电路,增加单片机带负载能力。电路原理图如图4-2。
图4-1 NUL2803驱动
接入负载时,通过图腾柱结构输出没有NUL2803稳定。NUL2803的驱动能力要比图腾柱结构驱动能力强。故本系统中使用NUL2803集成芯片作为步进电机的驱动。同时,选用了带负载能力大的感应子式永磁型步进电机,型号为57BYG 。本系统中使用的步进电机所需要的脉冲电压幅度是12V,电流幅度是0.6A,绕组阻抗是,力矩为9,力臂57mm,能够满足要求。通过集成芯片NUL2803可以直接驱动步进电机。单片机输出四路脉冲信号控制电动机转动相位角。单片机产生四相四拍脉冲信号的波形如下图4-2。
图4-2 四相四拍脉冲信号波形
要使步进电机控制更精确,在步进电机所接负载较大时,可以采用四相八拍脉冲信号,波形图如下图4-3。
图4-3 四相八拍脉冲信号波形
本系统需要使用电机控制高度,即需要控制储液瓶的上升和下降。要是电路尽量控制准确,使用四相八拍脉冲信号驱动电机工作。
4.2储液瓶液体高度检测
通过检测储液瓶中液体高度超过警戒值给单片机发送报警信号。对于储液瓶液体高度测量,有以下两种方案可供选择:
方案一:使用拉力传感器。通过液体重力和液体高度之间的关系,可以间接测量液体重力来判断液体高度是否超过警戒值。实现原理如下计算:
设计液体质量是m,则重力F和液体高度之间h的关系是:
+ (4-1)
, (4-2)
由式(4-1)和(4-2)可以得到 (4-3)
(式中表示液体质量,表示储液瓶的质量,为重力加速度,为液体密度,储液瓶底面积)。
由上面式(4-3)可以得到:拉力变化和液体高度变化成正比,通过设定的基准点同之间的差值关系来判断液面高度是否达到警戒位。和之间的关系如下:
当时,液面高度正常;
当时,达到警戒位,发送报警信号。
使用拉力传感器的缺点就在于测量不是很准确
方案二:使用红外线定点检测 。电路可以分成三部分:红外检测电路、电流电压变换电路、放大整形电路。电路原理图如图4-4。
图4-4 红外定点检测电路
光电传感器检测出信号为直流电平,当液面高度下降到警戒值时,光电传感器检测到反射光信号,从而产生高低电平的变化,检测信号通过电压比较器LM339输入到单片机中,通过单片机检测采样到的电平,能判断储液瓶中的液面是否达到警戒值。光电传感器检测出信号为直流电平,当液面高度下降到警戒值时,光电传感器检测到反射光信号,从而产生高低电平的变化,当液面到达警戒值时,单片机产生控制信号,使LED灯闪烁和蜂鸣器响,产生两种报警措施,蜂鸣器报警实现电路如下图4-4。
图4-4 蜂鸣器报警电路
电路中使用555作为蜂鸣器的报警驱动电路。单片机通过发送中断信号,通过555驱动蜂鸣器报警。
4.3液体点滴速度检测
本系统用光电传感器ST178来检测单位时间内点滴下落的个数,ST178为单电源反射式光电传感器,内含有一个红外发光二极管,一个光敏三极管(用来接收反射回来的红外光)。当发光二极管发出的红外光大部分被光敏三极管接收时,接收端光敏三极管导通;光敏三极管接收到的反射红外信号微弱时,接收端光敏三极管截止。具体电路形式如下图4-5。
图4-5 反射检测点滴速度电路
当滴斗处无液滴落下时,红外光在滴斗表面发生全反射,光敏三极管导通,比较器输出低电平;当滴斗处有液滴落下时,红外光在穿过点滴时有散射现象发生,光敏三极管只能接收到微弱的光信号,光敏三极管截止,比较器输出高电平。电路输出脉冲信号输入到单片机T0口,单片机对脉冲信号计数,从而确定点滴下落速度。
电路中比较电平由精密稳压管LM336经过电位器分压输出,脉冲信号为低频,故选用低频电压比较器LM339,可减少高频噪声。
设光电传感器接收到可见光时输出电压幅度是,即输出信号中的直流分量,当检测到点滴时,光电传感器产生脉冲信号输出,通过电解电容C2滤掉脉冲信号中的交流分量,电压比较器对脉冲信号整形。实际示波器输出波形如下图4-6所示。
图4-6 脉冲波形的产生
上图中第一波形为光电传感器检测产生的脉冲信号,第二波形即为电压比较器输出信号。
4.4检测电路中的防干扰
电路中使用光电传感器检测点滴速度和警戒值。这样系统检测信号受到可见光以及测量调节中点滴抖动的影响,要使检测到的信号尽量准确,需要对系统电路进行抗干扰处理。
(1)防止可见光干扰 电路中使用了光电传感器,在接受到发送的红外线的同时,将会接收可见光。当可见光的强度足够大时,将会影响到接收的红外光信号的精度。抗可见光干扰可以使用在光电传感器探测头加遮光罩,或使用脉冲频率调制的方法。由于系统电路中使用直流电源给光电传感器提供工作电压,所以本系统使用在光电传感器探测头上加遮光罩。
(2)防抖动干扰 电路中需要检测储液瓶中液面高度以实现报警,同时需要检测点滴速度及通过改变高度实现对点滴速度的控制,所以测量时被测装置将会移动,当光电传感器和被测装置之间不能紧密连接时,检测到的信号误差,所以要减小被测装置移动时产生的抖动干扰。本系统中将光电传感器固定在被测装置上,以减小被测装置移动时产生的抖动干扰。
当储液瓶中液面晃动时,会使光敏传感器产生误报警,利用单片机检测信号时,适当加上一段时间的延迟,待系统稳定时再测,可以减小液面晃动时产生的干扰。
(3)干扰的软件处理。如下图4-7是单片机输入信号的正常波形和异常波形 。
图4-7 单片机输入信号
检测到正常波形时脉冲宽度是t mS,若软件采集脉冲波形上升沿,则检测到异常波形时,软件在t mS 时间内只默认采集了一个上升沿,即将另一个上升沿屏蔽掉,这样软件就能将异常波形转换成正常波形进行处理。
§5系统软件实现
本系统的核心在于软件部分。软件实现了系统各个模块的核心部分。软件上主要实现了一下几个方面功能。
5.1点滴速度测量
方式一:以点滴间隔为单位,记录一次点滴的时间,用60除以点滴单位时间就可得到每分钟的点滴数。这种方法用到除法操作,而且当点滴速度较快时,测量误差较大,因为测量单位点滴时间的误差回被60秒这样大的时间单位放大。但此法在修正点滴速度时,可以实时的测得当前的点滴的速度变化量,适合在调整滴速度使用。
方式二:以单位时间记录点滴数。通过简单的乘法就可计算出点滴速度,但此法也存在单位时间内不是完整的点滴数目,从而存在一定的测量误差。但是,此法在点滴速度恒定的情况下,可以采用多个单位时间取均值,从而求得单位时间的平均点滴数,这样可以达到比较好的精度。
在本设计系统中,采用将两者结合的方法进行测量。以点滴为单位,同时记录单位时间内的点滴数。通过对多个点滴测量计算出点滴速度。实现原理如下:
图5-1 脉冲信号检测
使用定时器定时,当检测到第一个到来的脉冲信号时,程序进行中断处理,将计数器存储内容读出,再将计数器清零作为记录脉冲信号的初始值计为COUNT=0,当定时器定时到达时,程序中断检测输入信号是否有脉冲信号到来,同时计数器加1即为COUNT=1,另外设定计数器COUNT1记录检测到的脉冲信号个数,设定计数器COUNT1的存储单元是10,这样可以通过循环存储脉冲个数。在定时器COUNT1中取出5个相临脉冲信号点(设起始脉冲点是x,此时对应的计数器COUNT值是,第五个脉冲点是x+5,此时对应的计数器COUNT值是)这样就能计算出5个脉冲点所需要的时间为:
(5-1)
由式(4-1)得到相临脉冲信号时间间隔的平均值 ,这样就可以得到点滴速度: (5-2)
其中根据上面的理论分析和计算,得到点滴速度测量的程序框图如图4-2。
图5-2 点滴速度测量程序流程
5.2自学习的实现
实现原理:检测液体点滴速度,同150滴/秒进行比较,当点滴速度小于150滴/秒时,电机控制点滴装置上升直到点滴速度到达150滴/秒。慢慢降低高度,检测点滴速度,和相应高度建立一一对应列表。可以通过两种方式生成列表。
方式一:等间隔方式生成列表。步进电机运行在非匀速状态,以保证等间隔下降。由于高度和点滴速度的近似线性关系,可以通过等间隔方式比较准确的列表,但是实现电机的非匀速转动,相应的增加了软件的难度。
方式二:步进电机匀速生成列表。当步进电机转动时,绕线直径变小,装置下降位移间隔减小,这样当点滴速度较小时调节范围便小,调节效果比等间隔产生的效果好。
综合比较,自学习过程使用步进电机匀速方式生成列表。
5.3点滴速度控制
通过改变高度来实现对点滴速度的控制,而高度是由步进电机的转动来改变的,这样就可以避免测量的值,直接通过改变步进电机的转角即能实现对点滴速度的控制。在对点滴速度进行控制之前,单片机通过自学习产生高度和点滴速度之间的对应关系列表,为了在保证控制精度的前提下,尽量减少控制调节的时间,可以先通过大范围内调节到设定点滴速度附近,再通过微调将点滴速度调节到滴的精度内。软件实现流程如下图5-4。
图5-4 点滴速度控制程序流程
主要实现功能:点滴速度检测与显示,设定点滴速度且可以自动调节点滴速度。
5.4多机串行通信
本系统设计多机通信系统主要是实现多个从机同一个主机之间的数据传输。通过串行通信方式实现主机对从机站点的定点和旋环检测及对从机的控制等功能。串行通信时在主机和从机之间建立通信协议实现主机和从机之间的数据传输。
图5-5 主机实现功能
定点检测功能的实现:定点检测主要是实现单片机之间一对一通信。实现程序流程图如图5-6:
图5-6 主机和从机之间的定点通信
巡回检测功能的实现:巡回检测的核心是一对一通信,通过巡回查询从机状态,读取各个从机的数据并存储,即实现了巡回检测。
主单片机和从单片机之间的通信,主要是单片机之间的通信协议的建立,即软件上实现单片机之间握手。
单片机握手的实现过程是,主单片机向从单片机(编号00)发送通信建立信号00,从单片机接收到请求信号00,同时发送应答信号00,主机响应应答信号,既可以实现主从之间的通信。
§6测试数据与分析
6.1测试仪器
60MHz数字式存储示波器、秒表,卷尺。
6.2测试方法
主要测试功能包括:储液瓶中警戒线的监视,当液面超过警戒线时报警;液体点滴速度的检测与控制;单片机之间的通信,即一个主机对多个从机之间的通信。
储液瓶中警戒线的监视:使用示波器观察储液瓶上传感器的波形变化,当在警戒面上产生高低电平变化说明传感器检测警戒液面正常;
液体点滴速度的检测与控制:使用示波器观察漏斗上传感器波形变化,在检测到一滴液体时波形出现一次跳变,多采几个点,示波器上相应显示几个脉冲信号,通过示波器上时间轴计下采集的几个脉冲信号所用到的时间,计算出相临两脉冲的间隔时间,即为相临点滴之间的间隔时间t秒,通过式子得到点滴速度,同数码管显示值比较,同时可以通过示波器观察点滴速度控制规律是否正确。
多机通信:通过主机向从机发送控制命令,观察从机显示,完成主机对从机的控制;再通过主机读取从机发送的数据,观察主机响应(显示与报警),完成从机向主机的数据传输。
6.3测试数据与结果分析
(1)设定的警戒值是 2.5 cm ,当液面下降到2.8 cm时报警,能够满足题目要求。
(2)观察液晶显示,当高度改变时,显示作相应改变,动态显示点滴速度的功能完成。系统启动时,单片机通过自学习将储液瓶上升到最大高度(单片机检测到的点滴速度为150滴/分时的高度),通过按键设置点滴速度,电机对高度进行调节,检测调整稳定后的点滴速度。测试数据如下表6-1:
表6-1 从站号: 00 单位:滴/分
设定值
20
50
70
90
110
130
150
显示值
19
48
64
84
103
113
140
误差%
5%
4%
8.6%
6.7%
6.4%
13.1%
6.7%
(3)使用秒表测量从改变设定值起到点滴速度基本稳定所用的调整时间是:1分钟。调整时间分钟,满足题目要求。
(4)多机通信检测
①主站对从站的定点和巡回检测
通过按键分别调用主站对从站的定点和巡回检测,观察看到主站能显示从站号和从站当前状态,说明主站对从站的定点和巡回检测正常。
②主站传输过来的从站号和点滴速度
从站号:00
从机显示值
20
40
60
90
110
150
主机显示值
20
40
60
90
110
150
③报警信号检测 当液面降到警戒值时主站通过蜂鸣器和发光二极管报警,从站通过蜂鸣器报警。
④主站对从站控制
主站设置值
20
50
70
90
110
130
150
从站显示值
20
50
70
90
110
130
150
从站调整值
17
43
68
81
101
118
138
(5)异常处理
①电压比较器输出电压产生波形。
产生的主要原因是光电传感器检测到双尖峰脉冲。可以通过降低比较器基准电压产生形式的正常波形。也可以通过软件消除双尖峰脉冲影响。
②主、从机通信时易产生死机。
产生的主要原因是通信时接收和发送同时进行,使接收和发送产生冲突,造成死机。通过软件避免程序“死锁”。
附 录
附录一、参考资料
[1]李嗣福 等编著.计算机控制基础.合肥:中国科学技术大学出版社,2001.9.
[2]陶永华 等编著.新型PID控制及其应用.北京:机械工业出版社,1998.9.
[3]金磐石,王永明.Intel196系列单片微型计算机应用详解.北京:电子工业出版社,1992.
[4]孙函芳.Intel 16 位单片机.北京:北京航空航天大学出版社,1995.
[5]杨渝钦 主编.控制电机(第2版).北京:机械工业出版社,2001.
[6]王鸿钰 编著.步进电机控制技术入门.上海:同济大学出版社,1990.9
附录二、系统原理图
1. 设计系统图
2.系统板电路原理图
·189·
展开阅读全文