此示例示出了如何设计使用来自Simulink模型估计的频率响应的PI控制器。万博1manbetx这是一种替代PID设计工作流程时,线性化植物模型是无效的PID设计(例如,当受控对象模型具有零增益)。
打开发动机控制模型,并采取一些时间来探索它。
MDL ='scdenginectrlpidblock';open_system(MDL)
PID回路包括并联形式的寄存器的节气门角度,以控制发动机速度的PI控制器。PI控制器具有默认的收益,使闭环系统振荡。我们要设计使用从PID功能块对话框中推出的PID调节器的控制器。
open_system([MDL'/发动机速度(RPM)'])SIM(MDL)
关闭范围。
close_system([MDL'/发动机速度(RPM)'])
在这个例子中,由PID块看到的植物是从节流阀角度到发动机速度。线性化的输入和输出点在PID块的输出和分别发动机速度测量已定义。线性化在初始运转点给人以零增益的工厂模型。
为了验证零线性化,首先获得从模型线性化输入和输出点。
IO = getlinio(MDL);
然后,在其初始运转点线性化厂。
linsys =线性化(MDL,IO)
linsys = d =节流昂EngineSpeed 0静态增益。
之所以获得零收益是存在的线性路径触发子系统(压缩),并分析块逐块线性不支持基于事件的子系统。万博1manbetx以来PID调谐器使用相同的方法来获得一个线性机器模型,* PID调谐器还获得植物模型零增益并在启动过程中拒绝它。
要启动PID调节器,打开PID模块对话框,然后单击调。一种信息对话框打开,并指示在初始工作点线性化的植物模型具有零增益,并且不能用于设计PID控制器。
的另一种方法,以获得一个线性机器模型是直接估计从仿真模型的频率响应数据,创建一个万博1manbetxFRD
系统在MATLAB工作区,并导入回PID调节器继续PID设计。
所述sinestream输入信号是用于使用所述估计Simulink模型的精确的频率响应是最可靠的输入信号万博1manbetxfrestimate
功能。有关如何使用的详细信息frestimate
见频率响应估计使用基于仿真技术。
在该示例中,创建一个正弦流,其扫描频率从0.1至10弧度/与1E-3的振幅秒。您可以检查使用波特图的估计结果。
构建sinestream信号。
在= frest.Sinestream('频率',LOGSPACE(-1,1,50),'振幅',1E-3);
估计的频率响应。这个过程可能需要几分钟的时间。
SYS = frestimate(MDL,IO,IN);
显示估计的频率响应。
波特(SYS)
SYS
是一个FRD
系统,它表示在初始工作点的植物频率响应。要使用它PID调节器,我们需要后导入PID调节器推出。请点击厂,并选择进口。
请点击导入LTI系统,并在列表中选择SYS。然后,单击“确定”按钮导入FRD
系统进入PID调节器。自动化设计返回一个稳定的控制器。请点击加入波形图,并选择开环波特图。该图显示了合理的增益和相位裕度。请点击显示参数看到增益和相位裕度值。时域响应曲线不适用于FRD
工厂模型。
要更新PID块P和I增益,点击更新块。
模拟在Simulink表明,万博1manbetx新PI控制器控制的非线性模型时提供良好的性能。
关闭模型。
bdclose(MDL)