主要内容

估计控制收益和使用效用函数

为磁场定向控制(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,这些步骤描述了使用初始化脚本从系统细节计算控制环路增益值的过程:

  1. 打开初始化脚本(00)文件的例子在MATLAB中<年代up>®。查找相关的脚本文件名:

    1. 选择<年代trong class="guilabel">建模><年代trong class="guilabel">模型设置><年代trong class="guilabel">模型属性打开模型属性对话框。

    2. 在模型属性对话框中,导航到<年代trong class="guilabel">回调选项卡><年代trong class="guilabel">InitFcn以查找Simulink在运行示例之前打开的脚本文件的名称。金宝app

  2. 下图显示了初始化脚本(00)文件。

  3. 使用<年代trong class="guilabel">工作空间编辑控制变量值。例如,要更新定子电阻(Rs),使用该变量永磁同步电动机将参数值添加到Rs字段。

  4. 与目标模型相关联的模型初始化脚本调用这些函数,并使用必要的变量设置工作空间。

    模型初始化脚本 模型初始化脚本调用的函数 描述
    与目标模型相关联的脚本

    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

电机使用的最大转速mcb_getCharacteristics(永磁同步电动机、逆变器)函数

永磁同步电动机。N_max= 2永磁同步电动机。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)

逆变器。CtSensAOffset

逆变器。CtSensBOffset

电流传感器自动校准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)

您可以使用电流分流电阻(逆变器。Rshunt)和逆变器的电流检测放大器增益。

逆变器。我SenseVoltPerAmp逆变器。Rshunt8电流感测放大器增益

逆变器。我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_getBaseSpeed在MATLAB命令提示符或参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取基本速度。

给定电机和逆变器的电机特性 mcb_getCharacteristics

获得永磁同步电动机的这些驱动特性。

  • 扭矩与速度特性相反

  • 功率特性与速度特性相反

  • 我<年代ub>dq而不是速度特性

  • 最大相电流(<年代p一个n class="inlineequation"> p e 一个 k d 2 + 2 ),而不是速度特性

有关详细信息,请键入帮助mcb_getCharacteristics在MATLAB命令提示符下。

具体操作请参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取电机特性。

mcb_getCharacteristicsAcim

获得感应电机的这些电机特性。

  • 扭矩与速度特性相反

  • 功率特性与速度特性相反

获得感应电动机的这些驱动特性。

  • 扭矩与速度特性相反

  • 功率特性与速度特性相反

  • 我<年代ub>dq而不是速度特性

  • 最大相电流(<年代p一个n class="inlineequation"> p e 一个 k d 2 + 2 ),而不是速度特性

有关详细信息,请键入帮助mcb_getCharacteristicsAcim在MATLAB命令提示符下。

具体操作请参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取电机特性。

控制算法参数 mcb_SetControllerParameters

计算这些PI控制器的增益:

  • 电流(转矩)控制回路增益(K<年代ub>p,K<年代ub>我)表示电流我<年代ub>d和我<年代ub>问

  • 速度控制回路增益(K<年代ub>p,K<年代ub>我)

  • 弱磁场控制增益(K<年代ub>p,K<年代ub>我)

具体操作请参见章节<一个href="//www.tatmou.com/se/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获取控制器增益。

您正在使用的电机和逆变器的控制分析 mcb_getControlAnalysis

执行频率域分析的计算增益的PI控制器用于磁场定向电机控制系统。

请注意

此功能需要控制系统工具箱™。

有关详细信息,请键入帮助mcb_getControlAnalysis在MATLAB命令提示符下。

获取基本速度

这个函数mcb_getBaseSpeed在给定的电源电压下计算PMSM的基本速度。基本转速是电机在额定电压和额定负载下的最大转速,不包括弱磁场区域。

当你调用这个函数(例如,base_speed = mcb_getBaseSpeed(pmsm,逆变器)),它返回PMSM和逆变器的给定组合的基本速度(以rpm为单位)。该函数接受以下输入:

  • PMSM参数结构。

  • 逆变器参数结构。

这些方程描述了函数执行的计算:

通过计算逆变器电压约束来定义逆变器电压约束d设在和问设在电压:

