估计控制收益和使用效用函数
为磁场定向控制(FOC)算法的一部分的速度和转矩控制回路执行控制参数调整。Motor Control Blockset™为您提供多种方法来计算系统或块传递函数的控制回路增益,可用于电机,逆变器和控制器:
使用<年代p一个n class="block">场定向控制自动调谐器块。
使用<年代p一个n class="entity">金宝app®控制设计™。
使用模型初始化脚本。
场定向控制自动调谐器
电机控制块集的场定向控制自动调谐块使您能够实时自动调谐场定向控制(FOC)应用程序中的PID控制回路。您可以自动调整与以下循环相关联的PID控制器(有关更多详细信息,请参阅<一个href="//www.tatmou.com/se/help/mcb/ug/how-to-use-field-oriented-control-autotuner.html" class="a">如何使用场定向控制自动调谐块):
纵轴(
d-轴)电流回路 交轴(
问-轴)电流回路 速度环
对于代码块调优的每个循环<年代p一个n class="block">场定向控制自动调谐器Block以闭环的方式进行自动调谐实验,而不使用与该循环相关的参数模型。块允许您指定块调整控制循环的顺序。当调优实验在一个循环中运行时,块对其他循环没有影响。有关FOC自动调谐器的更多详细信息,请参见<一个href="//www.tatmou.com/se/help/mcb/ref/fieldorientedcontrolautotuner.html" class="a">场定向控制自动调谐器和<一个href="//www.tatmou.com/se/help/mcb/gs/tune-pi-controllers-using-foc-autotuner.html" class="a">调谐PI控制器使用场定向控制自动调谐器。
金宝appSimulink控制设计
金宝appSimulink控制设计使您能够设计和分析在Simulink中建模的控制系统。金宝app您可以自动调整任意SISO和MIMO控制体系结构,包括PID控制器。您可以将PID自整定部署到嵌入式软件中,以实时自动计算PID增益。
您可以找到工作点并计算不同工作条件下Simulink模型的精确线性化。金宝app<年代p一个n class="entity">金宝appSimulink控制设计提供工具,使您无需修改模型即可计算基于仿真的频率响应。有关详情,请参阅<一个href="//www.tatmou.com/se/help/slcontrol/index.html" target="_blank">//www.tatmou.com/help/slcontrol/index.html。
模型初始化脚本
本节解释电机控制块集示例如何估计实现面向磁场控制所需的控制增益。例如,对于连接到正交编码器的PMSM,这些步骤描述了使用初始化脚本从系统细节计算控制环路增益值的过程:
打开初始化脚本(
00)文件的例子在MATLAB中<年代up>®。查找相关的脚本文件名: 选择<年代trong class="guilabel">建模><年代trong class="guilabel">模型设置><年代trong class="guilabel">模型属性打开模型属性对话框。
在模型属性对话框中,导航到<年代trong class="guilabel">回调选项卡><年代trong class="guilabel">InitFcn以查找Simulink在运行示例之前打开的脚本文件的名称。金宝app
下图显示了初始化脚本(
00)文件。 使用<年代trong class="guilabel">工作空间编辑控制变量值。例如,要更新定子电阻(
Rs),使用该变量 永磁同步电动机将参数值添加到 Rs字段。 与目标模型相关联的模型初始化脚本调用这些函数,并使用必要的变量设置工作空间。
模型初始化脚本 模型初始化脚本调用的函数 描述 与目标模型相关联的脚本 mcb_SetPMSMMotorParameters
该函数的输入是PMSM的类型(例如,BLY171D)。
函数填充一个名为
永磁同步电动机在MATLAB工作空间中,由模型使用。 它还计算了所选电机的永磁通量和额定转矩。
您可以通过为新电机增加一个额外的开关箱来扩展功能。
这个函数也加载结构
motorParam,由运行参数估计得到 永磁同步电动机。如果结构 motorParam在MATLAB工作空间中不可用,该函数加载默认参数。 mcb_SetACIMMotorParameters
该功能的输入是交流感应电机的类型(例如,EM_Synergy)。
函数填充一个名为
奇迹课程在MATLAB工作空间中,由模型使用。 您可以通过为新电机增加一个额外的开关箱来扩展功能。
这个函数也加载结构
motorParam,由运行参数估计得到 奇迹课程。如果结构 motorParam在MATLAB工作空间中不可用,该函数加载默认参数。 mcb_SetInverterParameters
该功能输入为逆变器类型(例如BoostXL-DRV8305)。
函数填充一个名为
逆变器在MATLAB工作空间中,由模型使用。 该函数还计算所选逆变器的逆变器电阻。
您可以通过为新的逆变器添加额外的开关箱来扩展功能。
mcb_SetProcessorDetails
该功能的输入是处理器类型(例如,F28379D)和脉宽调制(PWM)开关频率。
函数填充一个名为
目标在MATLAB工作空间中,由模型使用。 该函数还计算PWM计数器周期,这是目标模型中ePWM模块的一个参数。
您可以通过为新处理器添加额外的开关盒来扩展该功能。
mcb_getBaseSpeed
该函数的输入是电机和逆变器参数。
该函数计算PMSM的基本速度。
类型
帮助mcb_getBaseSpeed在MATLAB命令窗口或参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取基本速度了解更多详情。 mcb_SetPUSystem
该函数的输入是电机和逆变器参数。
该功能设置每单位系统的电压,电流,速度,扭矩和功率的基本值。
函数填充一个名为
PU_System在MATLAB工作空间中,由模型使用。 mcb_SetControllerParameters
该功能的输入是电机和逆变器参数、单位系统基值、PWM开关时间段、控制系统的采样时间和速度控制器的采样时间。
该函数计算比例积分(
π)参数( Kp, Ki)来实现面向现场的控制。 函数填充一个名为
PI_params在MATLAB工作空间中,由模型使用。 参见<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取控制器增益了解更多详情。
mcb_updateInverterParameters
该函数的输入是电机和逆变器参数。
该功能根据所选硬件和电机更新逆变器参数。
此表解释了可以更新的每个控制参数的有用变量。
请注意
您可以尝试在Windows上以管理员模式启动MATLAB<年代up>®如果您无法更新与示例模型相关联的模型初始化脚本。
控制参数类别 | 控制参数名称 | MATLAB工作空间变量 |
---|---|---|
电机参数 | 制造商型号 | pmsm.model |
制造商序列号 | pmsm.sn |
|
双极 | pmsm.p |
|
定子电阻(欧姆) | 永磁同步电动机。Rs |
|
d轴定子绕组电感(亨利) | 永磁同步电动机。Ld |
|
q轴定子绕组电感(亨利) | 永磁同步电动机。江西 |
|
反电动势常数(V_line(峰值)/krpm) | 永磁同步电动机。柯 |
|
电机惯量(kg.m<年代up>2) | 永磁同步电动机。J |
|
摩擦常数(N.m.s) | 永磁同步电动机。F |
|
永久磁通量(WB) | 永磁同步电动机。FluxPM |
|
证明的 | 永磁同步电动机。T_rated |
|
Nbase | 永磁同步电动机。N_base |
|
电机使用的最大转速
|
永磁同步电动机。N_max |
|
愤怒的 | 永磁同步电动机。我_rated |
|
位置解码器 | QEP指数和霍尔位置偏移校正 | 永磁同步电动机。PositionOffset |
正交编码器每旋转狭缝 | 永磁同步电动机。QEPSlits |
|
逆变器参数 | 制造商型号 | inverter.model |
制造商序列号 | inverter.sn |
|
逆变器直流链路电压(V) | 逆变器。V_dc |
|
逆变器最大允许电流(A) | 逆变器。I_trip |
|
mosfet的导态电阻(欧姆) | 逆变器。Rds_on |
|
电流检测分流电阻(欧姆) | 逆变器。Rshunt |
|
电机看到的每相板电阻(欧姆) | 逆变器。R_board |
|
电流传感器(I)的ADC偏置<年代ub>一个和我<年代ub>b) |
|
|
电流传感器自动校准ADC偏置的最大限制(1)<年代ub>一个和我<年代ub>b) | 逆变器。CtSensOffsetMax |
|
电流传感器自动校准ADC偏置的最小限制(1)<年代ub>一个和我<年代ub>b) | 逆变器。CtSensOffsetMin |
|
使能电流感测adc的自动校准 | 逆变器。ADCOffsetCalibEnable |
|
ADC增益系数由SPI配置 | 逆变器。ADCGain |
|
逆变器类型: 1 -有源高使能逆变器 0 -有源低使能逆变器 |
逆变器。EnableLogic |
|
电流进入电机的约定: 电流感应放大器感应进入电机的电流为正 - 1 -电流感应放大器感应进入电机的电流为负 |
inverter.invertingAmp |
|
逆变器电流检测电路参考电压(V) | 逆变器。我SenseVref |
|
1安培电流对应的逆变电流传感电路输出电压(V/A) 您可以使用电流分流电阻(
|
逆变器。我SenseVoltPerAmp |
|
逆变器电流传感电路可测量的最大峰值中性电流(A) | 逆变器。ISenseMax |
|
处理器 | 制造商型号 | target.model |
制造商序列号 | target.sn |
|
CPU频率 | 目标。CPU_frequency |
|
脉宽调制频率 | 目标。PWM_frequency |
|
PWM计数器周期 | 目标。PWM_Counter_Period |
|
ADC参考电压(V) | 目标。ADC_Vref |
|
12位ADC的最大计数输出 | 目标。ADC_MaxCount |
|
串行通信波特率 | 目标。SCI_baud_rate |
|
单位系统 | 基极电压(V) | PU_System。V_base |
基极电流(A) | PU_System。I_base |
|
基准转速(rpm) | PU_System。N_base |
|
基本扭矩(Nm) | PU_System。T_base |
|
基准功率(瓦) | PU_System。P_base |
|
目标设备的数据类型 | 数据类型(定点或浮点)选择 | 数据类型 |
采样时间值 | 变换器开关频率 | PWM_frequency |
PWM开关周期 | T_pwm |
|
当前控制器的采样时间 | Ts |
|
速度控制器的采样时间 | Ts_speed |
|
模拟采样时间 | Ts_金宝appsimulink |
|
电机仿真采样时间 | Ts_motor |
|
逆变器仿真采样时间 | Ts_inverter |
|
控制器参数 | Iq控制器的比例增益 | PI_params。Kp_i |
Iq控制器的积分增益 | PI_params。Ki_i |
|
Id控制器的比例增益 | PI_params。Kp_id |
|
积分增益的Id控制器 | PI_params。Ki_id |
|
速度控制器的比例增益 | PI_params。Kp_speed |
|
速度控制器的积分增益 | PI_params。Ki_speed |
|
弱磁场控制器的比例增益 | PI_params。Kp_fwc |
|
弱磁场控制器的积分增益 | PI_params。Ki_fwc |
|
传感器延迟参数 | 电流传感器延迟 | 延迟。Current_Sensor |
速度传感器延迟 | 延迟。Speed_Sensor |
|
低通速度滤波器的延迟 | 延迟。Speed_Filter |
|
控制器延迟参数 | 电流控制回路的阻尼因子(ζ) | 延迟。OM_damping_factor |
速度控制回路的对称最优因子 | 延迟。SO_factor_speed |
请注意
对于预定义的处理器和驱动程序,模型初始化脚本使用默认值。
模型初始化脚本使用这些函数来执行计算:
控制参数类别 | 函数 | 功能 |
---|---|---|
电机的基本转速 | mcb_getBaseSpeed |
计算在额定电压和额定负载下永磁同步电机的基本转速。 有关详细信息,请键入 |
给定电机和逆变器的电机特性 | mcb_getCharacteristics |
获得永磁同步电动机的这些驱动特性。
有关详细信息,请键入 具体操作请参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取电机特性。 |
mcb_getCharacteristicsAcim |
获得感应电机的这些电机特性。
获得感应电动机的这些驱动特性。
有关详细信息,请键入 具体操作请参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取电机特性。 |
|
控制算法参数 | mcb_SetControllerParameters |
计算这些PI控制器的增益:
具体操作请参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取控制器增益。 |
您正在使用的电机和逆变器的控制分析 | mcb_getControlAnalysis |
执行频率域分析的计算增益的PI控制器用于磁场定向电机控制系统。 请注意 此功能需要控制系统工具箱™。 有关详细信息,请键入 |
获取基本速度
这个函数
当你调用这个函数(例如,
PMSM参数结构。
逆变器参数结构。
这些方程描述了函数执行的计算:
通过计算逆变器电压约束来定义逆变器电压约束
电流限位圆定义了当前约束,可以考虑为:
在上式中,<年代p一个n class="inlineequation"> 为零。对于内部pmsm,值为<年代p一个n class="inlineequation"> 和<年代p一个n class="inlineequation"> 与MTPA相对应。
利用上述关系,我们可以计算基本速度为:
地点:
为定子电压频率对应的电速度(弧度/秒)。
为电机的机械基本速度(弧度/秒)。
是
d-轴电流(安培)。 是
问-轴电流(安培)。 是
d-轴电压<年代p一个n class="inlineequation"> 为零(伏特)。 是
问-轴电压<年代p一个n class="inlineequation"> 为零(伏特)。 是
d-轴绕组电感(亨利)。 是
问-轴绕组电感(亨利)。 为定子相绕组电阻(欧姆)。
是永磁体通链(韦伯)。
是
d-轴电压(伏特)。 是
问-轴电压(伏特)。 是提供给电机的最大基线到中性电压(峰值)(伏特)。
是提供给逆变器的直流电压(伏特)。
为电机的最大相电流(峰值)(安培)。
为电机极对数。
获取电机特性
这个函数
函数返回给定PMSM的以下特征:
扭矩与速度相对
力量,而不是速度
我<年代ub>dq而不是速度
我<年代ub>峰而不是速度
这个函数
该函数返回给定感应电机的以下电机特性:
扭矩与速度相对
力量,而不是速度
该函数返回给定感应电机的以下驱动特性:
扭矩与速度相对
力量,而不是速度
我<年代ub>dq而不是速度
我<年代ub>峰而不是速度
获取控制器增益
这个函数
您可以使用此命令来调用该函数
PI_params = mcb_SetControllerParameters(pmsm,逆变器,PU_System,T_pwm,Ts,Ts_speed);
函数返回在FOC算法中使用的这些PI控制器的增益:
纵轴(
d-轴)电流回路 交轴(
问-轴)电流回路 速度环
弱磁场控制回路
函数接受这些输入:
永磁同步电动机的对象
逆变器对象
PU系统参数
T_pwm
Ts_control
Ts_speed
该函数不绘制任何特征。
补偿器的设计依赖于应用于电机控制系统的经典频率响应分析。我们采用基于模量最优(MO)的电流控制器设计和基于对称最优(SO)的速度控制器设计。
该函数根据输入参数自动计算其他所需参数(例如,延迟、阻尼因子)。
你可以通过一个可选的输入函数来修改默认的系统响应,该函数指定了系统延迟、阻尼因子和对称最佳因子:
PI_params = mcb_SetControllerParameters(pmsm,逆变器,PU_System,T_pwm,Ts,Ts_speed, delay);
阻尼系数(
对称最优因子(
本例介绍如何自定义参数:
传感器延迟%延迟。Current_Sensor = 2*Ts;<年代p一个n style="color:#228B22">%电流传感器延迟延迟。Speed_Sensor = Ts;<年代p一个n style="color:#228B22">速度传感器延迟%延迟。Speed_Filter = 20e-3;<年代p一个n style="color:#228B22">速度滤波器(LPF)延迟%控制器延迟%延迟。OM_damping_factor = 1/sqrt(2);<年代p一个n style="color:#228B22">%电流控制回路的阻尼系数延迟。SO_factor_speed = 1.5;<年代p一个n style="color:#228B22">%对称最优因子1 < x < 20%控制器设计PI_params = mcb_SetControllerParameters(pmsm,逆变器,PU_System,T_pwm,Ts,Ts_speed, delay);
进行控制分析
这个函数
请注意
此功能需要控制系统工具箱。
当你调用这个函数(例如,
闭环电流控制系统的传递函数
根轨迹
波德图
稳定边际(PM & GM)
阶跃响应
PZ地图
函数绘制相应的图:
参考文献
[1]
[2]