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

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

相关推荐
九圣残炎7 分钟前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
lulu_gh_yu13 分钟前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
丫头,冲鸭!!!32 分钟前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚37 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
为什么这亚子2 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
2 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
~yY…s<#>2 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
幸运超级加倍~3 小时前
软件设计师-上午题-16 算法(4-5分)
笔记·算法
yannan201903133 小时前
【算法】(Python)动态规划
python·算法·动态规划
埃菲尔铁塔_CV算法3 小时前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法