MBD笔记:PMSM直接转矩控制
控制原理
直接转矩控制(Direct Torque Control,DTC):继矢量控制后发展的高性能交流变频调速技术. 摒弃复杂的解耦和坐标变换,直接在静止坐标系下对核心变量进行控制.
DTC核心思想:直接在静止坐标系下,对电机的定子磁链、电磁转矩进行独立、快速的闭环控制,响应速度极快.
DTC工作原理:利用Bang-Bang控制(滞环控制)直接产生PWM信号,对逆变器开关状态进行最佳控制,从而获得转矩的高动态性能.
滞环控制:控制工程中称为 双位或开-关控制作用(参见控制工程笔记:控制系统的数学模型),设置一个上下界区域,如果超过上届,输出1;如果低于下届,输出0.
三相PMSM各矢量关系如下图:

其中,d轴与α轴夹角\(\theta_e\)为电角度,定子磁链\(\psi_s\)与α轴夹角\(\theta_s\)(称为定子磁链角或定子磁链空间位置角);转子磁链 \(\psi_f\) 沿d轴方向,q轴不存在永磁励磁分量.
转矩角:定子磁链\(\psi_s\) 与转子磁极磁链 \(\psi_f\)(d轴)之间夹角\(\delta\),直接决定转矩大小. 可以理解成,定子磁链超前转子磁链一个“转矩角”.
可知定子磁链在d-q轴投影:
我们的直接转矩控制,就是控制转矩角大小.
结合PMSM的d-q轴下的坐标变换关系(定子磁链方程,参见MBD笔记:三相PMSM数学模型 式(26)):
d轴磁链\(\psi_d\) 负责“励磁”或“弱磁”,是沿转子永磁体磁场方向(直轴)的磁链分量,主要由永磁体磁链 ψf 和 d轴电流 id 共同产生;
控制作用:
- 在表贴式电机(SPMSM)中,通常令 id = 0,此时 ψd = ψf,即完全由永磁体提供磁场;
- 在内置式电机(IPMSM)中,可通过调节 id 实现“弱磁控制”,以扩展电机高速运行范围;
- d轴电流不直接产生转矩,但影响电机的磁路饱和与效率.
q轴磁链 \(\psi_q\) 负责“产生转矩”,是垂直于转子磁场方向(交轴)的磁链分量,完全由 q轴电流 iq 产生.
控制作用:
- iq 是电磁转矩的主要来源,电磁转矩公式 \(T_e = (3/2)p_n·(ψ_d i_q - ψ_q i_d) = (3/2)p_n[\psi_f i_q + (L_d - L_q)i_di_q]\),当\(i_d=0\)时,\(T_e ∝ ψ_d i_q\);
- 通过独立调节 iq,可实现对电机输出转矩的快速、精确控制;
- FOC中,q轴电流环是转矩控制的核心环节.
由(1)(2)可得,
将(1)(3)代入电磁转矩公式:
第一项永磁体转矩(含\(sin\delta\)项),也叫励磁转矩,由电机定子、转子之间的磁场相互作用产生;
第二项磁阻转矩(含\(sin2\delta\)项),由电机的凸极结构产生.
可通过2个方式实现直接转矩控制:
1)改变转矩角 \(\delta\)(DTC快速施加电压矢量);
2)改变定子磁链幅值\(\psi_s\)(多用于弱磁扩速场景).
对于PMSM,如果超过额定转速,就需要用到弱磁控制.
由上面三相PMSM各矢量关系图,
从宏观角度,\(\delta = \theta_s - \theta_e\)
从微观角度,用上式得到增量:
在极短的控制周期内(如10KHz foc算法周期),因为 机械时间常数 << 电气时间常数,我们可以认为电机的转子“静止不动”,即\(\Delta\theta_e≈0\),因此转矩的变化完全取决于我们如何快速改变定子磁场. 那么,\(\Delta \delta = \Delta\theta_s\)
电气时间常数:描述电流(及定子磁场,即转矩角)建立或衰减的快慢;
机械时间常数:描述转子位置(即电角度)和转速变化的快慢.
对于SPMSM(表贴式PMSM),定子电感满足 \(L_d=L_q=L\),(4)可写成:
取其增量形态:
注:原书这里是 \(sin\delta\) 不正确.
其中,\(\delta_0\) 是定子磁链 \(\psi_s\) 与转子磁链 \(\psi_f\) 的夹角,即转矩角.
证明:假设转矩角\(\delta_0\)有一个微小变化\(\Delta \delta\)
那么,转矩增量 \(\Delta T_e = T_e(\delta_0 + \Delta \delta) - T_e(\delta_0)\)
\(T_e(\delta_0 + \Delta \delta) = \frac{3}{2}\frac{p_n}{L_s} |\psi_s| \psi_f sin (\delta_0 + \Delta \delta) \)
由泰勒展开一阶近似:\(f(x+\Delta x) ≈ f(x) + f'(x)\Delta x\),知,
\(\Delta \delta \to 0\)时,\(sin (\delta_0 + \Delta \delta) ≈ sin \delta_0 + cos \delta_0 \cdot \Delta \delta\)
所以,
证毕.
由(5)(7)知,只要让定子磁链矢量 \(\psi_s\) 的角度 \(\theta_s\) 动一下(\(\Delta\theta_s\)),就会立刻转化为转矩角 \(\delta\) 的变化.
我们如何改变定子磁链呢?
答:可以通过控制施加在逆变器上的电压矢量,来控制定子磁链.
由PMSM定子电压方程(法拉第电磁感应定律工程形式):
其中,\(\psi_s\) 是定子磁链(Wb),\(u_s\) 定子相电压(V),\(R_s\) 定子绕组电阻(Ω),\(i_s\) 定子电流(A). \(\frac{d\psi_s}{dt}\) 定子感应电动势
因为一般电机的定子电阻较小,所以我们可以忽略定子电阻的影响,(8)可以变化为:
这意味着,我们控制磁链的变化率,可以控制施加到逆变器上的电压矢量,实现对整个磁链的控制,从而实现对电机的控制.
传统DTC实现
控制框图:

所谓开关表,就是逆变器的电压矢量对应的开关顺序;而开关表的每一个矢量,代表了3相桥臂的一种开关状态.
主要步骤:
- 测量:通过传感器测量电机的两相定子电流\(i_a,i_b\)和直流母线电压\(U_{dc}\);
- 估算磁链和电磁转矩:根据定子电压、电流、定子电阻之间的关系;
- 判断扇区N:根据定子磁链角度\(\theta_s\)(与\(α\)轴夹角),确定定子磁链位于电压空间矢量图的扇区;
- Bang-bang控制(滞环控制):磁链滞环比较器和转矩比较器;
- 查表选择电压矢量:磁链滞环比较强和转矩比较强;
测量关键变量
我们需要测量两相定子电流\(i_a,i_b\)和直流母线电压\(U_{dc}\).
1)计算αβ静止坐标系下的电流
根据\(i_\alpha,i_\beta\) 和 \(i_a,i_b,i_c\) 直接关系(等幅值克拉克变换,参见MBD笔记:三相PMSM数学模型 式(6)),
对应星形 Y 接,无中性线引出的PMSM,由KCL 基尔霍夫电流定律:流入中性点的电流总和必须为 0,无零线就没有电流从中性点流走,那么 \(i_a + i_b + i_c = 0\) (三相电流之和为0).
可求得静止坐标系下的电流\(i_\alpha,i_\beta\):
2)计算相电压
由MBD笔记:SVPWM技术 式(11),可知三相电压与开关状态\(s_{a/b/c}\)、母线电压\(V_{dc}\)之间关系:
也就是说,我们只需要测量母线电压,就能根据开关状态得到三相电压.
估算磁链、电磁转矩
αβ静止坐标系下的磁链方程
因为\(\psi_\alpha, \psi_\beta\) 是定子磁链\(\psi_s\)在\(\alpha\beta\)静止坐标系的坐标轴分量,所以可以由(8)得到磁链方程:
由(4),电磁转矩可写为
其中,\(\vec{\psi_s}\) 定子磁链矢量在dq轴投影\(\vec{\psi_s} = (\psi_d, \psi_q)\),\(\vec{i_s}\) 电流矢量在dq轴投影\(\vec{i_s} = (i_d, i_q)\).
如果将\(\vec{\psi_s}, \vec{i_s}\) 投影到αβ轴,那么,\(\vec{\psi_s} = (\psi_\alpha, \psi_\beta), \vec{i_s} = (i_\alpha, i_\beta)\)
所以,\(T_e\) 也可以写成:
dq旋转坐标系下的磁链方程
也可以通过Park变换及逆变换,将定子磁链在dq轴的分量\(\psi_d, \psi_q\)与αβ轴分量\(\psi_\alpha, \psi_\beta\)之间进行转换.
判断扇区位置
三相电压源逆变器的拓扑结构:

