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