主要内容

使用估计频率响应设计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);

然后,在其初始运行点线性化工厂。

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

获得零增益的原因是线性化路径中存在触发子系统(压缩),并且分析块逐块线性化不支持基于事件的子系统。金宝app自从PID调谐器使用相同的方法来获得线性工厂模型,PID调谐器还获得了一个零增益的工厂模型,并在发射过程中拒绝它。

启动PID调谐器,打开PID块对话框,单击调优.一个信息对话框打开,表明在初始运行点线性化的工厂模型有零增益,不能用于设计一个PID控制器。

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

利用正弦流信号获得估计的频率响应数据

正弦输入信号是最可靠的输入信号,以估计准确的频率响应的Simulink模型使用金宝appfrestimate功能。有关如何使用的更多信息frestimate,请参阅基于仿真技术的频率响应估计

在该示例中,创建一个正弦流,其扫描0.1至10 rad / sec的频率,其幅度为1e-3。您可以使用Bode Plot检查估计结果。

构造正弦流信号。

在=弗列斯特。Sinestream ('频率',logspace(-1,1,50),'振幅'1 e - 3);

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

sys =嫉妒(MDL,IO,IN);

显示估计的频率响应。

BODE(SYS)

设计PI控制器

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

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

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

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

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

关闭模式。

bdclose (mdl)