使用基于 I-F 控制的启动的 PMSM 无传感器磁场定向控制
此示例使用无传感器位置估计和基于 I-F 控制的启动来实现磁场定向控制 (FOC),以控制三相永磁同步电机 (PMSM) 的转速。
PMSM 开始使用 I-F 控制算法(使用 I-F Controller 模块),然后从 I-F 转换到闭环控制,再从闭环转换到 I-F 控制。
I-F 控制可以很好地控制电机启动时的转矩。与开环控制不同,I-F 控制启动电机时不会出现任何电流过冲,并且可以提供从 I-F 控制到闭环控制的平滑过渡。有关 I-F 控制技术的更多详细信息,请参阅 I-F Controller。
有关 FOC 的详细信息,请参阅磁场定向控制 (FOC)。
此示例使用无传感器的位置估计方法。您可以选用磁通观测器或扩展的 EMF 观测器来估计示例中使用的 FOC 算法的位置反馈。
Flux Observer 模块使用相同的输入
来估计定子磁通、生成的转矩和转子位置。
Extended EMF Observer 模块根据在静态 alpha-beta 参考坐标系中测得的电压和电流,计算电气位置
(或
和
)以及 PMSM 的机械转速。
为确保检测到的转子位置准确,请将逆变器板电阻值添加到电机模块的定子相电阻参数以及 Flux Observer 和 Extended EMF Observer 模块的定子电阻参数中。
无传感器的观测器和算法对于超出基转速的电机运行存在已知限制。建议您仅将无传感器示例用于基转速以下的运行。
注意:建议您使用浮点数据类型运行该示例。
模型
该示例包括目标模型 mcb_pmsm_foc_sensorless_IFStartUp_f28379d。
此模型既可用于仿真,也可用于代码生成。

有关支持的硬件配置的详细信息,请参阅“生成代码并将模型部署到目标硬件”一节中的“必需的硬件”主题。
必需的 MathWorks 产品
要仿真模型,您需要:
Motor Control Blockset™
要生成代码并部署模型,您需要:
Motor Control Blockset
Embedded Coder®
C2000™ Microcontroller Blockset
Fixed-Point Designer™(仅在使用定点数据类型进行优化代码生成时需要)
前提条件
1.获取电机参数。Simulink® 模型使用默认电机参数,您可以用电机数据表或其他来源的值替换这些参数。
不过,如果您有电机控制硬件,则可以通过使用 Motor Control Blockset 参数估计工具来估计要使用的电机的参数。有关说明,请参阅。
参数估计工具使用估计的电机参数更新 motorParam 变量(在 MATLAB® 工作区中)。
2.如果您从数据表或其他来源获得电机参数,请在与 Simulink 模型相关联的模型初始化脚本中更新电机参数和逆变器参数。有关说明,请参阅估计控制增益和使用工具函数。
如果您使用参数估计工具,则可以在模型初始化脚本中更新逆变器参数,但不能更新电机参数。该脚本会自动从更新后的 motorParam 工作区变量中提取电机参数。
仿真模型
此示例支持仿真。请按照以下步骤仿真模型。
1.打开此示例附带的一个目标模型。
2.使用 Position Estimator 按钮选择以下无传感器位置估计方法之一:
3.要仿真模型,请点击仿真选项卡上的运行。
4.要查看和分析仿真结果,请点击仿真选项卡上的数据检查器。
生成代码并将模型部署到目标硬件
本节指导您如何生成代码和在目标硬件上运行 FOC 算法。
此示例使用一个主机模型和一个目标模型。主机模型是控制器硬件板的一个用户界面。您可以在主机上运行主机模型。使用主机模型的前提条件是将目标模型部署到控制器硬件板上。主机模型使用串行通信对目标 Simulink 模型发出指令,并以闭环控制方式运行电机。
必需的硬件
此示例支持以下硬件配置。您还可以在 MATLAB 命令提示符下使用目标模型名称打开对应硬件配置的模型。
LAUNCHXL-F28379D 控制器 +(BOOSTXL-DRV8305 或 BOOSTXL-3PHGANINV)逆变器:mcb_pmsm_foc_sensorless_IFStartUp_f28379d
有关与前述硬件配置相关的连接,请参阅 LAUNCHXL-F28069M 和 LAUNCHXL-F28379D 配置。
生成代码并在目标硬件上运行模型
1.仿真目标模型并观测仿真结果。
2.完成硬件连接。
3.模型会自动计算模数转换器 (ADC) 或电流偏移值。要禁用此功能(默认启用),请在模型初始化脚本中将变量 inverter.ADCOffsetCalibEnable 的值更新为 0。
您也可以计算 ADC 偏移值,并在模型初始化脚本中手动更新它。有关说明,请参阅以开环控制方式运行三相 AC 电机并校准 ADC 偏移量。
4.按所需的硬件配置打开目标模型。如果您要更改该模型的默认硬件配置设置,请参阅模型配置参数。
5.将一个示例程序加载到 LAUNCHXL-F28379D 的 CPU2(例如使用 GPIO31 操作 CPU2 蓝色 LED 的程序 c28379D_cpu2_blink.slx),以确保 CPU2 没有错误地配置为使用预留给 CPU1 的板载外设。有关示例程序或模型的详细信息,请参阅 Getting Started with Texas Instruments C2000 Microcontroller Blockset (C2000 Microcontroller Blockset) 中的“任务 2 - 为 TI Delfino F28379D LaunchPad(双核)创建、配置和运行模型”部分。
6.使用 Position Estimator 按钮选择一个无传感器位置估计方法。
7.点击硬件选项卡上的编译、部署和启动以将目标模型部署到硬件上。
8.在目标模型中,点击主机模型超链接以打开关联的主机模型。

