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