Matlab中自适应调节器的程序设计及说明-自适应控制我要分享

Program design and description of adaptive regulator in Matlab-adaptive control

自适应调节器 自适应控制

关注次数: 1563

下载次数: 37

文件大小: 28KB

代码分类: 仿真计算

开发平台: matlab

下载需要积分: 6积分

版权声明:如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

代码描述

中文说明:

Matlab中自适应调节器的程序设计及说明-自适应控制

1.程序说明:

本程序用MATLAB语言编写。程序运行完成生成输出图像。

2.要求:

以一个三阶传递函数为对象,进行继电式自整定调节器的参数整定。其中:继电器幅值d=1,设定R=1/s。

3.步骤

(1)离散化对象和调节器。

(2)整定PID调节器参数。

(3)连接继电器,测量和获取对象的临界增益和临界周期。

(4)根据对象的临界增益和临界周期,确定PID参数。

(5)根据调节效果,修正PID参数。

附有matlab源代码和所有详细说明总结 图像(在word中)。希望学习自适应控制的新手


继电式自整定调节器

1. 程序说明:

本程序用MATLAB语言编写。程序运行完成生成输出图像。

2. 实验要求:

以下述传递函数为对象:                             实现继电式自整定调节器的参数整定。其中:继电器幅值d=1,设定R(s)=1/s

3. 实验步骤

1)离散化对象和调节器。

2)整定PID调节器参数。

3)连接继电器,测量和获取对象的临界增益和临界周期。

4)根据对象的临界增益和临界周期,确定PID参数。

5)根据调节效果,修正PID参数。

4.  程序代码:

根据实验要求编写的Matlab源代码如下:

4.1连接继电器,产生等幅震荡的代码

T=0.1;                   %采样时间

 

y=zeros(1000,1);  

d=zeros(1000,1);  

 

%差分法使对象离散

A=100/(T^3)+530/(T^2)+152/T+10;

B=-100*3/(T^3)-530*2/(T^2)-152/T;

C=100*3/(T^3)+530/(T^2);

D=-100/(T^3);

 

for k=4:1:1000

    u(k)=0;             %为系统产生振荡,假定输入u=0

    y(k)=(d(k)-B*y(k-1)-C*y(k-2)-D*y(k-3))/A;

    er=u(k)-y(k);

      

    if er>0             %继电输出是周期性的对称方波

    d(k+1)=1;

else

    d(k+1)=-1;

    end

end

 

i=1:1:300;

plot(i,y(i));

 

4.2.PID控制代码:

Kp=12.74;

Ti=7.75;

Td=2.015;

T=0.1;

 

u=zeros(1,1000);

y=zeros(1,1000);

e=zeros(1,1000);

 %控制器离散

a=Kp*Ti*Td/T^2+Kp*Ti/T+Kp;

b=-2*Kp*Ti*Td/T^2-Kp*Ti/T;

c=Kp*Ti*Td/T^2;

d=Ti/T;

 %对象离散

A=100/(T^3)+80/(T^2)+17/T+1;

B=-100*3/(T^3)-80*2/(T^2)-17/T;

C=100*3/(T^3)+80/(T^2);

D=-100/(T^3);

 

for k=4:1:1000

    r(k)=1;

    u(k)=u(k-1)+(a*e(k)+b*e(k-1)+c*e(k-2))/d;

    y(k)=(u(k)-B*y(k-1)-C*y(k-2)-D*y(k-3))/A;

    e(k+1)=r(k)-y(k);

end

i=1:1:1000;

plot(i,y(i));

 

 

5.  程序运行结果:

                        (a)等幅震荡图

 

 

                         (b)PID参数整定图

6.  程序运行结果分析

    基于继电反馈的整定方法,这种整定方法的基本思路是在继电反馈下观测对象的极限环震荡,过程的基本性质可由极限环的特征确定,然后算出PID调节器的参数。具体方法如下:

本次实验采用ZIEGLER-NICHOLS方法(临界比例度法)

振荡周期Tc - 临界周期

调节器的增益Kc - 临界增益

增益Kc的倒数×100:临界比例度(%)

ZIEGLER-NICHOLS 公式(4:1衰减比 )

调节规律

δ(%)

Ti

Td

PID

1.7

0.5Tc

0.13Tc

根据图形和Z-N整定公式:

Tc=(854-699)*T=155*0.1=15.5

Kc=4*d/(3.14*a)=4*1/(3.14*0.1)=12.74

PIDδ=1.7*1/Kc=1.7*1/Kc=1.7*1/12.74=0.1334

     Ti=0.5*Tc=0.5*15.5=7.75

     Td=0.13*Tc=.0.13*1.55=2.015

7. 实验总结

通过实验,学会了几种对象离散的方法,直接差分要比z变换容易实现。

Z-N法的原理学习更深一步。PID的参数整定方法很多,这次实验用的是基于继电反馈的整定方法,该方法对于复杂的自适应控制器是一种理想而适用的预整定器,提供了一个可作为备用的PID控制器。



English Description:

Adaptive regulator in Matlab Program Design and description-adaptive Control 1. Program description: This program with Matlab language. The program completes and generates the output image. 2. Requirements: TO A third-order transfer function for the object, the relay-type self-tuning regulator parameter tuning. WHERE: Relay amplitude D = 1, SET R = 1/s. 3. Step (1) discretize the object and the adjuster. (2) setting PID controller parameters. (3) connecting relays to measure and obtain the critical gain and critical period of the object. (4) PID parameters are determined according to the critical gain and critical period of the object. (5) adjust the PID parameters according to the adjusting effect. Attached Matlab Source Code and a summary of all the detailed descriptions, images (in word) . Novices who want to learn adaptive control


代码预览

work1.m

work1_pid.m