主要内容

从电机参数估计控制获得

对场向控制(FOC)算法中的速度和转矩控制回路进行控制参数整定。Motor Control Blockset™为您提供多种方法来计算从系统或块传递功能的控制环路增益,可用于电机、逆变器和控制器:

  • 使用<年代p一个n class="block">Field Dioreded Control AutoTuner块。

  • 采用<年代p一个n class="entity">金宝app®控制设计™.

  • 使用模型初始化脚本。

面向实地的控制自动箱

面向领域的控制自动箱块的电机控制块设置使您可以在实地导向的控制(Foc)应用中自动调整PID控制环路实时。您可以自动调整与以下循环关联的PID控制器(有关更多详细信息,请参阅<一个href="//www.tatmou.com/uk/help/mcb/ug/how-to-use-field-oriented-control-autotuner.html" class="a">如何使用领域定向控制自动调谐块):

  • 直轴(d-AXIS)电流循环

  • 交轴(问-AXIS)电流循环

  • 速度循环

对于块曲调的每个循环,<年代p一个n class="block">面向实地的控制自动箱块以闭环方式执行自动调谐实验,而不使用与该循环相关联的参数模型。该块使您可以指定块调谐控制循环的顺序。调谐实验运行一个循环时,块对其他环路没有影响。有关Foc AutoTuner的更多详细信息,请参阅<一个href="//www.tatmou.com/uk/help/mcb/ref/fieldorientedcontrolautotuner.html" class="a">Field Dioreded Control AutoTuner和<一个href="//www.tatmou.com/uk/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/uk/help/slcontrol/index.html" target="_blank">//www.tatmou.com/help/slcontrol/index.html.

模型初始化脚本

本节解释电机控制模块集示例如何估计实现面向磁场控制所需的控制增益。例如,对于连接到正交编码器的PMSM,以下步骤描述了使用初始化脚本从系统细节中计算控制回路增益值的过程:

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

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

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

  2. 图中显示了初始化脚本的示例(.m)文件。

  3. 使用<年代trong class="guilabel">工作区编辑控制变量值。例如,更新定子电阻(Rs),使用变量PMSM将参数值添加到Rs字段。

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

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

    mcb_SetPMSMMotorParameters

    输入功能的输入是电机类型(例如,BLY171D)。

    该函数填充名为PMSM在MATLAB工作空间中,模型使用。

    它还计算所选电动机的永磁通量和额定扭矩。

    您可以通过为新电机添加其他交换机来扩展功能。

    该函数还加载结构motorParam,得到的运行参数估计,结构PMSM.如果结构motorParam在MATLAB工作空间中不可用,函数加载默认参数。

    mcb_SetInverterParameters

    功能输入为逆变器类型(例如BoostXL-DRV8305)。

    该函数填充名为逆变器在MATLAB工作空间中,模型使用。

    该功能还计算所选逆变器的逆变器电阻。

    您可以通过为新变频器添加其他交换机来扩展功能。

    mcb_setProcessordetails.

    该功能的输入是处理器类型(例如,F28379D)和脉冲宽度调制(PWM)开关频率。

    该函数填充名为目标在MATLAB工作空间中,模型使用。

    该功能还计算PWM计数器周期,这是一个参数的ePWM块在目标模型。

    您可以通过为新处理器添加额外的开关箱来扩展该功能。

    mcb_getbasespeed.

    功能的输入是电机和逆变器的参数。

    该函数计算永磁同步电动机的基本速度。

    类型帮助mcb_getBaseSpeed在MATLAB命令窗口或参阅小节<一个href="//www.tatmou.com/uk/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获得基本的速度更多细节。

    mcb_setpusystem.

    功能的输入是电机和逆变器的参数。

    该功能设置了电压、电流、速度、扭矩和功率的单位系统的基本值。

    该函数填充名为PU_System在MATLAB工作空间中,模型使用。

    mcb.internal.SetControllerParameters

    该功能的输入是电机和逆变器参数、单位系统基值、PWM开关时间周期、控制系统的采样时间和速度控制器的采样时间。

    该函数计算比例积分(PI.) 参数 (kp.,ki.)用于面向字段的控制实现。

    该函数填充名为PI_params在MATLAB工作空间中,模型使用。

    参见<一个href="//www.tatmou.com/uk/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获得控制器收益更多细节。

    mcb_updateInverterParameters

    功能的输入是电机和逆变器的参数。

    该功能根据所选的硬件和电机更新逆变器参数。