因为三相PMSM的同一相上下桥不能同时导通,而在任一瞬间,有3个桥臂同时导通,此时,对应8种(\(2^3\)=8)开关状态,即
8个电压矢量 = 6个非零矢量\(\mathbf{U}_1(001),\mathbf{U}_2(010),\mathbf{U}_3(011),\mathbf{U}_4(100),\mathbf{U}_5(101),\mathbf{U}_6(110)\) + 2个零矢量 \(\mathbf{U}_0(000), \mathbf{U}_7(111)\).
电压空间矢量图:

一共分为6个扇区S1-S6,定子磁链\(\psi_s\)所在扇区,判断方法类同 MBD笔记:SVPWM技术 参考电压矢量扇区判断.
如何判断定子磁链所在扇区?
答:如果我们能算出定子磁链\(\psi_s\)在\(U_4,U_2,U_1\) 这3个相互间隔120°的基础矢量上的投影\(a_1,b_1,c_1\),然后通过投影的符号\(a,b,c\),就能判断出所在扇区编号(1 ~ 6).
设定子磁链\(\psi_s\)在\(αβ\)轴分量\(\psi_\alpha,\psi_\beta\),那么在\(U_4,U_2,U_1\) 上投影分别为:
当\(a_1>0\)时,令\(a=0\);否则\(a=1\)
当\(b_1>0\)时,令\(b=0\);否则\(b=1\)
当\(c_1>0\)时,令\(c=0\);否则\(c=1\)

