问题来源
之前看到别人的论文,他们能够从一种调制策略出发,推导出异步电机定子磁链轨迹,就一直有此疑问:如何推导呢 ?下面笔者将在本文中,采用自己摸索的方法推导出逆变器工作在方波六阶梯模式时,异步电机的定子磁链轨迹。
逆变器+异步电机数学模型
带异步电机负载的三相两电平电压源型逆变器主电路如下图所示:
逆变器中的每一个IGBT和它的反并联二极管构成一个双向开关,其工作原理是:当电流从IGBT 的集电极流向发射极时,IGBT 导通,反并联二极管被旁路;若电流反向,则通过反并联二极管进行续流,IGBT 被旁路。通常逆变器直流侧支撑电容中点接地,所以当 a 相上开关管导通时,a 点对地电压为
在对逆变器进行控制时,为了防止直流电压直接作用于开关器件,要求每相桥臂的上下开关管不能同时导通,因此每个桥臂只有两个工作状态:
- 上管开下管关;
- 上管关下管开。
可用三个开关函数
因此,逆变器是一个只有
定义逆变器相电压参考点为电机三相绕组中性点
空间矢量概念
将牵引电机看成星型连接的三相平衡负载,则三相电压满足如下关系:
根据线性空间理论,可知
另一方面,三相电压关系还确立了一个
将三相 abc 坐标系中的
根据三相平衡条件
根据以上分析,我们就将
矢量合成
对一组三相电压
根据伏秒平衡原理,对
规定
其中
方波六阶梯模式
随着基波频率上升,调制比逐渐增大,电压矢量逐渐靠近六边形边界。设有一电压矢量位于扇区I,它相对于主矢量
代入到
上式表明,当电压矢量端点刚好落在六边形边界时,空矢量作用时间为
当电压矢量超过六边形边界时,随着调制度继续增大,为了顺利合成,需要使电压矢量端点沿着六边形边往主、辅矢量靠近。电压矢量靠近主、辅矢量的原则是根据电压矢量相位角进行判断:
- 当
时,沿着六边形边靠近主矢量
- 当
时,沿着六边形边靠近辅矢量;
根据这条规则,我们可以看出随着调制度逐渐增大,主、辅矢量逐渐在各自的
定子磁链轨迹与电压矢量的关系
忽略定子电阻的影响,异步电机定子磁链矢量与电压矢量的关系如下:
异步电机定子磁链矢量
以方波六阶梯模式为例
当逆变器工作在方波六阶梯模式时,下表列出了作用的主导矢量:
根据相电压
得到
得到
利用 Mathematica 构建
Va[x_] := Piecewise[
{{2*Vdc/3, 0 < x <= (Pi/6)},
{Vdc/3, (Pi/6) < x <= (Pi/2)},
{-Vdc/3, (Pi/2) < x <= (5*Pi/6)},
{-2*Vdc/3, (5*Pi/6) < x <= (7*Pi/6)},
{-Vdc/3, (7*Pi/6) < x <= (3*Pi/2)},
{Vdc/3, (3*Pi/2) < x <= (11*Pi/6)},
{2*Vdc/3, (11*Pi/6) < x <= (2*Pi)}}];
Vb[x_] := Piecewise[
{{-Vdc/3, 0 < x <= (Pi/6)},
{Vdc/3, (Pi/6) < x <= (Pi/2)},
{2*Vdc/3, (Pi/2) < x <= (5*Pi/6)},
{Vdc/3, (5*Pi/6) < x <= (7*Pi/6)},
{-Vdc/3, (7*Pi/6) < x <= (3*Pi/2)},
{-2*Vdc/3, (3*Pi/2) < x <= (11*Pi/6)},
{-Vdc/3, (11*Pi/6) < x <= (2*Pi)}}];
变换到
result = { {1, 0}, (1/Sqrt[3])*{1, 2}}.{Va[x], Vb[x]};
Valpha[x_] := result[[1]];
Vbeta[x_] := result[[2]];
对
Integrate[Va[x], x]
Integrate[Vbeta[x], x]
结果:
画出
Plot[Va[x], {x, 0, 2*Pi}, PlotRange -> {-1, 1},
PlotStyle -> {Thin, Blue}, PlotLegends -> "Va(x)",
TicksStyle -> Black, GridLines -> {Range[0, 2*Pi, Pi/3], None},
GridLinesStyle -> Directive[LightGray, Thin]]
Plot[Vb[x], {x, 0, 2*Pi}, PlotRange -> {-1, 1},
PlotStyle -> {Thin, Blue}, PlotLegends -> "Vb(x)",
TicksStyle -> Black, GridLines -> {Range[0, 2*Pi, Pi/3], None},
GridLinesStyle -> Directive[LightGray, Thin]]
画出
Plot[Valpha[x], {x, 0, 2*Pi}, PlotRange -> {-1, 1},
PlotStyle -> {Thin, Blue}, PlotLegends -> "Valpha(x)",
TicksStyle -> Black, GridLines -> {Range[0, 2*Pi, Pi/3], None},
GridLinesStyle -> Directive[LightGray, Thin]]
Plot[Vbeta[x], {x, 0, 2*Pi}, PlotRange -> {-1, 1},
PlotStyle -> {Thin, Blue}, PlotLegends -> "Vbeta(x)",
TicksStyle -> Black, GridLines -> {Range[0, 2*Pi, Pi/3], None},
GridLinesStyle -> Directive[LightGray, Thin]]
在复平面上画出
ParametricPlot[{Valpha[x], Vbeta[x]}, {x, 0, 2 Pi}]
构造出
Falpha[x_] := 2*x/3 /; 0 < x <= (Pi/6);
Falpha[x_] := Pi/18 + x/3 /; (Pi/6) < x <= (Pi/2);
Falpha[x_] := 7*Pi/18 - x/3 /; (Pi/2) < x <= (5*Pi/6);
Falpha[x_] := 2*Pi/3 - 2*x/3 /; (5*Pi/6) < x <= (7*Pi/6);
Falpha[x_] := 5*Pi/18 - x/3 /; (7*Pi/6) < x <= (3*Pi/2);
Falpha[x_] := -13*Pi/18 + x/3 /; (3*Pi/2) < x <= (11*Pi/6);
Falpha[x_] := -4*Pi/3 + 2*x/3 /; (11*Pi/6) < x <= (2*Pi);
Fbeta[x_] := 0 /; 0 < x <= (Pi/6);
Fbeta[x_] := (1/Sqrt[3])*(x - Pi/6) /; (Pi/6) < x <= (5*Pi/6);
Fbeta[x_] := (1/Sqrt[3])*2*Pi/3 /; (5*Pi/6) < x <= (7*Pi/6);
Fbeta[x_] := (1/Sqrt[3])*(-x + 11*Pi/6) /; (7*Pi/6) < x <= (11*Pi/6);
画出
Plot[Falpha[x], {x, 0, 2*Pi}, PlotRange -> {-1, 1},
PlotStyle -> {Thin, Blue}, PlotLegends -> "Falpha(x)",
TicksStyle -> Black, GridLines -> {Range[0, 2*Pi, Pi/3], None},
GridLinesStyle -> Directive[LightGray, Thin]]
Plot[Fbeta[x], {x, 0, 2*Pi}, PlotRange -> {0, 1.3},
PlotStyle -> {Thin, Blue}, PlotLegends -> "Fbeta(x)",
TicksStyle -> Black, GridLines -> {Range[0, 2*Pi, Pi/3], None},
GridLinesStyle -> Directive[LightGray, Thin]]
在复平面上画出
ParametricPlot[{Falpha[x], Fbeta[x]}, {x, 0, 2 Pi},
TicksStyle -> Black]