近年来,随着计算机进入控制领域,以及新型的电力电子功率元器件的不断出现,使采用全控制开关功率元件进行脉宽调制(pulse width modulation,简称PWM)的控制方式得到了广泛的应用。
气体流量控制系统的设计
本系统以AVR系列的atmega32单片机为核心,通过设置atmega32的PWM控制寄存器产生脉宽可调的PWM波,对比例电磁阀的输入电压进行调制,从而实现了对气体流量的变量控制。单片机通过均速管流量计采集实际流量信号,根据该信号在其内部采用数字PID算法对PWM控制寄存器的值进行修改,从而达到精确的变量控制。为了防止外界干扰信号进入控制系统,单片机和均速管之间采用光电隔离,提高了系统的可靠性。
由均速管流量计对气体额流量进行监测,该种流量计属差压式流量计,由单点测速的皮托管演变发展而来,基于流体力学能量守衡原理,遵从伯努利定律,控制气体流量采用比例电磁阀。通过4×4键盘和128×64液晶模块实现人机对话,便于用户操作。系统结构如图1所示。
图1 流量控制系统框图
流量控制算法
考虑气动泵泵气过程的非线性等因素,采用了人类专家的知识和求解问题的启发式规则来构造专家控制器,从而实现流量的智能控制,保证气动泵供气的稳定性。
1 基于专家系统的智能PID控制简介
专家系统主要有五部分:知识库、数据库、推理机、解释部分和知识获取部分。军工业生产所遇到的被控对象千变万化,其复杂程度也不相同。本系统的被控对象具有比较大的非线性、滞后性等特性,考虑到对其控制性能、可靠性、实时性的要求,将专家系统简化,不设人机自然语言对话,将知识库、规则集缩小,于是专家系统变成了专家控制器,从而能使专家系统在控制器上实现。
基于专家系统的智能PID控制器如图2所示。专家知识库是根据熟练操作工或专家的经验和知识,把各种工况下被控对象特性所对应的PID参数记录在数据库中而形成;数据库存放被控对象的输入和输出信号、给定信号(即获得了偏差和偏差变化率);逻辑推理机则从数据库中取出实际运行数据,根据给出的推理机制,从专家知识库中选择合适的参数,实现参数自整定PID控制。
图2 专家PID控制器原理框图
2 流量的专家PID控制
在军工业生产中,当我们不完全了解一个系统和被控对象,或被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,这个时候往往采用PID控制技术最为方便。PID算法以其结构简单、稳定性好、工作可靠、高速方便而成为工业控制的主要技术之一。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。系统控制器的结构和参数必须通过经验和现场调试来确定。
模拟PID控制器的控制规律为:
(1)
式中,KP—比例系数;TI—积分常数;TD—微分常数;u0—控制常量。
由于单片机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,而不能像模拟控制那样连续输出控制量,进行连续控制;并且,单片机处理数据的量有限,综合考虑该系统采用增量式PID控制,其算式为:
u(k)=u(k-1)+Δu(k) (2)
Δu(k)=KP[e(k)-e(k-1)]+KIe(k) +KD[e(k)-2e(k-1)+e(k-2)] (3)
气体流量值经过比例换算之后作为气泵的给定值,通过PID控制器的输出来控制气泵的流量。e(k)为气泵给定流量与实际测量值的偏差;e(k-1)为上一时刻的误差值;e(k-2)为上一采样时刻的误差值。KP是解决幅值震荡,KP大了会出现幅值震荡的幅度大,但震荡频率小,系统达到稳定时间长;KI是解决动作响应速度快慢的,KI大了响应速度慢,反之则快;KD是消除静态误差的,一般KD设置都比较小,而且对系统影响比较小。
由于气体流量测量的特殊性以及气体控制过程中的非线性、时变、滞后等特性,采用上述PID控制算法不能达到令人满意的效果,由此采用辅以专家控制规则来进行补偿控制。根据气泵偏差及其变化率,本文提出的控制器按以下6种情况进行设计:
①当|e(k)|》M1(PWM波的幅值)时,说明误差绝对值已经很大。不论误差变化趋势如何,都应考虑控制器的输出应按最大(或最小)输出,以达到迅速调整误差,使误差绝对值以最大速度减小。
Δu(k)=Δumax或者Δu(k)= -Δumax (4)
此时,系统相当于实施开环控制。
②当e(k)·Δe(k)≥0时,误差在朝绝对值增大方向变化,或误差为常值,未发生变化。如果此时|e(k)|》M2(设定的误差界限),说明误差也较大,可考虑由控制器实施较强的控制作用,以达到使误差绝对值朝减小方向变化,并迅速减小误差的绝对值,调节器输出可为
Δu(k)=KI{KP[e(k)-e(k-1)]+KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]} (KI》1) (5)
如果|e(k)|《M2,则说明尽管误差朝绝对值增大的方向变化,但误差绝对值本身并不很大,可实施一般的PID控制作用。
③当e(k)·Δe(k)《0、Δe(k)·Δe(k-1)》0或者e(k)=0时,说明误差在朝减小的方向变化,或者已经达到平衡状态。此时可考虑采取保持控制器的输出不变,输出为
Δu(k)=0 (6)
④当e(k)·Δe(k)《0、Δe(k)·Δe(k-1)《0时,误差处于极值状态,系统出现振荡现象。如果此时误差的绝对值较大,即|e(k)|≥M2,则采用较强的控制作用。
Δu(k)=K2KPe(k) (K2《1) (7)
反之则考虑实施较弱的控制作用。
Δu(k)=K3KPe(k) (K3《1)(8)
⑤当|e(k)|《ε,ε为一任意小的正数,可取为0.001。此时误差很小,考虑加入积分环节,减少稳态误差。控制算法为普通比例加积分控制
Δu(k)=KP[e(k)-e(k-1)] +KIe(k) (9)
⑥当e(k)=0时,说明系统已经达到平衡状态,此时可考虑维持当前控制量不变。调试发现当误差达到控制精度要求后可维持当前控制量不变,从而避免小范围的波动使被控对象更快稳定下来。
综上所述,系统调节器控制规律实际相当于变结构PID控制器,根据误差及误差变化情况选择不同的控制规律,以便使系统迅速达到给定流量值。
硬件部分
1 PWM控制原理
PWM控制功率输出级为开关型结构,功耗小。在功率驱动放大电路中需要将PWM输出的电压信号转换为比例电磁铁的电流控制信号。因此,可采用大功率场效应晶体管IRF540,它能够提供足够大的电流驱动比例阀的比例电磁铁等效线圈,通过调整单片机的PWM波就可以实现电磁阀输入电压占空比的调节,从而实现对流量的调节。
PWM控制系统是非线性、非连续控制系统。其控制原理:先给被控参数设定一个期望值,接着该参数与测得的实际值经比较环节得出误差信号,误差信号再与一个三角波信号经比较器进行比较,当误差信号大于三角波信号时,就输出脉冲,反之不输出,因此,比较器输出一系列等振幅不等宽的矩形波,其脉冲宽度与误差信号成线性关系。根据该原理,采用PWM控制器输出的脉冲去触发开关,开关再去触发执行机构,执行机构按脉冲宽度的时间动作,从而达到自动控制参数的目的。
图3 PWM控制系统框图
图3中,PWM控制器的输出u(t) 为
式中,M为PWM波的幅值;T为PWM的脉冲周期;Tk为PWM波的采样时间,k=0,1,2,3,…;b为比例系数。
2 比例电磁阀
比例电磁阀在20世纪60年代末就已经得到了应用,最初是用于液压控制系统,随着单片机和集成电路的发展,其逐渐应用到各种气体的流量控制中。比例型电磁铁的工作原理如下:线圈通电后,轭铁和衔铁内部产生磁通并产生电磁吸力,将衔铁吸向轭铁,同时衔铁上的弹簧受到压缩,当衔铁上的电磁力和弹簧力平衡时,衔铁停止位移。比例型电磁铁的衔铁运动时,气隙保持恒定,即衔铁在有效行程范围内,吸力保持恒定,而电磁铁的吸力在有效行程范围内和线圈的电流大小成正比。目前,过程控制用比例电磁阀均为单级阀,和普通单级电磁阀区别不大,如图4所示。控制信号进入控制器放大后,在比例电磁铁线圈的两端加上一定的电压,转换成一定的电流信号,驱动衔铁(即阀芯)开启,阀芯上的电磁力和弹簧力平衡后,阀门的开度不变;输入信号变化,阀门的开度也发生变化,从而达到控制所需参数的目的。
图4 单级比例电磁阀
软件部分
1 PWM波的产生
设计采用单片机atmega32产生PWM信号。atmega32的定时/计数器的PWM模式可以分成快速PWM和频率(相位)调整PWM两大类。本设计采用快速PWM模式,快速PWM可以得到比较高频率的PWM输出,响应比较快,因此具有很高的实时性。此时计数器仅工作在单程正向计数方式,计数器的上限值决定PWM的频率,而比较匹配寄存器的值决定了占空比的大小。快速PWM模式的控制寄存器设置如下:
//输出端口初始化
PORTD=0x44;
DDRD=0x20;
//T/C1初始化
TCCR1A=0xC3;/*比较匹配时OC1A输出高电平,在top值时清零ICP下降沿捕捉,
时钟1/8分频(暂定),即工作在反相pwm模式*/
TCCR1B=0x0A;//10位快速pwm模式
TCNT1H=0x00;//start at 0
TCNT1L=0x00;
2 控制系统的程序流程
其控制程序的流程图如图5所示。
图5 流量控制流程框图
3 PID子程序流程
将系统误差e(k)和误差变化率Δe(k)变化范围定义为e(k),e(k)={NB,NM,NS,O,PS,PM,PB},各元素分别代表流量差值及流量差值变化率。根据不同的e(k),Δe(k)的量化取值和控制器数学模型,选择相应的控制器计算公式进行PID运算,从而完成流量的智能控制。专家PID控制算法的PID子程序计算流程如图6所示。
图6 PID子程序框图
Matlab下的仿真
Matlab是控制系统的一种分析和仿真软件,利用它可以方便准确地对控制系统进行仿真,为了验证数字PID算法的可靠性,采用Matlab6.5下的simulink组件对增量数字PID算法进行了仿真,仿真结果如图7所示。仿真结果表明运用PID对PWM方波进行调解具有良好的动态性和稳定性,从而证明了该气体流量控制系统得可行性。
图7 仿真结果
结语
传统的气体流量控制大多采用高速开关电磁阀,电磁阀的频繁开关会产生很大滞后性,不利于控制的系统的实时性。本设计采用了西门子的专用PID模块,大大简化了程序。同时,采用了图形编程方式,使程序更直观,交互界面更加友好。运用数字PID算法结合AVR单片机的PWM功能实现了气体流量的控制,利用PWM信号控制比例电磁阀开口的大小,实现了流量的连续控制,减少了滞后性,同时采用了增量式数字PID算法调节,实现了闭环控制,使系统调节更准确、更稳定。此外,运用Matlab软件进行了仿真,证明了系统的可行性。数字PID算法调整控制参数较之硬件PID控制器操作简便,系统设置灵活。