优化硬件控制参数增益并验证设备
本例使用磁场定向控制(FOC)在不同的运行模式下运行三相永磁同步电机(PMSM),以进行工厂验证。FOC算法的实现需要转子位置的实时反馈。本例使用正交编码器传感器测量转子位置。关于FOC的详细信息,请参见磁场定向控制(FOC).
本例在以下模式下运行电机:
停止—逆变输出为零电压,电机停止运行。
开环—在该模式下,控制器采用开环控制方式使电机运行。您可以使用运行模式变量>开环模式改变逆变器输出电压(单位)和转子转速(单位)的主机型号面积。使用监控区域,选择转速和转子位置值,将它们显示在监控范围上。
转矩控制—在此模式下,控制器使用转矩控制算法来运行电机。您可以使用运行模式变量>电机转矩控制方式区域的主机型号更改参考和参考电流值(单位)。您还可以设置电机的最大速度限制(单位)。
您可以通过将滑块开关旋转到Pos锁定位置,将转子位置设置为零来锁定转子。因此,在该模式下,由于电机停止运行,控制器接收到的位置反馈为零。如果您将开关转到解锁位置,电机运行,控制器接收来自正交编码器的位置反馈(您可以使用控件中的Position_meas信号监控此值)监控主机模型面积)。对象中选择的两个调试信号(monitor Signal #1和monitor Signal #2)可以使用作用域监视监控区域。因此,您可以使用滑块开关来调整转矩控制增益参数。
速度控制—在此模式下,控制器使用速度控制算法来运行电机。您可以使用运行模式变量>电机转速控制模式区域的主机模型,以改变转速参考值(单位)的转子。对象中选择的两个调试信号(monitor Signal #1和monitor Signal #2)可以使用作用域监视监控区域。
有关单位系统的信息,请参见单位系统.
为了进一步控制电机,还可以使用控制回路增益区域的主机模型的控制参数的改变d
设在和问
-轴电流控制器和速度控制器。
您可以使用此示例在开环控制、转矩控制和速度控制模式下运行电机。您还可以使用这个示例来调优硬件增益和验证工厂模型。
警告:在从一种工作模式转换到另一种工作模式之前,先停止电机。
您可以在主机型号的“控制”区域选择其中一种操作模式:
停止
开环运行
转矩控制
速度控制
模型
示例包含模型mcb_pmsm_operating_mode_f28379d.
您可以将该模型用于模拟和代码生成。您也可以使用open_system命令打开Simulink®模型:
open_system (“mcb_pmsm_operating_mode_f28379d.slx”);
需要MathWorks®产品2022世界杯八强谁会赢?
模拟模型:
电机控制块集™
生成代码并部署模型:
1.电机控制块集™
2.嵌入式编码器®
3.德州仪器C2000处理器的嵌入式Coder®支持包
4.定点设计器™(仅用于优化代码生成)
先决条件
1.获取电机参数。我们提供Simulink®模型的默认电机参数,您可以用电机数据表或其他来源的值替换。
但是,如果您有电机控制硬件,您可以通过使用motor control Blockset参数估计工具来估计要使用的电机的参数。有关说明,请参见使用推荐硬件估算PMSM参数.
参数估计工具更新motorParam变量(在MATLAB®工作空间)与估计电机参数。
2.如果您从数据表或其他来源获得电机参数,请更新与Simulink®模型相关的模型初始化脚本中的电机参数和逆变器参数。有关说明,请参见估计控制增益并使用效用函数.
如果使用参数估计工具,可以更新逆变器参数,但不更新模型初始化脚本中的电机参数。脚本自动从更新的文件中提取电机参数motorParam工作空间变量。
模拟模型
按照以下步骤模拟模型。
1.打开本示例中包含的目标模型。
2.点击运行在模拟TAB来模拟目标模型。
3.打开mcb_pmsm_operating_mode_f28379d >模拟Dashboard子系统。
开环运行模式使用说明:
1.如果当前运行模式不是开环运行,请选择停止在控制电机停止区域。选择开环运行启动电机。
2.中设置参考电压和参考速度值(单位)电压参考(PU)而且速度参考(PU)可在运行模式变量>开环模式区域。
转矩控制方式说明:
1.如果当前工作模式不是转矩控制,请选择停止在控制电机停止区域。选择转矩控制在控制区域。
2.输入值0
(单位)智商参考在运行模式变量>电机转矩控制方式区域。此外,设置电动机的速度限制使用速度限制字段。
3.将滑块开关移动到解锁在运行模式变量>电机转矩控制方式区域。
4.输入值0.1
(每单位)在智商参考域(在运行模式变量区域)开始运行电机。
5.打开模拟数据检查器并选择Iq_ref_PU而且Iq_fb_PU监控信号。
6.按照步骤2到5Id引用并监控Id_ref_PU而且Id_fb_PU信号。
注意:在这种工作模式下,如果在无负载的情况下运行,电机可以达到很高的速度。此外,在此工作模式下,电机在空载状态下将达不到Iq参考电流。
速度控制模式使用说明:
1.如果当前工作模式不是速度控制,请选择停止在控制电机停止区域。选择速度控制在控制区域。
2.输入值0.5
(单位)速度参考值在运行模式变量>电机转速控制模式区域。
3.打开模拟数据检查器并选择Speed_ref_PU而且Speed_fb_PU监控信号。
转矩控制器增益调优说明:
1.如果当前工作模式不是转矩控制,请选择停止在控制电机停止区域。选择转矩控制在控制区域。
2.将滑块开关转到Pos锁在运行模式变量>电机转矩控制方式区域。
3.输入值0.2
(单位)Id引用在运行模式变量区域。
4.打开模拟数据检查器,选择Id_ref_PU而且Id_fb_PU信号,并观察这些信号的阶跃响应。
5.调整d轴电流控制器的控制增益Kp和Ki。执行步长更改以验证控制器增益。
调速控制器增益调优说明:
1.如果当前工作模式不是速度控制,请选择停止在控制电机停止区域。选择速度控制在控制区域。
2.输入值0.5
(单位)速度参考值在运行模式变量>电机转速控制模式区域。
3.输入值0.8
(单位)速度参考值字段。
4.打开模拟数据检查器,选择Speed_ref_PU而且Speed_fb_PU信号,并观察速度阶跃响应。
5.调整控制增益Kp
而且Ki
对于速度控制器。执行步长更改以验证控制器增益。
生成代码并将模型部署到目标硬件
本节指导您在目标硬件上生成代码并运行FOC算法。
该示例使用一个主机和一个目标模型。主机模型是控制器硬件板的用户界面。您可以在主机计算机上运行主机模型。使用该主机型号的前提是将目标型号部署到控制器硬件板上。主机模型使用串行通信命令模型,在选定的工作模式下运行(和控制)电机,并监控模型的调试信号。
所需的硬件
该示例支持这种硬件配置。还可以使用目标模型名称从MATLAB®命令提示符打开相应硬件配置的模型。
LAUNCHXL-F28379D控制器+ BOOSTXL-DRV8305变频器:mcb_pmsm_operating_mode_f28379d
与上述硬件配置相关的连接请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置.
在目标硬件上生成代码和运行模型
1.对目标模型进行仿真,观察仿真结果。
2.完成硬件连接。
3.该模型自动计算ADC(或电流)偏移值。若要禁用此功能(默认启用),请将值0更新为可变逆变器。模型初始化脚本中的ADCOffsetCalibEnable。
或者,您可以计算ADC偏移值,并在模型初始化脚本中手动更新它。有关说明,请参见在开环控制下运行三相交流电机并校准ADC偏移.
4.计算正交编码器索引偏移值,并在与目标模型相关的模型初始化脚本中更新它。有关说明,请参见永磁同步电机正交编码器偏置校准.
5.打开要使用的硬件配置的目标模型。如果要更改该型号的默认硬件配置设置,请参见型号配置参数.
6.为了确保CPU2不会被错误地配置为使用用于CPU1的单板外设,可以将一个示例程序加载到LAUNCHXL-F28379D的CPU2中,例如,使用GPIO31 (c28379D_cpu2_blink.slx)操作CPU2蓝色LED的程序。
注意:
请勿直接在开环运行、转矩控制和速度控制操作模式之间切换。在改变操作模式之前,一定要停止电机。
在第一次以速度控制模式运行电机之前,请先将电机运行在开环状态,以确定矩形编码器索引。这有助于在闭环速度控制模式下平稳启动电机。
开环运行模式使用说明:
1.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
2.单击主机模式在目标模型中使用超链接打开关联的主机模型。
3.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
4.点击运行在模拟TAB来运行主机模型。
5.选择停止在控制电机停止区域。
6.选择开环运行启动电机。
7.中设置参考电压和参考速度值(单位)电压参考(PU)而且速度参考(PU)可在运行模式变量>开环模式区域。
转矩控制方式说明:
1.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
2.单击主机模式在目标模型中使用超链接打开关联的主机模型。
3.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
4.点击运行在模拟TAB来运行主机模型。
5.选择停止在控制电机停止区域。
6.输入值0
(单位)Id Ref (PU)而且Iq Ref (PU)字段运行模式变量>电机转矩控制方式区域。此外,设置电动机的速度限制使用速度限制(PU)字段。
7.选择转矩控制在控制区域。
8.将滑块开关移动到解锁在运行模式变量>电机转矩控制方式区域。
9.选择Iq_ref为监测信号#1而且Iq_meas为监测信号2号在监控区域。
10.输入值0.1
(每单位)在Iq Ref (PU)域(在运行模式变量区域)开始运行电机。
11.打开主机模型中的作用域并监视Iq_ref和Iq_meas电流信号。
注意:在这种工作模式下,如果在无负载的情况下运行,电机可以达到很高的速度。此外,在此工作模式下,电机在空载状态下将达不到Iq参考电流。
速度控制模式使用说明:
1.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
2.单击主机模式在目标模型中使用超链接打开关联的主机模型。
3.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
4.点击运行在模拟TAB来运行主机模型。
5.选择停止在控制电机停止区域。
6.输入值0.5
(单位)速度参考(PU)在运行模式变量>电机转速控制模式区域。
7.选择速度控制在控制区域。
8.选择Speed_ref为监测信号#1而且Speed_meas为监测信号2号在监控区域。
9.打开主机模型中的作用域并监视Speed_ref和Speed_meas输出信号。
转矩控制器增益调优说明:
1.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
2.单击主机模式在目标模型中使用超链接打开关联的主机模型。
3.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
4.点击运行在模拟TAB来运行主机模型。
5.选择停止在控制电机停止区域。
6.选择转矩控制在控制区域。
7.将滑块开关转到Pos锁在运行模式变量>电机转矩控制方式区域。
8.选择Id_ref为监测信号#1而且Id_meas为监测信号2号在监控区域。
9.输入值0.2
(单位)Id Ref (PU)在运行模式变量区域。
10.打开范围,监测步进响应信号。
11.调整控制增益Kp
而且Ki
为d
-轴电流控制器。
调速控制器增益调优说明:
1.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
2.单击主机模式在目标模型中使用超链接打开关联的主机模型。
3.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
4.点击运行在模拟TAB来运行主机模型。
5.选择停止在控制电机停止区域。
6.选择速度控制在控制区域。
7.选择Speed_ref为监测信号#1而且Speed_meas为监测信号2号在监控区域。
8.输入值0.5
(单位)速度参考(PU)在运行模式变量>电机转速控制模式区域。
9.打开瞄准镜,观察参考值和测量的速度值。
10.输入值0.8
(单位)速度参考(PU)字段。
11.观察范围内的速度阶跃响应。
12.调整控制增益Kp
而且Ki
对于速度控制器。
植物模型验证说明:
1.打开本示例中包含的目标模型。
2.点击运行在模拟TAB来模拟目标模型。
3.打开mcb_pmsm_operating_mode_f28379d >模拟Dashboard子系统。
4.如果当前工作模式不是速度控制,请选择停止在控制电机停止区域。选择速度控制在控制区域。
5.输入值0.2
(单位)速度参考值在运行模式变量>电机转速控制模式区域。
6.输入值0.5
(单位)速度参考值字段。
7.打开模拟数据检查器,选择Speed_ref_PU而且Speed_fb_PU信号,并观察速度阶跃响应。
8.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
9.单击主机模式在目标模型中使用超链接打开关联的主机模型。你也可以使用open_system命令打开主机模型:
open_system (“mcb_host_mode_control.slx”);
10.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
11.点击运行在模拟TAB来运行主机模型。
12.选择停止在控制主机型号区域确保电机未运行。
13.选择速度控制在控制区域。
14.选择Speed_ref为监测信号#1而且Speed_meas为监测信号2号在监控区域。
15.输入值0.2
(单位)速度参考(PU)在运行模式变量>电机转速控制模式区域。
16.打开瞄准镜,观察参考值和测量的速度值。
17.输入值0.5
(单位)速度参考(PU)字段。
18.观察范围内的速度阶跃响应。
19.比较第7步(模拟)和第18步(代码生成)中获得的速度阶跃响应。
注意:在控制回路增益区域中,您必须输入可由模型初始化脚本中定义的数据类型表示的增益值。
主机与目标机型的串口通信请参见Host-Target沟通.