如上图,基础矢量U4、U2、U1所在直线将平面划分为6个部分,即6个扇区\(s_1\dots s_6\).
令中间变量 \(N_1 = 4 * a + 2 * b + c\) (形如\(N_1 = 0babc\)),则可将目标磁链矢量与扇区联系起来.
| 扇区 | a | b | c | N1 = 4a + 2b + c |
|---|---|---|---|---|
| Ⅰ | 0 | 1 | 1 | 3 |
| Ⅱ | 0 | 0 | 1 | 1 |
| Ⅲ | 1 | 0 | 1 | 5 |
| Ⅳ | 1 | 0 | 0 | 4 |
| Ⅴ | 1 | 1 | 0 | 6 |
| Ⅵ | 0 | 1 | 0 | 2 |
为什么要判断定子磁链\(\psi_s\)所在扇区?
答:因为DTC控制逻辑目标,是通过选择不同电压矢量,调节定子磁链幅值、电磁转矩;而电压矢量对磁链的增减作用,完全取决于当前定子磁链落在哪个扇区.
Bang-bang控制
传统直接转矩控制,采用Bang-bang(滞环)控制器,原理:
根据电机实际值、期望值得到差值,同时设置滞环容差值,当其差值未超过容差值的范围时,继续沿用上次的信号输出,而输出一般为0或1(保持上一个输出).
当实际值 > 期望值,且在容差值之外,输出信号0,表示需要减小实际值;
当实际值 < 期望值,且在容差值之外,输出信号1,表示需要增大实际值.
Bang-bang控制器的函数形式:
其中,\(\phi\) 磁链控制输出信号,1表示需要增大磁链,0表示需要减小磁链(在容差范围内)或“不变”(在容差范围外);\(\psi_s^*\) 定子磁链参考值,\(\psi_s\) 实际观测或估算的定子磁链.
其中,\(\tau\) 转矩控制输出信号,1(需增大转矩)、0(需减小转矩)或“不变”;\(T_e^*\) 电磁转矩参考值,\(T_e\) 实际观测或估算的电磁转矩.
上面2个式子图示(传统Bang-bang控制):

判断定子磁链大小变化(\(\Delta |\psi_s| = |\psi_s|^* - |\psi_s|\))的关键: 电压矢量\(\bm{u_s}\)和定子磁链\(\psi_s\)的夹角 .
当 夹角 < 90° 时,电压矢量在定子磁链上的投影与定子磁链同向,会使磁链大小增加;
当 夹角 > 90° 时,投影与定子磁链反向,会使磁链大小减小.
判断转矩大小变化的关键:分析电压矢量在垂直于当前定子磁链\(\psi_s\)方向上的投影.
径向分量(垂直于投影)决定 定子磁链幅值,切向分量(平行于投影)决定 磁链矢量的旋转速度、方向.
查表选择电压矢量
传统直接转矩控制只需要调节各自容差值,就能对相应的控制环进行控制. 因此,在确定了Bang-bang控制的信号输出方式以及每个区域内电压空间矢量对电机磁链和转矩影响后,就能建立三相PMSM最优开关表:
三相 PMSM 无零矢量的 DTC 开关表
| 磁链比较器输出φ | 转矩比较器输出τ | 扇区s₁ | 扇区s₂ | 扇区s₃ | 扇区s₄ | 扇区s₅ | 扇区s₆ |
|---|---|---|---|---|---|---|---|
| 1 | 1 | U₆(110) | U₂(010) | U₃(011) | U₁(001) | U₅(101) | U₄(100) |
| 0 | U₅(101) | U₄(100) | U₆(110) | U₂(010) | U₃(011) | U₁(001) | |
| 0 | 1 | U₂(010) | U₃(011) | U₁(001) | U₅(101) | U₄(100) | U₆(110) |
| 0 | U₁(001) | U₅(101) | U₄(100) | U₆(110) | U₂(010) | U₃(011) |
对于电磁转矩的控制,上表只用到6个非零矢量.
零矢量DTC
传统DTC存在问题

