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

此示例示出了如何设计使用来自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块看到的植物是从节流阀角度到发动机速度。线性化的输入和输出点在PID块的输出和分别发动机速度测量已定义。线性化在初始运转点给人以零增益的工厂模型。

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

IO = getlinio(MDL);

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

linsys =线性化(MDL,IO)
linsys = d =节流昂EngineSpeed 0静态增益。

之所以获得零收益是存在的线性路径触发子系统(压缩),并分析块逐块线性不支持基于事件的子系统。万博1manbetx以来PID调谐器使用相同的方法来获得一个线性机器模型,* PID调谐器还获得植物模型零增益并在启动过程中拒绝它。

要启动PID调节器,打开PID模块对话框,然后单击。一种信息对话框打开,并指示在初始工作点线性化的植物模型具有零增益,并且不能用于设计PID控制器。

的另一种方法,以获得一个线性机器模型是直接估计从仿真模型的频率响应数据,创建一个万博1manbetxFRD系统在MATLAB工作区,并导入回PID调节器继续PID设计。

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

所述sinestream输入信号是用于使用所述估计Simulink模型的精确的频率响应是最可靠的输入信号万博1manbetxfrestimate功能。有关如何使用的详细信息frestimate频率响应估计使用基于仿真技术

在该示例中,创建一个正弦流,其扫描频率从0.1至10弧度/与1E-3的振幅秒。您可以检查使用波特图的估计结果。

构建sinestream信号。

在= frest.Sinestream('频率',LOGSPACE(-1,1,50),'振幅',1E-3);

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

SYS = frestimate(MDL,IO,IN);

显示估计的频率响应。

波特(SYS)

设计PI控制器

SYS是一个FRD系统,它表示在初始工作点的植物频率响应。要使用它PID调节器,我们需要后导入PID调节器推出。请点击,并选择进口

请点击导入LTI系统,并在列表中选择SYS。然后,单击“确定”按钮导入FRD系统进入PID调节器。自动化设计返回一个稳定的控制器。请点击加入波形图,并选择开环波特图。该图显示了合理的增益和相位裕度。请点击显示参数看到增益和相位裕度值。时域响应曲线不适用于FRD工厂模型。

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

模拟闭环性能在Simulink模型万博1manbetx

模拟在Simulink表明,万博1manbetx新PI控制器控制的非线性模型时提供良好的性能。

关闭模型。

bdclose(MDL)