Smith预估补偿

目录

1、题目

2.方法1

3、方法2


1、题目

设被控对象为G(s)=\frac{^{e^{-80s}}}{60s+1},采样时间T = 20s,画出系统框图,采用PID控制,设计Smith数字预估器。实验要求:(1)绘制系统框图;(2)计算负反馈调节器D(z)参数,对数字PID控制器进行参数整定;(3)计算并确定Smith预估补偿器参数;(4)利用MATLAB进行系统仿真,并绘制阶跃输入下控制器输出和系统输出的响应曲线。

2.方法1

滞后时间根据自已的题目要求来

3、方法2

close all
clear
clc
Ts=20;
%被控对象
kp=1;Tp=60;tol=80;
sys=tf([kp],[Tp,1],'inputdelay',tol);
dsys=c2d(sys,Ts,'zoh');
[num,den]=tfdata(dsys,'v');
M=2;       %M=1不精确,M=2精确,M=3PI
if M==1   %模型不精确
    kp1=kp*1.10;
    Tp1=Tp*1.10;
    tol1=tol*1.0;
elseif M==2|M==3%模型精确
    kp1=kp;
    Tp1=Tp;
    tol1=tol;
end
    
%补偿闭环特征方程Gk(s)
sys1=tf([kp1],[Tp1,1],'inputdelay',tol1)
dsys1=c2d(sys1,Ts,'zoh');
[num1,den1]=tfdata(dsys1,'v');
 
%%控制量
u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;
el_1=0;e2=0;e2_1=0.0;ei=0;
xm_1=0.0;ym_1=0.0;y_1=0.0;
for k=1:1:400
    time(k)=k*Ts/20;
    S=1;       %S=1阶跃
    if S==1%阶跃输入信号
        rin(k)=1.0;
    end
%     if S==2 %方波输入信号
%         rin(k)=sign(sin(0.0002*2*pi*k*Ts));
%     end
    % 没有时滞的模型系统输出
    xm(k)=-den1(2)*xm_1+num1(2)*u_1;
    %有时滞的模型系统输出
    ym(k)=-den1(2)*ym_1+num1(2)*u_5;
    %有时滞的实际系统输出
    yout(k)=-den(2)*y_1+num(2)*u_5;
    if M==1%模型不精确:PI+Smith
        e1(k)=rin(k)-yout(k);
        e2(k)=e1(k)-xm(k)+ym(k);
        ei=ei+Ts*e2(k);
        u(k)=0.50*e2(k)+0.010*ei;
        e1_1=e1(k);
    elseif M==2%模型精确:PI+Smith
        e2(k)=rin(k)-xm(k);
        ei=ei+Ts*e2(k);
        u(k)=0.50*e2(k)+0.010*ei;
        e2_1=e2(k);
    elseif M==3%PI控制
        e1(k)=rin(k)-yout(k);
        ei=ei+Ts*e1(k);
        u(k)=0.2*e1(k)+0.001*ei;
        e1_1=e1(k);
    end
    xm_1=xm(k);
    ym_1=ym(k);
    u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);
    y_1=yout(k);
end
plot(time,rin,'k',time,yout,'b');
xlabel('time(s)');ylabel('rin.yout');

根据设定的M值,选择PI控制还是Smith预估。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值