主要内容

使用面向场控制自动调谐器调谐PI控制器

本例通过使用面向场控制自动调谐块计算速度和电流控制环中可用的PI控制器的增益值。关于该块的详细信息,请参见场向控制自动调谐器.有关面向场控制的详细信息,请参见磁场定向控制(FOC)

使用示例的代码生成功能将增益调优算法部署到目标硬件。这使您能够通过使用连接到电机的硬件来运行算法,并通过在目标硬件上实时处理电机反馈来计算精确的PI控制器增益。该实例使用正交编码器传感器测量转子位置。

模型

该示例包括目标模型mcb_pmsm_foc_autotuner_f28379d

您可以将此模型用于模拟和代码生成。使用open_system命令打开模型。

open_system (“mcb_pmsm_foc_autotuner_f28379d.slx”);

字段定向控制自动调谐器块迭代地调谐d- - --轴电流控制和速度控制回路,并计算电流和速度PI控制器的增益。使用此命令定位模型中可用的字段定向控制自动调谐器块:

open_system (“mcb_pmsm_foc_autotuner_f28379d/Current Control/Control_System/闭环控制/FOC_Autotuner/FOC_Autotuner”);

该块处理来自工厂的电流和速度反馈。它还处理电压输出d- - --轴电流PI控制器,计算PI控制器增益(Kp而且Ki).

有关FOC体系结构的更多详细信息,请参见磁场定向控制(FOC)

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

模拟模型:

  • 电机控制块集™

  • 金宝appSimulink控制设计™

生成代码并部署模型:

  • 电机控制块集™

  • 金宝appSimulink控制设计™

  • 嵌入式编码器®

  • 德州仪器C2000处理器的嵌入式金宝appCoder®支持包

仿真与硬件部署前提条件

1.打开目标模型的模型初始化脚本。检查并更新脚本中可用的电机、逆变器等控制系统和硬件参数。有关定位和编辑与目标模型相关联的模型初始化脚本的说明,请参见从电机参数估计控制增益

2.逆变器和目标参数部分的模型初始化脚本,验证mcb_SetInverterParameters函数使用实参BoostXL-DRV8305.这使脚本能够使用BOOSTXL-DRV8305逆变器的预编程参数。

3.在模型初始化脚本中正确地配置这些参数。这些变量对于增益调优算法计算PI控制器增益至关重要。如果这些变量的值不正确,模型可能无法使电机达到稳定的速度状态。

  • pmsm.p

  • 永磁同步电动机。I_rated

  • 永磁同步电动机。PositionOffset

  • 永磁同步电动机。QEPSlits

