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