Mô phỏng điều khiển mô-men xoắn trực tiếp cho động cơ không đồng bộ ba pha trong Simulink

Điều khiển mô-men xoắn trực tiếp (Direct Torque Control – DTC) là một phương pháp điều khiển động cơ không đồng bộ nổi bật nhờ loại bỏ hoàn toàn các phép biến đổi tọa độ phức tạp như trong điều khiển vector. Thay vào đó, DTC tác động trực tiếp lên hai đại lượng vật lý then chốt: mô-men xoắn điện từ và từ thông stato. Bài viết này trình bày cách xây dựng mô hình mô phỏng DTC hoàn chỉnh trong Simulink, tập trung vào tính chính xác, khả năng tái tạo thực tế và các điểm cần lưu ý khi triển khai.

Cấu trúc hệ thống gồm ba khối chức năng chính: (1) Động cơ không đồng bộ ba pha làm đối tượng điều khiển; (2) Bộ quan sát từ thông stato dựa trên tích phân điện áp; (3) Bộ so sánh trễ kết hợp bảng tra trạng thái chuyển mạch.

Bộ quan sát từ thông được thực hiện bằng hàm MATLAB Function với thuật toán tích phân Euler cải tiến. Biến trạng thái được lưu giữa các bước lấy mẫu để đảm bảo tính liên tục:

function [flux_a, flux_b] = EstimateFlux(v_a, v_b, i_a, i_b, dt, r_s)
% Quan sát từ thông stato theo mô hình điện áp
persistent flux_a_prev flux_b_prev;
if isempty(flux_a_prev)
    flux_a_prev = 0;
    flux_b_prev = 0;
end

flux_a = flux_a_prev + dt * (v_a - r_s * i_a);
flux_b = flux_b_prev + dt * (v_b - r_s * i_b);

flux_a_prev = flux_a;
flux_b_prev = flux_b;

Lưu ý: Giá trị điện trở stato r_s phải được hiệu chuẩn cẩn thận — sai lệch chỉ vài phần trăm cũng gây trôi tích phân nghiêm trọng. Tham số dt nên khớp với chu kỳ lấy mẫu thực tế của hệ thống nhúng, không phải bước mô phỏng mặc định.

Tính toán mô-men xoắn tức thời sử dụng biểu thức vectơ trong hệ tọa độ α-β:

torque_elec = 1.5 * (flux_a .* i_b - flux_b .* i_a);

Chiều dấu của mô-men phụ thuộc vào quy ước chiều dòng và điện áp — việc đảo dấu một trong hai tín hiệu đầu vào sẽ dẫn đến đảo chiều mô-men, gây mất kiểm soát hoặc hãm ngược không chủ ý.

Bộ so sánh trễ kép quyết định hành vi điều khiển dựa trên độ lệch giữa giá trị đặt và giá trị đo được của mô-men và từ thông:

function [torque_state, flux_state] = HysteresisDual(ref_t, act_t, ref_f, act_f)
% Ngưỡng trễ: ±0.08 N·m cho mô-men, ±0.009 Wb cho từ thông
DELTA_T = 0.08;
DELTA_F = 0.009;

torque_state = sign((ref_t - act_t) / DELTA_T);
flux_state   = sign((ref_f - act_f) / DELTA_F);

% Giới hạn đầu ra về {-1, 0, 1}
torque_state = min(max(torque_state, -1), 1);
flux_state   = min(max(flux_state, -1), 1);

Các ngưỡng trễ nên được chọn dựa trên tỷ lệ phần trăm công suất định mức (ví dụ: 4–6% mô-men định mức), sau đó điều chỉnh dần theo đặc tính đáp ứng tần số chuyển mạch và độ gợn mô-men mong muốn.

Bảng chuyển mạch ánh xạ cặp trạng thái (torque_state, flux_state) sang một trong bảy trạng thái điện áp đầu ra của bộ nghịch lưu ba pha. Việc phân vùng góc từ thông được thực hiện bằng hàm atan2(flux_b, flux_a), sau đó chia thành sáu miền 60° tương ứng với sáu vị trí vector điện áp cơ bản.

Để tránh hiện tượng khởi tạo từ thông không ổn định, mô hình nên bao gồm giai đoạn nạp ban đầu: trong khoảng thời gian 10 ms đầu tiên, thiết lập giá trị từ thông α ở mức 0.45 Wb và từ thông β bằng 0 — giúp hệ thống đạt trạng thái làm việc ổn định trước khi bắt đầu điều khiển vòng kín.

Kết quả mô phỏng điển hình cho thấy thời gian đáp ứng mô-men với tín hiệu đặt bậc thang dưới 0.45 ms, nhanh hơn đáng kể so với điều khiển vector truyền thống. Tuy nhiên, biên độ gợn mô-men ở trạng thái xác lập thường nằm trong khoảng 0.15–0.25 N·m — đây là đặc trưng vốn có của DTC cổ điển do bản chất rời rạc của bảng chuyển mạch và độ trễ so sánh.

Thẻ: direct-torque-control Simulink induction-motor matlab-function flux-observer

Đăng vào ngày 23 tháng 6 lúc 18:27