4.如果您使用的电机没有列在mcb_SetPMSMMotorParameters函数(用于System Parameters //硬件参数部分的模型初始化脚本),调整以下初始增益的默认值PI初始参数部分的模型初始化脚本。这保证了电机达到稳定的速度控制运行状态:

  • PI_params。Kp_Id

  • PI_params。Ki_Id

  • PI_params。Kp_Iq

  • PI_params。Ki_Iq

  • PI_params。Kp_Speed

  • PI_params。Ki_Speed

当您在目标硬件上模拟或运行该示例时,该示例使用PI控制器增益的粗值来实现速度控制操作的稳态。

注意:在使用本例时,如果电机(无论是否列在mcb_SetPMSMMotorParameters函数)未运行,请尝试调整这些参数的默认值。

5.FOC自动调谐器参数部分的模型初始化脚本,检查和更新字段定向控制Autotuner块的参数。这将设置速度和当前PI控制器的参考带宽和相位裕度值。

模拟目标模型

模拟示例是可选的。按照以下步骤来模拟目标模型:

1.打开目标模型。

2.点击运行模拟TAB来模拟目标模型。

3.中可用的显示块中观察计算的PI控制器增益值mcb_pmsm_foc_autotuner_f28379d /电流控制/ PI_Params_Display_and_Logging子系统。

计算的增益可能不准确,因为模拟和硬件部署先决条件部分中的步骤4只检查四个电机参数的准确性。

如果您想使用模拟计算和测试PI控制器增益,请在单击之前执行以下步骤运行模拟目标模型的TAB。

  • System Parameters //硬件参数部分的模型初始化脚本,验证mcb_SetPMSMMotorParameters函数使用一个参数表示电机(例如,Teknic2310P).打开mcb_SetPMSMMotorParameters函数,以查看预编程的情况下,存储常用的永磁同步电动机参数。

如果mcb_SetPMSMMotorParameters功能没有列出您的永磁同步电机,确定您的电机参数。

  • 如果您有电机控制硬件,您可以使用motor control Blockset参数估计工具来估计电机的参数。有关说明,请参见使用推荐硬件估算PMSM参数

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

  • 如果您从数据表或其他来源获得电机参数,请在模型初始化脚本中添加和配置电机参数。这些参数值覆盖函数中选定的预编程大小写mcb_SetPMSMMotorParameters

如果使用参数估计工具,不要在模型初始化脚本中直接更新电机参数。脚本自动从更新的文件中提取电机参数motorParam变量。

在模拟目标模型并确定增益后,用计算得到的增益值更新任何目标模型(电机控制块集示例模型或您自己的模型),以快速将电机带到稳定的速度状态。

将示例部署到目标硬件,通过使用连接到电机的实际硬件更准确地调优PI控制器增益。有关更多详细信息,请参见生成代码并将模型部署到目标硬件部分。

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

本节展示如何生成代码并运行在目标硬件上调优PI控制器增益的算法。在硬件上运行该示例,可以通过实时处理来自实际工厂的反馈,更准确地计算PI控制器增益。

本例使用一个主机和一个目标模型。主机模型是控制器硬件板的用户界面。您可以在主机计算机上运行主机模型。在主机上运行主机型号前,需要将目标型号部署到控制器硬件板上。上位机通过串行通信对目标机进行指令,并对电机进行闭环控制。

所需的硬件

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

LAUNCHXL-F28379D控制器+ BOOSTXL-DRV8305变频器:mcb_pmsm_foc_autotuner_f28379d

有关与此硬件配置相关的连接的详细信息,请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置

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

1.完成硬件连接。

2.该模型自动计算模数转换器(ADC)偏移量(也称为电流偏移量)。属性的值可禁用此功能(默认启用)逆变器。ADCOffsetCalibEnable模型初始化脚本中的变量0

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

3.计算正交编码器索引偏移值,并在永磁同步电动机。PositionOffset目标模型的模型初始化脚本中的变量。有关说明,请参见永磁同步电机正交编码器偏置校准

4.打开目标模型。如果要更改模型的默认硬件配置,请参见型号配置参数

5.将示例程序加载到LAUNCHXL-F28379D板的CPU2中。例如,使用GPIO31加载操作CPU2蓝色LED的程序c28379D_cpu2_blink.slx).这可以确保CPU2不会被错误地配置为使用用于CPU1的单板外围设备。

6.点击构建、部署和启动硬件选项卡将目标模型部署到硬件。

7.单击主机模式在目标模型中使用超链接打开关联的主机模型。你也可以使用open_system命令打开主机型号。

open_system (“mcb_host_autotuner_f28379d.slx”);

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

8.在“主机串行安装程序”块参数对话框中,选择端口名称您已经将目标硬件连接到它。

9.电动机滑块切换到开始位置开始运行电机。

10.中更新参考速度值转速参考[RPM]字段。建议您使用的值约为电机额定转速的一半。

11.调试信号部分中,选择Speed_Ref & Speed_Feedback并监控车内的速度信号SelectedSignals时间范围。等待电机达到稳定速度。

该示例只能在稳定速度状态下开始调优。

12.检查PI参数滑块开关在自动调谐的位置。

13.自动调谐滑块切换到开始位置开始自动调谐PI控制器增益。调谐过程在控制器输出中引入了取决于控制器目标(带宽和相位裕度)的扰动。该示例使用系统对扰动的响应来计算最优控制器增益值。

该模型在电机上迭代地执行这些测试,并确定一组准确的Kp而且Ki电流和速度PI控制器的增益。

调整状态显示状态从未开始调优正在进行的调优

注意:在进行调优时,请确保PI参数滑块开关保持在自动调谐的位置。

14.调优过程成功完成后,将调整状态显示状态从正在进行的调优调整完成

目标模型更新运行在目标硬件上的速度和电流PI控制器Kp而且Ki收益。此外,主机模型显示这些值。

