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