Melda Ulusoy, MathWorks
在本视频中,您将学习如何建模换向逻辑,并建立一个反馈控制环来控制使用Simscape electric™的BLDC电机的速度。
下载这个视频中使用的模型.
看看这个视频了解更多关于整定PID增益的无刷直流电动机控制和这个Tech Talk视频了解BLDC速度控制算法的不同组件,如换向逻辑、传感器和三相逆变器是如何工作的。
在之前的视频中,我们模拟了一个三相逆变器,将直流电源转换为三相电流来控制无刷直流电动机。三相逆变器的输入是一个开关模式,控制电机相位对的开和关状态。在之前的视频中,我们使用静态开关模式为a相和C相通电,并观察到转子与定子磁场以30度对齐。在这个视频中,我们将把换向逻辑添加到这个模型中,动态地改变转子连续旋转的开关模式。
正如我们在第二个Tech Talk视频中讨论的那样,我们需要一个霍尔效应传感器来确定转子所在的扇区。换流逻辑然后使用当前扇区来选择相应的开关模式。让我们从霍尔效应传感器的建模开始。在实践中,霍尔效应传感器感知每个相位周围的磁场,以确定当前扇区。然而,为了模拟的目的,我们将假设我们知道角转子的位置,从中我们将计算扇区。霍尔效应传感器模型的逻辑应该是这样的:如果转子在0到60度之间,那么这意味着转子在第一扇区,所以我们应该输出1。同样,在我们完成转子的完全旋转之前,还有五种情况。
让我们保留这个表格,并尝试在Simulink中建模相同的逻辑。万博1manbetx角位置theta总是在0到360度之间,这意味着在转子每次完全旋转后,我们应该将theta重置为0度。我们可以通过使用Math function块中的剩余函数来实现这一点。我们将输入和常数值360到这个块上,然后它将返回除以360度的余数。我们还将在这里插入一个增益块,并输入极对的数量p,在我们的例子中是1,并且已经在MATLAB工作空间中定义了。这样我们就用电度来表示转子的位置。现在我们要开始研究这个逻辑了。
对于每种情况,我们都需要检查两个条件。为了实现第一次检查,我们添加了一个Constant块,并将其设置为0。然后,我们获取一个关系操作符块,并选择我们想要用于比较theta和0的正确操作符。类似地,我们模拟第二个条件。当这两个条件都满足时,我们希望将扇区设置为1。我们可以通过使用一个AND门和代表扇区号的增益来做到这一点。注意,逻辑运算符输出一个布尔值,我们需要将其转换为与增益相同的数据类型。我们可以使用数据类型转换块来实现这一点,该块接受布尔值并将其转换为它从增益块继承的数据类型。
根据这个逻辑,当两个条件都满足时,AND操作符将返回1,扇区将被设置为1。如果其中一个或两个条件都不满足,输出将为0,因为这将意味着转子在另一个扇区。
要实现其余的条件,我们可以简单地复制和粘贴这一部分,然后调整如图所示的值。现在,结果值的和将为我们提供扇区号。注意,每次只有一个输出为正,其他输出为0。让我们选择这一部分,并创建一个子系统,我们称之为传感器。
现在我们已经完成了扇区的计算,我们可以用它来模拟交换逻辑。正如我们在第二个Tech Talk视频中讨论的那样,换向逻辑基本上就像一个包含所有可能的开关模式的表,并根据扇区信息以正确的顺序输出它们,以正确地旋转转子。
这是第一个转换模式。让我们断开这个连接,并添加我们在图中看到的其余切换模式。为了根据扇区选择模式,我们将使用一个开关。为此我们使用Multiport Switch块。我们需要6个输入,将它们连接到刚刚创建的切换模式上。第一个输入是通过告诉它选择什么模式来控制这个开关,所以这里我们需要连接扇区。让我们选择所有这些并创建一个子系统,我们可以称之为“交换逻辑”。这样,我们就在电机周围建立了一个环路,这让我们能够根据霍尔效应传感器确定的扇区为连续旋转提供正确的相位。
现在我们将记录开关模式以及“Theta”。我们将使用与前一视频相同的脚本,该脚本使用记录信号来动画模拟结果。我们首先运行模拟,然后通过在命令行中键入脚本名称来调用脚本。我们看到一切都按照预期工作。这意味着我们正确地计算扇区,并在此基础上换流逻辑选择正确的切换模式。现在我们在控制马达,但只是以恒定的速度,就像这里看到的。因为电源电压是恒定的。为了能够以不同的速度运行电机,我们需要一个反馈控制器来调整三相逆变器的供电电压。为了建立这个控制回路,我们首先需要计算期望速度和测量速度之间的误差,然后将其馈送到控制器以调整电压水平。我们测量传感器块下的速度。 Let’s first output the measured speed with an Outport block. We will compare it to a desired speed which we can model using a repeating sequence changing gradually from 0 to 900 RPMs. We insert a Sum block to compute the error between desired and measured speeds which we then input into a PID controller. For speed control, we choose to use a discrete PI-controller. As I tuned the gains before and already know what values work well for my system, I’ll just enter them here. Next, we add a unit delay to prevent any algebraic loop that may occur in this model. Now, we need to feed the voltage computed by the controller into the three-phase inverter. So, we remove the current voltage source and replace it with an ideal voltage source which provides the commanded voltage regardless of the current passing through it.
接下来,我们将记录不同的信号,以便在模拟系统后能够查看它们。现在,我们可以运行模型并查看期望的和测量的速度以及控制器计算的电压。我们看到三相逆变器的电压由控制器调节,测量的速度成功地跟踪所需的速度。注意电压和电机转速是如何成比例变化的。
总而言之,在这个视频中,我们向您展示了如何建模换向逻辑,以及如何用反馈控制器控制电机速度。在这个模型中,我们使用一个理想的电压源来调节电压水平。但在现实中,电源电压是固定的,我们需要使用一种称为PWM或脉宽调制的技术来调整它。下次,我们将讨论PWM和实现PWM控制的不同架构。
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
本网站使用cookie来改善您的用户体验、个性化内容和广告以及分析网站流量。如果您继续使用本网站,即表示您同意我们使用cookie。请参阅我们的隐私政策了解更多关于cookie和如何更改您的设置。