基于连续Ziegler_Nichols的频域响应pid整定

连续Ziegler_Nichols的频域响应pid整定

Ziegler_Nichols频域响应pid整定的方法是基于稳定性分析的频域响应pid整定方法。该方法整定的思想是:对于给定的被控对象传递函数,可以得到其根轨迹,对应穿越Jw轴的点,增益即为Km,而此点的w值即为wm。

整定公式如下

式中,km为系统开始震荡时的增益K值;wm为震荡频率。

仿真实例

设被控对象为

代码如下

复制代码
%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)

wm=imag(pole(2));
kp=0.6*km
kd=kp*pi/(4*wm)
ki=kp*wm/pi

figure(2);
grid on;
bode(sys,'r');

sys_pid=tf([kd,kp,ki],[1,0])
sysc=series(sys,sys_pid)
hold on;
bode(sysc,'b')

figure(3);
rlocus(sysc);

下图为未整定的开环系统根轨迹图

整定前后系统的伯德图(红色为整定前,蓝色为整定后)

下图为整定后闭环系统的根轨迹

使用rlocus及rlocfind命令可以求得穿越增益km=14.878和穿越频率wm=14rad、s

Ziegler_Nichols整定方法可以求得参数pid

kp = 8.9268

kd =0.49742

ki =40.051

可见,该系统整定后,频带拓宽,相位超前。整定后系统的根轨迹,所有极点位于负变面,达到完全稳定状态。

相关推荐
zhglhy21 分钟前
随机森林与决策树
算法·决策树·随机森林
BFT白芙堂1 小时前
Franka 机器人x Dexterity Gen引领遥操作精细任务新时代
人工智能·算法·机器学习·具身智能·franka机器人·科研机器人·机器人解决方案
LuckyLay1 小时前
LeetCode算法题(Go语言实现)_38
算法·leetcode·golang
Chiyamin1 小时前
图算法基础
数据结构·c++·算法
C——Coder1 小时前
关于柔性数组
算法·柔性数组
AlgoNewbie1 小时前
牛客周赛 Round 88【题解完成】
算法
luckycoding2 小时前
2747. 统计没有收到请求的服务器数目
算法
TT哇3 小时前
【前缀和】矩阵区域和(medium)
java·线性代数·算法·矩阵
Elendill4 小时前
【算法笔记】并查集详解
笔记·python·算法
BanyeBirth5 小时前
C++高精度算法(加、减、乘)
开发语言·c++·算法