当电机三相定子绕组内阻足够小时,我们忽略其定子内阻影响,于是由(9),\(\frac{d\psi_s}{dt} = u_s\)
所以,一个开关周期内,
由(5),\(\Delta \delta = \Delta\theta_s - \Delta\theta_e\),知,
而(7)电磁转矩的增量形式, \(\Delta T_e = \frac{3}{2}\frac{p_n}{L_s} |\psi_s| \psi_f \Delta \delta cos \delta_0\),知转矩角增量\(\Delta \delta\)直接影响\(\Delta T_e\);\(u_s\) 影响定子磁链增量\(\Delta \psi_s\),进而影响\(\Delta T_e\).
非零矢量\(u_s\)(6个基本非零电压矢量中的任意一个)的幅值恒定、方向固定. 当施加非零矢量时,\(\psi_s\) 沿该矢量方向快速移动,导致转矩角\(\delta\) 突变,转矩角急剧变化,造成显著脉动.
脉动:原本应该平稳恒定的物理量,出现周期性、小幅上下波动、抖振,这种周期性起伏就叫脉动.
零矢量工作原理
在增大/减小过程中,通过添加一个零矢量作为缓冲,来实现定子磁链变化,如此,便能有效避免脉动问题.
零矢量核心思想:“磁链暂停,转子继续跑”.
-
定子侧:施加零矢量\(\mathbf{U_0}/\mathbf{U_7}\),满足逆变器输出电压\(u_s=0\) => \(\dfrac{d\psi_s}{dt} ≈ u_s = 0\) => \(\psi_s\) 保持恒定,即定子磁链在空间中“冻结”不动了.
-
转子侧:此时,由于机械惯性作用,转子磁链\(\psi_f\)继续以速度\(\omega_e\)旋转,即
转矩角\(\delta\) 变化为:
转矩角\(\delta\)自然减小. 而转矩公式:
所以,当转矩角\(\delta\)减小时,转矩平缓下降.
注意:这里有一个前提,就是我们设计直接转矩控制开关表、控制策略时,会默认确保电机工作在线性区(转矩角为0° ~ 90°,通常范围会更小如0° ~ 30°). 在线性区内,\(sin\delta\) 是单调递增的.
- 结果:因为定子不动,转子在动,两者之间的夹角(转矩角 \(\delta\) )会因为转子的靠近而自然减小
小结:
1)无零矢量时,转矩调节只有大幅增加(选正向非零矢量)、大幅减少(选反向非零矢量)两种状态,变化剧烈,脉动大;
2)引入零矢量后,增加自然衰减状态. 当转矩略高于目标时,使用零矢量使转矩柔和下降,避免反向矢量造成的过调与振荡;
3)零矢量通过使定子磁链暂停、等待转子磁链来微调转矩角,实现对电磁转矩的精细调节,有效抑制低频转矩脉动.
零矢量和死区,在“物理现象”上非常相似,但在“控制目的”和“作用机制”上完全不同.
简单来说:
- 死区是硬件保护带来的被动副作用(不得不做的停顿);
- 零矢量是控制算法带来的主动调节手段(故意插入的停顿).
零矢量实现原理
零矢量的选择是根据 最小开关动作原则.
三相 PMSM 含零矢量的 DTC 开关表
| 磁链比较器输出φ | 转矩比较器输出τ | 扇区s₁ | 扇区s₂ | 扇区s₃ | 扇区s₄ | 扇区s₅ | 扇区s₆ |
|---|---|---|---|---|---|---|---|
| 1 | 1 | U₆(110) | U₂(010) | U₃(011) | U₁(001) | U₅(101) | U₄(100) |
| 0 | U₇(111) | U₀(000) | U₇(111) | U₀(000) | U₇(111) | U₀(000) | |
| -1 | U₅(101) | U₄(100) | U₆(110) | U₂(010) | U₃(011) | U₁(001) | |
| 0 | 1 | U₂(010) | U₃(011) | U₁(001) | U₅(101) | U₄(100) | U₆(110) |
| 0 | U₀(000) | U₇(111) | U₀(000) | U₇(111) | U₀(000) | U₇(111) | |
| -1 | U₁(001) | U₅(101) | U₄(100) | U₆(110) | U₂(010) | U₃(011) |
如何根据这张开关表工作?
比较器输出\(\psi, \tau\),磁链所在扇区(\(s_1\dots s_6\))编号是输入,输出的是合适的电压矢量(\(U_0\dots U_7\)),即桥臂开关状态. 而实现开关状态,是由逆变器模块产生PWM波形.
增加零矢量后,转矩滞环的控制策略如下图:
当\(\tau =1\)时,选择使转矩增大的矢量;
当\(\tau =-1\)时,选择使转矩减小的矢量;
当\(\tau = 0\)时,选择零矢量.

使用零矢量,能改善传统直接转矩控制存在的转矩脉动问题,但是它有一个很大缺点:开关频率不固定,不利于选择合适的开关管,不利于计算过程中设计合理的控制器参数.
为解决该问题,下面介绍2种方法:1)基于滑膜控制的直接转矩控制;2)基于空间矢量脉宽调制方法.
传统DTC仿真
仿真模型
主要参考这个控制框图:

