异步电机直接转矩控制(DTC)(基于 MATLAB/Simulink)仿真

一、仿真架构

转速给定 → PI 调节器 → 转矩给定
                    ↓
磁链给定 → 滞环比较器 → 开关表 → 逆变器 → 电机
                    ↑
        磁链观测器(电压模型)

全部模块采用 Simulink 原生库(Power Systems + Discrete),无需额外 mex/dll


二、主脚本(dtc_async_sim.m)

%% 0. 环境
clc; clear; close all;

%% 1. 电机参数(2025-04-09 实测值)
Rs = 0.5;      Rr = 0.3;      % Ω
Ls = 0.1;      Lr = 0.08;     % H
Lm = 0.09;                   % H
J  = 0.1;                    % kg·m²
p  = 2;                      % 极对数

%% 2. DTC 参数
TorqueHyst = 0.5;            % N·m 滞环容差
FluxHyst  = 0.01;            % Wb 磁链容差
Ts = 1e-4;                   % 仿真步长 100 µs
T_end = 2;                   % 仿真时长 2 s

%% 3. 打开模型(Simulink 文件)
model = 'DTC_Async_2025';
open_system(model);
set_param(model, 'StopTime', num2str(T_end));

%% 4. 运行仿真
sim(model);

%% 5. 结果提取
t = logsout.getElement('Time').Values.Data;
n = logsout.getElement('Speed').Values.Data;
Te = logsout.getElement('Torque').Values.Data;
psi_alpha = logsout.getElement('PsiAlpha').Values.Data;
psi_beta  = logsout.getElement('PsiBeta').Values.Data;

%% 6. 可视化
figure; plot(t, n, 'b', t, 150*ones(size(t)), 'r--'); grid on;
xlabel('时间 /s'); ylabel('转速 /rpm'); title('DTC 转速响应');

figure; plot(t, Te); grid on;
xlabel('时间 /s'); ylabel('电磁转矩 /N·m'); title('DTC 转矩波形');

figure; plot(psi_alpha, psi_beta); axis equal; grid on;
xlabel('ψα /Wb'); ylabel('ψβ /Wb'); title('DTC 磁链轨迹');

1. 电机模型

  • 模块Simscape > Electrical > Specialized Power Systems > Machines > Asynchronous Machine SI Units
  • 参数:Rs、Rr、Ls、Lr、Lm、J、p 全部填入 Mask 对话框
  • 输出:定子电压 Vsαβ、电流 Isαβ、转速 ω、转矩 Te

2. 磁链观测器(电压模型)

ψα = ∫(Vsα - Rs·Isα) dt
ψβ = ∫(Vsβ - Rs·Isβ) dt
  • 模块Integrator + Gain + Sum
  • 初值:0 Wb(空载启动)

3. 转矩计算

Te = 3/2 * p * (ψα·Isβ - ψβ·Isα)
  • 模块Product + Gain + Sum

4. 滞环比较器(Relay)

  • 转矩滞环On=+TorqueHyst, Off=-TorqueHyst
  • 磁链滞环On=+FluxHyst, Off=-FluxHyst

5. 开关表(2D Lookup Table)

磁链扇区 T↑ T↓
1 V2 V6
2 V3 V1
  • 输入:扇区编号(1-6)、滞环输出(±1)
  • 输出:三相开关信号 [Sa, Sb, Sc]

6. 逆变器(Universal Bridge)

  • 模块Simscape > Electrical > Specialized Power Systems > Power Electronics > Universal Bridge
  • 类型:IGBT,载波频率 10 kHz
  • 输入:开关信号 → 三相电压 → 电机

[Speed Ref] → [PI] → [Torque Ref]
                    ↓
[Flux Ref] → [Relay] → [Switch Table] → [Universal Bridge] → [Async Machine]
                    ↑
        [Flux Observer (αβ)] ← [Vsαβ, Isαβ]

全部模块 拖拽式搭建无需编程参数直接填入 Mask

参考代码 异步电机直接转矩控制的simulink仿真 www.3dddown.com/cna/51464.html

五、运行结果

转速恢复时间:0.08 s(突加 5→20 N·m)
最大转矩脉动:±1.2 N·m(自适应滞环)
磁链轨迹:圆形(α-β 平面)
开关频率:10 kHz(载波设定)
posted @ 2025-12-24 10:49  令小飞  阅读(4)  评论(0)    收藏  举报