该表解释了可以更新的每个控制参数的有用变量。

请注意

您可以尝试在Windows上的管理员模式下启动MATLAB<年代up>®系统,如果您无法更新与示例模型关联的模型初始化脚本。

控制参数类别 控制参数名称 Matlab Workspace变量
电机参数 制造商的型号 pmsm.model.
制造商的序列号 pmsm.sn.
杆对 pmsm.p
定子电阻(欧姆) PMSM.RS.
d轴定子绕组电感(Henry) 永磁同步电动机。Ld
Q轴定子绕组电感(亨利) 永磁同步电动机。江西
反EMF常数(v_line(峰值)/ krpm) 永磁同步电动机。柯
电动机惯性(kg.m<年代up>2) 永磁同步电动机。J
摩擦常数(新墨西哥州) 永磁同步电动机。F
永磁通量(WB) pmsm.fluxpm.
证明的 pmsm.t_rated.
Nbase 永磁同步电动机。N_base
受害人 pmsm.i_rated.
位置解码器 QEP指数和霍尔位置偏移校正 pmsm.PositionOffset.
每次旋转正交编码器狭缝 永磁同步电动机。QEPSlits
逆变器参数 制造商的型号 逆变器.Model.
制造商的序列号 逆变器
逆变器直流环节电压(V) 逆变器。V_dc
逆变器最大允许电流(A) inverter.i_trip.
MOSFET(欧姆)的导通电阻 逆变器。Rds_on
对电流检测的分流阻力(欧姆) 逆变器
电机(欧姆)看到的每相板电阻 inverter.r_board.
电流传感器(I<年代ub>一个和我<年代ub>b)

逆变器。CtSensAOffset

inverter.ctsensboffset.

最大限制对电流传感器的自动校准ADC偏移(I<年代ub>一个和我<年代ub>b) 逆变器。CtSensOffsetMax
用于电流传感器自动校准ADC偏移的最小限制(I<年代ub>一个和我<年代ub>b) 逆变器。CtSensOffsetMin
启用当前检测adc的自动校准 逆变器。ADCOffsetCalibEnable
SPI配置的ADC增益因子 逆变器.Adcgain.

逆变器类型:

1 - 有效的高位启用逆变器。

0 -有源低使能逆变器。

Inverter.Enablelogic.

电流检测放大器类型:

1 -非反相放大器

- 1 -反相放大器

逆变器
逆变电流传感电路参考电压(V) 逆变器。我SenseVref

1安培电流(V/A)对应的逆变电流检测电路输出电压

您可以使用分流电阻的数据表值来计算该参数(逆变器)和逆变器的电流检测放大器增益。

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

逆变器。我SenseVoltPerAmp
逆变器电流检测电路(A)的最大可测量峰中电流 Inverter.isensemax.
处理器 制造商的型号 target.model
制造商的序列号 target.sn
CPU频率 目标。CPU_frequency
脉宽调制频率 target.pwm_frequency.
PWM柜台期 目标。PWM_Counter_Period
ADC参考电压(V) 目标。ADC_Vref
12位ADC的最大计数输出 目标。ADC_MaxCount
串口通信的波特率 target.sci_baud_rate.
每单位系统 基电压(V) pu_system.v_base.
基极电流(A) pu_system.i_base.
基础速度(转速) 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.
传感器延迟参数 电流传感器延迟 delays.Current_Sensor.
速度传感器延迟 delays.speed_sensor.
用于低通速度滤波器的延迟 delays.speed_filter.
控制器延时参数 电流控制回路的阻尼系数(ζ) 延迟。OM_damping_factor
速度控制环的对称最佳因子 delays.so_factor_speed

请注意

对于预定义的处理器和驱动程序,模型初始化脚本使用默认值。

模型初始化脚本使用以下函数进行计算:

控制参数类别 功能 功能
电机的基速 mcb_getbasespeed.

计算了永磁同步电动机在额定电压和额定负载下的基本速度。

有关详细信息,请键入帮助mcb_getBaseSpeed在MATLAB命令提示符或参见章节<一个href="//www.tatmou.com/uk/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获得基本的速度.

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

获得电机的这些特性。

  • 扭矩相对于速度特性

  • 与速度特性相对的功率特性

  • 智商而不是速度和ID与速度特征相反

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