仿真模型中,需要我们自行实现PWM模块功能,产生PWM波形.
电机参数:
极对数\(pn = 4\),定子电感\(L_s = 8.5mH\),定子电阻 \(R=1.2Ω\),转子磁链\(\psi_f = 0.175Wb\),转动惯量\(J=0.0008 kg\cdot m^2\)
注意:传统DTC控制的开关频率不确定,因此无法确定PWM频率.
仿真条件:
母线电压\(V_{dc} = 311V\),采用变步长ode23tb算法,Max Step size设置为2e-6,相对容差1e-4,仿真时间0.4s.
无零矢量转矩滞环控制器的开关切换点[0.15, -0.15](不是区间,而是2个点),输出为[1, 0](2个值);
含零矢量的开关切换点[0.15, 0, -0.15](三个点),输出为[1, 0, -1](3个值).
磁链滞环控制器开关切换点 [0.002, -0.002](2个点),输出为 [1, 0]. (尚未考虑3个值的输出)
设定子磁链参考值略大于转子磁链,取\(|\psi_s|^* = 0.177Wb\),参考转速N_ref = 600rpm,初始时刻负载转矩 \(T_L = 0 N\cdot m\),在t=0.2s时负载转矩\(T_L = 1.5 N\cdot m\).
仿真模型:

- 电机模块
之前模型实现过多次,参照电机参数、仿真条件来设置参数.

电机模块,还实现了相电流Iabc、电角度Theta、转速Speed、转矩Torque、dq轴电流等参数测量.

- 模式切换
用手动切换模式:含零矢量模式(默认),不含零矢量模式.

- 转速环PI控制器
转速环:

PI模块:

对于中小型PMSM(转动惯量J≈0.001~0.01 kg·m²),PI控制器的参数Kp、Ki可尝试以下初始值(经验值):
1)Kp = 0.3 ∼ 0.8
2)Ki = 5 ∼ 20
什么叫中小型PMSM?
“中小型PMSM”是按功率、尺寸和应用场景划分的电机类别,核心特征是转动惯量小、响应快、适用于精密控制。具体划分标准如下:
| 类别 | 功率范围 | 转动惯量(J) | 典型应用场景 |
|---|---|---|---|
| 小型PMSM | <1 kW | 0.0001~0.001 kg·m² | 无人机、机器人关节、小型伺服驱动器 |
| 中型PMSM | 1~10 kW | 0.001~0.01 kg·m² | 数控机床主轴、电动汽车驱动电机、工业风机/泵类 |
| 大型PMSM | >10 kW | >0.01 kg·m² | 风力发电机、船舶推进系统、重型机械驱动 |
- 转矩滞环 Torque Hysteresis Controller
实现兼容了2种转矩滞环,通过用户手动指定模式开关来切换:
1)包含零矢量转矩滞环(输出值为0, 1)
2)不包含零矢量转矩滞环(输出值为-1,0,1)

包含零矢量的转矩滞环:

不包含零矢量转矩滞环:
由Normal模块(Relay模型)实现.
由于我们的电机是SPMSM(表贴式,Lq=Ld=Ls),因此,可以采用\(i_d = 0\)的控制,\(T_e = 1.5p_n(\psi_d i_q - \psi_q i_d) = 1.5p_n\psi_d i_q\)

- (定子)磁链滞环

计算磁链:
我们先计算磁链\(\psi_s\) 在dq轴的分量,然后用反Park变换得到αβ轴的分量,用于定子磁链所在扇区计算. 主要用到公式(14),计算磁链\(\psi_d,\psi_q, |\psi_s|\);用反Park变换得到\(\psi_\alpha,\psi_\beta\).

磁链滞环:

- 扇区确定
我们用一个Matlab Function模型来实现,计算出定子磁链\(\psi_s\)所在扇区(编号1 ~ 6). Matlab代码:
% 通过定子磁链psi_s在alpha,beta轴分量, 判断出定子磁链所在扇区
function N = section(u)
psi_alpha = u(1);
psi_beta = u(2);
a1 = psi_alpha; % 磁链在U4矢量方向上的投影
b1 = psi_alpha * (-0.5) + (sqrt(3) / 2) * psi_beta; % 磁链在U2矢量方向上的投影
c1 = psi_alpha * (-0.5) - (sqrt(3) / 2) * psi_beta; % 磁链在U1矢量方向上的投影
if a1 > 0
a = 0;
else
a = 1;
end
if b1 > 0
b = 0;
else
b = 1;
end
if c1 > 0
c = 0;
else
c = 1;
end
N1 = 4 * a + 2 * b + c; % 扇区计算中间量
switch N1
case 1
N = 2;
case 2
N = 6;
case 3
N = 1;
case 4
N = 4;
case 5
N = 3;
case 6
N = 5;
otherwise
N = 1; % 默认在第一扇区
end
- 直接转矩开关切换表
实现 不包含零矢量的DTC开关表、包含零矢量的DTC开关表,同时模拟逆变器生成PWM波形.


