最好看过
Introduction to lead/leg compensator
再看这个串联校正的笔记blog
通过波特图校正系统:
校正系统就会有对系统的期望要求。图中对系统的期望是斜坡输入的稳态误差ess < 0.02 相角裕度是48度
第一步是系统的定型(确定好系统的阶次),阶次太低是无法满足稳态误差的要求的,通过过多的增加积分环节,提高系统阶次也不好,阶次太高,系统复杂化,不便于处理.要知道,高阶系统都是会想尽办法降阶到二阶来进行系统分析的。
第二步是满足系统的稳态误差,确定比例放大系数K,图中算出是K>49即可,douglas(vedio maker)取了50
第三步是根据原传递函数画出bode plot,为满足系统的相角裕度,构造compensator
左图是典型的超前校正环节的bode plot,右图是通过加上这个校正环节后,传递函数的bode plot可能会变成什么样子
可以看出超前校正在gain crossover点对应的频率处,增加了相角的同时也增加了频率响应增益。这是不可避免的,但是可以让增益受影响小一点。
上面给出了lead compensator的相关系数计算公式,为此我还小郁闷了一会儿。。。不知道那个theta max是怎么算出来的.
这里谢谢峰哥,嘿嘿,和胡寿松打的交道太少,你比我多。
第五版 胡寿松 自动控制原理 page 249~250 有讲,部分截屏,其余的细节自己翻书吧,其实感觉意义不大,因为我现在都已经记得这个公式了。。。下面证明的很细了
注意!最大相角记得加上15度的附加值,这是因为gain crossover point 由于增加的compensator右移了,于是对应的相角比实际的theta max要小。
其实,都不用想太多,峰哥给出的经验就是统统60°哈哈
自控实验的时候,实验书上用了所谓的“相消法”
上次做实验的blog
这个link的blog里面有电路仿真和“相消法”的步骤,这里不再赘述。
下面我用bode plot的方法来校正
校正对象:
惨不忍睹的单位阶跃响应,超调超过了60%,稳定时间长达4s
可以看出相角裕度只有16°。。。不够啊,45°是起码的要求
(1)超调量不超过 25%
(2)调节时间(过渡过程时间)1 s
实验指导书上的要求是25%,这里我把要求再严格一下,不能超过10%,于是阻尼 epsilon 取 0.71,
要求的稳定时间有了,于是角频率可以求出,是Wn = 4/(epsilon*1) =4/(0.71*1) =
5.6338
根据之前求系数的公式:
去theta max = 60°可以求得
系数a2 等于13.9
于是tao = 1/(Wn*sqrt(a2)) = 0.0474
于是compensator就构造好了
compensated_closed_sys =
3.266 s + 5
-------------------------------------
0.0047 s^3 + 0.1094 s^2 + 3.466 s + 5
最后的校正后的闭环系统传递函数如上!
最后系统的阶跃响应的比较图
%% ****************************************************************
% Series compensator demonstration
% Code writer : EOF
% Code date : 2014.05.27
% e-mail : jasonleaster@gmail.com
% If you have any question about this code, you could touch me by e-mail.
% I glad to answer your question and study adaptive control together. Thank
% you.
% ****************************************************************************
clear all
clc
original_open_sys = tf([5],[0.1 0.2 0]);
original_closed_sys = feedback(original_open_sys,1);
compensator = tf([13.9*0.047 1],[0.047 1]);
compensated_open_sys = compensator * original_open_sys;
compensated_closed_sys = feedback(compensated_open_sys,1);
figure(1);
hold on;
step(original_closed_sys);
step(compensated_closed_sys);
grid on;
title('The different response between the original closed sytem and the complendted closed system');
legend('original closed system','compensated closed system');
《The tower of babel》
Pieter Bruegel the Elder