此示例使用面向现场的控制(FOC),以不同的运行方式运行三相永磁同步电机(PMSM)以进行工厂验证。FOC算法实现需要转子位置的实时反馈。该示例使用正交编码器传感器来测量转子位置。有关Foc的详细信息,请参阅磁场定向控制(FOC).
示例在以下模式下运行电机:
停止- 在此模式下,电机停止运行,因为逆变器输出零伏。
开环- 在此模式下,控制器使用开环控制运行电机。你可以使用操作模式变量>开环模式主机模型的面积来改变逆变器的输出电压(单位)和转子的转速(单位)。使用监视器区域选择速度和转子位置值,并将其显示在监控范围内。
转矩控制—在此模式下,控制器通过转矩控制算法使电机运行。你可以使用操作模式变量>电机转矩控制模式区域的主机模型更改参考和参考当前值(单位)。您还可以设置电机的最大速度限制(单位)。
您可以锁定转子通过旋转滑块开关到Pos锁定位置,设置转子位置为零。因此,在这种模式下,由于电机停止运行,控制器接收到的位置反馈为零。如果您将开关转向解锁位置,电机运行,控制器接收来自正交编码器的位置反馈(您可以通过使用Position_meas信号在监视器主机模型面积)。中选择的两个调试信号(监视信号#1和监视信号#2)可以使用范围来监视监视器区域。因此,您可以使用滑块开关来调整扭矩控制增益参数。
速度控制- 在此模式下,控制器使用速度控制算法运行电机。你可以使用运行模式变量>电机速度控制模式主机模型的面积来改变转子的速度参考值(单位)。中选择的两个调试信号(监视信号#1和监视信号#2)可以使用范围来监视监视器区域。
有关单位系统的信息,请参阅每单位系统.
要进一步控制电机,还可以使用控制回路的收益区域的主机模型改变控制参数d
-axis和问
-轴电流控制器和速度控制器。
您可以使用此示例在开环控制,扭矩控制和速度控制模式下运行电机。您还可以使用此示例进行调整硬件增益并验证工厂模型。
警告:在从一种工作模式转换到另一种工作模式之前,请先停止电机。
您可以在主机型号的“控制”区域框中选择其中一种工作方式:
停止
开环运行
转矩控制
速度控制
该示例包括模型mcb_pmsm_operating_mode_f28379d.
您可以将该模型用于模拟和代码生成。你也可以使用open_system命令打开Simulink®模型:金宝app
Open_System('mcb_pmsm_operation_mode_f28379d.slx');
模拟模型:
电机控制Blockset™
要生成代码和部署模型:
1.电机控制Blockset™
2.嵌入式编码器®
3.嵌入式Coder®支持德克萨斯乐金宝app器™C2000™处理器的支持包
4.定点设计器™(仅用于优化代码生成)
1.获取电机参数。我们在Simulink®模型中提供默认的电机参数,您可以用电机数据表或其他来源的值替换。金宝app
然而,如果你有电机控制硬件,你可以估计你想使用的电机参数,通过使用电机控制模块参数估计工具。说明,请参阅使用电机控制模块参数估计工具估计电机参数.
参数估计工具更新motorParam变量(在MATLAB®工作空间中)与估计的电机参数。
2.如果从数据表或其他源中获取电机参数,请在与Simulink®模型关联的模型初始化脚本中更新电机参数和逆变器参数。金宝app说明,请参阅从电机参数估计控制获得.
如果使用参数估计工具,可以更新逆变器参数,但不能更新模型初始化脚本中的电机参数。该脚本自动提取电机参数从更新motorParam工作空间变量。
按照以下步骤模拟模型。
1.打开此示例中包含的目标模型。
2.点击运行在模拟TAB来模拟目标模型。
3.打开mcb_pmsm_operating_mode_f28379d >模拟Dashboard子系统。也可以使用open_system命令打开子系统:
Open_System(“mcb_pmsm_operating_mode_f28379d /模拟仪表板”);
开环运行模式说明:
1.如果当前运行模式不是开环运行,请选择停止在里面控制电机停止区域。选择开环运行启动马达。
2.在中设置参考电压和参考速度值(单位)电压参考(PU)和速度ref (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算法。
该示例使用了一个主机和一个目标模型。主机型号是控制器硬件板的用户界面。您可以在主机计算机上运行主机型号。使用主机模型的前提是将目标模型部署到控制器硬件板上。主机型号使用串行通信命令型号,在选定的工作模式下运行(和控制)电机,并监控型号的调试信号。
所需的硬件
本示例支持此硬件配置。金宝app也可以使用目标模型名称打开模型对应的硬件配置,从MATLAB®命令提示符。
LaunchXL-F28379D控制器+ Boostxl-DRV8305逆变器:mcb_pmsm_operating_mode_f28379d
与上述硬件配置相关的连接请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置.
在目标硬件上生成代码并运行模型
1.模拟目标模型并观察模拟结果。
2.完成硬件连接。
3.该模型自动计算ADC(或当前)偏移值。要禁用此功能(默认情况下启用),请将值0更新为模型初始化脚本中的变量逆变器.AdcoffsetCalibenable。
或者,您可以计算ADC偏移值并在模型初始化脚本中手动更新它。说明,请参阅在开环控制中运行3相交流电机并校准ADC偏移量.
4.计算正交编码器索引偏移值,并在与目标模型相关联的模型初始化脚本中更新它。说明,请参阅PMSM电机的正交编码器偏移校准.
5.打开要使用的硬件配置的目标模型。如果要更改模型的默认硬件配置设置,请参阅模型配置参数.
6.为了避免CPU2被错误地配置为使用为CPU1准备的单板外设,可以在LAUNCHXL-F28379D的CPU2上加载一个示例程序,例如使用GPIO31 (c28379D_cpu2_blink.slx)操作CPU2蓝色LED的程序。
注意:
不要直接在开环运行、转矩控制和速度控制操作模式之间切换。在改变工作模式之前,一定要停止电机。
在第一次以速度控制模式运行电机之前,先开环运行电机,以确定四度编码器指数。这有助于在闭环速度控制模式下顺利启动电机。
开环运行模式说明:
1.点击构建、部署和启动在硬件选项卡以将目标模型部署到硬件。
2.点击主机模式目标模型中的超链接以打开关联的主机模型。
3.在主机型号的Host Serial Setup块掩码中,选择a端口名称.
4.点击运行在模拟选项卡以运行主机模型。
5.选择停止在里面控制电机停止区域。
6.选择开环运行启动马达。
7.在中设置参考电压和参考速度值(单位)电压参考(PU)和速度ref (PU)可用的字段操作模式变量>开环模式区域。
转矩控制模式使用说明:
1.点击构建、部署和启动在硬件选项卡以将目标模型部署到硬件。
2.点击主机模式目标模型中的超链接以打开关联的主机模型。
3.在主机型号的Host Serial Setup块掩码中,选择a端口名称.
4.点击运行在模拟选项卡以运行主机模型。
5.选择停止在里面控制电机停止区域。
6.输入值0
(单位)Id Ref (PU)和智商Ref (PU)字段操作模式变量>电机转矩控制模式区域。此外,使用该设置电机的速度限制速度限制(PU)字段。
7.选择转矩控制在里面控制区域。
8.将滑块开关移动到解锁职位在操作模式变量>电机转矩控制模式区域。
9.选择IQ_REF.为监控信号# 1和IQ_MEAS.为监控信号# 2在里面监视器区域。
10。输入值0.1
(单位)在智商Ref (PU)字段(在操作模式变量区域)以启动马达运转。
11.打开主机模型中的范围并监视IQ_REF和IQ_MEAS电流信号。
注意:在这种运行模式下,电机可以在空载条件下运行,达到很高的速度。此外,在这种工作模式下,电机在空载条件下不满足Iq参考电流。
速度控制方式说明:
1.点击构建、部署和启动在硬件选项卡以将目标模型部署到硬件。
2.点击主机模式目标模型中的超链接以打开关联的主机模型。
3.在主机型号的Host Serial Setup块掩码中,选择a端口名称.
4.点击运行在模拟选项卡以运行主机模型。
5.选择停止在里面控制电机停止区域。
6.输入值0.5
(单位)速度Ref (PU)字段运行模式变量>电机速度控制模式区域。
7.选择速度控制在里面控制区域。
8.选择speed_ref.为监控信号# 1和Speed_meas为监控信号# 2在里面监视器区域。
9.在主机模型中打开范围并监视Speed_ref和Speed_meas输出信号。
调整扭矩控制器增益说明:
1.点击构建、部署和启动在硬件选项卡以将目标模型部署到硬件。
2.点击主机模式目标模型中的超链接以打开关联的主机模型。
3.在主机型号的Host Serial Setup块掩码中,选择a端口名称.
4.点击运行在模拟选项卡以运行主机模型。
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.在主机型号的Host Serial Setup块掩码中,选择a端口名称.
4.点击运行在模拟选项卡以运行主机模型。
5.选择停止在里面控制电机停止区域。
6.选择速度控制在里面控制区域。
7.选择speed_ref.为监控信号# 1和Speed_meas为监控信号# 2在里面监视器区域。
8.输入值0.5
(单位)速度Ref (PU)字段运行模式变量>电机速度控制模式区域。
9.打开范围并观察参考和测量速度值。
10。输入值0.8
(单位)速度Ref (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。在主机型号的Host Serial Setup块掩码中,选择a端口名称.
11.点击运行在模拟选项卡以运行主机模型。
12.选择停止在里面控制主机模型的区域,以确保电机未运行。
13.选择速度控制在里面控制区域。
14.选择speed_ref.为监控信号# 1和Speed_meas为监控信号# 2在里面监视器区域。
15.输入值0.2
(单位)速度Ref (PU)字段运行模式变量>电机速度控制模式区域。
16.打开范围并观察参考和测量速度值。
17.输入值0.5
(单位)速度Ref (PU)字段。
18.观察范围内的速度阶跃响应。
19.比较步骤7(仿真)和步骤18(代码生成)中获得的速度阶跃响应。
注意:在里面控制回路的收益区域,您必须输入可以由模型初始化脚本中定义的数据类型表示的增益值。
主机与目标型号的串口通信请参见主机目标沟通.