v d o ω e l

v o ω e l d d + λ p

v 一个 x v d c 3. R 年代 一个 x v d o 2 + v o 2

电流限位圆定义了当前约束,可以考虑为:

一个 x 2 d 2 + 2

在上式中,<年代p一个n class="inlineequation"> d 为零。对于内部pmsm,值为<年代p一个n class="inlineequation"> d 和<年代p一个n class="inlineequation"> 与MTPA相对应。

利用上述关系,我们可以计算基本速度为:

ω b 一个 年代 e 1 p v 一个 x l 2 + l d d + λ p 2

地点:

  • ω e 为定子电压频率对应的电速度(弧度/秒)。

  • ω b 一个 年代 e 为电机的机械基本速度(弧度/秒)。

  • d d-轴电流(安培)。

  • 问-轴电流(安培)。

  • v d o d-轴电压<年代p一个n class="inlineequation"> d 为零(伏特)。

  • v o 问-轴电压<年代p一个n class="inlineequation"> 为零(伏特)。

  • l d d-轴绕组电感(亨利)。

  • l 问-轴绕组电感(亨利)。

  • R 年代 为定子相绕组电阻(欧姆)。

  • λ p 是永磁体通链(韦伯)。

  • v d d-轴电压(伏特)。

  • v 问-轴电压(伏特)。

  • v 一个 x 是提供给电机的最大基线到中性电压(峰值)(伏特)。

  • v d c 是提供给逆变器的直流电压(伏特)。

  • 一个 x 为电机的最大相电流(峰值)(安培)。

  • p 为电机极对数。

获取电机特性

这个函数mcb_getCharacteristics计算PMSM的转矩,功率和电流特性,这有助于您开发电机的控制算法。

函数返回给定PMSM的以下特征:

  • 扭矩与速度相对

  • 力量,而不是速度

  • 我<年代ub>dq而不是速度

  • 我<年代ub>峰而不是速度

这个函数mcb_getCharacteristicsAcim计算感应电机的电机和驱动特性,帮助您开发电机的控制算法。

该函数返回给定感应电机的以下电机特性:

  • 扭矩与速度相对

  • 力量,而不是速度

该函数返回给定感应电机的以下驱动特性:

  • 扭矩与速度相对

  • 力量,而不是速度

  • 我<年代ub>dq而不是速度

  • 我<年代ub>峰而不是速度

获取控制器增益

这个函数mcb_SetControllerParameters计算用于磁场定向电机控制系统的PI控制器的增益。

您可以使用此命令来调用该函数mcb_SetControllerParameters:

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);

阻尼系数(ζ)定义了二阶系统的标准形式的动态行为,其中0<ζ<1[1]。欠阻尼系统比临界阻尼或过阻尼系统更快地接近最终值。在无振荡响应的系统中,临界阻尼系统的响应最快。过阻尼系统对任何输入的响应总是很慢。该参数的默认值为<年代p一个n class="inlineequation"> 1 2

对称最优因子(一个)定义了交叉频率在两个转角频率的几何平均值处的位置,以获得最大相位裕度,从而获得最佳的速度环阻尼,其中一个>1[2].该参数的默认值为1.2。

本例介绍如何自定义参数:

传感器延迟%延迟。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);

进行控制分析

这个函数mcb_getControlAnalysis对永磁同步电机FOC电流控制系统进行了基本控制分析。该函数对磁场定向电机控制系统中使用的计算PI控制器增益进行频域分析。

请注意

此功能需要控制系统工具箱。

当你调用这个函数(例如,mcb_getControlAnalysis(永磁同步电动机、逆变器、PU_System PI_params, Ts, Ts_speed)),对电流控制回路或子系统执行以下功能:

  • 闭环电流控制系统的传递函数

  • 根轨迹

  • 波德图

  • 稳定边际(PM & GM)

  • 阶跃响应

  • PZ地图

函数绘制相应的图:

参考文献

[1]绪方,K.(2010)。现代控制工程。普伦蒂斯霍尔。

[2]莱昂哈德,W.(2001)。电气驱动的控制。b施普林格科学与商业媒体。86页。