调整PI控制器使用面向领域自动调谐控制
这个例子计算PI控制器的增益值的速度和电流控制回路采用磁场定向控制自动调谐块。这个块的详细信息,请参阅磁场定向控制自动调谐。间接磁场定向矢量控制的详细信息,请参阅磁场定向控制(FOC)。
使用代码生成功能的示例部署gain-tuning算法目标硬件。这使您能够运行该算法通过使用硬件连接到一个电动机和收益计算准确了PI控制器通过处理电机实时反馈在目标硬件。例子使用正交编码器测量转子位置传感器。
注意:下面的例子使用了定向控制算法作为参考。你可以参考这个例子中,使用类似的方法来添加磁场定向控制自动调谐块和gain-tuning算法FOC逻辑模型。
模型
示例包括目标模型mcb_pmsm_foc_autotuner_f28379d。
您可以使用这个模型模拟和代码生成。使用open_system命令打开模型。
open_system (“mcb_pmsm_foc_autotuner_f28379d.slx”);
磁场定向控制自动调谐块迭代的曲调d
- - -问
设在电流控制和速度控制回路,计算当前的收益和速度PI控制器。使用此命令来定位内部的磁场定向控制自动调谐块可用的模型:
open_system (“mcb_pmsm_foc_autotuner_f28379d /电流控制/ Control_System /闭环控制/ FOC_Autotuner FOC_Autotuner”);
块过程的电流和速度反馈装置。它也处理的电压输出d
- - -问
设在电流PI控制器计算PI控制器收益(Kp
和Ki
)。
FOC架构的更多细节,请参阅磁场定向控制(FOC)。
需要MathWorks®产品下载188bet金宝搏
模拟模型:
电机控制Blockset™
金宝app仿真软件控制设计™
生成代码和部署模式:
电机控制Blockset™
金宝app仿真软件控制设计™
嵌入式编码器®
嵌入式编码器®支持德州仪器包™C金宝app2000™处理器
先决条件模拟和硬件部署
1。打开模型初始化脚本为目标模型。检查和更新电机、逆变器及其他控制系统和硬件参数可用的脚本。说明定位和编辑模型初始化脚本与目标模型相关联,明白了估计控制收益和使用效用函数。
2。在逆变器和目标参数部分模型的初始化脚本中,验证mcb_SetInverterParameters
函数使用的参数BoostXL-DRV8305
。这使得脚本使用BOOSTXL-DRV8305逆变器的预排程序的参数。
3所示。正确配置这些参数在模型中初始化脚本。这些变量是必不可少的收益gain-tuning算法计算了PI控制器。如果这些变量的值是不正确的,该模型可能无法使电动机速度稳定状态。
pmsm.p
pmsm.I_rated
pmsm.PositionOffset
pmsm.QEPSlits
4所示。如果您使用的是电机不列入mcb_SetPMSMMotorParameters
函数(用于系统参数/ /硬件参数部分模型的初始化脚本),调整默认值以下的初始收益中可用最初的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。在船自动调谐参数部分模型的初始化脚本,检查和更新现场面向控制的参数自动调谐块。这个设置参考带宽和相位幅度值速度和电流PI控制器。
模拟目标模型
模拟的例子是可选的。遵循以下步骤来模拟目标模型:
1。打开目标模型。
2。点击运行在模拟选项卡来模拟目标模型。
3所示。观察控制器增益的计算π值显示块中可用mcb_pmsm_foc_autotuner_f28379d /电流控制/ PI_Params_Display_and_Logging
子系统。
计算出的收益可能不准确,因为步骤3在先决条件模拟和硬件部署部分检查只有四个电机参数的准确性。
如果你想计算和测试使用模拟PI控制器的收益,按照以下步骤之前点击运行在模拟目标模型的选项卡。
在系统参数/ /硬件参数部分模型的初始化脚本中,验证
mcb_SetPMSMMotorParameters
函数使用一个参数,表示你的电动机(例如,Teknic2310P
)。打开mcb_SetPMSMMotorParameters
函数的预排程序的情况下,存储常用的永磁同步电动机的电机参数。
如果mcb_SetPMSMMotorParameters
函数没有列出你的永磁同步电动机,确定电动机的参数使用这些步骤:
如果你有电机控制硬件,你可以为你的运动参数估计,通过电机控制Blockset参数估计的工具。说明,请参阅估计永磁同步电动机使用推荐的硬件参数和永磁同步电动机参数估计使用自定义硬件。
参数估计工具更新motorParam
变量(在MATLAB®工作区)估计运动参数。
如果你得到的电机参数数据表或其他来源,在模型中添加和配置电动机参数初始化脚本。这些参数值覆盖选择预定程序的函数
mcb_SetPMSMMotorParameters
。
如果你使用参数估计工具,不要直接对电机参数的更新模型中初始化脚本。脚本自动提取运动参数的更新motorParam
在工作区中变量。
后模拟目标模型和确定收益,更新您的模型(实现FOC)计算增益值迅速把电动机速度稳定状态。
示例部署到目标硬件调整PI控制器获得更准确地用一个实际的硬件连接到一个电动机。更多细节,请参见生成代码和部署模型目标硬件部分。
生成代码和部署模型目标硬件
这一节展示了如何生成代码并运行算法调优收益目标的PI控制器硬件。在硬件上运行的例子使您能够获得更准确的计算出了PI控制器处理来自实际的工厂实时反馈。
这个例子使用一个主机和一个目标模型。主机模型是一个用户界面的控制器硬件。你可以在主机上运行主机模型。之前你在主机上运行主机模式,目标模型部署到控制器硬件。主机模型使用串行通信命令目标模型和运行电动机闭环控制。
所需的硬件
支持以下硬件配置的例子。金宝app还可以使用目标模型名称打开模型的MATLAB®命令提示符。
LAUNCHXL-F28379D控制器+ BOOSTXL-DRV8305逆变器:mcb_pmsm_foc_autotuner_f28379d
有关相关连接硬件配置的更多信息,见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置。
在目标硬件生成代码并运行模型
1。完成硬件连接。
2。模型自动计算模拟到数字转换器(ADC)抵消(也称为当前偏移量)。禁用此功能(默认启用),更新的值inverter.ADCOffsetCalibEnable
模型中变量初始化脚本0
。
或者,您可以手动计算ADC偏移值和更新模型中初始化脚本。说明,请参阅在开环运行三相交流电机控制和校准ADC抵消。
3所示。计算正交编码器索引偏移值和更新的pmsm.PositionOffset
模型中变量初始化脚本的目标模型。说明,请参阅对永磁同步电动机电动机正交编码器偏移校正。
4所示。打开目标模型。如果你想改变默认模型的硬件配置,明白了模型配置参数。
5。加载一个示例程序的CPU2 LAUNCHXL-F28379D董事会。例如,加载程序运作CPU2蓝色LED使用GPIO31 (c28379D_cpu2_blink.slx
)。这将确保CPU2不是错误地配置为使用董事会外围设备用于CPU1。
6。点击构建、部署和启动在硬件目标模型部署到硬件选项卡。
7所示。单击主机模式超链接相关联的目标模型打开主机模型。您还可以使用open_system
命令打开主机模型。
open_system (“mcb_host_autotuner_f28379d.slx”);
有关主机和目标模型之间的串行通信,明白了Host-Target沟通。
8。在主机串口设置块参数对话框中,选择端口名称你有目标硬件连接。
9。把电动机滑块切换到开始开始运行电机。
10。更新速度值的引用速度Ref (RPM)字段。建议您使用的值大约是电动机的额定速度的一半。
11。在调试信号部分中,选择Speed_Ref & Speed_Feedback和监控信号的速度SelectedSignals时间范围。等到电机达到一个稳定的速度。
这个例子可以调优状态只有在稳定的速度。
12。检查PI参数滑动开关自动调谐的位置。
13。把自动调谐滑块切换到开始位置开始自动调谐PI控制器收益。根据控制器调优过程引入了扰动目标(带宽和相位容限)控制器的输出。本例使用扰动的系统响应计算最优控制器增益值。
模型对电机和执行这些测试迭代确定一组精确的Kp
和Ki
获得当前和速度PI控制器。
的调整状态显示改变状态从调优没有开始
来优化过程中
。
注意:当调优在进步,确保PI参数滑动开关仍在自动调谐的位置。
14。调优过程成功完成时,调整状态显示改变状态从优化过程中
来调整完成
。
目标模型更新的速度和电流PI控制器运行在目标硬件计算Kp
和Ki
收益。此外,主机模型显示这些值。
15。如果gain-tuning算法在优化过程中遇到错误,调整状态显示器显示调整失败
。把自动调谐滑块切换到停止位置和看到故障排除部分故障排除说明。
16。如果你已经成功地完成了优化过程,把自动调谐滑块切换到停止的位置。把PI参数滑块切换到默认的能够使目标模型的默认操作模式。在这种模式下,目标模型使用计算增益值操作电机用船。
17所示。验证计算增益值。说明,请参阅验证计算PI控制器增益部分。
验证计算PI控制器增益
1。检查电机的运行PI参数滑动开关默认的的位置。
2。选择Speed_Ref & Speed_Feedback调试信号的调试信号部分主机模型。
3所示。打开SelectedSignals时间范围监控参考速度和速度反馈信号。
4所示。更新参考速度(电机控制的应用程序)速度Ref (RPM)场和监控信号的时间范围。
5。在SelectedSignals窗口中,导航到工具>测量并选择光标测量来显示光标测量区域。
6。拖cursor-1位置,指示为零Speed_Ref
(Speed_ref上涨之前)。拖动cursor-2位置Speed_Feedback
满足Speed_Ref
第一次。
ΔT表明FOC算法的实际响应时间(时间由电机达到100%的参考速度从零参考速度)。
7所示。PI速度控制器,使用PI_params.SpeedBW
变量模型中初始化脚本可用来确定的带宽速度PI控制器。使用这个关系计算的理论响应时间:
比较理论Response_time
与实际响应时间ΔT验证速度PI控制器增益。
类似地,您可以验证当前比例积分控制器通过分析步骤的反应d
和问
电流PI控制器。
故障排除
按照下面的步骤来解决失败gain-tuning实例。
1。确定循环(d
目前,问
目前,调优过程失败或速度)。
目标模型的曲调这个序列的PI控制器:
d
电流控制器→问
电流控制器→速度控制器
调优一个控制器的失败在这个序列结果在错误的gain-tuning随后的控制器。
检查计算收益的三个控制器使用主机的显示块可用的模型。一个零Kp
或Ki
控制器增益值表示各自的控制器的优化过程失败。
按照后续步骤第一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:遵循以下步骤如果控制器反馈信号的峰值位于范围:
(当前控制器)
(速度控制器)
注意:的PI_params.CurrentSineAmp
和PI_params.SpeedSineAmp
模型中定义的变量的初始化脚本。
一个。更新现场面向控制的参数自动调谐块(设置参考带宽和相位边际值)中可用船自动调谐参数部分模型的初始化脚本。
b。把自动调谐滑块切换到停止然后到位置开始再次运行优化过程。