DTC开关表通过Matlab Function实现,代码:
function vec = PMSM_switch(u, Mode) % 从DTC 开关表查找对应的基础矢量编号, 即0~7,对应U0~U7
N = round(u(1)); % 扇区
flux_out = u(2);
torque_out = u(3);
V_Table0 = [ 1 5 4 6 2 3 ; 2 3 1 5 4 6 ; 5 4 6 2 3 1 ; 6 2 3 1 5 4]; % 无零矢量模式下的开关表
V_Table1 = [ 1 5 4 6 2 3 ; 8 7 8 7 8 7 ; 2 3 1 5 4 6 ; 5 4 6 2 3 1 ; 7 8 7 8 7 8 ;6 2 3 1 5 4]; % 含零矢量模式下的开关表
vec = 1; % 默认选择U1矢量
if Mode == 0 % 无零矢量模式
x = 2 * flux_out + torque_out + 1;
vec = V_Table0(x, N);
elseif Mode == 1 % 含零矢量模式
x = 3 * flux_out + torque_out + 2;
vec = V_Table1(x, N);
end
例如,该模块输出 1,代表矢量\(U_1\),即当前开关状态应该是\(U_1(001)\), (0,0,1) 就是三相高边开关状态. 对应桥臂低边开关状态,使用一个逻辑非门(NOT模块)即可.
仿真结果
- 不含零矢量
转速\(Nr\)变化曲线:

电磁转矩\(T_e\)变化曲线:

三相电流\(I_{abc}\)变化曲线:

磁链相图变化曲线(XY Graph模块):

- 含零矢量模式
转速\(Nr\)变化曲线:

电磁转矩\(T_e\)变化曲线:

三相电流\(I_{abc}\)变化曲线:

磁链相图变化曲线(XY Graph模块):

当电机从0上升到参考转速600rpm时,具有较快的响应速度;突加负载时,也能快速恢复.
另外,对比无零矢量的DTC系统,含义零矢量的DTC系统具有较好的动态性能,电磁转矩波动更小(截图尚未体现,需要放大查看电磁转矩波形).
基于滑膜控制的DTC控制
超螺旋滑膜控制原理
传统一阶滑模控制
定义滑模面\(s(x) = 0\). 控制器U通常由等效控制Ueq和切换控制Usw构成:
滑模面,通常跟我们的跟踪误差有关,对于电机控制,调速系统的跟踪误差就是转速误差,伺服系统的跟踪误差就是转子位置.
其中,等效控制Ueq 是根据电机的数学表达式(电机的状态方程)获得;切换控制项Usw 通常包含不连续的符号函数:
符号函数\(sgn(s) = 0\)在s=0处不连续,导致控制信号u产生高频切换,即抖振问题.
当 跟踪误差 \(s > 0\)时,\(u_{sw} = -k < 0\)
当 \(s < 0\)时,\(u_{sw} = k > 0\)
正是由于\(sgn(s)\)的不连续性,让这种滑模控制有了抗扰动能力,但同时带来了抖振问题.
超螺旋滑模控制原理
超螺旋滑膜控制(Super-Twising SMC) 是一种特殊的二阶滑模控制算法. 它通过引入积分项,使控制器在滑模面s上连续,甚至可导. 其标准形式:
关键区别:超螺旋滑膜控制的控制器中没有直接使用不连续的\(sgn(s)\)作为控制量,而是将积分(即v)作为控制量的一部分,从而使最终的控制信号u连续.
对于基于超螺旋滑模控制的直接转矩控制器设计,包括2个重要的环:转矩环(转矩控制器)、磁链环(磁链控制器).
磁链控制器设计
三相PMSM矢量数学模型(参见 MBD笔记:三相PMSM数学模型 同步旋转坐标系下的数学建模):
其中,\(\vec{u_r}\) 为定子电压矢量,\(R\) 定子电阻,\(L\) 代表定子绕组的电感,\(i_r\) 定子电流矢量,\(\omega_e\) 转子电角速度,\(\vec{\psi_r}\) 定子磁链矢量,\(\psi_f\) 转子永磁体磁链,\(i_d,i_q\) 为d,q轴电流.
注意:
1)当一个物理量乘以\(j\),意味着它在复平面上逆时针旋转了90°电角度;
2)下标 \(r\) 代表的是 转子参考坐标系(即dq旋转坐标系),\(i_r\) 表示定子在dq坐标系下的电流矢量,\(\vec u_r\) 表示定子在dq坐标系下的电压矢量.
当定子磁链矢量的方向与d轴方向一致时, 即 \(\vec \psi_r = \psi_d = \psi_r,\psi_q = 0\),则磁链的幅值可表示为:
定义滑模面函数:
于是,可得到我们的超螺旋滑模磁链控制器:
其中, \(u_d^*\) 系统输出的d轴参考电压,\(k_p,k_i\) 是待设计参数;\(u_{sd}\) 积分补偿项,\(\frac{d}{dt}u_{sd}\) 是\(u_{sd}\)对时间导数.
设计参数r(指数)的核心作用:
1)实现有限时间收敛:
当 0 < r < 1 时,该非线性项能保证系统状态在有限时间内到达滑模面 \(s_ψ = 0\),而不是像线性反馈那样只能渐近收敛. —— 超螺旋算法区别于传统滑模控制的重要特性.
2)削弱抖振:因为 r < 1,当误差 \(s_ψ\) 接近0时,\(|s_ψ|^r > |s_ψ|\),所以在误差较小时能提供足够的“推力”使系统收敛;同时,避免使用高阶导数或纯符号函数带来的高频切换,配合积分项\(u_{sd}\),能有效平滑控制输出,显著降低传统滑模控制中的“抖振”现象.
3)平衡响应速度与稳定性:r 值越小(如0.3),系统在远离滑模面时响应更激进,但可能在接近零点时产生轻微振荡;r 值越大(如 0.7),系统更平稳,但收敛速度略慢. 工程上,常取 r = 0.5作为折中方案,兼顾快速性、鲁棒性.
这样,我们就能通过控制磁链\(\psi_r\),从而实现控制\(u_d\).
转矩控制器设计
三相PMSM转矩表达式(\(i_d = 0\)控制):
求导,
定义滑模面函数:
于是,可得到我们的超螺旋滑模转矩控制器:
控制框图
r=0.5时,基于滑模控制的直接转矩控制框图:

