ts=t2;
else
ts=t1;
end
end
sigma=sigma(:
:
1)%显示超调量
tp=tp(:
:
1)%显示峰值时间
ts%显示调节时间
3.实验结果及性能指标
(1).实验结果
sigma=
32.3442
tp=
58.4907
ts=
90.9393
(2).与单回路系统的对比
Simulink仿真图
性能指标
sigma=
73.4939
tp=
69.2071
ts=
820.1644
4.实验结论:
1.(从回路的个数分析)由于串级控制系统是一个双回路系统,,因此能迅速克服进入副回路的干扰,从某个角度讲,副回路起到了快速“粗调”作用,主回路则担当进一步“细调”的功能,所以应设法让主要扰动的进入点位于副回路内。
2.能改善被控对象的特性,提高系统克服干扰的能力。
由于副回路等效被控对象的时间常数比副对象的时间常数小很多,因而由于副回路的引入而使对象的动态特性有了很大的改善,有利于提高系统克服干扰的能力。
3.提高了系统的控制精度。
实验二:
专家PID仿真控制
1.实验要求:
假设一专家控制系统的传递函数为:
G(s)=
采用专家系统PID控制,输入信号为阶跃信号,取采样时间为1ms,用MATLAB仿真模拟此模型的阶跃响应过程。
2.专家PID控制过程分析:
专家控制的实质是基于受控对象和控制规律的各种知识,并以智能的方式利用这些知识来设计控制器。
利用专家经验来设计PID参数便构成了专家PID控制。
(1)首先通过传递函数离散取样,采样时间间隔为1ms。
(2)然后取PID初始值:
kp=0.6;ki=0.03;kd=0.01;(需要根据传递函数调整)
(3)二阶系统阶跃过程分析如下,取阶跃信号
:
令e(k)表示离散化的当前采样时刻的误差值,e(k-1)、e(k-2)、分别表示前一个和前两个采样时刻的误差值,则有
根据误差及其变化,可设计专家PID控制器,该控制器可分为5种情况设计:
Ⅰ:
时,实施开环控制。
Ⅱ:
当
时由控制器实施较强控制作用,其输出可以为
当
时控制器实施一般的控制作用,其输出为
Ⅲ:
当
时,控制器输出不变。
Ⅳ:
当
时,实施较强控制作用,
当
时,实施较小控制作用,
Ⅴ:
当
时,此时加入积分,减小稳态误差。
式中,
—————误差e的第k个极值;
—-分别为第k次和第k-1次控制器输出;
=2——————增益放大系数,
;
=0.6—————增益抑制系数,
;
——设定的误差界限,
,
其中
可取0.8,0.4,0.2,0.01四值;
=0.001—————任意小正实数。
(4)最后写出线性模型及当前采样时刻的误差值:
(5)循环以上(3)—(4)步,循环次数为1000次。
(6)画出专家PID控制阶跃响应曲线图(a)和误差响应曲线(b)。
3.实验程序:
%ExpertPIDController
clearall;%清除所有记录
closeall;%关闭所有
ts=0.001;%采样时间ts=0.001
sys=tf(5.235e5,[1,87.35,1.047e4,91]);%建立连续系统传递函数模型
dsys=c2d(sys,ts,'z');%连续系统转换为离散系统模型
[num,den]=tfdata(dsys,'v');%返回分数形式的传递函数
u_1=0.0;u_2=0.0;u_3=0.0;%设定输入初始值
y_1=0.0;y_2=0.0;y_3=0.0;%设定输出初始值
x=[0,0,0];%设置一个三维变量
x2_1=0;%X2=0
kp=0.1;%设定比例系数
ki=0.02;%设定积分系数
kd=0.01;%设定微分系数
k1=2;
k2=0.6;
e=0.001;
M2=0.05;
error_1=0;
fork=1:
1000;%for循环执行1000次
time(k)=k*ts;%获得采样序列
rin(k)=1.0;%输入阶跃信号
u(k)=kp*x
(1)+kd*x
(2)+kd*x(3);%离散系统PID规律算法
%以下为专家控制器的规则
ifabs(x
(1))>0.8%如果
u(k)=0.45;
elseifabs(x
(1))>0.40
u(k)=0.40;
elseifabs(x
(1))>0.20
u(k)=0.12;
elseifabs(x
(1))>0.01
u(k)=0.10;
end
if(x
(1)*x
(2)>0)|(x
(2)==0)%Therule2
ifabs(x
(1))>=M2
u(k)=u_1+k1*kp*x
(1);
else
u(k)=u_1+0.4*kp*x
(1);
end
end
if(x
(1)*x
(2)<0&x
(2)*x2_1>0)|(x
(1)==0)
u(k)=u(k);
end
if(x
(1)*x
(2)<0)&(x
(2)*x2_1<0)
ifabs(x
(1))>M2
u(k)=u_1+k1*kp*error_1;
else
u(k)=u_1+k2*kp*error_1;
end
end
ifabs(x
(1))<=e%IntegrationseparationPIcontrol
u(k)=0.5*x
(1)+0.01*x(3);
end
ifu(k)>=10%Restrictingtheoutputofcontroller
u(k)=10;
end
ifu(k)<=-10
u(k)=-10;
end
%Linearmodel
yout(k)=-den
(2)*y_1-den(3)*y_2-den(4)*y_3+num
(1)*u(k)+num
(2)*u_1+num(3)*u_2+num(4)*u_3;
error(k)=rin(k)-yout(k);
%------returnofPIDparamters---------
u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=yout(k);
x
(1)=error(k);%calculatingP
x2_1=x
(2);
x
(2)=(error(k)-error_1)/ts;%calculatingD
x(3)=x(3)+error(k)*ts;%calculatingI
error_1=error(k);
end
figure
(1);%绘制图1
plot(time,rin,'b',time,yout,'r');%输出蓝色曲线稳态值红色为响应曲线
xlabel('time(s)');%x轴为时间轴
ylabel('rin,yout');%y轴为响应值
figure
(2);%绘制图2
plot(time,rin-yout,'r');%输出稳态误差红色曲线
xlabel('time(s)');%x轴为时间轴
ylabel('error');%y轴为稳态误差
参数调节过程及实验结果:
Kp=0.8ki=0kd=0
专家PID控制阶跃响应曲线图:
误差响应曲线图:
Kp=0.3ki=0kd=0
专家PID控制阶跃响应曲线图:
误差响应曲线图:
Kp=0.1ki=0kd=0
专家PID控制阶跃响应曲线图:
误差响应曲线图:
Kp=0.1ki=0.04kd=0
专家PID控制阶跃响应曲线图:
误差响应曲线图:
Kp=0.1ki=0.04kd=0.9
误差响应曲线图:
专家PID控制阶跃响应曲线图:
Kp=0.1ki=0.04kd=0.5
误差响应曲线图:
专家PID控制阶跃响应曲线图:
Kp=0.1ki=0.02kd=0.01
误差响应曲线图:
专家PID控制阶跃响应曲线图:
4.实验结论:
比例系数:
作用在于加快系统的响应速度,提高系统调节精度。
当系统一旦出现了偏差,比例调节立即产生调节作用以减少误差。
越大,系统响应越快,但将产生超调和振荡甚至导致系统不稳定,因此的值不能取得过大;但如果取值过小,过小会降低调节精度,是系统响应速度缓慢,从而延长调节时间,使系统静、动态特性变坏。
积分系数:
作用在于消除系统的稳态误差,提高无差度。
越大积分速度越快,系统静差消除越快,但过大在响应过程初期会产生积分饱和现象,从而引起响应过程出现较大超调,使动态性能变差;过小则会使积分作用变弱,使系统的静差难以消除,过渡时间加长,不能尽快达到稳定状态,影响系统的调节精度和动态特性。
微分系数:
作用在于改善系统的动态特性,反映系统偏差信号的变化率并预见偏差变化的趋势,能产生超前的控制作用,使系统的超调降低,增加系统稳定性。
但不能过大,过大则会使响应过程提前制动和延长系统调节时间,而且还会使系统的抗干扰性变差。