从系列:如何在Simulink中开发DC-DC变换器控制万博1manbetx
瓦斯科·伦齐,马修斯
了解如何在嵌入式处理器上为SEPIC实现数字控制器。转换器是德克萨斯仪器公司DC-DC LED套件的一部分™. 微控制器是德克萨斯仪器公司的TMS320F28069处理器。在Simulink中设计并验证控制器后万博1manbetx®,使用嵌入式编码器®生成在嵌入式处理器上实现的代码。
请参阅演示如何为Texas Instruments C2000安装嵌入式编码器支持包的示例™ 用于生成针对万博1manbetx德克萨斯仪器公司TMS320F28069处理器优化的代码的处理器。使用此支持包中的块更新控制器。该支持包还包括该型号中使用的TMS320F28069处理器的驱动程序块。
更新模型后,使用Embedded Coder生成C代码。代码生成报告提供了Simulink模型和生成代码之间的双向跟踪,以帮助您更好地理解代码。万博1manbetx了解如何为控制器生成算法和驱动程序代码,以及如何将这些代码部署到嵌入式处理器。在Simulink中使用外部模式来改变Si万博1manbetxmulink模型中的LED亮度命令,并验证在嵌入式微处理器上运行的生成代码的执行情况。
现在是讨论实现的时候了。现在,为了在嵌入式平台上实现电力电子控制,我回到Simulink,我将向您展示这个我称为应用软件的模型。万博1manbetx
在这个模型中,我创建了我的软件架构,可以这么说,我有一个,使用模型参考,我打电话其他模型,实现特定的算法,例如,一些限制我目前的监管逻辑,我们看到的部分在Stateflow工况管理,闭环控制电压,和闭环LED控制器。
您可以在此处看到不同的颜色。这些颜色与特定的计时步骤相关联,这样我们就可以一目了然地看到哪个子系统和不同的模型以何种速率工作,以及它们之间的交互方式。然后,我可以转到“应用”选项卡,打开“嵌入式编码器帮助”,如果我不知道如何启动或如何启动ne将成为我的硬件平台,我可以从嵌入式编码器快速启动。
它会分析这个系统。你可以指定你想生成哪种代码,C, C AUTOSAR, c++, c++ AUTOSAR,有多少实例,所以你想使用一个,或者它会有一些重用。分析这个模型,看看系统中有多少采样率,如果有任何连续状态。最后,它会问我,我想让这是一个多任务处理速度单调的系统,还是我有一个执行时间最快的单任务,我想优先执行还是优先内存。
最后,它会在代码生成时为我的参数提供一些新值。你可以在这里看到。我们有22个参数。实际上,您可以参数化成百上千的代码,以得到您想要的精确代码。对于嵌入式编码器,我们建议您参加我们的培训。
现在,我们实现了一个新功能,即能够与代码接口并排查看代码和模型。在这里,我可以选择我的代码接口,然后代码会在旁边弹出,并允许我在模型和代码之间进行双向跟踪。如果我回到我的闭环控制系统,例如,如果这个开关,这里的代码将自动转到为这个子系统生成的C代码,我将看到开关实际上是如何实现的,这个开关是如何实现的。我可以找到我可能更感兴趣的代码的单个部分。
这是了解嵌入式代码生成如何工作并快速了解参数配置将如何影响生成的代码的一个好方法。如果我与开发板合作,比如我为德州仪器公司C2000开发的开发板,我实际上可以进入附加组件选项卡,搜索硬件类型,例如,在这里我可以搜索C2000,并下载嵌入式编码器的特定硬件支持包。C2000也有,但其他很多平台也有,比如STMI、ARM处理器、Raspberry,随便你喜欢什么。实际上,有很多硬件支持,万博1manbetx
这就给了你驱动程序块,以及生成可执行文件的能力,并直接从我的嵌入式硬件中刷新它。
因此,由于自动代码生成,我们可以部署到任何具有同类最佳性能的处理器上。模型可以为PLC或工业计算机生成结构文本,可以为FPGA生成HDL代码,可以为GPU和嵌入式GPU生成CUDA代码,也可以生成嵌入式处理器或英特尔或AMD等计算机处理器的C代码或C++。
这项技术不仅允许您通过闪存特定的板(如TI提供的板)连接到硬件,而不管您的软件包是什么,而且总的来说,MATLAB和Simulink与硬件配合得非常好。您可以直接连接示波器。您可以连接数据采集设备,也可以将Simulink模型连接到数字网络,如OPC和can网络。您已经为许多这样的硬件集成了工具箱。因万博1manbetx此,如果硬件对您很重要,请查看我们支持的所有不同硬件。让你的实验室生活更轻松。万博1manbetx
另一件事是,当您开始生成代码时,您的项目已经进入生产阶段,然后您将需要专业的能力来管理您的文件和模型。为此,您有一个Simulink Proje万博1manbetxct,它允许您通过检查(如Simulink Project Upgrade)将其他文件连接到一个单独的实体中,这将帮助您始终保持与最新版本保持一致。
万博1manbetxSimulink项目是基本MATLAB的一项功能,不需要任何其他工具箱。同样,在Simulink项目中,您可以集成虚拟控件,然后可以轻松访问Simulink图形模型比较和合并。这是Simulink的一部分,自2017B以来不需要额外的工具箱。
在此之前,您需要Simulink报表生成器,但我们决定后退一步,万博1manbetx将其单独放入Simulink产品中。所以,如果你仍然没有17B,这可能是一个很好的理由。你不需要任何额外的工具箱。您只需使用Simulink Project,就可以开始分析不同版本的系统。
当我们进行验证时,我们提供了许多可以用自动代码生成来完成的不同事情。其中之一是软件在循环,在这里我们生成你的算法代码和你的嵌入式闭环模拟,所以你可以测试生成的代码是否在功能上等价于模型。
你可以做循环中的处理器或循环中的FPGA,在循环中算法将在支持的板上闪现,然后连接处理器,处理器将在运行时工作,将反馈模拟结果,并将进行这种非实时功能验证,还将进行性能评测,以便你能够实际地准确评估绩效的准确万博1manbetx性以及您有多少可用资源。
第三种是硬件在环,您的算法在处理器上运行,您的工厂模型从Simscale Electrical生成代码。仍然可以从Simscape生成代码,并将其放在实时机器上,例如,Speedgoat。实际上,我们询问了我的Speedgoat合作伙伴Carlos Villegas,他为我提供了这几张幻灯片和这个SEPIC示例的硬件在环示例。
Speedgoat是瑞士MathWorks的一个联合公司,为在环硬件和快速原型提供实时解决方案。这里,我们可以看到他们用我提供的模型做了什么。他们使用Simscape到HDL技术来线性化不同操作的SEPIC
点,然后能够在FPGA上闪烁它。因此,我们提供了一个工作流程,允许您从Simscape模型到HDL代码。
然后这个在FPGA上运行的HDL代码允许我们测试我们的算法仍然是100千赫的PWM信号,这是非常快的。所以我们需要在200兆赫时有一个非常高的分辨率捕获,然后让模型在我们的FPGA上运行至少2兆赫,这是他们可以实现的。我们可以在这里看到一个例子y与我分享,他们首先将一个模型部署到嵌入式目标,如TI,然后我将比特流部署到speed机器上。
最后,你可以在右边看到他们的示波器,它记录着不同的电压。它们现在要增加电压。我们可以看到参考电压是9点——或者18电压,电压和输出电压会改变到18,你可以看到不同电压的PVM信号捕获所有的常见的电容器或半工作在100赫兹。
这是另一个非常有趣的工作,你可以重用你做过的一些模型,把它们转换成HDL,提供高频切换系统的闭环功能。现在可以在检查器中看到系统的行为几乎和我在模拟中一样。
我们的会议到此结束。再一次,让我展示一下我们今天所做的工作。我们基于德州仪器的硬件模型对SEPIC进行了建模。我们对控制逻辑和监控逻辑进行了编程和调谐。然后,我们生成C代码,并使用其他支持包将其带到这些硬件上,就像我们现在看到的那样。万博1manbetx
在这种情况下,我们可以使用我们的控制设计调谐功能与系统识别相结合得出的参数,将LED电流控制到6000万对,这样我们就可以使用高保真模型,切换线性组件,以获得控制设计的最佳参数。
一个例子,我们的客户使用这个工作流,ABB,众所周知的能量变换社区,和罗伯特·特纳从ABB新西兰博士说,模拟和代码生成使我们迅速扭转的变化,消除人为错误编码和开发人员的生产力很容易增长十倍。这是世界领先的电力电子公司之一强有力的声明。
最后,让我重复三个关键要点。我们的解决方案中有图形化编程Stateflow Simulink,非常直观和强大,最先进的技术,如解算器和控制设计技术,有助于您的团队开发的这个复杂系统的设计验万博1manbetx证,本质上是多学科的这将允许您尽早发现设计错误,并在提高质量的同时降低开发成本。
我想在我的顶层中心向我们的电力电子控制社区大声呼喊。你有他们的模型、答案、如何操作视频,以及与MathWorks和业内其他电力电子专家互动的能力。非常感谢您的参与,请在下次之前保持安全。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。