视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
大林算法实验
2025-10-03 03:54:54 责编:小OO
文档
实验一:大林算法控制器设计与仿真

一、实验目的

1、学会安装MATLAB及基本使用方法。

1、掌握大林控制算法的基本概念和实现方法;

2、掌握在MATLAB下大林算法控制器的调试方法;

3、观察大林控制算法控制器的控制效果;

4、比较大林控制算法和常规PID的控制效果。

5、选做:比较大林算法与SMITH预估补偿控制器的控制效果。

二、实验属性

设计、验证性实验

三、实验内容

1、对象为一阶惯性加纯滞后系统,其开环传递函数为:

采样时间为0.5S,大林算法的期望闭环响应设计为。α为控制系数,大林控制算法的MATLAB程序如后所附。

四、实验要求

1、实验中:在MATLAB下输入程序,设置控制系数α=0.5,检验控制效果,调整系数α的值(0.1至1之间),比较控制效果,找出并记录最佳控制时的α值及控制结果;

    2、完成实验报告。

附录  大林控制算法的MATLAB程序

% Delay Control with Dalin Algorithm

clear all;

close all;

ts=0.5;

%Plant

sys1=tf([1],[0.4,1],'inputdelay',0.76);

dsys1=c2d(sys1,ts,'zoh');

[num1,den1]=tfdata(dsys1,'v');

% Ideal closed loop

sys2=tf([1],[0.15,1],'inputdelay',0.76);

dsys2=c2d(sys2,ts,'zoh');

% Design Dalin controller

dsys=1/dsys1*dsys2/(1-dsys2);

[num,den]=tfdata(dsys,'v');

u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;

y_1=0.0;

error_1=0.0;error_2=0.0;error_3=0.0;

ei=0;

for k=1:1:50

time(k)=k*ts;

  rin(k)=1.0;  %Tracing Step Signal

yout(k)=-den1(2)*y_1+num1(2)*u_2+num1(3)*u_3;

error(k)=rin(k)-yout(k);

M=1;

if M==1        %Using Dalin Method

u(k)=(num(1)*error(k)+num(2)*error_1+num(3)*error_2+num(4)*error_3...

       -den(3)*u_1-den(4)*u_2-den(5)*u_3-den(6)*u_4-den(7)*u_5)/den(2);

elseif M==2    %Using PID Method

ei=ei+error(k)*ts;

u(k)=1.0*error(k)+0.10*(error(k)-error_1)/ts+0.50*ei;

end  

%----------Return of dalin parameters------------

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_1=yout(k);

error_3=error_2;error_2=error_1;error_1=error(k);

end

plot(time,rin,'b',time,yout,'r');

xlabel('time(s)');ylabel('rin,yout');下载本文

显示全文
专题