基于滑模控制的DTC仿真
仿真模型
仿照r=0.5时的DTC控制框图.

电机参数:
极对数\(pn = 4\),定子电感\(L_s = 8.5mH\),定子电阻 \(R=1.2Ω\),转子磁链\(\psi_f = 0.175Wb\)(Torque constant = 1.05 N. m / A_peak),转动惯量\(J=0.0008 kg\cdot m^2\)
仿真条件:
母线电压\(V_{dc} = 311V\),采用定步长ode3(Bogacki-Shampine)算法,固定步长5e-6 s,仿真时间0.4s.
参考转速N_ref = 600rpm,初始时刻负载转矩 \(T_L = 0 N\cdot m\),在t=0.2s时负载转矩\(T_L = 1.5 N\cdot m\).
- 转速环PI调节器

- 磁链控制器

kp = 100, ki = 1
- 转矩控制器

kp = 100, ki = 1
- 定子磁链计算

注意:这里计算出的转矩Te,跟PMSM反馈的Te本质相同.
- SVPWM调制
这里我们用了3种方案调制SVPWM,用 Multiport Switch来控制方案选择.
方案1使用 PWM Generator (Three-phase, Two-level)模型,方案2用了 SVPWM Generator (2-Level)模型,方案3使用 自定义SVPWM模型(参见MBD笔记:SVPWM技术).
说明:PWM Generator (Three-phase, Two-level) 属于较旧的架构,可以做简单验证,工程项目推荐使用SVPWM Generator (2-Level) 或者 自定义SVPWM模型.

仿真结果
- 转速NR变化曲线

- 电磁转矩TE变化曲线

- 三相电流IABC变化曲线

- 磁链变化曲线

基于空间电压矢量的DTC
SVM-DTC实现原理
意义:解决传统DTC、零矢量DTC的开关频率不固定问题.
原理:利用空间电压矢量调制(SVM)方法. 在系统控制的每个周期中,根据电磁转矩和定子磁链误差的大小,选择多个电压空间矢量作用于电机,对定子磁链幅值控制更加精准,从而达到既可以消除转矩和磁链稳态误差,又能实现电磁转矩中系统动态过程中准确而快速的调节.
为什么选择多个电压矢量?
前面提到过,选用2个非零矢量,这样输出来的转矩脉动较大,且开关频率不固定,于是,考虑使用多个电压空间矢量,因为磁链的变化取决于定子电压(磁链的微分等于定子电压,前提忽略定子电阻,参见(9)).
空间矢量脉宽调制方法,特点是磁链是圆形的(理想结果).
PMSM SVM-DTC控制框图:

外环是转速环,输出电磁转矩参考\(T_e^*\);参考电磁转矩经过磁链环,得到定子磁链角增量 \(\Delta \theta\),定子磁链幅值参考 \(|\vec{\psi_s}|^{*}\) ,磁链观测器计算得到 定子磁链幅值 \(|\vec{\psi_s}|\)
说明:关于SVM-DTC 定子磁链幅值参考\(|\vec{\psi_s}|^{*}\) ,基速内固定,超基速随转速动态变化;IPMSM 还要随转矩改变.
1)表贴式PMSM(Ld = Lq)
① 恒转矩区(转速 ≤ 基速 \(N_b\)),\(|\vec{\psi_s}|^{*}\) 固定不变,等于永磁体磁链\(\psi_f\),即
\(|\vec{\psi_s}|^{*} = \psi_f\)
② 弱磁区(转速 > 基速 \(N_b\)),\(|\vec{\psi_s}|^{*}\) 动态减小,随转速升高持续降低,即
\(|\vec{\psi_s}|^{*} = \psi_f \cdot \frac{N_b}{N}\),其中,\(N_b\) 基速(电机不加弱磁、刚好达到额定电压的最高转速),\(N\) 实时转速.
2)内置式PMSM(Ld < Lq)
磁链参考 \(|\vec{\psi_s}|^{*}\) 不是固定值. 为实现 MTPA 最大转矩电流比,相同转速下,不同转矩指令\(T_e^*\), 对应一套最优定子磁链幅值,需要二维查表(转矩 + 转速)实时输出 \(|\vec{\psi_s}|^{*}\) .
在我们的仿真模型中,出于简单考虑,使用固定值\(\psi_f\)作为定子磁链参考\(|\vec{\psi_s}|^{*}\) .
SVM-DTC工作原理
通过控制当前定子磁链 \(\psi_{sk}\) 在αβ坐标中的空间相位为\(\theta_s\). 当产生转矩增量 \(\Delta T_e\)时,选用理想的电压矢量\(u_s\)控制当前定子磁链\(\psi_{sk}\)的旋转速度,使其能够产生转矩角增量 \(\Delta \theta\).
此时,定子磁链\(\psi_{sk}\)运动到目标位置\(\psi_{sk+1}\),它在αβ坐标中的空间相位角为\(\theta_s + \Delta \theta\)