有关主机模型和目标模型之间串行通信的详细信息,请参阅Host-Target Communication。
9.在与目标模型关联的模型初始化脚本中,使用变量 target.comport 指定通信端口。该示例使用此变量来更新主机模型中可用的 Host Serial Setup、Host Serial Receive 和 Host Serial Transmit 模块的端口参数。
10.更新主机模型中的 Reference Speed 值。
注意:
默认情况下,该示例使用 I-F 到 FOC 的转换速度(I-F Controller 模块中的退出 I-F 控制器的转速 (RPM) 参数),即基转速的 15%。它使用 FOC 到 I-F 控制转换速度(I-F Controller 模块中的重新进入 I-F 控制器的转速 (RPM) 参数),即基转速的 7.5%。有关详细信息,请参阅 I-F Controller。
加速和减速过快可能会影响无传感器位置计算。
11.点击仿真选项卡上的运行以运行主机模型。
12.将 Start / Stop Motor 开关的位置切换到 On,以在 I-F 条件下开始运行电机。
注意:
默认情况下,电机消耗的电机额定电流由 I-F Controller 模块的最大电流(A),Imax 参数定义。由于电机消耗的电流较大,建议不要长时间使用 I-F 控制运行电机。
该示例将低于额定转速 0.1% 的参考转速值视为零速。
13.逐步增加电机参考转速,使其超过退出 I-F 控制器的转速(I-F Controller 模块的参数),以从 I-F 控制切换到闭环控制。
注意:要改变电机的旋转方向,请将电机的参考转速降低至零,然后提供相反方向的参考转速。
14.在闭环运行期间,降低电机的参考转速,使其低于重新进入 I-F 控制器的转速(I-F Controller 模块的参数),以从闭环控制切换到 I-F 控制。
15.在主机模型的 Scope 和 Display 模块中观测调试信号。
注意:您也可以使用主机模型的调试信号部分选择要监控的信号。
另请参阅
Flux Observer | Extended EMF Observer | Sliding Mode Observer | Pulsating High Freq Observer