处理中...

首页 > 资料大全 > 解决方案 >

基于专家系统的智能PID控制方案解析

基于专家系统的智能PID控制方案解析
来源:华强电子网 时间:2012-04-17

本系统以AVR系列的atmega32单片机为核心,通过设置atmega32的PWM控制寄存器产生脉宽可调的PWM波,对比例电磁阀的输入电压进行调制,从而实现了对气体流量的变量控制。单片机通过均速管流量计采集实际流量信号,根据该信号在其内部采用数字PID算法对PWM控制寄存器的值进行修改,从而达到精确的变量控制。为了防止外界干扰信号进入控制系统,单片机和均速管之间采用光电隔离,提高了系统的可靠性。

由均速管流量计对气体额流量进行监测,该种流量计属差压式流量计,由单点测速的皮托管演变发展而来,基于流体力学能量守衡原理,遵从伯努利定律,控制气体流量采用比例电磁阀。通过4×4键盘和128×64液晶模块实现人机对话,便于用户操作。

流量控制算法

考虑气动泵泵气过程的非线性等因素,采用了人类专家的知识和求解问题的启发式规则来构造专家控制器,从而实现流量的智能控制,保证气动泵供气的稳定性。

1 基于专家系统的智能PID控制简介

专家系统主要有五部分:知识库、数据库、推理机、解释部分和知识获取部分。本系统的被控对象具有比较大的非线性、滞后性等特性,考虑到对其控制性能、可靠性、实时性的要求,将专家系统简化,不设人机自然语言对话,将知识库、规则集缩小,于是专家系统变成了专家控制器,从而能使专家系统在控制器上实现。

基于专家系统的智能PID控制器。专家知识库是根据熟练操作工或专家的经验和知识,把各种工况下被控对象特性所对应的PID参数记录在数据库中而形成;数据库存放被控对象的输入和输出信号、给定信号(即获得了偏差和偏差变化率);逻辑推理机则从数据库中取出实际运行数据,根据给出的推理机制,从专家知识库中选择合适的参数,实现参数自整定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控制器输出的脉冲去触发开关,开关再去触发执行机构,执行机构按脉冲宽度的时间动作,从而达到自动控制参数的目的。

式中,M为PWM波的幅值;T为PWM的脉冲周期;Tk为PWM波的采样时间,k=0,1,2,3,…;b为比例系数。

2  比例电磁阀

比例电磁阀在20世纪60年代末就已经得到了应用,初是用于液压控制系统,随着单片机和集成电路的发展,其逐渐应用到各种气体的流量控制中。比例型电磁铁的工作原理如下:线圈通电后,轭铁和衔铁内部产生磁通并产生电磁吸力,将衔铁吸向轭铁,同时衔铁上的弹簧受到压缩,当衔铁上的电磁力和弹簧力平衡时,衔铁停止位移。比例型电磁铁的衔铁运动时,气隙保持恒定,即衔铁在有效行程范围内,吸力保持恒定,而电磁铁的吸力在有效行程范围内和线圈的电流大小成正比。目前,过程控制用比例电磁阀均为单级阀,和普通单级电磁阀区别不大,如图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 控制系统的程序流程

3 PID子程序流程

将系统误差e(k)和误差变化率Δe(k)变化范围定义为e(k),e(k)={NB,NM,NS,O,PS,PM,PB},各元素分别代表流量差值及流量差值变化率。根据不同的e(k),Δe(k)的量化取值和控制器数学模型,选择相应的控制器计算公式进行PID运算,从而完成流量的智能控制。 

Matlab下的仿真

Matlab是控制系统的一种分析和仿真软件,利用它可以方便准确地对控制系统进行仿真,为了验证数字PID算法的可靠性,采用Matlab6.5下的simulink组件对增量数字PID算法进行了仿真。仿真结果表明运用PID对PWM方波进行调解具有良好的动态性和稳定性,从而证明了该气体流量控制系统得可行性。

结语

本设计采用了西门子的专用PID模块,大大简化了程序。同时,采用了图形编程方式,使程序更直观,交互界面更加友好。运用数字PID算法结合AVR单片机的PWM功能实现了气体流量的控制,利用PWM信号控制比例电磁阀开口的大小,实现了流量的连续控制,减少了滞后性,同时采用了增量式数字PID算法调节,实现了闭环控制,使系统调节更准确、更稳定。此外,运用Matlab软件进行了仿真,证明了系统的可行性。

 

热门推荐

更多 >
ESP32-S3 2022-03-16
RG200U 2022-03-16
USR-C322 2022-03-16

资料浏览排行榜

更多 >
商品名称 大小 浏览量
1 EPCS128SI16N 0.94MB 19278次
2 1N4001 0.19MB 15232次
3 DAC1220E 0.95MB 13349次
4 EP1C6Q240I7N 2.47MB 13321次
5 GRM32RR71H105... 0.10MB 11426次
6 DR127-3R3-R 0.72MB 9057次
7 DMG2305UX-7 0.40MB 6766次
8 DMP2008UFG-7 0.24MB 6536次
9 DS1337U+ 0.28MB 6498次
10 DX4R105JJCR18... 0.26MB 6437次