艾琳·伯恩,MathWorks
开始使用Simulink万博1manbetx®通过一个例子。这个视频向你展示了使用Simulink的基本知识。万博1manbetx
您将学习如何建模,模拟和测试控制器的太阳能电池板,因为它跟踪太阳的运动一整天。您将看到如何建模一个物理系统,为该系统设计一个基本的PI控制器,然后运行仿真以确保模型正确工作。
在完成这个示例之后,您将了解Simulink如何只是基于模型的设计的建模、模拟、测试和实现真实系统的万博1manbetx一部分。
万博1manbetxSimulink是一个用于建模动态系统的图形环境——即随时间变化的系统。万博1manbetxSimulink负责模拟,以便您可以专注于工程。你可以用它来模拟简单的东西,比如家用恒温器;或者复杂的系统——比如全自动汽车或手术机器人。
这段视频将向您展示Simulink的基础知识,并让您了解在Simulink中的万博1manbetx工作方式。保持调整到最后,以了解如何了解如何使用simulink的更多信息。万博1manbetx让我们开始吧!
在马萨诸塞州纳蒂克的MathWorks总部,有许多用于发电的太阳能电池板。
这些面板面向南方,固定到位。这意味着当太阳在当天中间直接闪耀时,它们会产生更多的电力,当太阳到东部或西部时,在当天的早期和晚期时,较少的力量。
如果你有太阳能电池板旋转以跟踪太阳,那么你可以尽可能多地生产电力吗?
在这个视频中,我们将使用Simulink设计一个跟万博1manbetx踪系统,以保持太阳能电池板与太阳对齐。如果您想跟随我们构建模型,可以使用下面的链接下载它。
物理系统由一个面板和一个电机组成。我们先对它们建模,然后添加一个控制器来跟踪太阳的位置。
一旦我们对设计感到满意,我们会测试它,看看它对跟踪实际的太阳数据有多合理。
物理系统有两个主要组成部分。有了一些基本的物理知识,我们就可以写出每一种的运动方程。让我们先给面板建模。
通过单击MATLAB万博1manbetx ToolStrip中的“Simulink”按钮开始Simulink。这将打开起始页面,您可以在其中创建新模型,查找示例,甚至可以找到基本培训。
我们要从头开始创建模型,所以我们选择空白模型。
万博1manbetxSimulink模型是由模块和信号构建的。打开库浏览器查看所有可用的块。为了为面板的方程建模,我们将从Integrator块开始。
让我们单击并从库中拖动集成器到我们的模型。
那么为什么是Integrator块呢?积分块取一个输入,然后随时间积分。如果对加速度积分,就得到速度。如果对速度积分,就得到位置。这是在Simulink中建模微分方程的基础。万博1manbetx
我们的等式具有加速度和速度术语,因此我们需要至少一个集成商。让我们添加另一个也可以找到位置。
通过在块之间单击和拖动,我们用信号将块连接在一起。不要担心这些红线,我们马上把它们连起来。
标记信号以保持事物组织的原因是一个好主意,因此我们将双击信号并键入名称。让我们命名一个theta_dot_dot for加速,然后是速度的theta_dot,以及面板位置的速度。
接下来,我们对方程的右边建模。首先是扭矩项。
让我们使用Constant块。我们稍后会用马达换掉这个。
您可以双击块以更改其参数---让我们将值更改为10。
我们需要执行减法,因此让我们抓住减法块。
阻尼项取决于面板的速度---θ_dot信号。我们可以通过右键单击并拖动将其连接到减法块来分支此信号。
别忘了我们还需要乘以Kd。让我们使用增益块。
而不是硬编码的增益值,我们也可以使用一个变量,甚至MATLAB代码。我们设增益是Kd。红色方框表示Kd还没有定义。点击这三个点,然后选择创建。我们给它一个值5并将其存储在MATLAB的基本工作空间中。在MATLAB中检查一下,变量Kd已经创建好了。
为了完成这个方程,我们需要除以惯量j,我们用另一个增益块来做。
但是现在我们知道了块的名称,我们可以在模型中双击并开始输入块名称。然后,使用下拉菜单找到正确的方块并按回车键。
我们将把增益设置为1/J,同样,让我们在基本工作区中定义变量J,值为8.6。
让我们添加一个注释来显示正在建模的方程——这样当我们稍后再回到它时,就很容易知道这个方程是什么了。
这应该是我们建立面板模型所需要的全部。但为了检查是否一切正常,我们需要可视化一些信号。万博1manbetxSimulink有很多可视化工具。为了快速检查信号,简单的选择是使用Scope块…然后把它连接到我们想看的信号上。
让我们添加第二个范围以查看速度信号。
好了,现在我们可以模拟模型了。我们可以在simulation选项卡----中设置模拟停止时间,但是我们现在将其设置为10。
要运行模拟,只需单击run按钮。模拟结束了,但你没有看到的是Simulink通过时间数值解出了微分方程。万博1manbetx
双击作用域以查看发生了什么。
在位置范围内,我们看到面板的角度位置增加。
在速度范围内,速度从零开始并趋于稳定。
所以在一个恒定的扭矩下,面板开始转动,然后以固定的速度旋转。这是有道理的。
让我们快速理智检查,看看如果我们切换扭矩的符号会发生什么。我们可以直接在块上编辑恒定值!
重新运行......和......看起来很好---我们看到专家面板现在旋转在相反的方向。
现在我们已经有了面板模型,让我们将这些块分组在一起,以保持事情的组织。只需选择您想要包含的块——我们暂时不考虑Constant块和作用域——然后单击Modeling选项卡中的Create Subsystem。
现在所有这些块都包含在该子系统中。让我们姓名为面板。
您可以双击以查看子系统内容。这些椭圆形的块是输入和输出——这是进出子系统的数据。让我们调整端口名称。
好的,我们还需要一个发动机。还记得那个运动方程吗?嗯,我们可以按照完全相同的过程来建模。
和......我们有我们的电机!
我们将为电机提供电压以产生扭矩并移动面板。让我们检查会发生什么。我们可以看到面板旋转电压施加到电机时 - 所以到目前为止一切看起来都很好!
好的,我们已经建模了面板和电机。现在我们需要一个控制器来设置正确的电压,使面板追踪太阳。
从我们的模型中,我们知道面板指向哪里。假设太阳在这里。
我们希望面板指向太阳,所以这两个角度的差就是误差。我们将添加一个控制器,施加电压到电机,使误差尽可能小。
如果太阳移动,控制器将做出相应的反应,保持面板指向太阳。
好的,回到我们的Simulink万博1manbetx模型!
这是小组的位置。为了得到误差,我们需要太阳的位置。在设计控制器时,我们将使用Unit Step输入——这在控制设计中很常见。我们稍后会用太阳位置的数据来测试。
现在要计算错误。我们将使用SUM块---它已经在控制原理图中获得了这种漂亮的圆形形状。我们只需要更改第二个端口,而不是加上加号。
接下来我们需要一个控制器。有很多选项,但一种常见的方法是某种形式的PID控制——它代表比例/积分/导数,因为控制输出是误差、积分误差和误差的导数的函数。但我们不需要自己构建所有这些,我们只需要添加一个PID控制器块。
我们将输入连接到错误信号,输出将驱动电机。
您可以看到有很多方法可以自定义控制器。我们将切换到PI控制器--- D术语有助于响应快速变化,因为太阳在天空中稳步移动,我们不需要。
调整有两个收益:一个用于比例项,一个用于整体术语。这些影响控制器的响应。我们将将比例增益设置为240,并且整数增益为180。
为了了解控制器的性能,让我们使用相同的范围来显示太阳位置和面板位置。注意,会自动添加一个新端口。
让我们运行这个模型…并在范围上添加一个图例,这样我们就可以区分信号了。让我们也将位置线虚线。
我们可以看到控制器有点超调,然后回到参考值1。这对于我们的应用程序来说已经足够好了。
好的,我们设计了我们的控制器。但是,它可以实际跟踪太阳的运动吗?嗯,让我们看看它如何在我们提供一些真实数据时执行。
让我们将一些太阳位置数据加载到MATLAB基础工作区中。这个文件有两个变量:跨越15小时的时间矢量,以及太阳在每个时间点的位置矢量。
情节吧。
你可以看到太阳从东北方向升起,距离正北60度左右,在西北方向落下,距离正北300度左右。
我们可以将太阳位置数据引入到模型中,方法是用import替换Step块。
我们需要选择使用哪些数据。在Modeling选项卡中单击Model Settings。然后导航到数据导入/导出窗格。
这里有很多设置 - 如果您不确定任何事情,请右键单击,然后选择“这是什么”。此输入选项是我们需要的。
在指定输入数据时,第一列应始终是时间。之后,您可以为模型中的每个Inport添加列向量。
由于我们现在有15个小时的数据,我们将更改模拟停止时间。
让我们运行这个模型,我们可以看到它很好地跟踪太阳的位置。
因此,我们建立了太阳能电池板系统的模型,开发了一个控制器,并测试了该系统,以确保它能跟踪太阳的运动。而且,看起来我们的设计成功了!
但这仅仅是个开始。如果我们想让这些面板成为现实,我们可以在我们的模型中加入适当的设计规格。
我们可以带来Simscape等其他工具,以模拟机械和电气系统,而无需推导任何方程式!并且通过StateFlow,我们可以添加逻辑以使面板智能智能,因此他们在一天结束时旋转回到东部,并且如果条件发生变化,他们就知道该怎么办。
然后,当我们准备好时,我们可以自动从模型生成代码并将其直接部署到硬件。
在这个过程中的每一步,我们都可以不断地测试设计,以确保它是无错误的,并满足规格要求。
随着我们设计过程中心的模型,我们可以解决各种设计问题。你也可以。
现在您已经对在Simulink中工作有了一些感觉,是时候学习它了。万博1manbetx学习Simulink最好的方法就是使用它。万博1manbetx因此,启动Simulink万博1manbetx Onramp,它将交互式地教你Simulink的基础知识。它是免费的,只需要几个小时。
欢迎来到仿真软件。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。