实验11Word文档下载推荐.docx

上传人:b****6 文档编号:17718781 上传时间:2022-12-08 格式:DOCX 页数:33 大小:509.33KB
下载 相关 举报
实验11Word文档下载推荐.docx_第1页
第1页 / 共33页
实验11Word文档下载推荐.docx_第2页
第2页 / 共33页
实验11Word文档下载推荐.docx_第3页
第3页 / 共33页
实验11Word文档下载推荐.docx_第4页
第4页 / 共33页
实验11Word文档下载推荐.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

实验11Word文档下载推荐.docx

《实验11Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验11Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。

实验11Word文档下载推荐.docx

本次实验的内容主要为对PID参数进行优化以及用前馈控制系统。

通过本次实验掌握PID参数的优化方法以及前馈控制系统的特性和优点。

2、实验方案内容

1.PID参数优化

1)PID参数整定

选定一对象,

,由经验公式初步确定参数。

得到kp=0.833,ki=0.0833。

2)穷举法优化PID参数

根据初步得到的PID参数,选定合适的搜索范围,由穷举法整定PID参数。

PID参数由指标

评价。

评价代码如下

function[Q,t,y,dt]=Qpid(kp,ki,k,T,n,r,tao)

dt=T/10;

st=8*n*T;

lp=fix(st/dt);

y=[0];

t=[0];

x(1:

n)=0;

u=0;

a=exp(-dt/T);

b=1-a;

cu=[0];

kiu=0;

Q=0;

fori=1:

lp

e=r-x(n);

Q=Q+abs(e)*dt;

kpu=kp*e;

kiu=kiu+ki*e*dt;

u=kpu+kiu;

x

(1)=a*x

(1)+k*b*u;

ifn>

=2

x(2:

n)=a*x(2:

n)+b*x(1:

n-1);

end

y=[yx(n)];

t=[ti*dt];

cu=[cuu];

end

穷举法代码如下

clc;

clearall;

closeall;

k=2;

T=10;

n=2;

kp=0.833;

ki=0.0833;

pmax=kp*10;

pmin=kp/10;

imax=ki*10;

imin=ki/10;

step=100;

r=1;

QB=10e40;

fori=pmin:

(pmax-pmin)/step:

pmax

forj=imin:

(imax-imin)/step:

imax

[Q,t,y,dt]=Qpid(i,j,k,T,n,r,0);

if(Q<

QB)

QB=Q;

pB=i;

iB=j;

tB=t;

yB=y;

[Q,t,y]=Qpid(kp,ki,k,T,n,r,0);

[v1,v2,v3,v4,v5,v6,v7]=value(y,dt);

[v1,v2,v3,v4,v5,v6,v7b]=value(yB,dt);

kps=num2str(kp);

kis=num2str(kis);

pbs=num2str(pB);

ibs=num2str(iB);

v7=[v7,'

kp='

kps,'

ki='

kis];

v7b=[v7b,'

pbs,'

ibs];

plot(t,y,'

b'

t,yB,'

r--'

legend(v7,v7b,4);

title('

穷举法优化PID参数'

);

3)随机法优化PID参数

根据初步得到的PID参数,选定合适的搜索范围,由随机法整定PID参数。

代码如下

pmax=kp*5;

pmin=kp/5;

imax=ki*5;

imin=ki/5;

step

forj=1:

kpr=(pmax-pmin)*rand()+pmin;

kir=(imax-imin)*rand()+imin;

[Q,t,y,dt]=Qpid(kpr,kir,k,T,n,r,0);

pB=kpr;

iB=kir;

kis=num2str(ki);

随机法优化PID参数'

4)混沌法优化PID参数

根据初步得到的PID参数,选定合适的搜索范围,由混沌法整定PID参数。

d1=rand();

d2=rand();

forj=1:

d1=d1*4*(1-d1);

d2=d2*4*(1-d2);

kpr=(pmax-pmin)*d1+pmin;

kir=(imax-imin)*d2+imin;

混沌法优化PID参数'

5)粒子群算法优化PID参数

根据初步得到的PID参数,选定合适的搜索范围,由粒子群法整定PID参数。

c1=0.7;

c2=1.4;

c3=1.4;

ifn==1

delta=0.5*k;

else

delta=0.92*k*sqrt(n);

ti=0.5*n*T;

Best_Q=1.0e20;

Best_PSO=[delta,ti];

