主要内容

利用估计频率响应设计PID控制器

这个例子展示了如何使用Simulink模型估计的频率响应来设计PI控制器。金宝app当线性化的植物模型对PID设计无效时(例如,当植物模型具有零增益时),这是另一种PID设计工作流。

打开模型

打开引擎控制模型,花点时间探索一下。

mdl =“scdenginectrlpidblock”;open_system (mdl)

PID回路包括一个并行形式的PI控制器,通过控制油门角度来控制发动机转速。PI控制器具有使闭环系统振荡的默认增益。我们想用PID调谐器来设计控制器,PID调谐器是从PID块对话框中启动的。

open_system ([mdl/发动机转速(rpm)]) sim (mdl)

关闭作用域。

close_system ([mdl/发动机转速(rpm)])

PID调谐器线性化得到零增益的植物模型

在这个例子中,PID块看到的植物是从节气门角度到发动机转速。线性化输入和输出点已经分别在PID块输出和发动机转速测量处定义。在初始工作点的线性化给出了一个零增益的工厂模型。

为了验证零线性化,首先从模型中获得线性化输入和输出点。

IO = getlinio(mdl);

然后,在初始工作点线性化装置。

Linsys =线性化(mdl,io)
linsys = D = Throttle Ang enginspeed 0静态增益。

获得零增益的原因是在线性化路径中有一个触发子系统(Compression),而解析的逐块线性化不支持基于事件的子系统。金宝app自PID调谐器用同样的方法获得线性植物模型,PID调谐器同时获得一个零增益的植物模型,并在发射过程中拒绝该模型。

启动PID调谐器,打开PID块对话框,单击调优.弹出信息对话框,提示在初始工作点线性化的工厂模型增益为零,不能用于设计PID控制器。

另一种获得线性植物模型的方法是直接从Simulink模型中估计频率响应数据,创建一个金宝app的朋友系统的MATLAB工作空间,并将其导入回PID调谐器继续PID设计。

使用实流信号获得估计频率响应数据

正弦输入信号是最可靠的输入信号,用于估计一个精确的频率响应的Simulink模型使用金宝appfrestimate函数。有关如何使用的更多信息frestimate,请参阅基于模拟技术的频响估计

在本例中,创建一个扫描频率从0.1到10 rad/sec的正弦流,振幅为1e-3。您可以使用波德图检查估计结果。

构造正弦信号。

In =最先。Sinestream (“频率”logspace (1, 1, 50),“振幅”1 e - 3);

估计频率响应。这个过程可能需要几分钟。

Sys = fretimate (mdl,io,in);

显示估计的频率响应。

波德(系统)

PI控制器设计

sys是一个的朋友系统,表示在初始工作点的装置频率响应。用在PID调谐器,之后我们需要导入PID调谐器启动。点击植物,并选择进口.导入的采样率的朋友工厂必须匹配PID控制器块的采样率。

点击导入LTI系统,在列表中选择sys.然后,点击“确定”导入的朋友系统进PID调谐器.自动化设计返回一个稳定控制器。点击添加图,并选择开环波德图。该图显示了合理的增益和相位裕度。点击显示参数查看增益和相位裕度值。的时域响应图不可用的朋友工厂模型。

当需要更新PID块P和I增益时,单击更新块

在Simulink模型中模拟闭环性能金宝app

在Simulink中的仿真结金宝app果表明,该PI控制器对非线性模型具有良好的控制性能。

关闭模型。

bdclose (mdl)

另请参阅

应用程序

功能

相关的话题