基于连续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

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

相关推荐
启观川5 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法
码爸5 小时前
排序算法介绍
python·算法·排序算法
动词ing6 小时前
【题目练习】算法 组合总和||
算法
longlongzihan7 小时前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
专业程序开发源7 小时前
flask家电故障预测系统92491-计算机课程设计/毕业设计
vscode·python·sql·算法·flask·课程设计
Logic1017 小时前
C语言/数据结构欧几里得算法题解:长方形切割最大正方形——贪心划分计数
c语言·数据结构·算法·贪心算法·时间复杂度·空间复杂度·欧几里得算法
yi0117 小时前
LeetCode 643. 子数组最大平均数 I|从暴力枚举到滑动窗口
人工智能·笔记·python·算法·leetcode·滑动窗口
极光通讯8 小时前
服务器内存来料检验(IQC)实操:批次追溯、外观判定与上机验证
java·服务器·算法
淡海水8 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
ClickHouseDB8 小时前
ClickHouse 大规模 OpenTelemetry 数据接入架构的可靠性演进
算法