15.如果增益调优算法在调优过程中遇到错误,则调整状态显示器显示调整失败.把自动调谐滑块切换到停止定位并查看故障排除部分的故障排除说明。

16.如果已成功完成调优过程,请打开自动调谐滑块切换到停止的位置。把PI参数滑块切换到默认的位置以启用目标模型的默认操作模式。在这种模式下,目标模型使用计算得到的增益值来使用FOC操作电机。

17.验证计算得到的增益值。有关说明,请参见验证计算PI控制器增益部分。

验证计算PI控制器增益

1.检查电机是否运转正常PI参数滑块开关在默认的的位置。

2.选择Speed_Ref & Speed_Feedback调试信号。调试信号部分的主机模型。

3.打开SelectedSignals时间范围监测参考转速和转速反馈信号。

4.中更新参考速度(适用于电机控制应用程序)转速参考[RPM]在时间范围内对信号进行现场监测。

5.SelectedSignals窗口,导航到工具>测量并选择光标测量显示光标测量区域。

6.将光标-1拖到指示为0的位置Speed_Ref(就在Speed_ref上升之前)。将光标-2拖动到Speed_Feedback满足Speed_Ref第一次。

ΔT表示FOC算法的实际响应时间(电机从零参考速度达到100%参考速度所需的时间)。

7.对于速度PI控制器,使用PI_params。SpeedBW变量可用在模型初始化脚本,以确定带宽的速度PI控制器。利用以下关系计算理论响应时间:

$ $响应{\ rm{\ _}}时间= \左({{2 \ /{π{\ rm{\ _}}参数。SpeedBW}}} \右)$ $

比较理论Response_time用实际响应时间ΔT验证PI控制器的增益速度。

类似地,您可以通过分析的阶跃响应来验证当前PI控制器增益d而且电流PI控制器。

故障排除

遵循以下步骤对失败的增益调优实例进行故障排除。

1.识别循环(或者d目前,调优过程失败的电流或速度)。

目标模型按以下顺序调整PI控制器:

d电流控制器→电流控制器→速度控制器

其中一个控制器的调优失败将导致后续控制器的增益调优不正确。

使用主机模型中可用的显示块检查三个控制器的计算增益。一个零KpKi控制器增益值表示相应控制器的调优过程失败。

对调优失败的前面序列中的第一个PI控制器执行后续步骤。

2.为步骤1中识别的控制器选择控制器参考信号和反馈信号调试信号节(例如,Iq_Ref & Iq_Feedback电流控制器),打开SelectedSignals时间范围。

3.检查PI参数滑块开关在自动调谐的位置。

4.自动调谐滑块切换到开始重新运行调优过程的位置。

5.监测步骤1中识别的控制器的反馈信号(例如,Iq_Feedback)在SelectedSignals时间范围。

案例1:如果控制器反馈信号的峰值满足下列条件之一,请遵循以下步骤:

  • 值过高(大于1)

  • 价值太低(小于。PI_params。CurrentSineAmp对于当前控制器或小于PI_params。SpeedSineAmp对于速度控制器)

注意:PI_params。CurrentSineAmp而且PI_params。SpeedSineAmp变量在模型初始化脚本中定义。

一个。如果步骤1中识别的控制器为d或者是当前控制器,修改PI_params。CurrentSineAmp变量,使其小于控制器反馈信号的峰值。

b。如果步骤1中识别的控制器为转速控制器,请修改PI_params。SpeedSineAmp变量,使其小于控制器反馈信号的峰值。

c。自动调谐滑块切换到停止位置,然后到开始重新运行调优过程的位置。

案例2:如果控制器反馈信号的峰值在以下范围内:

  • rm{$左\[{π{\ \ _}}参数。CurrentSineAmp, 1} \]美元(适用于电流控制器)

  • rm{$左\[{π{\ \ _}}参数。SpeedSineAmp, 1} \]美元(速度控制器)

注意:PI_params。CurrentSineAmp而且PI_params。SpeedSineAmp变量在模型初始化脚本中定义。

一个。控件中可用的面向场控制自动调谐器块(设置参考带宽和相位裕度值)的参数FOC自动调谐器参数部分的模型初始化脚本。

b。自动调谐滑块切换到停止位置,然后到开始重新运行调优过程的位置。