如何修改h∞控制器设置规模控制器输出?gydF4y2Ba

40视图(30天)gydF4y2Ba
Jiten ParmargydF4y2Ba
Jiten ParmargydF4y2Ba 2023年5月11日。3点46gydF4y2Ba
评论道:gydF4y2Ba Jiten ParmargydF4y2Ba2023年5月16日在0:32gydF4y2Ba
我有线性风力涡轮机模型如下:gydF4y2Ba
b1 = -356.3851;gydF4y2Ba
b2 = 145.1693;gydF4y2Ba
Bd = 6.215 e6;gydF4y2Ba
Kd = 8.67637 e8;gydF4y2Ba
小= 38677056;gydF4y2Ba
詹= 534.116;gydF4y2Ba
N = 97;gydF4y2Ba
R = 63;gydF4y2Ba
p = 1.225;gydF4y2Ba
小A = [(b1-Bd) / Bd / (N * Jr) kd /小;gydF4y2Ba
Bd / (N *詹)Bd / (N ^ 2 *詹)Kd / (N *詹);gydF4y2Ba
1 1 / N 0];gydF4y2Ba
B = [0 b2 /小;gydF4y2Ba
1 /詹0;gydF4y2Ba
0 0];gydF4y2Ba
C = (1 0 0);gydF4y2Ba
D = [0 0];gydF4y2Ba
林= ss (A, B, C, D);gydF4y2Ba
lin.InputName = {gydF4y2Batg的gydF4y2Ba,gydF4y2Ba“v”gydF4y2Ba};gydF4y2Ba% tg是控制信号,v是外部输入(干扰)gydF4y2Ba
lin.OutputName = {gydF4y2Ba“福”gydF4y2Ba};gydF4y2Ba%是转子速度控制输出gydF4y2Ba
然后闭环系统:gydF4y2Ba
R =特遣部队(1);gydF4y2Ba%获得1块求和gydF4y2Ba
R.u =gydF4y2Ba“骗子”gydF4y2Ba;R.y =gydF4y2Ba“r”gydF4y2Ba;gydF4y2Ba% r是参考gydF4y2Ba
错误= sumblk (gydF4y2Ba“e = wr-r”gydF4y2Ba);gydF4y2Ba
我们=补足重量的东西(40,1000000,0.3,0);gydF4y2Ba
We.u =gydF4y2Ba“e”gydF4y2Ba;We.y =gydF4y2Ba“我们”gydF4y2Ba;gydF4y2Ba
lincon =连接(林、R、错误,我们{gydF4y2Ba“v”gydF4y2Ba,gydF4y2Batg的gydF4y2Ba,gydF4y2Ba“骗子”gydF4y2Ba},{gydF4y2Ba“福”gydF4y2Ba,gydF4y2Ba“我们”gydF4y2Ba,gydF4y2Ba“e”gydF4y2Ba});gydF4y2Ba
控制器合成和闭环控制器:gydF4y2Ba
(KH, g0, g) = hinfsyn (lincon 1 1);gydF4y2Ba
KH = balred (KH、3);gydF4y2Ba
KH.u =gydF4y2Ba“e”gydF4y2Ba;KH.y =gydF4y2Batg的gydF4y2Ba;gydF4y2Ba
反对=连接(KH lincon, {gydF4y2Ba“v”gydF4y2Ba,gydF4y2Ba“骗子”gydF4y2Ba},{gydF4y2Ba“福”gydF4y2Ba,gydF4y2Ba“我们”gydF4y2Ba});gydF4y2Ba
步骤(Con)gydF4y2Ba
在右上角可以看到图(从骗子(r)是一样的输出wr),结算时间是15秒左右。我到达这后大量的实验关于我们错误的重量。首先,如果有一种方法可以获得一个稳定时间小于5秒,请让我知道。在实验之前,它的大小10 ^ 5秒。另外,如果有一个系统的方式来获取我们这比试验和错误,我想知道。gydF4y2Ba
总之,开发这个系统在仿真软件和运行它有以下结果,黄色是系统响应和蓝色金宝app是参考。这是落后和不遵循参考:gydF4y2Ba
然而,如果我只是把10的静态增益控制器输出,响应要好得多:gydF4y2Ba
我的问题是,我如何修改控制器设置,这样就产生一个输出,不需要我把一个静态增益?我已经尝试了各种重量的控制信号tg但我没有成功。gydF4y2Ba