其中,\(\omega\) 为定子磁链矢量本控制周期内的旋转角速度(rad/s);\(\Delta \theta\) 为一个控制周期\(T_s\)内,转矩角增量;\(T_s\) 一个控制周期.
由(9),\(\frac{d\psi_s}{dt} = u_s\)(可忽略定子内阻时),只要定子电压改变,就有定子磁链改变,就会有转矩角的改变,就会产生电磁转矩.
要改变转矩,最直接的方法是改变磁链的空间位置. 而我们现改变转矩,可以改变空间电压矢量,通过改变定子电压即可.
下面将定子磁链参考矢量\(\psi_{sref}\),经过电压空间矢量计算模型得到参考电压矢量 \(u_\alpha, u_\beta\).
将 \(\psi_{sref}\) 在αβ轴上进行分解:
目标矢量 \(\psi_{sk+1}\)与当前矢量 \(\psi_{sk}\) 的误差\(\Delta \psi_s = \psi_{sk+1} - \psi_{sk}\)(定子磁链增量),在αβ轴上分解:
从上面图中\(\theta_s\)的含义,可知,
当控制周期很小时,可以认为\(sin \theta\)是线性变化的:
当\(T_s\to 0\) 时,可以认为\(\Delta \theta \to 0\),有如下近似关系:
由(32) ~ (34),(31)可以写成:
将(8)由微分形式改写成差分形式\(u_s = \frac{\Delta \psi_s}{T_s} + R_si_s\),所以,电压矢量\(u_{s}\)在αβ轴分量:
写成电压矢量的幅值、相位表达式:
其中,\(atan2\) 是反正切函数,为了排本方便才写成\(atan2\frac{u_\beta}{u_\alpha}\),标准写法\(atan2({u_\beta},{u_\alpha})\);ρ是相位角,范围[-π, π].
注意:为了保持定子磁链恒定,取\(|\vec \psi_s|^* = \psi_f\)(\(\psi_f\) 是固定值).
参考电压矢量(\(u_\alpha,u_\beta\))的计算框图:

SVM-DTC仿真
仿真模型
电机参数:
极对数\(p_n = 4\),定子电感\(L_d = L_q = 6.4mH\),定子电阻 \(R=0.0335Ω\),转子磁链\(\psi_f = 0.13Wb\),转动惯量\(J=0.013 kg\cdot m^2\)
仿真条件:
母线电压\(V_{dc}=300V\),采样变步长ode23tb算法,电力系统电气网络的离散仿真步长(power gui离散采样时间)5e-6(即5us).
转速环PI调节器P、I环节增益分别0.15、2,电磁转矩换PI调节器P、I环节增益0.08、0.01.
定子磁链参考\(|\vec \psi_{s}| = \psi_f = 0.13Wb\);转速参考\(N_{ref} = 1000rpm\);初始负载转矩\(T_L = 0N\cdot m\),t=0.2s时\(T_L=10N\cdot m\).

- 电机模块
电机模块跟其他模型没有太大区别,主要不同点是电机参数(按仿真条件设置).


注意:\(\theta_e = 0\)时转子磁链与A轴对齐,还是成90°,需要跟后续电角度计算保持一致. 如果与A轴对齐(或与d轴对齐),那么从PMSM模型反馈的机械角度计算电角度时,无需偏移;如果与A轴成90°(或与q轴对齐),那么就需要偏移 -pi/2(或+3*pi/2). 如下图,theta_r模块计算电角度 \(\theta_e\)(图中gamma):

- estimator(观测器 / 位置估算器)
根据公式(13),由α、β轴电流和电角度,计算出定子磁链相位角\(\theta_s\),定子磁链\(\psi_s\),电磁转矩\(T_e\):

根据公式(2)计算dq轴定子磁链\(\psi_d,\psi_q\),然后Park逆变换转化为αβ轴磁链\(\psi_\alpha, \psi_\beta\):

- 转速环PI调节器
输出电磁转矩参考\(T_e^*\),Kp = 0.15, Ki = 2



- 电磁转矩换PI调节器
输出转矩角增量\(\Delta \theta\),Kp = 0.08, Ki = 0.01


- RV(Rotation Vector) 旋转矢量模块
根据公式(31)计算出\(\Delta \psi_{s\alpha},\Delta \psi_{s\beta}\),再根据(36)计算出\(u_\alpha, u_\beta\),从而得到SVPWM模块需要的电压矢量.

- SVPWM(空间矢量脉宽调制)模块
跟前面的SVPWM模块一样,略.

浙公网安备 33010602011771号