主要内容

直流电机控制器的鲁棒整定

这个例子展示了如何为参数不完全已知的直流电机鲁棒地调整PID控制器。

直流电机的建模

以“伺服控制器对直流电动机的鲁棒性”为例,推导了直流电动机的不确定模型。给出了从外加电压到角速度的传递函数

$ $ P (s) = {K_m \ / J L s ^ 2 + (J R + L K_f) s + K_m K_b + R K_f} $ $

阻力在哪里R美元,电感1美元$,电动势常数$K_b$,电枢常数K_m美元粘性摩擦$K_f$,以及惯性负载$J$是电机的物理参数。这些参数不是完全已知的,并且会发生变化,因此我们将它们建模为具有指定范围或百分比不确定度的不确定值。

R =尿素的(“R”,2,“百分比”,40); L=尿素(“L”, 0.5,“百分比”, 40);K =尿素的(“K”,0.015,“范围”,[0.012 0.019]); Km=K;Kb=K;Kf=尿素(“Kf”,0.2,“百分比”, 50);J =尿素的(“J”,0.02,“百分比”,20); P=tf(Km[J*L J*R+Kf*L Km*Kb+Kf*R]);P.InputName=“电压”;P.OutputName=“速度”

时间和频率响应函数波德自动采样不确定参数在其范围内。这有助于衡量不确定性的影响。例如,绘制不确定植物的阶跃响应P并注意到工厂直流增益的巨大变化。

步骤(P,getNominal(P),3)图例(“采样不确定性”,“名义上的”)

鲁棒PID调优

要稳定地调整此直流电机的PID控制器,请创建可调PID块C并建立一个闭环模型CL0图1中反馈循环的一部分。添加一个分析点数据加载在设备输出端测量对负载扰动的灵敏度。

C = tunablePID (“C”,“pid”); AP=分析点(“加载”);CL0=反馈(AP*P*C,1);CL0.InputName=“SpeedRef”;CL0。OutputName =“速度”

图1:直流电机的PID控制

有许多方法可以指定期望的性能。在这里,我们关注负载扰动、滚落和闭环动力学的灵敏度。

R1=调谐目标。灵敏度(“加载”,tf([1.25 0],[12]);R2=TuningGoal.MaxLoopGain(“加载”,10,1); R3=调谐目标。极点(“加载”,0.1,0.7,25);

第一个目标R1指定灵敏度函数的所需配置文件。低频时灵敏度应较低,以实现良好的干扰抑制。第二个目标R2施加- 20db / 10年的滚转超过10 rad/s。第三个目标R3指定闭环极点的最小衰减、最小阻尼和最大固有频率。

viewGoal (R1)

viewGoal (R2)

viewGoal (R3)

您现在可以使用系统鲁棒地调整PID增益,即尝试和满足的设计目标所有不确定直流电机参数的可能值。因为局部极小值可能存在,从三组不同的初始增益值执行三组单独的调优。

opt=系统选项(“随机启动”rng(0),[CL,fSoft]=systune(CL0,[R1 R2 R3],opt);
标称调整:设计1:Soft=0.838,Hard=-Inf设计2:Soft=0.838,Hard=-Inf设计3:Soft=0.914,Hard=-Inf设计1:Soft:[0.838,1.99],Hard:[-Inf,--Inf],迭代次数=65软:[0.875,1.76],硬:[-Inf,--Inf],迭代次数=29软:[1.02,2.98],硬:[-Inf,--Inf],迭代次数=35软:[1.34,1.36],硬:[-Inf,-Inf],迭代次数=32次软:[1.35,1.35],硬:[-Inf,-Inf],迭代次数=20次最终:软=1.35,硬=-Inf,迭代次数=181设计的稳健调整2:软:[0.838,2.01],硬:[-Inf,-Inf],迭代次数=40次软:[0.875,1.76],硬:[-Inf,-,-],迭代次数=29次软:[.935,2.77],硬:[-Inf,-],迭代次数=27次软:[,1.35,1.35],Hard:[-Inf,-Inf],Iterations=35 Final:Soft=1.35,Hard=-Inf,Iterations=131设计的稳健调优3:Soft:[0.914,2.38],Hard:[-Inf,-Inf],Iterations=57 Soft:[1.01,3.29],Hard:[-Inf,-Inf],Iterations=28 Soft:[0.948,2.32],Hard:[-Inf,-Inf],Iterations=98 Soft:[1.32,1.41],Hard:[-Inf,--Inf],Iterations=30 Soft:[1.35,1.35],硬:[-Inf,-Inf],迭代次数=22次最终:软=1.35,硬=-Inf,迭代次数=235

最终值接近1,因此在整个不确定范围内,几乎可以实现调整目标。调整后的PID控制器为

showTunable (CL)
C = 1 s Kp + Ki *——+ Kd * -------- s Tf*s+1, Kp = 33.8, Ki = 83.2, Kd = 2.34, Tf = 0.028

接下来,检查该PID如何针对30个随机选择的不确定参数值拒绝阶跃负载干扰。

S = getSensitivity (CL,“加载”);clf步骤(usample(年代,30),getNominal (S), 3)标题(负载扰动抑制的)传奇(“采样不确定性”,“名义上的”)

尽管电厂变化较大,但拒收性能保持一致。您还可以验证灵敏度函数是否稳定地保持在规定的范围内。

视图目标(R1,CL)

健壮的优化与系统是很容易的。只需将植物的不确定性包括在可调谐闭环模型使用尿素的对象,软件会自动尝试实现整个不确定性范围的调整目标。

相关实例

更多关于