[Best_Q,y0,cu0,t,dt]=Obj_Sim(Best_PSO

(1),Best_PSO

(2),k,T,n,r,0);

[a,b,c,d,e,f,g0]=value(y0,dt);

Tti=num2str(Best_PSO

(2));

Tdelta=num2str(Best_PSO

(1));

g0=[g0,'

Initialparameters,delta='

Tdelta,'

ti='

Tti];

Q_T1=num2str(Best_Q);

Min=[delta*.1ti*.1];

Max=[delta*10ti*10];

Span=Max-Min;

Max_V=(Max-Min)/10;

Num=30;

bPSO=[];

Num

PSO(i,1)=Min

(1)+Span

(1)*rand();

PSO(i,2)=Min

(2)+Span

(2)*rand();

PSO_V(i,1)=Max_V

(1)*(rand()-0.5);

PSO_V(i,2)=Max_V

(2)*(rand()-0.5);

Better_Q(1:

Num)=1.0e20;

Sol_Q=1.0e20;

Sol_PSO=Best_PSO;

Better_PSO=PSO;

forqq=1:

100

fori=1:

[Q(i)]=Obj_Sim(PSO(i,1),PSO(i,2),k,T,n,r);

ifQ(i)<

Better_Q(i)

Better_PSO(i)=PSO(i);

Better_Q(i)=Q(i);

Best_Q=Q

(1);

Best_PSO=PSO(1,:

fori=2:

Best_Q

Best_Q=Q(i);

Best_PSO=PSO(i,:

ifSol_Q>

Sol_Q=Best_Q;

Sol_PSO=Best_PSO;

ifSol_Q<

10

break;

PSO_V(i,:

)=c1*PSO_V(i,:

)+c2*rand()*(Better_PSO(i,:

)-PSO(i,:

))+c3*rand()*(Best_PSO-PSO(i,:

));

ifPSO_V(i,1)>

Max_V

(1)PSO_V(i,1)=Max_V

(1);

ifPSO_V(i,1)<

-Max_V

(1)PSO_V(i,1)=-Max_V

(1);

ifPSO_V(i,2)>

Max_V

(2)PSO_V(i,2)=Max_V

(2);

ifPSO_V(i,2)<

-Max_V

(2)PSO_V(i,2)=-Max_V

(2);

PSO(i)=PSO(i)+PSO_V(i);

ifPSO(i,1)>

Max

(1)PSO(i,1)=Max

(1);

ifPSO(i,1)<

Min

(1)PSO(i,1)=Min

(1);

ifPSO(i,2)>

Max

(2)PSO(i,2)=Max

(2);

ifPSO(i,2)<

Min

(2)PSO(i,2)=Min

(2);

bPSO=[bPSO;

Sol_PSO];

[Sol_Q,y1,cu0,t,dt]=Obj_Sim(Sol_PSO

(1),Sol_PSO

(2),k,T,n,r);

[a,b,c,d,e,f,g3]=value(y1,dt);

Tti=num2str(Sol_PSO

(2));

Tdelta=num2str(Sol_PSO

(1));

Q_T2=num2str(Sol_Q);

g3=[g3,'

Optimizedparameters,delta='

Q_T=['

InitialQualityis:

'

Q_T1,'

OptimizedQualityis:

Q_T2];

figure

(1);

plot(t,y0,'

t,y1,'

k-'

'

LineWidth'

2);

gridon;

legend(g0,g3);

title(Q_T);

figure

(2);

plot(bPSO(:

1),bPSO(:

2),'

2.输入前馈控制

控制对象为

,采用不同的控制方案控制该对象。

1)P控制与前馈控制

采用P控制和P控制与静态前馈控制控制对象。

2)加入扰动后P控制与前馈控制

加入0.2点扰动,采用P和前馈控制控制系统。

修改代码d=0.2

3)PI控制与静态前馈补偿

采用PI控制和PI控制与静态前馈控制控制对象。

4)PI控制与动态前馈补偿

采用PI控制与动态前馈控制控制对象。

5)静态模型失衡

采用PI控制与静态前馈控制控制对象,并更改前馈控制的k值。

6)动态模型失衡

采用PI控制与动态前馈控制控制对象,并更改前馈控制的k值和T值。

%前馈控制

k1=2;

T1=10;

kp=1.096;

%ki=0.046;

ki=0;

d=0;

