当前位置:文档之家› PID控制器设计说明

PID控制器设计说明

PID控制器设计说明
PID控制器设计说明

PID 控制器设计

一、PID 控制的基本原理和常用形式及数学模型

具有比例-积分-微分控制规律的控制器,称PID 控制器。这种组合具有三种基本规律各自的特点,其运动方程为:

dt

t

de dt t e t e t m K K K K K d

p t

i p p )

()()()(0

++=? (1-1)

相应的传递函数为:

???

? ??++=S S s K K K G d i p c 1)(

S

S S K K K

d i p

1

2

++?

=

(1-2)

PID 控制的结构图为:

若14

i

τ

,式(1-2)可以写成:

=)(s G c

()()S

S S K

K

i

P

1121

++?

ττ

由此可见,当利用PID 控制器进行串联校正时,除可使系统的型别提高一级外,还将提供两

个负实零点。与PI 控制器相比,PID 控制器除了同样具有提高系统的稳态性能的优点外,还多提供一个负实零点,从而在提高系统动态性能方面,具有更大的优越性。因此,在工业过程控制系统中,广泛使用PID 控制器。PID 控制器各部分参数的选择,在系统现场调试中最后确定。通常,应使积分部分发生在系统频率特性的低频段,以提高系统的稳态性能;而使微分部分发生在系统频率特性的中频段,以改善系统的动态性能。

二、实验容一:

自己选定一个具体的控制对象(Plant),分别用P 、PD 、PI 、PID 几种控制方式设计校正网络(Compensators ),手工调试P 、I 、D 各个参数,使闭环系统的阶跃响应(Response to Step Command )尽可能地好(稳定性、快速性、准确性) 控制对象(Plant)的数学模型:

(

)()???

? ??++=115.01

)(S S S G

2

322

++=S S 实验1中,我使用MATLAB 软件中的Simulink 调试和编程调试相结合的方法 不加任何串联校正的系统阶跃响应:

(1) P 控制方式:

P 控制方式只是在前向通道上加上比例环节,相当于增大了系统的开环增益,减小了系统的稳态误差,减小了系统的阻尼,从而增大了系统的超调量和振荡性。

P 控制方式的系统结构图如下:

取Kp=1至15,步长为1,进行循环测试系统,将不同Kp 下的阶跃响应曲线绘制在一坐标图下:

MATLAB源程序:

%对于P控制的编程实现

clear;

d=[2];

n=[1 3 2];

t=[0:0.01:10];

for Kp=1:1:15

d1=Kp*d;

g0=tf(d1,n);

g=feedback(g0,1);

y=step(g,t);

plot(t,y);

if ishold~=1 ,hold on,end

end

grid

由实验曲线可以看出,随着Kp值的增大,系统的稳态误差逐渐减小,稳态性能得到很好的改善,但是,Kp的增大,使系统的超调量同时增加,系统的动态性能变差,稳定性下降。这就是P控制的一般规律。

由于曲线过于密集,我将程序稍做修改,使其仅仅显示出当系统稳态误差小于10%的最小Kp值,并算出此时系统的稳态值和超调量。

新的程序为:

%修改后对于P控制的编程实现

clear;

d=[2];

n=[1 3 2];

t=[0:0.01:10]; for Kp=1:1:15 d1=Kp*d; g0=tf(d1,n);

g=feedback(g0,1); y=step(g,t); plot(t,y); dc=dcgain(g) if dc>0.9,

plot(t,y),disp(Kp),disp(dc),break,end;%显示出稳态误差小于10%的最小Kp 值,并算出稳态值

if ishold~=1 ,hold on,end end grid

我们就采用使系统稳态误差小于10%的最小Kp 值10,并计算出此时系统的超调量为34.6%,稳态误差为1-0.9091=0.0909。这些结果是我们能接受的。 (2)PD 控制方式

PD 控制方式是在P 控制的基础上增加了微分环节,由图可见,系统的输出量同时受到误差信号及其速率的双重作用。因而,比例—微分控制是一种早期控制,可在出现误差位置前,提前产生修正作用,从而达到改善系统性能的目的。

控制系统的传递函数为:

2

3222+++S S Kp

KpKdS

Kp=10时系统的阶跃响应曲线

PD控制框图

保持Kp=10不变,调试取Kd=1、1.5、2时的系统阶跃响应曲线并与P控制做比较:

MATLAB源程序为:

%编程实现PD控制与P控制的比较

clear;

t=[0:0.01:10];

d0=[20];

n=[1 3 2];

s0=tf(d0,n);

s=feedback(s0,1);

k=step(s,t);

plot(t,k);

Kp=10;

if ishold~=1,hold on,end;

for Kd=1:0.5:2

d=[2*Kd*Kp,2*Kp];

g0=tf(d,n);

g=feedback(g0,1);

y=step(g,t);

plot(t,y);

if ishold~=1,hold on ,end

end

end

grid

由实验曲线可以得知,在比例控制的基础上增加微分控制并不会影响系统的稳态误差,而增大微分常数Kd可以有效的减小系统的超调量和调节时间,在不影响系统的稳态性能的基础上改善了系统的动态性能。微分控制部分相当于增大了系统的阻尼,所以可以选用较大的开环增益来改善系统的动态性能和系统的稳态精度。

在MATLAB中用循环语句实现不同Kp和Kd值下系统阶跃响应曲线:

由此曲线可以看出:当使Kp和Kd值趋于无穷大时,系统的动态性能和稳态性能都得到非常理想的结果,超调量—>0,调节时间—>0,稳态误差—>0,但实际的物理系统中Kp和Kd 的值都受到一定的确限制,不可能想取多大就能取多大,所以上面的曲线并没有多大的实际意义,只是说明了PD控制所能达到的最理想状态和PD控制中的参数选择对阶跃响应曲线的影响。

用MATLAB编程实现,源程序如下:

%编程实现PD控制

clear;

t=[0:0.01:10];

n=[1 3 2];

for Kp=10:100:110

for Kd=2:100:102

d=[2*Kd*Kp,2*Kp];

g0=tf(d,n);

g=feedback(g0,1);

相关主题
文本预览
相关文档 最新文档