Arkadiy Turevskiy, MathWorks
PID控制是无处不在的。在简单的理论,设计和优化的PID控制器可以在实践中困难和耗时。研讨会将开始快速入门PID控制理论。MathWorks工程师将会介绍一个简单、直观的方法来快速设计、优化,实现PID控制器。
通过演示,您将学习如何:
主持人:Arkadiy Turevskiy工作的技术营销集团MathWorks支持仿真软件和控制设计的产品。s manbetx 845万博1manbetx万博1manbetx加入MathWorks之前他曾在普惠发展大型飞机发动机控制系统。
记录:2017年3月14日
你好,欢迎来到我们的网络研讨会,PID控制容易。我的名字叫Arkadiy Turevskiy。我在MathWorks控制团队工作。那我们开始研讨会快速入门PID控制对那些不记得或不知道它是什么。然后我们会走过一个工作流仿真软件的设计和实现一个PID控制器。万博1manbetx
从入门开始之前,让我们快速看一下最终的产品,今天我们将创建。为此,我切换到MATLAB。我们将打开一个仿真软件模型。万博1manbetx
这是一个闭环发动机控制系统的模型。这可能是一个汽车发动机或发动机在一个工业机器。发动机建模子系统,节气门的一个输入和输出的速度。你也有这个MyController的PID控制器内部子系统。
如果我们运行模拟,你会发现这个PID控制器适用于定点数据类型。你也看到,这是一个离散时间PID控制器。你也可以看到右边的仿真的结果。
的黄线在右上角看到情节是一个速度参考信号。你看到你指挥的速度改变从2000年RPO 2200 RPM。这里的红色线是实际的测量速度。如你所见,控制系统或PID控制器所做的工作提供快速和稳定的参考跟踪。
一旦我们设计并验证了PID控制器的仿真软件,然后自动生成C代码。万博1manbetx稍后我将向您展示如何去做更多细节。但是现在,我只是打开生成的代码和显示你的文件。
正如你可以看到,它是大约30行代码,在实际的PID算法实现大约10行高效、紧凑、定点代码。当然,实际的控制系统将包括更多的功能比简单的PID控制器。但在这个网络研讨会,我只专注于设计和生成代码仅供PID控制器。
现在,当我们看到最终的产品,让我们退一步,讨论底漆在PID控制。PID控制是什么?PID代表比例积分微分。如果你看这张照片的PID控制器从维基百科,你会看到我们正试图控制的过程中,像我们的发动机模型。
您将看到测量输出减去设定值的计算误差信号。然后是PID控制器,所示,创建了致动器请求通过使用三个不同的方面,这三个不同的盒子所示:比例项,即误差信号乘以增益KP;项的积分,积分增益KI的误差信号的积分;导数项,获得KD导数乘以误差信号的导数。
为什么我们需要这三个不同的术语吗?让我们回到MATLAB。让我们使用一个简单的脚本,我准备在这里看到。
在这个脚本中,我们将使用命令等控制系统工具箱特遣部队来说明为什么我们需要三个不同的方面。我们将首先创建一个传递函数的模型。我们称之为系统。如你所见,这是一个简单的二阶传递函数的延时0.2秒。
让我们来看看这个传递函数的阶跃响应。像这样。我们可以检查我们的开环系统的上升时间。我们看到大约7.7秒。
所以我们现在要开始设计一个控制器。首先,我们想做的是只使用比例项。让我们开始一个增益值3。利用控制系统工具箱的命令,我们将计算闭环系统,其阶跃响应图。
现在的阶跃响应是黄线所示。我们看到它的速度远远超过开环动态。但它不是提供零稳态误差。换句话说,这里的闭环阶跃响应不是1的参考价值。
所以我们可以尝试修复,通过增加比例增益值。让我们试试。使用这个小部件,我们可以增加收益并重新运行脚本中的计算单元。如果我们这样做几次,我们会发现稳态区域变得越来越小,但以牺牲我们的闭环系统的稳定性,我们开始看到分解动作,增加了超调。所以增加比例增益不是一个好的解决方案。
现在让我们添加项的积分,积分增益为0.8,重新运行计算。现在我们比较proportional-only控制器的响应和比例增益为0.3,黄线,比例积分,或所谓的PI控制器,比例增加3和积分增益为0.8。正如你所看到的,添加积分项消除稳态误差,同时保持系统的稳定性好,超调小,我们没有很多的分解动作。
我们可以利用导数项,我们将添加使用PID的参数命令来增加我们的系统更稳定。让我们这样做。PID控制器响应绿线所示。如你所见,它有相同的响应时间、上升时间,PI控制器,所以也快。但与此同时,我们最小化过度,摆脱这个脱靶,所以我们的系统更稳定。
所以我们需要比例项。然后积分项消除了稳态误差。和导数项允许我们增加我们的系统的稳定性。
如果PID控制器的三个gains-proportional,积分,这里的问题是derivative-what ?你可以快速编写一些C代码,连接到我们的原型机,并开始调整这些收益。
哦,原来有很多挑战,当你这样做。有时候,你的工厂模型是不稳定的。所以如果你开始调优的原型,你的整个闭环系统会变得不稳定。这可能会损坏你的工厂。
可能有一个危险的状态称为积分器终结。和你需要的逻辑来防止。我将更详细地解释。
很多时候,当人们调整PID控制器,他们使用某种植物模型的PID控制器增益。但很多时候,这种植物模型不可用。在这种情况下,我们做什么?
如果你需要实现PID控制器在微处理器,特别是如果这种微处理器有定点的建筑,那么你需要考虑离散化采样和参数。这是具有挑战性的。
我们看的例子是一个简单的对于单输入系统。但是很多的系统具有多个输入和多个输出。我们需要能够处理他们。最后,即使你处理对于单输入系统中,植物动力学可以改变很多从一个到另一个操作条件。这些是人们不得不面对的一些挑战当设计和实现PID控制器。
现在我想回到我们开始的例子,发动机控制系统,和穿过工作流系统的设计PID控制器,并在这一过程中突出我们如何可以帮助您解决一些问题。现在让我们切换到MATLAB。让我们打开示例中,我们将使用。
这是一个模型,我们将创建一个为我们的引擎系统PID控制器。我们这里没有一个PID控制器,但是我们有我们的引擎子系统。让我们在里面。
这里我们有多个组件。如果你深入了解其中的一个,你会发现这里我们实现了非线性的方程。这是另一个非线性方程,在这里实现。这是一个。所以植物动力学非常非线性的。
在这个顶级模型,我们有引擎子系统。我们已经参考速度块。我们有块之和,计算出误差信号之间的参考和测量速度。
现在让我们添加一个PID控制器。我们将使用一个离散PID控制器。让我们这个街区连接到其他系统。
我们不打开这个块的对话框。这里有很多的选择。我不会解释他们所有人。这里有一个很好的帮助文件,你可以阅读这个PID控制器中的所有不同选项的详细信息块。
但我在这里强调一些想法。你可以选择你想要的类型的控制器实现:π,PD,比例,积分,或PID。你可以选择表单。我们提供两种不同的形式,您可以选择。当你改变或其他任何形式变化在块对话框,你看到控制器的形式得到更新。
当然,您可以指定采样时间。让我们集合,0.01秒。单击Apply。
我们可以改变控制器的增益。稍后我们将讨论。在高级选项卡中,可以指定输出饱和。如果我们想要,我们可以启用anti-windup保护。再一次,我们以后再谈这一点。
当我们做出这些改变,如果我们想看到这里在底层实现,我们总是可以右键点击这个块,去掩盖菜单,看看面具下面。我们会看到我们实现的逻辑块使用基本模型块,如收益、过滤器、集成商,求和。万博1manbetx这是从来没有一个黑盒子。你总是看到这里实现。
让我们回到这里。让我们保持简单的设置,PID控制器。让我们跳过并行形式。让我们关掉限制命令的输出。好吧。
使用默认的收益,相反,1,0,到100年,让我们用参数表示这个系统。这个参数kp, ki, kd。和这些参数设置为完全这些价值观,我们只看到了在MATLAB。我将向您展示。让我们在这里单击Apply。
也让我们改变初始值积分器的PID控制器的初始输出PID控制器块= 9。和玩一个引擎子系统,我知道你需要一个节流阀请求约9到得到一个输出速度约2000 RPM。让我们在这里单击Apply。
为了说服你,你从默认的增益值开始,让我们去MATLAB。这里你看到的这些参数的值设置为默认值。
让我们回到仿真软件模型。万博1manbetx现在让我们运行仿真。如果我们观察结果,我们看到的响应是不稳定的。这并不奇怪,因为我们没有改变增益值。
现在让我们谈谈如何去调整增益值。我们可以通过进入块对话框并按调整按钮。启动一个工具叫PID调谐器,需要仿真软件控制设计。万博1manbetx这个工具中渗流非线性仿真软件模型0时刻打开这个PID调谐器的应用万博1manbetx,正如你们所看到的。
使用该工具的传递函数得到的线性模型模型,它会自动出现与PID控制器跟踪收益提供很好的参考。万博1manbetx你可以查看PID参数,增益值,和其他特征。如果我们喜欢的设计,我们可以简单地更新块参数。
没有什么阻止对话框的变化。但如果你去MATLAB,我们看到,增益值更新。
让我们回到我们的仿真软件模型。万博1manbetx现在让我们重新运行仿真。让我们看看结果。
所以现在我们看到我们摆脱这种不稳定性。我们有漂亮的和稳定的反应。但也许我们想消除这种激增节流阀的命令,因为这也许是不现实的。
所以我们可以回到PID控制器,提出这个PID调谐器,也许慢下来的反应我们的系统一点。实际上,我们可以看看另一个情节我们可以看看控制器工作,多少节流指挥,看看这种情况正在改变。所以默认设计,我们看到一个高峰。但如果我们继续让它慢一点,我们减少了飙升。
让我们试试这个设计。再次更新块参数。重新运行模拟。现在我们有好,稳定的设计没有节流命令。
所以很快,您看到了如何使用PID调节器应用调整PID控制器的收益,以及如何调整设计。如果你想使用更严格的调优工具如波德图或根轨迹,我们有另一个应用程序,称为控制系统设计师,您可以使用。但是现在我不会表现出来。
我想专注于下一个是什么情况你不知道工厂模型。你不知道描述植物的动力学方程。但你可能会获得一个原型或实际过程或你想控制的植物。
让我们假装我们不知道方程的引擎,但是我们能够获得一个真正的引擎。我们可以命令输入引擎,油门请求,和测量输出。在这种情况下,我们所做的开环测试,只是命令油门改变步骤的方式从约8.9到9.4在2秒。但是我们也可以运行相同的初步控制器,也许我们想改进,所以我们可以指挥变化参考速度控制器和测量结果节流和由此产生的速度从一个引擎。
所以我想说的是,我们可以使用的数据不一定是开环数据,但也可能是由于闭环引擎获得的数据操作。但是一旦你测量装置的输入和输出的植物,这里的想法是,我们可以使用这些数据来确定植物从数据模型,然后使用该识别植物模型来优化我们的PID控制器。
让我们这样做。让我们打开PID调节器应用。几乎相同的应用程序,我们只是用来调整PID控制器的仿真软件模型。万博1manbetx但是现在我们没有工厂模型开始,所以我们需要确定一个新工厂模型。
这对确定植物打开另一个窗口模式。我们需要先把输入输出数据的工具。这里你可以选择。你可以把任意输入输出数据。但在我们的例子中,我们使用阶跃响应选项,因为我们实际上是阶跃响应数据。
输出信号存储在一个变量输出。我们知道有一个输入信号幅值为0.5。它开始在大约8.9,或者我们有输入信号,所以我们可以得到初始值。我们知道步骤发生在大约2秒。和我们的时间向量从0开始,组装时间1/100秒。
所以我们带来的数据。我们现在看到的绿色曲线,测量发动机转速,和蓝色曲线模型的输出,我们正在努力养活绿线。让我们也看看输入数据,这是一个步骤,我们吩咐引擎,油门的一步。
好吧。为了得到一个更好的选择,让我们消除测量数据的偏移。所以这个发动机转速在2000年开始,我们将开始在0。我们会去进行预处理,去除一个偏移量。让我们消除所有信号的抵消。我们把初始信号值。
我们会更新。这是我们的新数据。我们将关闭这个对话框。
这里是数据与抵消在绿线。我们现在正试图满足一阶模型公式就是这些数据。我们可以交互地调整两个参数控制,稳态增益和时间常数的模型。
我们可以尝试不同的结构;例如;一副欠阻尼的波兰人。让我们选择一个不同的模型。我们可以调整这个交互,或者我们可以让这个工具自动想出最好的参数值,提供最佳的健康。
如果我们这样做,该工具能够想出一个很好的适应这里,你在这里看到的。在右下角,你看到的植物,它的参数拟合。现在假设我们满意这种植物模型,所以我们可以使用它并关闭该对话框。
所以现在我们优化PID控制器这种植物模型,我们发现。让我们选择PID控制器与微分滤波器PID控制器我们想要使用的类型。我们看到,我们现在有不错的阶跃响应和零稳态误差。我们可以让它快一点。一旦我们喜欢这个设计,我们在MATLAB可以导出并保存工作区在变量c。
现在如果我们回到MATLAB,我们有一个变量c。如果你看看它是什么,这是一个连续时间与这些增益值PID控制器。我们可以访问那些获得通过键入c值。kp, c。ki等等等等。现在我们可以把这些成果,并将它们放入到一个PID控制器在模型为进一步实现。万博1manbetx
总结,在本节中,我们研究了两种不同的方式优化的PID控制器,当你有一种方式植物模型在模型描述植物的动力学方程,另一种当你不知道方程而获得测量输入/输出数据。万博1manbetx在这种情况下,您使用系统辨识工具箱集成到PID调节器应用首先识别植物模型数据,然后使用这个确定植物模型来优化PID控制器的参数你收益。
现在让我们谈论的实现。几乎相同的模型,我们只是一起工作。但在这里,我们添加了零阶整本书代表A D转换。我们将PID控制器的内部子系统。我们还增加了数据类型转换。
现在我们要做的是这个浮点设计转换为定点设计实现定点处理器,然后生成代码。让我们开始通过运行仿真。假设这是我们开始的设计工作。你现在看到所有的信号是双打。
现在这对定点设计规模,我们将推出定点工具,附带我们的产品称为定点设计师。好吧。我们模拟的结果,我们就在这里做了。所以你先清楚所有结果和运行。我们会开始重写所有的参数我控制器子系统与双打。这就是这个设置。
我们将运行仿真。我们会保存仿真的结果在运行,我们将名字翻倍。让我们这样做。让我们模拟模型。
这里所示的结果。如您所见,PID控制器代码块内的所有参数,我们使用的是双数据类型。和对所有信号的内部子系统,我们捕捉在模拟值的最大值和最小值。
现在我们要做的就是使用min和max值捕获在模拟自动想出定点缩放。要做到这一点,我们会向下滚动。在这里,我们将配置选项提出分数长度。我们要用固定的16位字长。固定的单词长度,我们将希望工具提出部分的长度。所以我们将留在这个选择。
默认数据类型,我们将希望使用浮点信号是一样的嵌入式硬件整数。我将解释这意味着什么。我们将希望使用模拟最小/最大数据与一些安全裕度来作为定点缩放。
现在让我回到一个模型。在模型中,我所做的是在模型中配置参数设置,有一个节点叫做硬件实现。在这里,我已经指定,我们想实现我们的控制器在一个通用的16位嵌入式处理器。我可以选择一个特定的人。但在这里,我想留在通用体系结构。
这里重要的是这种方式,定点工具,当我们说默认数据类型是一样的嵌入式硬件整数,它知道我们的目标是16位处理器。所以,让我们让工具为我们提出了分数的长度。让我们请点击这里。
因此工具继续和提出了建议,正如你们所看到的。让我们继续和应用提出了所有的参数部分的长度。
现在我们回到我们的仿真软件模型。万博1manbetx打开PID控制器块看看数据类型的步骤。现在你在这里看到所有的数据类型与16位定点。
现在我们要做的是确保定点扩展我们想出了将给我们接近我们的浮点设计结果。,而不是覆盖所有数据类型翻倍,我们做了第一次,我们将使用本地设置,我们刚才看到的定点缩放。我们将保存的结果运行到一个称为定点运行。
我们应用更改。让我们运行仿真。
我们看到我们现在有两个运行,不动点和双。编译DT列显示你在仿真过程中使用的数据类型。所以你看,我们使用定点定点运行和双数据类型的初始运行。
现在让我们看看错误信号。让我带你在模型中。这里的这个信号。你看到我们的日志。参考设定值之间的差异,参考速度和测量速度。
信号,我们会比较。在顶部,实际上有两个情节。他们看起来非常接近对方。
但是如果你放大一点,你会看到有一个区别。这就是你看到的。两行之间的差异上情节是你在底部看到的情节。我缩小。
所以这里要注意有趣的是有一个稳态值之间的差异浮点和定点。你可以看到,如果你放大。现在,记住,这是一个模拟的结果与定点伸缩。所以定点扩展的结果,你没有零稳态误差了。这是有趣的。和显示你,也许你需要工作扩展细胞多一点,或者活在这样的非零稳态误差,或者去一个过程服务。
但是那是你的选择作为一个工程师。这里的要点是展示你如何快速不动点扩展这个定点工具,如下所示。
现在,当我们这样做时,下一步是生成代码。有多种在线研讨会,讨论如何配置代码生成。但我会很快告诉你如何专门从这个PID控制器生成代码块。同样,在现实生活中,控制器会比一个简单的PID控制器复杂得多。然而这个想法是适用的。
假设,建立一个子系统。我已经配置了这个模型生成高效的代码,优化了ROM和RAM的效率。我会让那些控制器参数,可调参数。我们会继续生成代码。
这是生成的代码。你看到我们的成果。你看到一些初始化代码。和实际算法实现PID控制器在这里。
所以这个生成的代码你会怎么做?当然,你可以把它放在一个处理器,并开始测试,等等。但很快我想强调一个选项,你叫software-in-the-loop测试。这里的想法是把这个生成的代码,并在主机上测试它与植物模型在仿真软件,以确保生成的代码给你相同的结果作为一个整体仿真软件模型。万博1manbetx
要做到这一点,我们再去代码生成菜单。但现在我们选择一个选项来生成一个函数。再一次,我们可以使这些参数可调。我们选择这个选项,创建Software-in-the-Loop块,并单击Build。
再一次,去为我们生成代码的工具。但现在它还创建了一个街区,你会看到她的瞬间。这个块叫做Software-in-the-Loop,银。让我们把它从这个模型并将其复制到我们的原始模型。
让我们删除这个PID控制器块设计和定点扩展,而不是用一块Software-in-the-Loop取而代之。如果我运行仿真,我将得到完全相同的结果,正如我们将看到的。
但是如果我现在看看块面具下面,这不是我们之前看到的PID控制器的块。这里实际上是调用生成的代码。再一次,我们只是确保这个生成的代码给了我们同样的结果,我们设计了PID控制器的块。
这个代码是在主机上运行。所以下一步将是测试它的处理器。但我想涵盖的范围之外的。
好吧。现在我们已经讨论了设计控制器,调整其收益,并实现它,做定点缩放和生成代码。我们关闭这个模型,接下来讨论情况植物动力学变化很大从一个到另一个操作条件。在本例中,它实际上是改变不少,从2000点到6000 RPM。
让我打开脚本,并告诉你。所以在这个脚本中,我们将工作让我发现它在一个开环引擎模型,正如你们所看到的。我们会从油门输入测量速度输出线性化模型。我们将使用的工具,称为模型控制设计。万博1manbetx这个工具有一个漂亮的图形应用程序,你可以这样做你可以使用线性化模型或您可以使用程序化的工作流,在这里我选择使用批处理模式线性化。
在脚本中,我们将一组速度点线性化我们的工厂模型从1400年到6000年的200步。利用仿真软件的命令控制设计,如findo万博1manbetxp和线性化,我们将在所有这些不同的线性化模型的操作点,我们将在波德图阴谋的结果。
这个计算需要。一旦创建了波德图,你看有24种不同线绘制相应的发动机动力学在24个不同的条件,从4000转到6000转。你可以看到有变化,发动机动力的重要变化。我们策划的结果变量叫做系统。
如果我在命令窗口看看,我将会看到这是24转移函数的数组。现在我要做的是调整PID控制器对于那些24转移函数。我可以单独,使用工具,如PID调节器应用或预示情节,或控制系统设计师,或者根轨迹图。
但是也有编程方法。有一个函数在控制系统工具箱叫PID调节。所以我们要做的就是把这个数组24转移函数和设计一套24 PID控制器的闭环带宽10弧度/秒,一个阶段的70度只有两行代码。让我们执行这个细胞。好吧。如果我们看看计算的结果,我们可以看到,我们有24 PID控制器,我们刚刚创建的数组。
让我们来看看这些控制器的收益是如何改变的速度。好吧。所以,速度从1400转到6000转。我们看到的收益正在改变不少。这里我们只是看着比例和积分增益。
让我们计算和绘制闭环步反应24 24线性PID控制器应用于我们的工厂模型。所以我们看到,看起来不错。
下一步,当然,实现这些24 PID控制器模型。万博1manbetx这就叫做增益调度。所以,我将打开一个不同的模型。好吧。我想告诉你的是,我们有我们的引擎子系统。我们有PID块。
但是现在,这个PID块,我们选择这个选项被设置为外部来源。当我们这样做时,块得到的额外进口PID收益。我们现在可以提供那些使用查找表。所以你看,我们测量的速度信号。我们进食的速度信号,查找,查找表块。而这些查找表实现比例增加发动机转速的函数。
好吧。这里我们看到的形状。所以我们的想法是,随着发动机转速变化从1400转到6000转,相应地调整我们的控制器增益。所以基本上,我们从一个控制器切换到另一个改变操作条件。
这里我们有一个信号构建器,我们可以创建多个测试用例来测试我们的控制器。和这里的第一个测试用例是一系列的小步骤,一系列的小步骤,覆盖整个操作范围的一个引擎。让我们运行仿真。让我们看看结果。
好吧。我们正在看参考,红色信号,信号和实际发动机转速,蓝色的。所以我们看到,我们有很好的参考跟踪整个操作范围。
现在让我们回到模型和运行不同的测试用例。所以现在我们要做的几大步骤,一路从1400转到6000转回1400 RPM。让我们运行这个场景。让我们再看看结果。
这里,引用这个红色信号。和实际速度是绿色的信号。你注意到这里有一些奇怪的行为,那里是一个大型的超调。它需要一段时间来的信号的参考价值。同样当我们下台。
这实际上是我提到的条件研讨会称为集成器终结的开始。这里发生了什么是,我们选择的收益,引用和实际速度之间的误差信号足够大,积分器术语集成了一个很大的正数。然后你需要一段时间积分项下来回0当我们实际速度超过参考。如你所见,它对我们的控制器的性能造成负面影响。
我们可以解决,通过添加积分器anti-windup逻辑。在PID控制器,它真的很容易。你选择它是很容易做的。你只选择您想要应用的anti-windup方法,单击OK。现在我们重新运行模拟。
让我们看看结果。,让我删除之前的运行的结果。让我们看看。现在你看到新的运行anti-windup逻辑给了我们一个很好的性能,不过度的或没有过度的路上。
实际上我们也可以了解到发生的通过比较节流阀命令创建的。红线在底部是油门命令的运行,我们没有anti-windup保护。和蓝线是使用anti-windup生产运行。正如你所看到的,当我们把anti-windup保护,油门最大值的命令是25快得多。
网络研讨会的这一部分向您展示了如何快速设计和实现增益将PID控制器模型,以及如何防止终结。万博1manbetx
所以最后我想地址在这个研讨会是天线系统PID控制器的设计。让我们结束这模型。正如我一开始所说的网络研讨会,许多系统,我们必须处理系统具有多个输入和多个输出。让我打开另一个模型。这是柴油发动机的模型,我们在这里看到的。
如果我运行仿真,您将看到数字信号。这些数字表示尺寸,大小的信号。所以我们看到参考信号是两个信号,实际上,提高参考和EGR技术参考。从柴油机子系统和输出有两个信号,提高和苛刻。有两种输出,我们正在努力控制。和两个输入我们的引擎VGT位置和苛刻的升力。
这里,我们想要实现一个分布式天线2乘2控制PID控制器。如果你在看,你会发现我们有一个积分增益ki,这是2乘2矩阵;比例增益kp, 2乘2矩阵;和获得提供干扰,还2乘2矩阵。所以总共有12个参数,我们想调整。他们是默认设置为0。
如果我们看看模拟的结果,我们发现我们没有好的参考跟踪。黄线代表一步提高和EGR的变化。我们看到红色线,实际根本不跟踪参考信号的信号。
我们设计我们的MIMO PID控制器,可以使用一个工具叫控制系统调谐器。这是一个设计工具,您可以使用任何类型的天线或输出控制器仿真软件和MATLAB。万博1manbetx这个想法是你指定控制器的体系结构仿真软件使用的基本块,然后使用这个工具来调整控制器的参数。万博1manbetx
让我们看看这是如何工作的。让我们去优化选项卡。我们要调整我们指定参数。
在MIMO PID控制器,我们想调整矩阵。我们将指定它们。然后,我们可以指定一个数量的优化目标。这里有各种类型的目标。
所以让我们开始用一步命令例如跟踪。我们要跟踪阶跃响应输入,这是我们的参考信号。我给你的信号。这是一个提高参考和EGR技术参考。和输出信号是柴油机的输出子系统和这里的信号,提高和苛刻。
我们会问工具来设计控制器,给我们一个时间常数的大约5阶闭环系统的特征和显示步骤命令指挥,我们为提高10,EGR和3,所以你会相应地调整大小。所以你在这里输入这些数字,10和3。我们甚至可以要求也许比5快一点,也许3秒。让我们点击OK。
该工具继续并创建一个调优目标的情节。红色线是我们要求的回应,好快在斜阶跃响应条款和零信号非对角的条款提供最小通道之间的交叉耦合。
现在我们只是按调整和工具和音乐这些kp, ki,凯萨参数。现在的调优是非常快,正如你所看到的。现在我们要做的是更新模块仿真软件模型。万博1manbetx
如果我们进入这里的子系统,我们看到所有的块参数更新。现在我们可以运行仿真,看看结果。和我们现在看到,我们有很好的参考跟踪以最小的交叉耦合。当我们做一个阶跃变化在提高,对EGR几乎没有影响。反之亦然:当我们对EGR做阶跃变化,影响相对较少。所以很快我们设计了一种PID控制器使用PID调谐器工具。
总之,你看到一个快速入门PID控制。然后你看到一个简单的工作流如何调优,在MATLAB和Simulink实现PID控制器。万博1manbetx不同的产品,我们使用仿真软件s manbetx 845;万博1manbetx控制系统工具箱;万博1manbetx仿真软件控制设计;系统辨识工具箱创建植物模型从输入/输出数据;鲁棒控制工具箱,这是一个产品需要使用控制系统调谐器;定点设计师,做不动点缩放;和嵌入式编码生成代码。
如果你想了解更多,谷歌“PID控制MATLAB”页面,我们一起把所有的资源如何在MATLAB和Simulink设计和实现PID控制器。万博1manbetx差不多就是这样。非常感谢。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。