• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-09
  • 语言: Matlab
  • 标签: PID  PID算法  matlab  

资源简介

用matlab实现的PID算法,简单易懂。感兴趣的朋友可以下载学习!

资源截图

代码片段和文件信息

%设一被控对象G(s)=50/(0.125s^2+7s)
%用增量式PID控制算法编写仿真程序
%(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:[-55]
%  仿真曲线包括系统输出及误差曲线,并加上注释、图例)。

clear all;
close all; 
ts=0.001;                 %采样时间
sys=tf(50[0.1257 0]); %tf是传递函数  即被控对象函数G();
dsys=c2d(systs‘z‘);    %把控制函数离散化
[numden]=tfdata(dsys‘v‘);% 离散化后提取分子、分母  
u_1=0.0;
u_2=0.0;
y_1=0.0;
y_2=0.0;
x=[000]‘;
error_1=0;
error_2=0;
for k=1:1:1000
time(k)=k*ts;                        %采样次数
S=2;
if S==1
    kp=10;ki=0.1;kd=15;             %初始化PID  
    rin(k)=1;                       %Step Signal 
elseif S==2
    kp=10;ki=0.1;kd=15;             
    rin(k)=0.5*sin(2*pi*k*ts);       %Sine Signal     即实际输入    
end 
du(k)=kp*x(1)+kd*x(2)+ki*x(3);      %PID Controller   控制系数  
u(k)=u_1+du(k);                     %Restricting the 

评论

共有 条评论