%扰动

st=100;

dt=0.01;

lp=st/dt;

y=0;

qian=0;

xi=0;

r0=0;

f10=0;

x=zeros(1,n);

t=[];

Y=[];

a1=exp(-dt/T1);

b1=1-a1;

e=r-y;

xp=e*kp;

xi=xi+ki*e*dt;

f1=r+(r-r0)*T1/dt/k1;

f2=f1+(f1-f10)*T1/dt;

f10=f1;

r0=r;

%u=xp+xi+f2;

%动态前馈补偿

%u=xp+xi+r/k1;

%静态前馈补偿

u=xp+xi;

%无前馈补偿

x

(1)=x

(1)*a+k*b*u;

1

n)=x(2:

n)*a+x(1:

n-1)*b;

y=x(n)+d;

Y=[Yy];

[v1,v2,v3,v4,v5,v6,v7]=value(Y,dt);

plot(t,Y);

legend(v7,4);

无前馈P控制'

3.扰动前馈控制

,扰动的传递函数为

分别用不同的控制方案控制对象。

2)加入干扰后P控制与前馈控制

%前馈控制减温水

kp=3.57;

%ki=0.0316;

k=0.4;

T=70;

KD=0.2;

TD=30;

st=1000;

dt=0.1;

dd=zeros(1,lp);

%fori=fix(0.5*lp):

%dd(i)=1;

%end

ad=exp(-dt/TD);

bd=1-ad;

fd=zeros(1,4);

fd0=0;

fd1=0;

x=zeros(1,2);

D=zeros(1,2);

xi=xi+e*ki*dt;

d=dd(i);

fd

(1)=fd

(1)*ad-KD*bd*d;

fd

(2)=fd

(2)*ad+bd*fd

(1);

fd(3)=fd

(2)+(fd

(2)-fd0)*T/dt/k;

fd(4)=fd(3)+(fd(3)-fd1)*T/dt;

fd0=fd

(2);

fd1=fd(3);

%u=xp+xi+fd(4);

%动态补偿

%u=xp+xi-KD/k;

%静态补偿

%无补偿

x

(1)=a*x

(1)+b*k*u;

x

(2)=a*x

(2)+b*x

(1);

D

(1)=ad*D

(1)+b*KD*d;

D

(2)=ad*D

(2)+b*D

(1);

y=x

(2)+D

(2);

3、实验结果及分析

经过优化后,系统的各项指标变好,控制效果得到优化。

7)小结

静态前馈补偿的P控制能消除静态误差,但有干扰时不能消除静态误差。

静态补偿输出的值U恰好能使系统达到给定值。

若模型准确,动态补偿能使系统瞬间达到给定值。

有干扰时,静态动态补偿都会使P控制有静态误差,PI控制无静态误差。

静态模型K失衡时,P控制有静态误差,PI控制无静态误差。

动态模型K失衡时,P控制有静态误差,PI控制无静态误差。

系统瞬间达到某一值。

动态模型T失衡时,P控制无静态误差,PI控制也无静态误差,系统瞬间达到某一值,该值与给定值有一定差距。

加入前馈补偿能改善系统的动态特性。

2)PI控制与前馈补偿

3)静态模型失衡

4)动态模型失衡

4.前馈控制的特点

1.前馈控制器时基于扰动来消除扰动对被控量的影响。

2.扰动发生后,前馈控制器“及时”动作,对抑制被控量由于扰动引起的动、静态偏差比较有效。

3.前馈控制属于开环控制,所以只要系统中各环节是稳定的,则控制系统必然稳定。

4.只适合用来克服“可测不可控”的扰动,而对于系统中其他扰动无抑制作用。

因此前馈补偿具有指定性补偿的局限性。

5.前馈控制器的控制规律,取决于被控对象的特性,因此,控制规律往往比较复杂。

6.前馈控制难以完全补偿。

7.前馈控制器只能克服可测不可控的扰动。

四、实验中遇到的问题

1.PID控制效果的指标Q不好确定,四种评判方法得到的结果有不小的差别,并且Q值小的时候超调量反而较大(kp较大时Q较小,超调量较大),控制效果变差。

2.减温水的动态前馈控制效果没有PI的好。

并且动态前馈控制的波动比静态前馈控制大。

3.减温水的扰动D造成的影响不太明显。

4.前馈控制未能消除减温水的扰动D。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1