matlab 周期性边界,PID控制器阶跃响应的分析(基于MATLAB仿真的实验):

2023-05-16

●PID控制器的校正设计的方法(PID系数的设定)

有同学可能会问到这里字怎么变的蓝色了呢?只是强调下关于PID系数整定这节很重要了。

主流的校正方法有以下几种:

1动态特性参数ziegler-nichols法★★★★★

2一般数学模型拟合成带延迟的惯性环节(略)★★

3 cohen-coon整定公式的PID校正设计★★★

4最优控制(误差积分指标最优)的PID校正设计★★★★

5稳定边界法的PID校正设计★★★★

6试凑法★★

7临界比例法★★★★

8经验法★★★★★

4 T+ ^, e( b- y8 I

thread-180919-1-1.html$ l0 j' J' a0 R3 R  ?/ V% E

9 o0 l1 b5 p7 K  t0 Z7 k" v

1、动态特性参数法(ziegler-nichols整定公式)的PID校正设计★★★★★

对于被控对象为带延迟的一阶惯性环节的系统,即传函为

thread-180919-1-1.html 的系统,# o% M- m+ p+ d% [. q. g

可以采用一组经验公式来计算,这种PID控制器的参数值确定方法就叫Z-N法。

***********************************************************************

动态特性参数(ziegler-Nichols)的PID校正设计

以传递函数为一个带延迟的惯性环节的系统为例子  g(s)=(8/360s+1)e^-180s

然而用Z-N整定公式计算P,PI,PID校正器的参数,并进行阶跃给定响应的仿真

***********************************************************************

Ziegler_Nichos整定公式

kp                Ti            Td

p      T/k*tau

Pi     0.9*T/k*tau       3.3*tau

Pid    1.2*T/k*tau       2.2*tau       0.5*tau

***********************************************************************

clear

K=8;T=360;tau=180;

n1=[K];  d1=[T 1];

G1=tf(n1,d1);

[np,dp]=pade(tau,2);

Gp=tf(np,dp);

[Gc1,Kp1]=zpid(1,[K,T,tau])

[Gc2,Kp2,Ti2]=zpid(2,[K,T,tau])

[Gc3,Kp3,Ti3,Td3]=zpid(3,[K,T,tau])

Gcc1=feedback(G1*Gc1,Gp);

set(Gcc1,'td',tau);

step(Gcc1);hold on

Gcc2=feedback(G1*Gc2,Gp);

set(Gcc2,'Td',tau);step(Gcc2);

Gcc3=feedback(G1*Gc3,gp);

set(Gcc3,'Td',tau);step(Gcc3);

gtext('1 p control '),

gtext('2 pi control '),

gtext('3 p control ')

**************************************************************************************

Zpid.m 函数,调用格式[Gc,kp,Ti,Td]=zpid(pid,vars) ,PID=1,为P;PID=2,为PI,PID=3,为PID调节参数

**************************************************************************************

function [Gc,Kp,Ti,Td]=zpid(pid ,vars)

K=vars(1);T=vars(2);tau=vars(3);

Kp=[];Ti=[];Td=[];

if PID==1,

kp=t/(k*tau);

elseif pid==2,

kp=0.9*t/(k*tau);

ti=3.33*tau;

elseif pid==3,

kp=1.2*t/(k*tau);

ti=2*tau;td=tau/2;

end

switch pid

case 1,gc=kp

case 2,gc=tf([kp*ti kp],[ti 0])

case 3,nn=[kp*ti*td kp*ti kp];

dd=[ti 0];

gc=tf(nn,dd)

***************************************************************************************

有图6 Z-N的P,PI,PID阶跃响应曲线可见,

第一:P与PI的两者响应速度几乎相同,应两者的KP值不同,所以幅值有不同,

另有图可见PI的超调量比P要小的多。

第二:PID的响应速度比P与PID都要快,但是PID超调量比P与PI都要大。

第三:程序运行后分别得到(P.PI.PID的)三个传递函数,从曲线看来PID最好了。6 |9 S$ b% I. A

thread-180919-1-1.html

+ M- d" B. X9 R- a+ Z

thread-180919-1-1.html

图6 Ziegler_Nichos的P PI PID控制阶跃响应曲线

' K( y  Q& C& c& A$ _% p: \3 X9 M8 T4 G( \

2、一般数学模型拟合成带延迟的惯性环节(略) ★★

3、 cohen-coon整定公式的PID校正设计★★★

cohen-coon整定公式与传统的ziegler-nichols整定公式类似,但需要知道系统被拟合成带延时惯性环节的参数K,T与t,就可以根据表一给出的计算公式算出数据,并直接设计出PID校正器。

表1cohen-coon整定公式

thread-180919-1-1.html, Z4 [) l+ M4 ~  w3 p

4最优控制(误差积分指标最优)的PID校正设计★★★★

先复习下稳态误差的概念,什么是稳态误差呢?

稳定误差à一般指的是一个系统的控制精度度量,说这概念前,先说说什么是误差,

误差:一般定义期望值与实际值差异。

比如e(t)=r(t)-b(t), e(t)为误差,r(t)为输入值,b(t)为输出值。

稳态误差:是指误差信号e(t)的稳态值,一般包含瞬态分量ets(t)与稳态分量ess(t)。

瞬态分量会随着时间趋向∞ 而变零,而稳态分量会趋向于某一个值,所以时间t趋向无穷大时,剩下的只是稳态分量了。

因此控制系统的稳定误差就是误差信号e(t)的稳态分量ess( ∞),主要一点就是只有在系统稳定情况下研究稳态误差才有意义。

数学表示为

thread-180919-1-1.html 关于稳态误差计算参考《自动控制理论》。

在生产过程控制技术里稳态误差也可以叫余差,或系统偏差。

需要特别关注的是系统偏差的积分性能指标。

随着系统偏差幅值的增大或者时间的延长都会使偏差的积分的值变大,控制过程当然希望此积分值越小越好。

系统偏差积分性能指标是以目标函数表示的,常用有以下几种形式。

' U3 S+ D$ K) J1 Q! i( C6 ^# E

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab 周期性边界,PID控制器阶跃响应的分析(基于MATLAB仿真的实验): 的相关文章

随机推荐