主要内容

使用Simscape Electrical逆变器模型切换动力学

此示例使用面向现场的控制(FOC)来控制三相永磁同步电动机(PMSM)的速度。它为您提供了使用这些SIMSCAPE电气块作为电机控制BlockSet™中的平均值逆变器块的替代方案:

  • 转换器(三相)

  • 理想的半导体开关

该示例还可以选择使用Simscape™电气™的PMSM块作为电机控制BlockSet™的表面安装PMSM块的替代方案。这些Simscape™电气™块使您能够生成高保真仿真。

面向现场的控制(Foc)需要实时反向位置的反馈。该示例使用正交编码器传感器测量转子位置。有关Foc的详细信息,请参阅面向现场控制(FOC)

您可以使用此示例来使用不同的逆变器模拟目标模型,并监控每个逆变器的反馈电流。您还可以生成代码并使用主机模型以及目标模型。

楷模

该示例包括模型mcb_ee_pmsm_foc.

您可以使用此模型进行模拟和代码生成。您还可以使用Open_System命令打开Simulink®模型。金宝app例如,对基于F28379D的控制器使用此命令:

Open_System('mcb_ee_pmsm_foc.slx');

需要MathWorks®产品下载188bet金宝搏

模拟模型:

  • 电机控制BlockSet™

  • Simscape™电气™

要生成代码和部署模型:

  • 电机控制BlockSet™

  • Simscape™电气™

  • 嵌入式译码器

  • 嵌入式Coder®支持德克萨斯乐金宝app器™C2000™处理器的支持包

  • 固定点设计器™(仅需要优化的代码生成)

先决条件

1。获取电机参数。我们提供默认电机参数使用Simulink®模型,您可以使用电机数据表或其他来源的值替换。金宝app

但是,如果您有电机控制硬件,则可以使用电机控制块集参数估计工具估算要使用的电机的参数。有关说明,请参阅使用电机控制块集参数估算工具估算电机参数

参数估计工具更新MotorParam.变量(在MATLAB®工作区中)具有估计的电机参数。

2。如果从数据表或其他源中获取电机参数,请在与Simulink®模型关联的模型初始化脚本中更新电机参数和逆变器参数。金宝app有关说明,请参阅从电机参数估计控制获得

如果使用参数估计工具,可以更新逆变器参数,但不会更新模型初始化脚本中的电机参数。脚本自动从更新中提取电机参数MotorParam.工作区变量。

模拟模型

此示例支持模拟。金宝app按照以下步骤模拟模型。

1。打开目标模型mcb_ee_pmsm_foc.

2。在目标模型中的倒置式无线电组中选择其中一个选项:

  • 电机控制块集平均逆变器- 选择此选项可使用平均值逆变器和曲面安装PMSM块。

  • Simscape Electrical 3相换器- 选择此选项可使用转换器(三相)和PMSM块。

  • Simscape电气模块化多电平转换器- 选择此选项可使用理想的半导体开关和PMSM块。

3.从倒退的无线电组中选择一个选项,然后单击跑步在这一点模拟标签以模拟目标模型。

4。在目标模型上,单击数据检查员在这一点模拟选项卡查看三个模拟运行的结果。

此图像显示模拟结果$ {i_a} $相电流:

这些图像显示转子速度的比较,$ {i_q} $当前的,$ {i_ {ab}} $三个逆变器类型的相电流,转子位置:

这些图像显示了三种逆变器类型的PWM调制波形的比较:

生成代码并将模型部署到目标硬件

本节指示您在目标硬件上生成代码并运行FOC算法。

该示例使用主机和目标模型。主机模型是控制器硬件板的用户界面。您可以在主机上运行主机模型。使用主机模型的先决条件是将目标模型部署到控制器硬件板。主机模型使用串行通信来命令目标Simulink®模型并在闭环控制中运行电机。金宝app

需要硬件

该示例支持此硬件配置。金宝app您还可以使用目标模型名称从MATLAB®命令提示符打开相应硬件配置的模型。

对于与前面的硬件配置相关的连接,请参阅LaunchXL-F28069M和LaunchXL-F28379D配置

在目标硬件上生成代码和运行模型

1。模拟目标模型并观察模拟结果。

2。完成硬件连接。

3.该模型自动计算ADC(或当前)偏移值。要禁用此功能(默认情况下启用),请将值0更新为模型初始化脚本中的变量逆变器.AdcoffsetCalibenable。

或者,您可以计算ADC偏移值并在模型初始化脚本中手动更新它。有关说明,请参阅在开环控制中运行3相交流电机并校准ADC偏移量

4。计算正交编码器索引偏移值并在与目标模型关联的模型初始化脚本中更新它。有关说明,请参阅PMSM电机的正交编码器偏移校准

5。打开目标模型。如果要更改模型的默认硬件配置设置,请参阅模型配置参数

6。为确保CPU2未经错误地配置为使用用于CPU1的电路板外设,请将样本程序加载到LaunchXL-F28379D的CPU2,例如,使用GPIO31操作CPU2蓝色LED的程序(C28379D_CPU2_BLink.slx)。

7。点击构建,部署和启动在这一点硬件选项卡将目标模型部署到硬件。

8。点击主机模型目标模型中的超链接以打开关联的主机模型。您还可以使用Open_System命令打开主机模型。例如,对基于F28379D的控制器使用此命令:

Open_System('mcb_pmsm_foc_host_model_f28379d.slx');

有关主机与目标模型之间的串行通信的详细信息,请参阅主机目标沟通

9。在主机型号的主机串行设置块掩码中,选择一个端口名称

10。更新参考速度主机模型中的值。

11.点击跑步在这一点模拟标签以运行主机模型。

12.将启动/停止电机开关的位置更改为ON,开始运行电机。

13。观察来自RX子系统的调试信号,在主机模型的时间范围和显示块中。

笔记:在主机模型中,您还可以选择要监视的调试信号。

其他要尝试的事情

您还可以使用SOC Blockset™实现闭环电机控制应用程序,解决与ADC-PWM同步,控制器响应以及研究不同PWM设置相关的挑战。您可以使用Simscape™电气™实现高保真逆变器仿真。有关详细信息,请参阅在电机控制应用中集成MCU调度和外设