PID控制器设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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);

相关文档
最新文档