在实时系统中使用面向场控制自动调谐块调优PI控制器
本例使用面向场控制自动调谐块计算速度和电流控制器内的比例积分(PI)控制器的增益值。有关面向场控制的详细信息,请参见磁场定向控制(FOC).
该模型同时支持模拟和代金宝app码生成。当您运行模型时,它使用PI控制器的简单增益值来实现速度控制操作的稳态。
模型只有在稳态时才开始调优。它在控制器输出中引入了取决于控制器目标(带宽和相位裕度)的扰动。该模型利用系统对扰动的响应来计算最优控制器增益。
模型
示例包含模型mcb_pmsm_foc_autotuner_speedgoat.
您可以将此模型用于模拟和代码生成。您可以使用open_system命令打开Simulink®模型。金宝app
open_system (“mcb_pmsm_foc_autotuner_speedgoat.slx”);
有关支持的硬件配置的详细信息,请参见“金宝app生成代码并将模型部署到目标硬件”下的“所需硬件”部分。
需要MathWorks®产品下载188bet金宝搏
电机控制块集™
金宝appSimulink控制设计™
金宝app仿真软件实时™
Speedgoat I/O块集
先决条件
1.示例模型中可用的电机参数用于随快速山羊电动马达控制套件
.您可以通过将这些参数替换为来自电机数据表或其他来源的值来修改任何其他电机的这些参数。
2.如果您从数据表或其他来源获得电机参数,请更新与Simulink®模型相关的模型初始化脚本中的电机和逆变器参数。金宝app有关说明,请参见模型初始化脚本.
模拟模型
本例支持模拟。金宝app按照以下步骤模拟模型。
1.打开本示例中包含的模型。
2.检查信号构建器中配置的参考速度配置文件(在mcb_pmsm_foc_autotuner_speedgoat/System Inputs/ speed reference中可用)。
3.检查和更新面向场控制自动调谐器块掩码中的FOC自动调谐器参数(在控制算法/FOC_AutoTuner子系统中可用)。有关字段定向控制自动调谐器块的详细信息,请参见场向控制自动调谐器.
4.检查并更新与模型相关的模型初始化脚本中的简单增益值。
5.点击运行在模拟TAB来模拟模型。
6.使用您输入的简单增益值,验证电机达到至少额定速度的一半的稳态运行。模型在第17秒开始面向场控制(FOC)调优(使用面向场控制自动调谐器块)。
7.调优完成后,在Control Algorithms子系统中可用的Display PI Params块中观察计算出的PI控制器增益值。
8.通过使用仿真数据检查器,观察新计算的PI参数的系统响应。
详情请参见使用面向场控制自动调谐器调谐PI控制器.
生成代码并将模型部署到目标硬件
本节将指导您如何在目标硬件上生成代码和运行FOC算法。
所需的硬件
这个例子支持金宝app快速山羊电动马达控制套件
这包括以下几个部分:
三相逆变器额定48v和20a从Speedgoat
Maxon电机100w三相无刷直流电机
4096脉冲正交编码器
150w 254v直流电源
注意:联系Speedgoat获取对您的硬件有效的位流文件。
有关Speedgoat硬件设置的详细信息,请参见Speedgoat软件配置指南
.
在目标硬件上生成代码和运行模型
1.模拟模型并验证您正在获得所需的控制器响应。
2.完成Speedgoat电机控制套件的硬件连接。
校准电流偏置
1.在模型中,设置操作模式来电流偏置校正.
2.在实时2 .在“Simuli金宝appnk”工具条上,单击构建模型在运行在目标上下拉菜单来构建模型。
注意:不要点击运行在目标上因为此示例模型不支持外部模式下的实时执行。金宝app
3.导航到Simulink构建模型的文件夹。金宝app双击文件mcb_pmsm_foc_autotuner_speedgoat.mldatx
打开“Simulink实金宝app时应用程序”对话框。
4.2 .在“Si金宝appmulink实时应用程序”对话框中,选择要连接的目标计算机。点击好吧将应用程序文件加载到硬件。
5.在MATLAB命令提示符处输入这些命令(以相同的顺序),在硬件上执行加载的应用程序。
Tg = slrealtime;
tg.start;
6.在模型成功运行后,使用数据检查在模拟选项卡查看记录的信号。的稳定Iab_offset
信号是当前偏移量。
7.中的当前偏移值逆变器。CtSensAOffset
而且逆变器。CtSensBOffset
在与Simulink模型关联的模型初始化脚本中可用的变量。金宝app
电机开环控制
1.在模型中,设置操作模式来开环速度控制.
2.在实时2 .在“Simuli金宝appnk”工具条上,单击构建模型在运行在目标上下拉菜单来构建模型。
3.导航到Simulink构建模型的文件夹。金宝app双击文件mcb_pmsm_foc_autotuner_speedgoat.mldatx
打开“Simulink实金宝app时应用程序”对话框。
4.2 .在“Si金宝appmulink实时应用程序”对话框中,选择要连接的目标计算机。点击好吧将应用程序文件加载到硬件。
5.在MATLAB命令提示符处输入这些命令(以相同的顺序),在硬件上执行加载的应用程序。
Tg = slrealtime;
tg.start;
6.在模型执行之后,使用数据检查在模拟选项卡查看记录的信号。验证速度反馈(Speed_fb
)跟随参考速度(Speed_Ref
)信号。
例如,验证正参考速度具有正速度反馈,位置信号(Pos_PU
)有正斜坡。
如果参考速度和速度反馈信号的符号不匹配,请更改A引导B参数(逆变器和工厂模型/SpeedGoatDrivers/条件编码器块)从0到1或从1到0。然后按照本节中的步骤2到6在硬件上再次执行模型。
注意:在开环速度控制模式下,电机速度被限制在500转/分和1200转/分之间。
电机在闭环控制下运行
1.在模型中,设置操作模式来闭环速度控制.
2.设置船自动调谐按钮上的模型禁用禁用场定向控制(FOC)自动调谐器。
3.在实时2 .在“Simuli金宝appnk”工具条上,单击构建模型在运行在目标上下拉菜单来构建模型。
4.导航到Simulink构建模型的文件夹。金宝app双击文件mcb_pmsm_foc_autotuner_speedgoat.mldatx
打开“Simulink实金宝app时应用程序”对话框。
5.2 .在“Si金宝appmulink实时应用程序”对话框中,选择要连接的目标计算机。点击好吧将应用程序文件加载到硬件。
6.在MATLAB命令提示符处输入这些命令(以相同的顺序),在硬件上执行加载的应用程序并运行电机。
Tg = slrealtime;
tg.start;
电机以信号生成器中配置的速度在闭环控制下运行。
7.确认电机达到稳定运行状态,因为如果电机转速不稳定,FOC自动调谐器将无法工作。
如果电机未能达到稳态,则在模型初始化脚本(与模型关联)中手动更改PI参数,直到电机速度稳定到电机基本速度的一半。
注意:在模型初始化脚本中调整PI参数时,电机可能会表现出较慢的速度响应。
8.如果电机达到稳定的速度,按照步骤运行FOC自动调谐器。
运行FOC Autotuner
1.设置船自动调谐按钮上的模型启用启用面向场的控制自动调谐器。
2.验证操作模式设置为闭环速度控制.
3.检查和更新场定向控制自动调谐器块掩码中的FOC自动调谐器参数(如自动调谐器触发时间和控制器目标)(在控制算法/FOC_AutoTuner子系统中可用)。有关字段定向控制自动调谐器块的详细信息,请参见场向控制自动调谐器.
4.在实时2 .在“Simuli金宝appnk”工具条上,单击构建模型在运行在目标上下拉菜单来构建模型。
5.导航到Simulink构建模型的文件夹。金宝app双击文件mcb_pmsm_foc_autotuner_speedgoat.mldatx
打开“Simulink实金宝app时应用程序”对话框。
6.2 .在“Si金宝appmulink实时应用程序”对话框中,选择要连接的目标计算机。点击好吧将应用程序文件加载到硬件。
7.在MATLAB命令提示符处输入这些命令(以相同的顺序),在硬件上执行加载的应用程序并运行电机。
Tg = slrealtime;
tg.start;
模型在硬件上开始执行模型后的第17秒开始面向场控制(FOC)调优(使用面向场控制自动调谐器块)。它记录PI控制器增益值(kp_Id
,ki_Id
,kp_Iq
,ki_Iq
,kp_speed
,ki_speed
)。
8.在仿真数据检查器中观察并比较调优前和调优后系统响应与PI参数的关系。
9.如果调优后的系统响应令人满意,则更新与模型相关的模型初始化脚本中的增益值。对于连续的模型执行,您可以使用模型中的FOC Autotuner按钮禁用FOC调优,并使用新的PI参数继续进行闭环测试。
注意:不要在信号构建器中重新配置或更改参考速度值,以便在调优过程中改变参考速度。