PID整定二:基于Ziegler-Nichols的频域响应

85 篇文章 15 订阅
56 篇文章 20 订阅
文章介绍了使用Ziegler-Nichols方法进行PID控制器的整定,通过分析系统的根轨迹和频域响应来确定PID参数。在MATLAB环境中,绘制根轨迹图,找到系统开始振荡的增益Km和震荡频率wn,然后应用整定公式计算PID参数。仿真示例展示了整定前后的系统伯德图和根轨迹图,证明了整定后系统的稳定性与性能提升。
摘要由CSDN通过智能技术生成

PID整定二:基于Ziegler-Nichols的频域响应

1参考

1.1根轨迹图的绘制及分析
1.2计算机控制技术01-3.4离散系统的根轨迹分析法
1.3PID控制算法学习笔记
在这里插入图片描述
在这里插入图片描述

2连续Ziegler-Nichols方法的PID整定

2.1整定方法

基于稳定性分析的频域响应PID整定方法:对于给定的被控对象传递函数,可以得到其根轨迹,对应穿越jw轴的点,增益Km为系统开始振荡时的增益K值,wn为振荡频率。
整定公式为:
kp=0.6 * km;
ki=kp * wm/pi;
kd=kp * pi/(4*wm);

2.2仿真示例

整定程序:

%PID Controler Based on Ziegler-Nichols
clear all;
close all;
sys=tf(400,[1,30,200,0]);
figure(1);
rlocus(sys);%画根轨迹图
[km,pole]=rlocfind(sys);%手动!!找系统开始震荡时的增益Km和对应的极点(穿越jw虚轴)
wm=imag(pole(2));%震荡频率

%由系统开始震荡时的增益Km和频率wn确定PID参数:
kp=0.6*km;
ki=kp*wm/pi;
kd=kp*pi/(4*wm);

figure(2);
grid on;
bode(sys,'r');
sys_pid=tf([kd,kp,ki],[1,0]);%PID控制器的传函
sysc=series(sys,sys_pid);%被控系统加上PID整定后的系统!!!
hold on;
bode(sysc,'b');

figure(3);
rlocus(sysc);

整定前系统根轨迹图见Figure1,系统有3个极点,根轨迹图有3根,从极点开始,终止与无限远(因为系统无0点,否则有终止于0点的线),**[km,pole]=rlocfind(sys);%手动!!找系统开始震荡时的增益Km和对应的极点(穿越jw虚轴)**当用鼠标选取与虚轴相交的点时,找到系统振荡开始的增益Km=14,对应的极点有三个(红色的点),振荡频率wm=14rad/s,根据整定公式可得Kp=8.8371;Ki=39.4847;Kd=0.4945。
在这里插入图片描述
整定前后的系统伯德图见Figure2,整定后,频带拓宽,相移超前。
在这里插入图片描述
整定后的系统根轨迹图见Figure3,所有极点位于负半平面,系统达到完全稳定状态
在这里插入图片描述
PID控制跟踪正弦波信号:
在这里插入图片描述
绘图:


close all;
plot(t,y(:,1),'r',t,y(:,2),'k','linewidth',2);
xlabel('time(s)');ylabel('position signal');
legend('ideal position signal','position tracking');

不带PID控制的正弦波跟踪:
在这里插入图片描述
带PID控制的正弦波跟踪:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值