主要内容

命令行PID控制器设计

这个例子展示了如何为给定的对象设计PID控制器:

年代 y 年代 1 年代 + 1 3.

首先,建立电站模型并为其设计一个简单的PI控制器。

Sys = zpk([],[-1 -1 -1],1);[C_pi,信息]= pidtune (sys,“π”
C_pi = 1 Kp + Ki *——s, Kp = 1.14, Ki = 0.454并联形式的连续时间PI控制器。
信息=结构体字段:稳定:1交叉频率:0.5205相位裕度:60.0000

C_pi是一个pid控制器对象,表示PI控制器。等领域的信息结果表明,调谐算法选择了约0.52 rad/s的开环交叉频率。

检查被控系统的闭环阶跃响应(参考跟踪)。

T_pi = feedback(C_pi*sys, 1);步骤(T_pi)

图中包含一个轴对象。axis对象包含一个类型为line的对象。这个对象表示T\_pi。

为了提高响应时间,您可以设置比结果更高的目标交叉频率pidtune自动选择,0.52。将交叉频率增加到1.0。

[C_pi_fast,信息]= pidtune (sys,“π”, 1.0)
C_pi_fast = 1 Kp + Ki *——s, Kp = 2.83, Ki = 0.0495并行形式的连续时间PI控制器。
信息=结构体字段:稳定:1交叉频率:1相位裕度:43.9973

新的控制器实现了更高的交叉频率,但以减少相位裕度为代价。

比较两种控制器的闭环阶跃响应。

T_pi_fast =反馈(C_pi_fast * sys, 1);step(T_pi,T_pi_fast)轴([0 30 0 1.4])图例(“π”“π,快”

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示PI, PI,很快。

性能下降的原因是PI控制器没有足够的自由度来在1.0 rad/s的交叉频率下实现良好的相位裕度。添加一个衍生动作可以改善响应。

设计了一种pid控制器Gc目标交叉频率为1.0 rad/s。

[C_pidf_fast,信息]= pidtune (sys,“PIDF”, 1.0)
C_pidf_fast = 1 s Kp + Ki *——+ Kd * -------- s Tf*s+1, Kp = 2.72, Ki = 0.985, Kd = 1.72, Tf = 0.00875并行形式的连续时间PIDF控制器。
信息=结构体字段:稳定:1交叉频率:1相位裕度:60.0000

信息领域表明,在控制器中的微分作用允许调谐算法设计一个更积极的控制器,以实现目标交叉频率与良好的相位裕度。

比较了快速PI和PIDF控制器的闭环阶跃响应和抗扰性。

T_pidf_fast =反馈(C_pidf_fast * sys, 1);步骤(T_pi_fast T_pidf_fast);轴([0 30 0 1.4]);传奇(“π,快”“PIDF,快”);

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表PI,fast, PIDF,fast。

你可以用快速PI和PIDF控制器比较被控系统的输入(负载)抗扰性。为此,绘制从设备输入到设备输出的闭环传递函数的响应。

S_pi_fast =反馈(sys, C_pi_fast);S_pidf_fast =反馈(sys, C_pidf_fast);步骤(S_pi_fast S_pidf_fast);轴([0 50 0 0.4]);传奇(“π,快”“PIDF,快”);

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表PI,fast, PIDF,fast。

这幅图表明,PIDF控制器也提供了更快的干扰抑制。

另请参阅

|

相关的话题