接受的答案gydF4y2Ba

保罗gydF4y2Ba
保罗gydF4y2Ba 2023年5月14日在十七36gydF4y2Ba
编辑:gydF4y2Ba保罗gydF4y2Ba 2023年5月15日在一41gydF4y2Ba
嗨Jiten,gydF4y2Ba
我相信与代码有些问题,我修改如下。gydF4y2Ba
定义植物gydF4y2Ba
b1 = -356.3851;gydF4y2Ba
b2 = 145.1693;gydF4y2Ba
Bd = 6.215 e6;gydF4y2Ba
Kd = 8.67637 e8;gydF4y2Ba
小= 38677056;gydF4y2Ba
詹= 534.116;gydF4y2Ba
N = 97;gydF4y2Ba
R = 63;gydF4y2Ba
p = 1.225;gydF4y2Ba
小A = [(b1-Bd) / Bd / (N * Jr) kd /小;gydF4y2Ba
Bd / (N *詹)Bd / (N ^ 2 *詹)Kd / (N *詹);gydF4y2Ba
1 1 / N 0];gydF4y2Ba
B = [0 b2 /小;gydF4y2Ba
1 /詹0;gydF4y2Ba
0 0];gydF4y2Ba
C = (1 0 0);gydF4y2Ba
D = [0 0];gydF4y2Ba
林= ss (A, B, C, D);gydF4y2Ba
lin.InputName = {gydF4y2Batg的gydF4y2Ba,gydF4y2Ba“v”gydF4y2Ba};gydF4y2Ba% tg是控制信号,v是外部输入(干扰)gydF4y2Ba
lin.OutputName = {gydF4y2Ba“福”gydF4y2Ba};gydF4y2Ba%是转子速度控制输出gydF4y2Ba
我没有看到定义错误块以外的理由,所以我也摆脱了r .,我宁愿r - wr定义错误。这些变化只是偏好对我来说。gydF4y2Ba
% R =特遣部队(1);%获得1块求和gydF4y2Ba
% R.u = '骗子';R.y = ' r ';% r是参考gydF4y2Ba
% = sumblk错误(“e = wr-r”);gydF4y2Ba
错误= sumblk (gydF4y2Ba“e = r - wr”gydF4y2Ba);gydF4y2Ba
这个重量错误,或敏感性,信号并不反映了设计目标。如果你想要的时间常数约5秒,我们希望重量交叉后0 1/5 = 0.2 rad /秒。我6 dB,频率。必要时修改,但这些应该是好的开始。gydF4y2Ba
% =补足重量的东西(40岁(1000000,0.3),0);gydF4y2Ba
我们=补足重量的东西(0.1[0.2,0.5],100年);gydF4y2Ba
我们。u =gydF4y2Ba“e”gydF4y2Ba;我们。y =gydF4y2Ba“我们”gydF4y2Ba;gydF4y2Ba
在这里,最后输入lincon应该控制输入,而不是参考输入。同时,wr,是无关紧要的,包括作为输出。通常,wr,或互补的敏感性,也会频率加权。但因为它不是,我不知道目的是什么,所以我不包括车手在输出向量。gydF4y2Ba
% lincon =连接(林、R、错误,我们{‘v’,‘tg’,‘骗子’},{‘福’,‘我们’,‘e’});gydF4y2Ba
lincon =连接(林、错误,我们{gydF4y2Ba“v”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba,gydF4y2Batg的gydF4y2Ba},{gydF4y2Ba“我们”gydF4y2Ba,gydF4y2Ba“e”gydF4y2Ba});gydF4y2Ba
%控制器合成和闭环控制器:gydF4y2Ba
(KH, g0, g) = hinfsyn (lincon 1 1);gydF4y2Ba
ggydF4y2Ba
g = 0.1009gydF4y2Ba
我没有减少KH的秩序,只是想看到的基本设计。gydF4y2Ba
% KH = balred (KH、3);gydF4y2Ba
KH。u =gydF4y2Ba“e”gydF4y2Ba;KH。y =gydF4y2Batg的gydF4y2Ba;gydF4y2Ba
现在,我们想要将控制器连接到实际的工厂,而不是频率加权。gydF4y2Ba
% Con =连接(KH lincon, {‘v’,‘骗子’},{“福”,“我们”});gydF4y2Ba
反对=连接(林、KH、错误,{gydF4y2Ba“v”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba},{gydF4y2Ba“福”gydF4y2Ba,gydF4y2Ba“e”gydF4y2Ba});gydF4y2Ba
阶跃响应从r的车手。反应所需的gydF4y2Ba
图gydF4y2Ba
步骤(Con (1、2)gydF4y2Ba
敏感性传递函数的振幅比较发票(我们)。前者是由后者。gydF4y2Ba
图gydF4y2Ba
选择= bodeoptions;gydF4y2Ba
选择。PhaseVisible =gydF4y2Ba“关闭”gydF4y2Ba;gydF4y2Ba
bodeplot (Con(2, 2)、发票(我们),选择),网格gydF4y2Ba
我怀疑,该控制器具有较高的带宽,因为设计中没有明确限制带宽。一般来说,体重是由包括频率依赖的互补的敏感性,或wr, H-inf优化。gydF4y2Ba
编辑:现在我看到hinfsyn有一个可选的输入,gamTry,另一个可能性之后限制带宽。我们可以看到从上面的情节,KH超越相对于设计目标,和g的最终值(amma)约为0.1。所以使用gamTry = 1将拉左边的蓝色曲线,这仍将是符合设计目标,并将减少带宽。gydF4y2Ba
让我们试一试:gydF4y2Ba
gamTry = 1;gydF4y2Ba
(KH, g0, g) = hinfsyn (gamTry lincon 1 1);gydF4y2Ba
ggydF4y2Ba
g = 0.4755gydF4y2Ba
嗯,不知道为什么hinfsyn产生低这样低g(比gamTry amma),但这不是医生的不一致。无论如何……gydF4y2Ba
KH。u =gydF4y2Ba“e”gydF4y2Ba;KH。y =gydF4y2Batg的gydF4y2Ba;gydF4y2Ba
反对=连接(林、KH、错误,{gydF4y2Ba“v”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba},{gydF4y2Ba“福”gydF4y2Ba,gydF4y2Ba“e”gydF4y2Ba});gydF4y2Ba
图gydF4y2Ba
步骤(Con (1、2)gydF4y2Ba
图gydF4y2Ba
选择= bodeoptions;gydF4y2Ba
选择。PhaseVisible =gydF4y2Ba“关闭”gydF4y2Ba;gydF4y2Ba
bodeplot (Con(2, 2)、发票(我们),选择),网格gydF4y2Ba
我们看到一个慢得多阶跃响应和灵敏度传递函数拉到左边。gydF4y2Ba
3评论gydF4y2Ba
Jiten ParmargydF4y2Ba
Jiten ParmargydF4y2Ba 2023年5月16日在0:32gydF4y2Ba
  1. 这是有道理的!谢谢你!gydF4y2Ba
  2. 我结束了在这个概念的基础。再一次感谢您!gydF4y2Ba

登录置评。gydF4y2Ba

更多的答案(0)gydF4y2Ba

类别gydF4y2Ba

找到更多的在gydF4y2Ba循环形成gydF4y2Ba在gydF4y2Ba帮助中心gydF4y2Ba和gydF4y2Ba文件交换gydF4y2Ba

社区寻宝gydF4y2Ba

找到宝藏在MATLAB中央,发现社区如何帮助你!gydF4y2Ba

开始狩猎!gydF4y2Ba