控制算法参数 mcb.internal.SetControllerParameters

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

  • 电流(扭矩)控制回路增益(kp.,ki.)对于电流ID和IQ

  • 速度控制环路(kp.,ki.)

  • 现场弱化控制收益(kp.,ki.)

有关详细信息,请参阅部分<一个href="//www.tatmou.com/uk/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获得控制器收益.

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

对现场导向电机控制系统中使用的PI控制器的计算增益进行频域分析。

请注意

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

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

获得基本的速度

功能mcb_getbasespeed.计算给定电源电压下的永磁同步电动机的基本速度。基速是电动机在额定电压和额定负载下,在弱磁场区外的最大转速。

当您调用此功能时(例如,base_speed = mcb_getBaseSpeed(永磁同步电动机、逆变器)),它返回给定组合的PMSM和逆变器的基本速度(以RPM为单位)。该函数接受以下输入:

  • 永磁同步电动机参数结构。

  • 逆变器参数结构。

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

通过计算,定义了逆变器电压约束d-axis和问-AXIS电压:

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 表面PMSMS为零。室内PMSMS,值<年代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的这些特征:

  • 扭矩与速度相反

  • 电力与速度相反

  • 我<年代ub>问与速度相反

  • 我<年代ub>d与速度相反

获得控制器收益

功能mcb.internal.SetControllerParameters计算用于磁场定向电机控制系统的PI控制器的增益。

可以使用此命令来调用该函数mcb.internal.SetControllerParameters:

pi_params = mcb.internal.setControllerParameters(PMSM,逆变器,PU_SYSTEM,T_PWM,TS,TS_SPEED);

该函数返回FOC算法中使用的这些PI控制器的增益:

  • 直轴(d-AXIS)电流循环

  • 交轴(问-AXIS)电流循环

  • 速度循环

  • 现场弱化控制回路

函数接受这些输入:

  • 永磁同步电动机的对象

  • 逆变器对象

  • PU系统参数

  • T_pwm

  • ts_control.

  • ts_speed

函数没有绘制出任何特征。

补偿器的设计依赖于应用于电机控制系统的经典频率响应分析。电流控制器采用模量优化设计,速度控制器采用对称优化设计。

该函数根据输入参数自动计算其他所需参数(例如,延迟、阻尼因子)。

你可以通过指定系统延迟、阻尼因子和对称最佳因子的函数的可选输入来修改默认系统响应:

PI_params = mcb.internal.SetControllerParameters(永磁同步电动机、逆变器、PU_System T_pwm, Ts, Ts_speed,延迟);

阻尼因子 (ζ)定义二阶系统的标准形式的动态行为,其中0<ζ<1[1]。被拒绝的系统比批判性衰减或过度的系统更快地接近最终值。在没有振荡的情况下响应的系统中,一个批判性的系统显示了最快的响应。估计系统始终慢响应任何输入。此参数具有默认值<年代p一个n class="inlineequation"> 1 2

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

这个例子解释了如何自定义参数:

%传感器延迟delays.Current_Sensor.=2*Ts;<年代p一个n style="color:#228B22">%电流传感器延迟delays.speed_sensor = ts;<年代p一个n style="color:#228B22">%速度传感器延迟delays.speed_filter.=20e-3;<年代p一个n style="color:#228B22">速度滤波器延迟(LPF) %%控制器延迟延迟。OM_damping_factor = 1 /√(2);<年代p一个n style="color:#228B22">%电流控制回路阻尼因数delays.so_factor_speed=1。5;<年代p一个n style="color:#228B22">%对称优化因子1 < x < 20%控制器设计PI_params = mcb.internal.SetControllerParameters(永磁同步电动机、逆变器、PU_System T_pwm, Ts, Ts_speed,延迟);

执行控制分析

功能mcb_getControlanalysis.对永磁同步电动机FOC电流控制系统进行了基本控制分析。该函数对用于磁场定向电机控制系统的PI控制器增益进行频域分析。

请注意

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

当您调用此功能时(例如,mcb_getControlAnalysis(永磁同步电动机、逆变器、PU_System PI_params, Ts, Ts_speed)),它对当前控制循环或子系统执行以下功能:

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

  • 根基因座

  • 波德图

  • 稳定边际(PM & GM)

  • 阶段响应

  • PZ地图

函数绘制了相应的图:

参考

[1]Ogata, k(2010)。现代控制工程。普伦蒂斯霍尔。

[2]Leonhard,W.(2001)。控制电动驱动器。Springer科学与商业媒体。第86页。