此示例通过使用Field Dieasted Control AutoTuner块计算速度和当前控制循环中可用的PI控制器的增益值。有关此块的详细信息,请参阅磁场定向控制自动调谐装置.有关面向现场控制的详细信息,请参阅磁场定向控制(FOC).
使用示例的代码生成功能将增益调整算法部署到目标硬件。这使您能够使用连接到电机的硬件运行算法,并通过在目标硬件上实时处理电机反馈来计算精确的PI控制器增益。该示例使用正交编码器传感器测量转子位置。
该示例包括目标模型mcb_pmsm_foc_autotuner_f28379d.
您可以将此模型用于模拟和代码生成。使用open_system命令打开模型。
Open_System(“mcb_永磁同步电机_foc_自动调谐装置_f28379d.slx”);
磁场定向控制自动调谐块迭代地调谐d
-及问
-轴电流控制和速度控制回路,并计算电流和速度PI控制器的增益。使用此命令定位模型内可用的现场定向控制自动调谐块:
Open_System('mcb_pmsm_foc_autotuner_f28379d/Current Control/Control_System/闭环控制/FOC_Autotuner/FOC_Autotuner');
该块处理来自工厂的电流和速度反馈。它也处理电压输出d
-及问
-轴电流PI控制器来计算PI控制器增益(金伯利进程
和碘化钾
).
有关FOC体系结构的更多详细信息,请参阅磁场定向控制(FOC).
需要MathWorks®产品s manbetx 845
要模拟模型,请执行以下操作:
电机控制块集™
万博1manbetxSimulink Control Design™
要生成代码和部署模型:
电机控制块集™
万博1manbetxSimulink Control Design™
嵌入式编码器®
德克萨斯仪器嵌入式编码器®支持包万博1manbetx™ C2000™ 处理器
1.打开目标模型的模型初始化脚本。检查并更新脚本中可用的电机、逆变器和其他控制系统和硬件参数。有关查找和编辑与目标模型关联的模型初始化脚本的说明,请参见根据电机参数估计控制增益.
2.在逆变器和目标参数在模型初始化脚本的第节中,验证mcb_SetInverterParameters
函数使用参数BoostXL-DRV8305
.这使得脚本可以使用BOOSTXL-DRV8305逆变器的预编程参数。
3.在模型初始化脚本中正确配置这些参数。这些变量对于计算PI控制器增益的增益调整算法是必不可少的。如果这些变量的值不正确,模型可能无法使电机达到稳定的转速状态。
pmsm.p
pmsm.i_rated.
位置偏移
永磁同步电动机。QEPSlits
4.如果您使用的电机未在列表中列出mcb_设置PMSM电机参数
功能(用于系统参数//硬件参数模型初始化脚本的一部分),调整以下初始收益的默认值初始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_设置PMSM电机参数
函数)未运行时,请尝试调优这些参数的默认值。
5.在自动调谐参数在模型初始化脚本的第节中,检查并更新磁场定向控制自动调谐块的参数。这将设置速度和当前PI控制器的参考带宽和相位裕度值。
模拟示例是可选的。按照以下步骤模拟目标模型:
1.打开目标模型。
2.点击跑上模拟选项卡以模拟目标模型。
3.观察计算的PI控制器增益值在显示块可用mcb_pmsm_foc_自动调谐_f28379d/电流控制/PI_参数_显示_和_记录
子系统。
计算的增益可能不准确,因为仿真和硬件部署的先决条件部分的步骤4只检查四个电机参数的准确性。
如果要使用仿真计算和测试PI控制器增益,请在单击之前执行以下步骤跑上模拟目标模型的选项卡。
在系统参数//硬件参数在模型初始化脚本的第节中,验证mcb_设置PMSM电机参数
函数使用一个表示电机的参数(例如,Teknic2310P
).打开mcb_设置PMSM电机参数
函数查看存储常用pmms电机参数的预编程情况。
如果mcb_设置PMSM电机参数
功能不列出永磁同步电机,请确定电机的参数。
如果你有电机控制硬件,你可以估计你的电机参数,通过使用电机控制模块参数估计工具。说明,请参阅使用推荐硬件估算永磁同步电机参数.
参数估计工具将更新motorParam
变量(在MATLAB®工作空间中),带有估计的电机参数。
如果您从数据表或其他来源获得电机参数,请在模型初始化脚本中添加并配置电机参数。这些参数值覆盖函数中选定的预编程情况mcb_设置PMSM电机参数
.
如果使用参数估计工具,请勿直接在模型初始化脚本中更新电机参数。脚本将自动从更新的脚本中提取电机参数motorParam
工作区中的变量。
模拟目标模型并确定增益后,使用计算的增益值更新任何目标模型(电机控制块集示例模型或您自己的模型),以快速使电机达到稳定速度状态。
将示例部署到目标硬件,通过使用连接到电机的实际硬件更精确地调整PI控制器增益。有关更多详细信息,请参阅生成代码并将模型部署到目标硬件部分。
本节介绍如何生成代码并在目标硬件上运行用于调整PI控制器增益的算法。通过在硬件上运行该示例,可以通过实时处理来自实际工厂的反馈,更准确地计算PI控制器增益。
这个例子使用了一个主机和一个目标模型。主机型号是控制器硬件板的用户界面。您可以在主机计算机上运行主机型号。在主机上运行主机型号之前,需要先将目标型号部署到控制器硬件板上。主机模型使用串行通信命令目标模型,闭环控制电机运行。
所需硬件
该示例支持以下硬件配置。万博1manbetx您还可以使用目标模型名称从MATLAB®命令提示符打开模型。
LaunchXL-F28379D控制器+ Boostxl-DRV8305逆变器:mcb_pmsm_foc_autotuner_f28379d
有关与此硬件配置相关的连接的更多信息,请参阅LAUNCHXL-F28069M和LAUNCHXL-F28379D配置.
在目标硬件上生成代码并运行模型
1.完成硬件连接。
2.该模型自动计算模数转换器(ADC)偏移量(也称为当前偏移)。要禁用此功能(默认启用),请更新值逆变器.ADCOffsetCalibEnable
模型初始化脚本中的变量0
.
或者,您可以计算ADC偏移值并在模型初始化脚本中手动更新它们。说明,请参阅在开环控制中运行3相交流电机并校准ADC偏移量.
3.计算正交编码器索引偏移值,并在位置偏移
变量在目标模型的模型初始化脚本中。说明,请参阅永磁同步电机正交编码器偏移量标定.
4.打开目标模型。如果要更改模型的默认硬件配置,请参阅模型配置参数.
5.在LAUNCHXL-F28379D板的CPU2上加载一个示例程序。例如,使用GPIO31 (c28379D_cpu2_blink.slx
)。这可确保CPU2不会被错误配置为使用用于CPU1的板外围设备。
6.点击构建、部署和启动上硬件选项卡将目标模型部署到硬件。
7.点击主机模式目标模型中的超链接以打开关联的主机模型。你也可以使用open_system
命令,打开主机型号。
Open_System(“mcb_主机_自动调谐_f28379d.slx”);
有关主机和目标型号之间串行通信的详细信息,请参阅主机目标沟通.
8.在“主机串行设置块参数”对话框中,选择端口名称您已连接到目标硬件。
9转弯电动机滑块切换到开始开始运行电机的位置。
10的参考速度值更新速度参考[RPM]字段。建议使用约为电机额定转速一半的值。
11在调试信号节,选择速度参考和速度反馈并监控车辆内的速度信号SelectedSignals时间范围。等到电机达到稳定的速度。
示例只能在稳定速度状态下开始调优。
12检查PI参数滑块开关在自动调谐位置
13转弯自动调谐滑块切换到开始开始PI控制器增益自动调谐的位置。调谐过程根据控制器输出中的控制器目标(带宽和相位裕度)引入扰动。该示例使用系统对扰动的响应来计算最优控制器增益值。
该模型在电机上反复执行这些测试,并确定一组精确的参数金伯利进程
和碘化钾
电流和速度PI控制器的增益。
的调谐状态显示从更改状态调优没有开始
到优化过程中
.
注:正在进行调整时,请确保PI参数滑块开关保持在自动调谐位置
14当调优过程成功完成时,调谐状态显示从更改状态优化过程中
到调整完成
.
目标模型使用计算出的速度更新目标硬件上运行的速度和电流PI控制器金伯利进程
和碘化钾
利润。此外,主体模型将显示这些值。
15如果增益调整算法在调整过程中遇到错误,则调谐状态展示调整失败
.转弯自动调谐滑块切换到停止定位并查看故障排除有关故障排除说明的部分。
16如果已成功完成调整过程,请打开自动调谐滑块切换到停止位置转弯PI参数滑块切换到违约位置以启用目标模型的默认操作模式。在这种模式下,目标模型使用计算的增益值来使用FOC操作电机。
17验证计算的增益值。有关说明,请参阅验证计算的PI控制器增益部分
1.检查一下电机是否运转正常PI参数滑块开关在违约位置
2.选择速度参考和速度反馈调试信号调试信号部分的主机模型。
3.打开SelectedSignals监控参考速度和速度反馈信号的时间范围。
4.在中更新参考速度(适用于电机控制应用程序)速度参考[RPM]现场监测时间范围内的信号。
5.在SelectedSignals窗口中,导航到工具>测量并选择光标测量显示光标测量区域。
6.将光标-1拖动到指示零的位置速度参考
(就在Speed_ref上升之前)。将光标-2拖动到以下位置速度反馈
相遇速度参考
第一次。
ΔT表示FOC算法的实际响应时间(电机从零参考速度达到100%的参考速度的时间)。
7.对于速度PI控制器,使用PI_参数s.SpeedBW
模型初始化脚本中可用的变量,用于确定速度PI控制器的带宽。使用此关系式计算理论响应时间:
比较理论Response_time
用实际响应时间ΔT来验证PI控制器的速度增益。
类似地,您可以通过分析控制器的阶跃响应来验证当前PI控制器增益d
和问
电流PI控制器。
请按照以下步骤进行故障排除失败的增益调整实例。
1.识别循环(或者d
当前的,问
调整过程失败的电流(或速度)。
目标模型按如下顺序调整PI控制器:
d
当前控制器→问
电流控制器→ 速度控制器
此序列中一个控制器的调谐失败会导致后续控制器的增益调谐不正确。
使用主机模型中可用的显示块检查三个控制器的计算增益。零金伯利进程
或碘化钾
控制器增益值表示各个控制器的调整过程失败。
按照前面顺序中调谐失败的第一个PI控制器的后续步骤操作。
2.在中为步骤1中确定的控制器选择控制器参考和反馈信号调试信号部分(例如,智商参考和智商反馈为了问
(当前控制器)并打开SelectedSignals时间范围。
3.检查PI参数滑块开关在自动调谐位置
4.转弯自动调谐滑块切换到开始重新运行调整过程的位置。
5.监控步骤1中确定的控制器的反馈信号(例如,IQ_FEDBACK.
) 在里面SelectedSignals时间范围。
案例1:如果控制器反馈信号的峰值满足以下条件之一,请执行以下步骤:
值太高(大于1)
值太低(小于PI_参数电流SINEAMP
对于当前的控制器或小于速度参数
用于速度控制器)
注:的PI_参数电流SINEAMP
和速度参数
变量在模型初始化脚本中定义。
一种。如果在步骤1中识别的控制器是d
或者问
当前控制器,修改PI_参数电流SINEAMP
可变使得它小于控制器反馈信号的峰值。
b。如果步骤1中确定的控制器是速度控制器,则修改速度参数
可变使得它小于控制器反馈信号的峰值。
c。转弯自动调谐滑块切换到停止位置,然后到开始重新运行调整过程的位置。
案例2:如果控制器反馈信号的峰值在以下范围内,请执行以下步骤:
(对于当前控制器)
(用于速度控制器)
注:的PI_参数电流SINEAMP
和速度参数
变量在模型初始化脚本中定义。
一种。更新中可用的磁场定向控制自动调谐块(用于设置参考带宽和相位裕度值)的参数自动调谐参数部分模型初始化脚本。
b。转弯自动调谐滑块切换到停止位置,然后到开始重新运行调整过程的位置。