通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器

举报
yd_293572134 发表于 2025/02/21 21:29:05 2025/02/21
【摘要】 1.课题概述        通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器。通过对比三个算法可知,采用滑模控制算法,其具有最快的收敛性能,较强的鲁棒性,以及较小的超调量。其性能略优于基于积分分离的PID控制器,远优于PID控制器的控制性能。 2.系统仿真结果(完整程序运行后无水印)3.核心程序与模型版本:MATLAB2022a[A,B,C,D] = c2dm(A1,B1,C1...

1.课题概述

        通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器。通过对比三个算法可知,采用滑模控制算法,其具有最快的收敛性能,较强的鲁棒性,以及较小的超调量。其性能略优于基于积分分离的PID控制器,远优于PID控制器的控制性能。

 

2.系统仿真结果

(完整程序运行后无水印)

1.jpeg

2.jpeg

3.jpeg

4.jpeg

5.jpeg

6.jpeg

7.jpeg

3.核心程序与模型

版本:MATLAB2022a

[A,B,C,D] = c2dm(A1,B1,C1,D1,ts,'z'); 
x   = [-0.5;-0.5]; 
r_1 = 0;
r_2 = 0; 

for k=1:1:4000 
    time(k) = k; 
    r(k)    = 15; 
    c       = 10;
    eq      = 5;
    q       = 30; 
    Ce      = [c,1]; 
    dr(k)   = (r(k)-r_1)/ts; 
    dr_1    = (r_1-r_2)/ts; 
    r1(k)   = 2*r(k)-r_1; 
    dr1(k)  = 2*dr(k)-dr_1; 
    R       = [r(k);dr(k)]; 
    R1      = [r1(k);dr1(k)]; 
    E       = R-x; 
    e(k)    = E(1); 
    de(k)   = E(2); 
    s(k)    = Ce*E; 
    ds(k)   =-eq*ts*sign(s(k))-q*ts*s(k); 
	u(k)    = inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));    
	x       = A*x+B*u(k); 
	y(k)    = x(1); 
    r_2     = r_1; 
    r_1     = r(k); 
end 

figure;
plot(time,r,'r',time,y,'b'); 
xlabel('Time(second)');
ylabel('(r and y)'); 
save r3.mat y

4.系统原理简介

        PID控制器、积分分离控制器以及滑模控制器是控制工程中常用的三种控制器类型,它们各自拥有独特的设计原理和应用场合。

 

        PID 控制器由比例单元( P )、积分单元( I )和微分单元( D )组成。其输入 e (t) 与输出 u (t) 的关系为公式1

 

8.jpg

 

       PI控制中,积分环节的作用是消除静态误差,提高系统的控制精度。如果在误差较大的初始阶段引入积分环节,会造成PI的积分累积,从而引起系统较大的超调。积分分离PI控制器的基本设计思想是当输入有较大变化,指令值与实际反馈的偏差值大于一定阈值时,不进行积分,只进行比例调节。而当偏差值小于一定值时,恢复积分调节以消除系统的静态误差。

 

       滑模控制(Sliding Mode Control, SMC)是一种非线性控制策略,通过设计一个滑动面,使系统状态沿着该滑动面向目标状态快速收敛。其特点是鲁棒性强,能有效抑制外部扰动和系统不确定性。

 

      下面介绍一下如何进行滑模控制器的设计。首先,将滑模控制定义一个开关面,将状态控制分成两个具有不同动态特性的子空间,并选择合适的控制规律可以控制系统的状态,一旦从任意一个子空间到达滑模面之后,将沿着滑模面的方向运动并始终保持在滑模面上。设计控制规律必须满足趋近条件,以此保证滑模面的存在。

 

9.jpg


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。