主要内容

从电机参数估计控制增益

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

  • 使用<年代p一个n class="block">磁场定向控制自动调谐器块。

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

  • 使用模型初始化脚本。

定向控制自动调谐

电机控制模块集的磁场定向控制自动调谐块使您能够在实时的磁场定向控制(FOC)应用程序中自动调整PID控制回路。您可以自动调整与下列循环相关联的PID控制器(有关更多细节,请参阅<一个href="//www.tatmou.com/au/help/mcb/ug/how-to-use-field-oriented-control-autotuner.html" class="a">如何使用领域定向控制自动调谐块):

  • 纵轴(d设在)电流环

  • 交轴(问设在)电流环

  • 速度环

对于块调优的每个循环,<年代p一个n class="block">定向控制自动调谐Block以闭环方式执行自动调谐实验,而不使用与该循环相关的参数模型。块允许您指定块调整控制循环的顺序。当调优实验在一个循环中运行时,该块对其他循环没有影响。有关FOC自动调谐器的更多细节,请参阅<一个href="//www.tatmou.com/au/help/mcb/ref/fieldorientedcontrolautotuner.html" class="a">磁场定向控制自动调谐器和<一个href="//www.tatmou.com/au/help/mcb/gs/tune-pi-controllers-using-foc-autotuner.html" class="a">调谐PI控制器使用领域定向控制自动调谐器.

金宝app仿真软件控制设计

金宝app仿真软件控制设计使您能够设计和分析在Simulink中建模的控制系统。金宝app您可以自动调整任意的SISO和MIMO控制体系结构,包括PID控制器。可在嵌入式软件中部署PID自整定,实时自动计算PID增益。

你可以找到工作点,并计算出Simulink模型在不同的工作条件下的精确线性化。金宝app<年代p一个n class="entity">金宝app仿真软件控制设计提供工具,使您无需修改模型即可计算基于模拟的频率响应。有关详细信息,请参见<一个href="//www.tatmou.com/au/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

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

    该函数填充名为永磁同步电动机在MATLAB工作空间中,模型使用该工作空间。

    它还计算所选电机的永磁体磁通和额定转矩。

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

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

    mcb_SetInverterParameters

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

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

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

    您可以通过为新的逆变器增加一个额外的开关箱来扩展该功能。

    mcb_SetProcessorDetails

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

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

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

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

    mcb_getBaseSpeed

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

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

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

    mcb_SetPUSystem

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

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

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

    mcb.internal.SetControllerParameters

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

    该函数计算比例积分(π)参数(Kp,Ki)用于面向字段的控制实现。

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

    参见<一个href="//www.tatmou.com/au/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轴定子绕组电感(Henry) 永磁同步电动机。Ld
q轴定子绕组电感(Henry) 永磁同步电动机。江西
反电动势常数(V_line(peak)/krpm) 永磁同步电动机。柯
电动机惯性(kg.m<年代up>2) 永磁同步电动机。J
摩擦常数(新墨西哥州) 永磁同步电动机。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<年代ub>一个和我<年代ub>b)

逆变器。CtSensAOffset

逆变器。CtSensBOffset

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

逆变器的类型:

1 -有源高启用逆变器

0 -有源低使能逆变器

逆变器。EnableLogic

电流检测放大器类型:

1 -非反相放大器

- 1 -反相放大器

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

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

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

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

逆变器。我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
基础速度(转速) 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/au/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/au/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获得电机特点.

控制算法参数 mcb.internal.SetControllerParameters

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

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

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

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

详细信息请参见章节<一个href="//www.tatmou.com/au/help/mcb/gs/estimate-control-gains-from-motor-parameters.html" class="intrnllnk">获得控制器的收益.

对你正在使用的电机和逆变器进行控制分析 mcb_getControlAnalysis

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

请注意

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

对于细节,类型帮助mcb_getControlAnalysis在MATLAB命令提示符处。

获得基本的速度

这个函数mcb_getBaseSpeed计算给定电源电压下的永磁同步电动机的基本速度。基速是电动机在额定电压和额定负载下,在弱磁场区外的最大转速。

当您调用这个函数时(例如,base_speed = mcb_getBaseSpeed(永磁同步电动机、逆变器)),它返回的基础速度(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 为零对于表面pmms。对于内部pmms,值为<年代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>dq而不是速度

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

获得控制器的收益

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

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

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

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

  • 纵轴(d设在)电流环

  • 交轴(问设在)电流环

  • 速度环

  • 场强减弱控制回路

函数接受这些输入:

  • 永磁同步电动机的对象

  • 逆变器对象

  • 聚氨酯系统参数

  • 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.

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

%传感器延迟延迟。Current_Sensor = 2 * Ts;<年代p一个n style="color:#228B22">%电流传感器延迟延迟。Speed_Sensor = t;<年代p一个n style="color:#228B22">%速度传感器延迟延迟。Speed_Filter = 20 e - 3;<年代p一个n style="color:#228B22">速度滤波器延迟(LPF) %%控制器的延迟延迟。OM_damping_factor = 1 /√(2);<年代p一个n style="color:#228B22">%电流控制回路阻尼因数延迟。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]里昂哈,w(2001)。电气驱动的控制。施普林格科学与商业媒体。86页。