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

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

直流电机建模

以“直流电机伺服控制器的鲁棒性”为例,推导了直流电机的不确定模型。从施加电压到角速度的传递函数如下所示:

$$P(s)={K\m\over JLS^2+(Jr+LK\f)s+K\m K\u b+RK\f}$$

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

R=尿素(“R”2.“百分比”,40); 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=可调PID(“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施加-20分贝/十年滚动超过10拉德/秒。第三个目标R3指定闭环极点的最小衰减、最小阻尼和最大固有频率。

视图目标(R1)

viewGoal(R2)

查看目标(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设计2:Soft:[0.838,2.01],Hard:[-Inf,--Inf],迭代次数=40软:[0.875,1.76],硬:[-Inf,--Inf],迭代次数=29软:[0.935,2.77],硬:[-Inf,--Inf],迭代次数=28软:[1.35,1.35],硬:[-Inf,-Inf],迭代次数=35次最终:软=1.35,硬=-Inf,迭代次数=132设计的稳健调整1:Soft:[0.838,1.96],硬:[-Inf,-Inf],迭代次数=65次软:[0.875,1.76],硬:[-Inf,-Inf],迭代次数=30次软:[1.02,2.98],硬:[-Inf,-],迭代次数=35次软:[:[1.34,1.36],硬:[-Inf,-],迭代次数=32次软:[:[1.35,1.35,1.35,1.35],硬:[-Inf,-Inf],迭代次数=20次最终:软=1.35,硬=-Inf,迭代次数=182设计的稳健调整3:Soft:[0.914,2.35],硬:[-Inf,-Inf],迭代次数=58次软:[0.875,1.76],硬:[-Inf,-Inf],迭代次数=111次软:[1.02,2.98],硬:[-Inf,-],迭代次数=34次软:[:[1.34,1.36],硬:[-Inf,-],迭代次数=32次软:[,1.35,1.35],硬:[-Inf,-Inf],迭代次数=20次最终:软=1.35,硬=-Inf,迭代次数=255

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

可显示(CL)
C=1s Kp+Ki*--+Kd*--s Tf*s+1,Kp=33.8,Ki=83.2,Kd=2.34,Tf=0.028名称:并行形式的C连续时间PIDF控制器。

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

S=灵敏度(CL,“加载”)clf,步骤(usample,30),获取标称值(S),3)标题(“负载干扰抑制”)传奇(“采样不确定性”,“名义上的”)

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

视图目标(R1,CL)

使用系统简单。只需在可调闭环模型中使用尿素的对象,软件会自动尝试实现整个不确定性范围的调整目标。