从系列中:如何在Simulink中开发DC-DC变换器控制万博1manbetx
瓦斯科·伦齐,马修斯
学习如何为DC-DC变换器设计数字PID控制器。由于仿真模型包含高频开关,无法线性化,因此可以对仿真输入输出数据使用System Identification Toolbox™获取传递函数。来自Simulink Control Desi万博1manbetxgn™的PID Tuner应用程序使用传递函数自动计算PID增益。在非线性仿真模型中验证PID控制器的设计。
参见一个以未调优控制器开始的示例。对输出电压阶跃响应的仿真表明,控制器不能提供所需的响应时间。使用PID Tuner应用程序来调整控制器。看看如何打开反馈回路,并注入一个台阶信号到工厂。然后收集并利用仿真结果来确定变换器在当前工况下的传递函数。
获得传递函数后,使用PID调谐器应用程序自动计算PID控制器增益,以满足带宽和相位裕度要求。使用计算的增益更新Simulink中PID控制器块的增益万博1manbetx®模型通过全非线性仿真验证改进后的控制器性能是否满足响应时间要求。
现在我们进入有趣的部分。我的背景是控制工程,当我能做一些控制设计时,我总是很高兴。我想做的是设计我们的控制算法,并根据时间和频率要求进行调整。
这是电压部分。对于led,它将是非常相似的,但我们现在想做的电压控制我们的SEPIC。我们要用一种不同的方法来解决我们视频中常见的问题。这一次,我们将使用一个植物模型,一个不能线性化的开关线性模型。我们需要创建一个张量函数等效模型,然后根据我们的要求对它进行调整。让我们看看它是怎么运作的。
所以我准备了第二个模型来讨论这个问题。这里有我们的海景模型。事实上,由于我使用的是子系统引用,你可以将其识别为被剪切的两个角之一——左上角和右下角——我指的是一个名为SEPIC Circuit的外部文件。这是一种非常强大的技术,允许我使用不同的文件重用复杂的系统。当您在一个更大的团队中工作,并且有人需要开发子组件的特定版本时,这可能非常有用——因为版本控制的原因,不想使用库,不想在一个巨大的单个文件中工作。因此,您可以使用子系统引用来分解物理模型。
让我们在文档中查看一下。这是一个非常有趣的技术,当你的系统开始变得非常大,你想把它分割成多个文件。这是我的控制器。不仅仅是PI。这里也有一些开关,取决于我是否启用了闭环,输出仅为0的能力,可能出于安全原因,关闭所有东西,以及饱和度。
在这里,我使用的是一个现成的PI模块,它能够调整植物。让我们先看看结果,不进行任何调整。所以我只是利用了我的直觉和过去的经验。我正在使用ODN技术,具体的PVM在VI上被阻塞。但是我们可以看到,我们可以很快地模拟100千赫下的100毫秒。这可用于控件设计目的。
我们可以看到我们的系统反应,然后有一个巨大的超调。我们上升到33伏。这是不好的。我们希望有一个更平滑的方法,没有任何超调。让我们调整这个。
所以你可能知道,如果你有人在控制设计中,你实际上可以点击调谐按钮,它将试图线性化计划,PI块之后的一切,在这种情况下,它将失败。它会失败,因为我们使用的是一个开关线性系统,带有理想的MOSFET和分段线性二极管。但它们仍然创造了一些无法线性化的东西。由于存在开和关、开和关、开和关,因此无法确定特定的操作点以获得新的电厂模型。
所以你要做的是,我们要按照它的建议做。我们可以使用植物菜单创建或选择一个新的植物。我们会点击识别新工厂。在这种情况下,我们将使用-我们将系统识别工具箱完全集成到系统调谐器应用程序中。
所以我们只需要从I/O数据中提供它。在这种情况下,我可以从我的实验中得到它,或者我可以简单地模拟它们。让我们将视图更改为单个视图,以查看我的系统标识视图。
在这里,我可以生成我希望系统模拟的阶跃函数。我在10毫秒时执行该步骤,在100毫秒时停止模拟。我将提高到占空比的61%左右。
这是我的测试向量。我将自动将系统拆分为开环阶跃测试,占空比为61%。我要读一下错误。现在,他们将-,在我开始的时候,我将解释-,他们将需要模拟三次,一次是0开环,1-0。所以为了得到正确的偏移量,他们可以计算出实际的设备响应。
这需要几秒钟。但是,由于我们使用这种方法进行模拟,ODN求解器被迫在正确的时刻采取步骤。这实际上不会花很多时间。正如我所说,我在一个应用程序中非常有效地结合了两个工具箱——系统识别工具箱和Simulink控制设计。万博1manbetx我们将会看到,当系统完成时,我们将会得到开环测试的响应作为输出信号。
是的,好像准备好了。现在它需要进行最后一次模拟。然后它就能通过误差和适当的输入重新计算工厂的输出。
现在我们有了它。我们可以看到输出。我们可以应用并使用这个输入/输出响应来识别系统。我们可以关闭这个模拟I/O数据并返回到客户端识别。
我们可以看到一种基于输入/输出创建传递函数的非常好的交互方式。现在,我看到我在这里有些耽搁。所以我可能想用单极结构来增加一个延迟。然后我可以点击自动估算。
它将使用系统识别工具箱中的算法为我提供一个很好的近似值。你可以看到它没有那么好。这是真的,因为系统稍微复杂一些,能够用单极传递函数来近似。让我们把两极放在一起。
再次点击Auto Estimate(自动估计)。我们可以看到,我们可以得到一个非常好的近似值。这个SEPIC是一个众所周知的系统。它可以用一个带有一些延迟的两个实数极点来近似。我们现在有了一个非常好的输入/输出匹配。
同样,这适用于任何类型的转换器设计。所以,如果你有自己的定制设计,你不需要花费时间来驱动平均系统方程来进行控制设计,并能够线性化你的系统。您可以使用现有的任何设计,实现这种开关线性模拟的第一步,使用系统识别技术,并返回传递函数。
我们可以看看我们的传递函数。所以我们把它作为我们的新工厂。然后我们可以回到我们的参考追踪,看看这一次,它会起作用。
我们可以看到,我们正在使用这个ID PROC识别系统。双击它,我们可以看到传递函数的样子。这实际上可以用来检索任何类型的传递函数近似,就像我说的,任何类型的转换器拓扑。
因此,我们希望更加稳健。我们不想要任何形式的过度。我们很高兴,也许,能慢一点。我们不需要太多的速度。如果我们能达到40毫秒,但没有超调,我们会很高兴。
现在,我们可以更新块。然后我们可以看到系统的行为。关闭它,这将有新的值。我们可以模拟,并看到我们的系统现在的行为。
你可以看到,事实上这是更好的方式。它的行为和我们预期的一样。这就是我所做的。
这些实际上是你在我的演示视频中看到的结果。我只是简单地使用我用这种技术计算的相同值。这是一种非常强大的技术。
那么我们看到了什么?我们基于PID tuner应用程序中集成的系统识别技术进行调整。它适用于任何拓扑,任何类型的转换器。它只需要这种开关线性模拟。
更好的是,我们现在有很多转换器,实际上是直接平均开关选项。因此,如果您不想使用这种节能技术,或者您曾经使用过传统的AC/DC转换器,我们为您提供了620中的大量模块,这些模块是平均的、现成的,然后可以线性化,并在您的控制设计中毫无问题地使用。
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。