我是靠谱客的博主 想人陪雨,最近开发中收集的这篇文章主要介绍PID控制系统阶跃响应图-参数整定过程,matlab代码真实可用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

PID控制系统阶跃响应图-参数整定过程,matlab代码真实可用

点个赞呗

clear all
clc
close all


PID=[0.5,0.05,0.2;   %1
    0.6,0.05,0;     %2
    0.6,0,0.2;     %3
    0.3,0.05,0.2;   %4
    
    ];%初始化PID参数
for pid=1:1:4
ts=0.002;  %采样时间=0.005s
sys=tf(0.998,[0.021,1]);   %建立被控对象传递函数
dsys=c2d(sys,ts,'z');      %离散化
[num,den]=tfdata(dsys,'v');   
e_1=0;      %前一时刻的偏差      
Ee=0;       %累积偏差
u_1=0.0;    %前一时刻的控制量
y_1=0;      %前一时刻的输出
%PID参数
kp=PID(pid,1);    
ki=PID(pid,2);
kd=PID(pid,3);
u=zeros(1,1000);
time=zeros(1,1000);
for k=1:1:1000
    time(k)=k*ts;   %时间参数
    r(k)=30;      %给定量
    y(k)=-1*den(2)*y_1+num(2)*u_1+num(1)*u(k);
    e(k)=r(k)-y(k);   %偏差
    u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1);   
    Ee=Ee+e(k);    
    u_1=u(k);    
    y_1=y(k);    
    e_1=e(k);
end
hold on;
p2=plot(time,y,'LineWidth',5);xlim([0,0.3]);ylim([0,35])
xlabel('时间t/s','FontSize',9,'FontWeight','bold','FontName','宋体');
ylabel('输出量','FontSize',9,'FontName','宋体','FontWeight','bold');
end
grid on
p1=plot(time,r,'-.','LineWidth',5);xlim([0,0.25]);ylim([0,35])
legend('1','2','3','4','设定值')
legend('Kp=0.5,Ti=0.05,Td=0.2','Kp=0.6,Ti=0.05,Td=0','Kp=0.6,Ti=0,Td=0.2','Kp=0.3,Ti=0.05,Td=0.2','设定值')
% title('PID控制系统阶跃响应图-参数整定过程')


PID是控制中常用的算法,非常好用!
点个赞呗

最后

以上就是想人陪雨为你收集整理的PID控制系统阶跃响应图-参数整定过程,matlab代码真实可用的全部内容,希望文章能够帮你解决PID控制系统阶跃响应图-参数整定过程,matlab代码真实可用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部