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