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