使用m文件进行PID调参--m函数的简单使用

查找PID智能调参资料时看到一篇帖子,写得挺清晰的,适合学习使用m文件进行PID调试,记录一下。

被控系统的传递函数如上图所示,根据控制理论可知,可将PID控制器进行串级调控,故控制器(controller)与负载(plant)串行。

下面是使用m函数进行PID控制的代码演示。

j=0.01;
b=0.1;
k=0.01;
r=1;
l=0.5;
num=k;
den=[j*l (j*r+b*l) b*r+k^2];

% %P控制
% kp=100;
% num_p=kp*num;
% dena=den;
% sys=feedback(tf(numa,dena),1);%闭环传递函数
% 
% t=100;
% step(sys,t)
% title('step response with proportion control')

% %PI控制
% kp=100;
% ki=200;
% kd=0;
% num_pi=[kd kp ki]; %PID控制器的传递函数
% denc_pi=[1,0];
% 
% tf_pi=tf(num_pi,denc_pi);
% 
% tf_plant=tf(num,den);
% 
% tf_sys_cl=feedback(tf_pi*tf_plant,1);
% step(tf_sys_cl,2);
% title('step responsr with kp and ki');

% %PID控制
% kp=100;
% ki=200;
% kd=10;
% num_pi=[kd kp ki]; %PID控制器的传递函数
% denc_pi=[1,0];
% 
% tf_pi=tf(num_pi,denc_pi);
% 
% tf_plant=tf(num,den);
% 
% tf_sys_cl=feedback(tf_pi*tf_plant,1);
% step(tf_sys_cl,2);
% title('step responsr with kp ki and kd');

%P控制减少系统峰值时间,加快响应速度
%增大I,系统调节时间降低 
%增大D,系统超调量减少,但是会增加系统峰值时间

△使用P控制时的系统阶跃响应,调节时间很长。

使用PI控制,调节时间减小很多,超调量还是很大。

PID控制,整个系统被调节得很好。

使用m文件进行PID参数调节,只要确定了系统的传递函数,就可以进行PID调试,省却了simulink模块搭建过程。这里使用阶跃响应step()作为系统的输入,还可以使用如斜坡响应(ramp)、加速度响应等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值