主要内容

基于传感器反馈的无刷直流电机六步换相

本例使用120度导通模式实现六步换相技术来控制三相无刷直流(BLDC)电机的转速和旋转方向。本例使用六步换向块产生的开关序列来控制三相定子电压,从而控制转子的转速和方向。有关此块的更多详细信息,请参见六步减刑

六步换相算法需要霍尔序列或转子位置反馈值(从正交编码器或霍尔传感器获得)。

正交编码器传感器由一个带有两个磁道或信道的磁盘组成,这两个磁道或信道被编码为90度相异。这就产生了两个相位差为90度的脉冲(A和B)和一个指数脉冲(I)。控制器使用A和B通道之间的相位关系和通道状态的过渡来确定电机的速度、位置和旋转方向。

霍尔效应传感器根据外加磁场的强度改变其输出电压。根据标准配置,无刷直流电机由三个相距120度的霍尔传感器组成。具有标准霍尔放置(传感器电间隔120度放置)的BLDC可以提供六种有效的二进制状态组合:例如,001,010,011,100,101和110。传感器以60的倍数提供转子的角度位置,控制器使用该位置来确定转子所在的60度扇区。

控制器通过霍尔序列或转子位置来控制电机。它使定子绕组的下两相通电,使转子始终保持转矩角(转子d轴与定子磁场的夹角)为90度,偏差为30度。

注意:霍尔的顺序可以变化。使用示例无刷直流电机霍尔传感器序列标定来确定霍尔序列。

该示例支持仿真。金宝app您可以模拟包含三相开关逆变器以及Simscape™electric™的双向无刷直流的工厂模型。

模型

示例包括以下模型:

您可以将这些模型用于模拟和代码生成。要打开Simulin金宝appk®模型,还可以在MATLAB命令提示符下使用open_system命令。例如,对于基于F28379D的控制器,使用以下命令:

open_system (“mcb_bldc_sixstep_f28379d.slx”);

有关支持的硬件配置的详细信息,请参见“金宝app生成代码并将模型部署到目标硬件”部分中的“所需硬件”。

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

模拟模型:

1.对于模型mcb_bldc_sixstep_f28069mLaunchPad

  • 电机控制模块™

  • 定点设计师™

  • Simscape™电气™

2.对于模型mcb_bldc_sixstep_f28379d

  • 电机控制模块

  • Simscape电

生成代码并部署模型:

1.对于模型mcb_bldc_sixstep_f28069mLaunchPad

  • 电机控制模块

  • 嵌入式编码器®

  • C2000™微控制器模块

  • 定点设计师

2.对于模型mcb_bldc_sixstep_f28379d

  • 电机控制模块

  • 嵌入式编码器

  • C2000微控制器模块

  • 定点设计器(仅用于优化代码生成)

先决条件

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

但是,如果您有电机控制硬件,则可以通过使用motor control Blockset参数估计工具来估计要使用的电机的参数。有关说明,请参阅使用推荐的硬件估计PMSM参数

参数估计工具更新motorParam变量(在MATLAB®工作空间中)与估计的电机参数。

2.如果您从电机数据表或其他来源获得电机参数,请在与Simulink模型相关的模型初始化脚本中更新电机参数和逆变器参数。金宝app有关说明,请参阅估计控制收益和使用效用函数

如果使用参数估计工具,可以更新逆变器参数,但不更新模型初始化脚本中的电机参数。脚本自动从更新后的文件中提取电机参数motorParam工作空间变量。

模拟模型

这个例子支持模拟。金宝app按照以下步骤模拟模型。

1.打开本示例中包含的模型。

2.在模型中选择QEP或Hall Speed_Feedback单选按钮。

3.点击运行模拟选项卡模拟模型。

4.点击数据检查模拟选项卡,查看和分析仿真结果。

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

本节向您展示如何在目标硬件上生成代码并运行六步交换算法。

本例使用一个主机和一个目标模型。主机模型是控制器硬件板的用户接口。您可以在主机上运行主机模型。使用主机型号的前提是将目标型号部署到控制器硬件板上。主机模型通过串行通信对目标Simulink模型进行指令,使电机在闭环控制下运行。金宝app

所需的硬件

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

与这些硬件配置相关的连接请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置

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

1.对目标模型进行仿真,观察仿真结果。

2.完成硬件连接。

3.默认情况下,模型计算ADC(或电流)偏移值。要禁用此功能,请将值0更新为变量逆变器。ADCOffsetCalibEnable在模型初始化脚本中。

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

4.如果使用正交编码器,请计算正交编码器索引偏移值,并在刷。PositionOffset变量在与目标模型相关联的模型初始化脚本中可用。有关说明,请参阅永磁同步电机正交编码器偏置校正

5.如果您使用的是霍尔传感器,请计算霍尔序列值并在bldc.hallsequence变量在与目标模型相关联的模型初始化脚本中可用。有关说明,请参阅无刷直流电机霍尔传感器序列标定

6.打开目标模型。如果您想更改该型号的默认硬件配置设置,请参见型号配置参数

7.选择正交编码器大厅Speed_Feedback目标模型中的单选按钮。

8.将示例程序加载到LAUNCHXL-F28379D的CPU2上。例如,可以使用GPIO31 (c28379D_cpu2_blink.slx)操作CPU2蓝色LED的程序,并确保CPU2没有被错误地配置为使用CPU1的单板外设。

9.点击构建、部署和启动硬件选项卡将目标模型部署到硬件,并将变量从目标模型加载到基本工作区。

10.单击主机模式目标模型中的超链接,以打开关联的主机模型。您还可以使用open_system命令打开主机模型。对于基于F28379D的控制器使用此命令。

open_system (“mcb_bldc_host_model_f28379d.slx”);

关于主机与目标机型的串口通信,请参见Host-Target沟通

11.在与目标模型相关联的模型初始化脚本中,使用变量指定通信端口target.comport。这个变量更新港口主机型号中可用的主机串行设置、主机串行接收和主机串行发送块参数。

12.更新参考速度值参考转速(RPM)字段。

13.在主机模型中,选择要监视的调试信号。

14.点击运行模拟选项卡运行主机模型。

15.改变的位置电动机切换到开始,启动电机。

16.在主机模型的Scope和Display块中观察来自RX子系统的调试信号。