基于速度传感器的感应电机磁场定向控制
本示例实现了场定向控制(FOC)技术来控制三相交流异步电机(ACIM)的速度。FOC算法需要转子速度反馈,在本例中通过使用正交编码器传感器获得。关于FOC的详细信息,请参见磁场定向控制(FOC)。
本例使用正交编码器传感器测量转子转速。正交编码器传感器由一个带有两个磁道或通道的磁盘组成,磁道或通道被编码为90电相位外度。这就产生了两个相位差为90度的脉冲(A和B)和一个指数脉冲(I)。因此,控制器利用A和B通道之间的相位关系和通道状态的转变来确定电机的旋转方向。
模型
示例包含模型mcb_acim_foc_qep_f28379d。
您可以使用此模型进行模拟和代码生成。您也可以使用open_system命令打开Simulink®模型。
open_system (“mcb_acim_foc_qep_f28379d.slx”);
有关支持的硬件配置的详细信息,请参见“生成代码并将模型部署到目标硬件”下的“所需硬件”部分。
需要MathWorks®产品2022世界杯八强谁会赢?
模拟模型:
电机控制块集™
生成代码并部署模型:
电机控制块集™
嵌入式编码器®
德州仪器C2000处理器的嵌入式Coder®支持包
定点设计器™(仅用于优化代码生成)
先决条件
1.获取电机参数。我们提供Simulink®模型的默认电机参数,您可以用电机数据表或其他来源的值替换。
2.如果您从数据表或其他来源获得电机参数,请更新与Simulink®模型相关的模型初始化脚本中的电机和逆变器参数。有关说明,请参见估计控制增益并使用效用函数。
3.初始化脚本还计算派生的参数。例如,总泄漏系数,额定磁链,额定转矩,感应电机的定子和转子电感。
模拟模型
本例支持模拟。按照以下步骤模拟模型。
1.打开本示例中包含的模型。
2.点击运行在模拟TAB来模拟模型。
3.点击数据检查在模拟选项卡查看和分析仿真结果。
生成代码并将模型部署到目标硬件
本节将指导您如何在目标硬件上生成代码和运行FOC算法。
本例使用一个主机和一个目标模型。主机模型是控制器硬件板的用户界面。您可以在主机计算机上运行主机模型。使用该主机型号的前提是将目标型号部署到控制器硬件板上。主机模型使用串行通信来命令目标Simulink®模型并在闭环控制中运行电机。
所需的硬件
本例支持如下硬件配置。还可以使用目标模型名称从MATLAB®命令提示符打开相应硬件配置的模型。
LAUNCHXL-F28379D控制器+ BOOSTXL-DRV8305变频器:mcb_acim_foc_qep_f28379d
与上述硬件配置相关的连接请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置。
在目标硬件上生成代码和运行模型
1.对目标模型进行仿真,观察仿真结果。
2.完成硬件连接。
3.该模型自动计算ADC(或电流)偏移值。若要禁用此功能(默认启用),请将值0更新为变量逆变器。ADCOffsetCalibEnable在模型初始化脚本中。
或者,您可以计算ADC偏移值,并在模型初始化脚本中手动更新它们。有关说明,请参见在开环控制下运行三相交流电机并校准ADC偏移。
4.打开目标模型。如果要更改模型中的默认硬件配置设置,请参见型号配置参数。
5.将一个示例程序加载到LAUNCHXL-F28379D的CPU2上,例如,通过使用GPIO31引脚(c28379D_cpu2_blink.slx),以确保CPU2不会被错误地配置为使用用于CPU1的单板外设。
6.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
7.单击主机模式在目标模型中使用超链接打开关联的主机模型。您还可以使用open_system命令打开主机模型。
open_system (“mcb_acim_foc_host_model.slx”);
主机与目标机型的串口通信请参见Host-Target沟通。
8.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口。
9.更新参考速度值。
10.在调试信号节中,选择要监视的信号。
11.点击运行在模拟TAB来运行主机模型。
12.将启动/停止电机开关的位置更改为On,以开始运行电机。
13.中RX子系统的调试信号SelectedSignals主机型号的时间范围。
注意:这个例子依赖于空间向量正旋转的正速度反馈。如果电机不运行,请尝试以下步骤来解决问题:
尝试互换任何两个电机相位连接。
修改并使用示例在开环控制下运行三相交流电机并校准ADC偏移以速度反馈并确认正方向旋转为正参考速度。