Giới thiệu dự án
Trong kỷ nguyên tự động hóa công nghiệp và hàng không vũ trụ hiện đại, việc kiểm soát chính xác các đối tượng động lực học phi tuyến cao, tồn tại trễ và bất định tham số luôn là bài toán cốt lõi đầy thách thức. Theo các báo cáo kỹ thuật từ IEEE Control Systems Society, hơn 75% các hệ thống cơ điện tử thực tế mang đặc tính phi tuyến nghiêm trọng và tương tác đa biến (MIMO - Multi-Input Multi-Output). Các thuật toán điều khiển tuyến tính kinh điển như PID (Proportional-Integral-Derivative) thường bộc lộ sự suy giảm hiệu năng rõ rệt khi điểm làm việc thay đổi hoặc khi xuất hiện nhiễu tác động từ môi trường.
Đồ án tốt nghiệp kỹ sư ngành Kỹ thuật Điện tử Truyền thông / Điện tử Công nghiệp (Trường Đại học Sư phạm Kỹ thuật TP.HCM) với đề tài "Điều khiển hệ phi tuyến dùng giải thuật thông minh" được xây dựng nhằm giải quyết triệt để bài toán ổn định và bám quỹ đạo cho hai đối tượng cơ điện tử điển hình: hệ trực thăng hai bậc tự do (TRMS - Twin Rotor MIMO System) và hệ truyền động điều khiển tốc độ động cơ xoay chiều ba pha qua biến tần.
+---------------------------------------------------+
| MÔ HÌNH HỆ THỐNG ĐIỀU KHIỂN THỰC NGHIỆM |
+-------------------------+-------------------------+
|
+------------------------+------------------------+
| |
v v
+--------------------------------+ +----------------------------------+
| HỆ TRỰC THĂNG 2 BẬC TỰ DO | | HỆ TRUYỀN ĐỘNG ĐỘNG CƠ BA PHA |
| (TRMS) | | QUA BIẾN TẦN DANFOSS |
+--------------------------------+ +----------------------------------+
| - Góc Pitch (Trục nâng/dọc) | | - Động cơ dị bộ 3 pha (0-1200rpm)|
| - Góc Yaw (Trục quay/ngang) | | - Biến tần Danfoss VLT 2807 |
| - Hiện tượng ghép kênh (MIMO) | | - Bất định thông số R, L, trượt |
| - 2 BLDC Tarot 700W + ESC 50A | | - Điều khiển điện áp/tần số v/f |
| - Encoder E50S8-5000 (5000 ppr)| | - Encoder E50S8-1024 (1024 ppr) |
+--------------------------------+ +----------------------------------+
| |
+------------------------+------------------------+
|
v
+---------------------------------------------------+
| BỘ XỬ LÝ TRUNG TÂM & THUẬT TOÁN |
| STM32F407VG Discovery (ARM Cortex-M4 @168MHz) |
| Matlab/Simulink R2013b + Waijung Blockset |
+---------------------------------------------------+
| 1. PID Tuning (Ziegler-Nichols & Optimization) |
| 2. Fuzzy Logic Controller (Mamdani Max-Min) |
| 3. Artificial Neural Network (NARMA-L2 Control) |
+---------------------------------------------------+
Vấn đề kỹ thuật cụ thể (Problem Statement)
- Hiện tượng xen kênh (Cross-Coupling Effect) ở hệ TRMS: Lực nâng của rotor chính tạo ra moment xoắn làm dịch chuyển góc xoay ngang (Yaw), ngược lại cánh quạt đuôi khi bù góc Yaw lại tạo moment ảnh hưởng ngược lên góc nâng (Pitch). Hệ thống chịu ảnh hưởng mạnh của lực khí động học phi tuyến, trọng lực thay đổi theo góc quay và ma sát cơ khí bất định.
- Bất định thông số ở động cơ xoay chiều ba pha: Động cơ cảm ứng không rõ thông số chính xác về điện trở stator ($R_s$), điện cảm tản ($L_\sigma$), hệ số trượt ($s$) và số cặp cực ($p$). Tốc độ quay phi tuyến nghiêm trọng so với điện áp cấp từ biến tần, gây sai lệch lớn khi tải biến thiên liên tục.
Mục tiêu dự án (Project Objectives)
- Khảo sát & Mô hình hóa: Xây dựng mô hình toán học giải tích cho hệ TRMS 2 bậc tự do và nhận dạng tham số hàm truyền (System Identification) cho hệ động cơ ba pha qua Toolbox
ident và mạng thần kinh NARMA-L2.
- Thiết kế & Tổng hợp bộ điều khiển: Thiết kế hoàn chỉnh 3 cấu trúc điều khiển: PID kinh điển (chỉnh định Ziegler-Nichols), Điều khiển Mờ (Fuzzy Logic Controller - FLC) và Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN).
- Mô phỏng & Đánh giá: Thực hiện mô phỏng kiểm chứng chất lượng đáp ứng quá độ trên MATLAB/Simulink R2013b.
- Nhúng phần cứng thời gian thực: Sử dụng thư viện Waijung Blockset để nhúng trực tiếp thuật toán từ Simulink xuống kit vi điều khiển STM32F407VG (lõi ARM Cortex-M4), đọc hồi tiếp xung từ Encoder Autonics E50S8 (độ phân giải lên tới 5000 xung/vòng) và xuất tín hiệu PWM/DAC điều khiển công suất.
- Thực nghiệm so sánh: Đánh giá định lượng độ vọt lố ($%OS$), thời gian xác lập ($t_s$), sai số xác lập ($e_{ss}$) và khả năng kháng nhiễu giữa các giải thuật trên phần cứng thực tế.
Chỉ số kết quả kỳ vọng (Expected Measurable Outcomes)
- Triệt tiêu sai số xác lập của góc Pitch và Yaw về mức sai lệch $|e_{ss}| \le 1.5^\circ$.
- Giảm độ vọt lố góc Pitch từ mức $>25%$ của PID xuống $<8%$ khi sử dụng Fuzzy Logic.
- Hệ thống động cơ bám tốc độ đặt trong dải $0 - 1200 \text{ rpm}$ với sai số $< 1.0%$, thời gian đáp ứng $< 1.2 \text{ s}$.
Phạm vi và giới hạn (Scope & Limitations)
- Khảo sát mô hình TRMS trong không gian 2 bậc tự do (Pitch: $-50^\circ \le \theta \le +50^\circ$, Yaw: $-180^\circ \le \psi \le +180^\circ$).
- Tốc độ động cơ ba pha thử nghiệm trong dải công nghiệp định mức $\le 1200 \text{ vòng/phút}$, điều khiển qua giao tiếp analog của biến tần Danfoss VLT 2807.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Điều khiển PID truyền thống |
Điều khiển Mờ (Fuzzy Logic) |
Điều khiển Mạng Nơ-ron (ANN / NARMA-L2) |
| Yêu cầu mô hình toán |
Cần mô hình toán tuyến tính hóa tại điểm làm việc |
Không cần mô hình toán học chính xác; dựa trên tri thức chuyên gia |
Tự học qua tập dữ liệu vào/ra thực nghiệm |
| Khả năng thích ứng phi tuyến |
Kém khi hoạt động ngoài vùng tuyến tính hóa |
Rất tốt trên toàn dải làm việc nhờ các tập mờ đa vùng |
Xuất sắc; xấp xỉ vạn năng mọi hàm phi tuyến phức tạp |
| Kháng nhiễu ghép kênh (MIMO) |
Rất dễ mất ổn định khi trục Yaw/Pitch tương tác mạnh |
Tốt, giảm thiểu đáng kể hiện tượng dao động xen kênh |
Cực tốt sau khi được huấn luyện qua thuật toán lan truyền ngược |
| Độ phức tạp tính toán vi xử lý |
Rất thấp, yêu cầu tài nguyên MCU tối thiểu |
Trung bình, tính toán hàm liên thuộc và giải mờ nhanh |
Cao, yêu cầu nhân ma trận trọng số và hàm phi tuyến |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW
- Must have: Đọc chính xác xung từ 2 Encoder kênh A/B lệch pha $90^\circ$; thuật toán điều khiển kín (Closed-loop) chu kỳ trích mẫu $T_s = 10\text{ms}$; cơ chế ngắt khẩn cấp an toàn phần cứng.
- Should have: Giao diện giám sát GUI trên máy tính giao tiếp qua UART RS-232 tốc độ baud 115200 bps; khả năng tự ổn định khi bị nhiễu gió tác động đột ngột.
- Could have: Khả năng tự động chỉnh định tham số trực tuyến (Self-tuning adaptive control).
- Won't have: Điều khiển không dây qua mạng đám mây (Cloud-based IoT) trong giai đoạn thực nghiệm phòng lab.
Thiết kế hệ thống
graph TD
subgraph Host_PC["Host PC - Giám sát & Thiết kế"]
Simulink["Matlab/Simulink R2013b\n(Fuzzy / Neural Toolbox)"]
Waijung["Waijung Blockset Code Gen"]
GUI["UART Monitor Interface\n(115200 bps, 8N1)"]
end
subgraph MCU["Xử lý trung tâm - STM32F407VG (168MHz)"]
UART_Mod["Module UART2 (PA2/PA3)"]
Timer_Encoder["Timer 2 & Timer 3\n(Encoder Interface Mode)"]
Control_Core["Lõi thuật toán: PID / FUZZY / ANN\n(Thực thi thời gian thực Ts = 10ms)"]
PWM_DAC["PWM Generator / Analog Out\n(Timer 1 & DAC1)"]
end
subgraph Hardware_TRMS["Phần cứng Mô hình TRMS"]
ESC1["ESC BLHeli 50A Main"] --> Motor1["BLDC Tarot 700W (Pitch)"]
ESC2["ESC BLHeli 50A Tail"] --> Motor2["BLDC Tarot 700W (Yaw)"]
Enc_Pitch["Autonics E50S8-5000\n(Trục Pitch)"]
Enc_Yaw["Autonics E50S8-1024\n(Trục Yaw)"]
end
subgraph Hardware_Inverter["Phần cứng Động cơ 3 Pha"]
Inverter["Biến tần Danfoss VLT 2807\n(0-10V Analog Input)"] --> Motor_3Phase["Động cơ 3 Pha 1.5kW"]
Enc_Motor["Encoder E50S8-1024\n(Phản hồi tốc độ)"]
end
Simulink --> Waijung --> MCU
GUI <-->|RS-232 / UART| UART_Mod
UART_Mod <--> Control_Core
Enc_Pitch & Enc_Yaw --> Timer_Encoder
Enc_Motor --> Timer_Encoder
Timer_Encoder --> Control_Core
Control_Core --> PWM_DAC
PWM_DAC -->|PWM 50Hz / Dshot| ESC1 & ESC2
PWM_DAC -->|0-10V qua Op-Amp| Inverter
Technology Stack và Phần cứng chi tiết
- Vi điều khiển nhúng: STMicroelectronics STM32F407VG Discovery (Lõi 32-bit ARM Cortex-M4, FPU phần cứng, 168 MHz, 1 MB Flash, 192 KB SRAM).
- Bộ điều tốc & Động cơ TRMS: Động cơ không chổi than BLDC Tarot 58mm (700W, 24VDC, trục 4mm, cánh quạt 10 inch), điều tốc điện tử ESC Emax BLHeli 50A hỗ trợ xung tần số cao.
- Cảm biến phản hồi: Bộ mã hóa vòng quay Autonics E50S8-5000 (5000 xung/vòng) và E50S8-1024 (1024 xung/vòng), tín hiệu vi sai Line Driver chống nhiễu công nghiệp.
- Biến tần công nghiệp: Danfoss VLT 2807 (Model 195N1015, công suất 1.5 kW, nguồn cấp 3 pha 380–480V, ngõ vào điều khiển analog 0–10V/4–20mA, dải tần 1–1000 Hz).
- Nguồn công suất: Nguồn xung tổ ong MeanWell 24V - 5A đạt chuẩn cách ly an toàn UL1012.
- Môi trường phát triển: MATLAB R2013b, Simulink, Waijung Blockset v14.03a, ST-LINK Utility, Driver ST-Link V2.
Giao thức truyền thông UART RS-232
Khung truyền dữ liệu cấu hình chuẩn 8N1: 1 Start bit, 8 Data bits, không Parity bit, 1 Stop bit với tốc độ Baud $115200 \text{ bps}$. Sai số dao động clock cho phép $\le 3%$. Cấu trúc gói tin gửi nhận giữa máy tính và STM32F4:
$$\text{Frame} = [\text{Header: 0xAA}] \mid [\text{SP_Pitch (2 Bytes)}] \mid [\text{SP_Yaw (2 Bytes)}] \mid [\text{Control_Mode (1 Byte)}] \mid [\text{Checksum}] \mid [\text{Tail: 0x55}]$$
Phương pháp luận (Methodology)
Dự án áp dụng mô hình phát triển hệ thống nhúng V-Model, kết hợp phương pháp thiết kế dựa trên mô hình (Model-Based Design - MBD):
- Phân tích yêu cầu & Mô hình hóa toán học: Thiết lập hệ phương trình vi phân phi tuyến bậc 4 mô tả chuyển động liên kết Pitch-Yaw của TRMS:
$$I_v \ddot{\theta} = M_v(U_v) - M_g \sin\theta - M_{fv} \dot{\theta} + M_{cross,h}(U_h)$$
$$I_h \ddot{\psi} = M_h(U_h) \cos\theta - M_{fh} \dot{\psi} + M_{cross,v}(U_v)$$
Trong đó $I_v, I_h$ là quán tính trục dọc/ngang; $M_v, M_h$ là moment lực đẩy cánh quạt chính/đuôi; $M_g$ là moment trọng lực; $M_{fv}, M_{fh}$ là hệ số ma sát; $M_{cross}$ là moment ghép kênh chéo.
- Thiết kế & Tinh chỉnh trên Simulink: Kiểm thử các luật mờ Mamdani và mạng nơ-ron huấn luyện offline bằng thuật toán Levenberg-Marquardt trên tập dữ liệu đo từ phần cứng thực.
- Sinh mã tự động & Kiểm thử HIL (Hardware-In-the-Loop): Biên dịch sơ đồ khối Simulink thành mã C tối ưu và nạp vào Flash của STM32F4 qua ST-Link V2 chỉ với 1-Click.
Implementation và kết quả
Quy trình phát triển và Thuật toán cốt lõi
1. Thuật toán PID kinh điển
Bộ điều khiển PID song song được biểu diễn trên miền liên tục và miền rời rạc hóa trích mẫu $T_s$:
$$u(t) = K_P e(t) + K_I \int_0^t e(\tau) d\tau + K_D \frac{de(t)}{dt}$$
Tham số được xác định ban đầu qua phương pháp dao động tới hạn Ziegler-Nichols với hệ số khuếch đại tới hạn $K_{gh}$ và chu kỳ dao động tới hạn $T_{gh}$, sau đó tinh chỉnh thực nghiệm:
+---------------+---------------+--------------------+--------------------+
| Tham số PID | K_P | K_I | K_D |
+---------------+---------------+--------------------+--------------------+
| Trục Pitch | 8.45 | 1.20 | 2.15 |
| Trục Yaw | 5.60 | 0.85 | 1.40 |
| Động cơ 3 Pha | 2.10 | 4.50 | 0.05 |
+---------------+---------------+--------------------+--------------------+
2. Thuật toán Điều khiển Mờ (Fuzzy Logic Controller)
Thiết kế bộ điều khiển mờ 2 ngõ vào: Sai số $e(t) = SP(t) - PV(t)$ và Đạo hàm sai số $de(t)/dt = \Delta e(t)$, 1 ngõ ra tín hiệu điều khiển $u(t)$.
- Các biến ngôn ngữ: Negative Big (NB), Negative Small (NS), Zero (ZE), Positive Small (PS), Positive Big (PB).
- Hàm liên thuộc: Sử dụng hàm dạng tam giác (Triangular) và hình thang (Trapezoidal) trên miền chuẩn hóa $[-1, +1]$.
- Cơ chế suy diễn: Mamdani Max-Min composition.
- Giải mờ: Phương pháp điểm trọng tâm diện tích (Centroid Defuzzification):
$$u^* = \frac{\int u \cdot \mu_B(u) du}{\int \mu_B(u) du}$$
Bảng quy tắc mờ (Rule Base) cho góc Pitch và Yaw của hệ TRMS:
| $de(t)/dt \backslash e(t)$ |
NB |
NS |
ZE |
PS |
PB |
| NB |
NB |
NB |
NS |
NS |
ZE |
| NS |
NB |
NS |
NS |
ZE |
PS |
| ZE |
NS |
NS |
ZE |
PS |
PS |
| PS |
NS |
ZE |
PS |
PS |
PB |
| PB |
ZE |
PS |
PS |
PB |
PB |
% Đoạn mã cấu hình FLC trên MATLAB / Simulink nhúng Waijung
% Khai báo hàm thuộc và nạp ma trận quy tắc mờ cho STM32F4
fis = newfis('TRMS_Pitch_Fuzzy','mamdani');
fis = addvar(fis, 'input', 'e', [-1 1]);
fis = addmf(fis, 'input', 1, 'NB', 'trapmf', [-1 -1 -0.6 -0.2]);
fis = addmf(fis, 'input', 1, 'NS', 'trimf', [-0.5 -0.2 0]);
fis = addmf(fis, 'input', 1, 'ZE', 'trimf', [-0.2 0 0.2]);
fis = addmf(fis, 'input', 1, 'PS', 'trimf', [0 0.2 0.5]);
fis = addmf(fis, 'input', 1, 'PB', 'trapmf', [0.2 0.6 1 1]);
fis = addvar(fis, 'output', 'u_Pitch', [-1 1]);
% Thiết lập cơ chế giải mờ Centroid
fis.defuzzMethod = 'centroid';
3. Thuật toán Điều khiển Mạng Nơ-ron (NARMA-L2 Control)
Cấu trúc mạng mạng nơ-ron hồi quy phi tuyến gồm 3 lớp (Input Layer: 4 nút, Hidden Layer: 15 nút kích hoạt hàm phi tuyến tansig, Output Layer: 1 nút hàm tuyến tính purelin). Mạng xấp xỉ động học của hệ thống qua hàm toán học:
$$y(k+d) = f[y(k), y(k-1), \dots, y(k-n+1), u(k), u(k-1), \dots, u(k-m+1)] + g[\dots] \cdot u(k)$$
Tín hiệu điều khiển được tổng hợp trực tiếp nhằm đưa $y(k+d)$ tiệm cận quỹ đạo đặt $y_r(k+d)$.
// Mã C nhúng giải thuật tính toán Mạng Nơ-ron trên STM32F4 (Lõi ARM Cortex-M4 FPU)
float Neural_Forward_Pass(float error, float d_error, float y_prev, float u_prev) {
float hidden_layer[15];
float inputs[4] = {error, d_error, y_prev, u_prev};
float output = 0.0f;
// Tích vô hướng và hàm kích hoạt Tansig tại Hidden Layer
for(int j = 0; j < 15; j++) {
float sum = bias_hidden[j];
for(int i = 0; i < 4; i++) {
sum += inputs[i] * weight_input_hidden[i][j];
}
// Hàm kích hoạt Hyperbolic Tangent: tansig(x) = 2/(1 + exp(-2x)) - 1
hidden_layer[j] = (2.0f / (1.0f + expf(-2.0f * sum))) - 1.0f;
}
// Lớp ngõ ra tuyến tính (Purelin)
output = bias_output;
for(int j = 0; j < 15; j++) {
output += hidden_layer[j] * weight_hidden_output[j];
}
// Bão hòa điện áp xuất DAC/PWM (0V - 3.3V tương đương 0 - 100% công suất)
if(output > 1.0f) output = 1.0f;
if(output < -1.0f) output = -1.0f;
return output;
}
Kiểm thử và Đánh giá kết quả thực nghiệm
Hệ thống được kiểm thử thực tế qua 3 kịch bản:
- Đáp ứng nấc (Step Response): Góc Pitch thay đổi từ $0^\circ \to +20^\circ$, góc Yaw từ $0^\circ \to +45^\circ$.
- Đáp ứng bám sóng hình sin (Sine Tracking): $r(t) = 15^\circ \cdot \sin(2\pi t / 15)$.
- Thử nghiệm kháng nhiễu cưỡng bức: Tác động luồng gió cưỡng bức vào rotor chính khi đang giữ thăng bằng.
ĐÁP ỨNG QUÁ ĐỘ BÁM GÓC PITCH CỦA HỆ TRMS
Góc (độ)
25 + ...... PID (Vọt lố cao, dao động)
| - - - - Fuzzy Logic (Êm, bám nhanh)
20 +---------------+..............+--------- Setpoint Target (20 độ)
| / .. . - - - - - Neural NARMA-L2
| / . .. . -
15 + / . .. .. -
| / . . . -
10 + /. .-
| /. -
5 + / - -
| / -
0 +------+----------------------------------------> Thời gian (giây)
0 1 2 3 4 5 6 7
Bảng thông số đo lường thực tế
| Đối tượng điều khiển |
Thuật toán |
Thời gian đáp ứng ($t_r$) |
Thời gian xác lập ($t_s$) |
Độ vọt lố ($%OS$) |
Sai số xác lập ($e_{ss}$) |
| TRMS (Góc Pitch) |
PID |
$0.85\text{ s}$ |
$4.20\text{ s}$ |
$28.4%$ |
$\pm 2.8^\circ$ |
|
Fuzzy Logic |
$\mathbf{0.62\text{ s}}$ |
$\mathbf{1.45\text{ s}}$ |
$\mathbf{4.2%}$ |
$\mathbf{\pm 0.6^\circ}$ |
|
Neural Network |
$0.58\text{ s}$ |
$1.20\text{ s}$ |
$6.8%$ |
$\pm 0.8^\circ$ |
| TRMS (Góc Yaw) |
PID |
$1.20\text{ s}$ |
$5.60\text{ s}$ |
$32.1%$ |
$\pm 3.5^\circ$ |
|
Fuzzy Logic |
$\mathbf{0.80\text{ s}}$ |
$\mathbf{1.90\text{ s}}$ |
$\mathbf{5.1%}$ |
$\mathbf{\pm 0.9^\circ}$ |
|
Neural Network |
$0.75\text{ s}$ |
$1.65\text{ s}$ |
$7.5%$ |
$\pm 1.1^\circ$ |
| Động cơ 3 Pha (1000 rpm) |
PID |
$1.80\text{ s}$ |
$3.50\text{ s}$ |
$14.5%$ |
$\pm 18\text{ rpm}$ |
|
Fuzzy Logic |
$1.10\text{ s}$ |
$1.60\text{ s}$ |
$3.2%$ |
$\pm 6\text{ rpm}$ |
|
Neural Network |
$\mathbf{0.95\text{ s}}$ |
$\mathbf{1.25\text{ s}}$ |
$\mathbf{1.8%}$ |
$\mathbf{\pm 4\text{ rpm}}$ |
Đổi mới và đóng góp
- Ứng dụng thành công phương pháp sinh mã trực tiếp (Model-Based Code Generation): Rút ngắn chu kỳ phát triển từ thuật toán lý thuyết trên MATLAB sang mã thực thi nhúng trên STM32F407VG thông qua Waijung Blockset, loại bỏ hoàn toàn các lỗi thủ công khi viết lại thuật toán bằng C/C++.
- Cải thiện triệt để chất lượng động học hệ MIMO ghép kênh:
- Giảm thời gian xác lập của góc Pitch hệ TRMS $65.4%$ (từ $4.20\text{ s}$ xuống $1.45\text{ s}$).
- Giảm độ vọt lố trục Yaw $84.1%$ (từ $32.1%$ xuống $5.1%$) khi sử dụng bộ điều khiển Mờ Mamdani.
- Làm chủ kỹ thuật đọc Encoder tần số cao: Cấu hình chế độ Hardware Encoder Timer của ARM Cortex-M4 xử lý chính xác $5000\text{ xung/vòng}$ ở tốc độ lấy mẫu $100\text{ Hz}$ mà không gây nghẽn CPU nhờ tận dụng các bộ đếm phần cứng chuyên dụng.
- Đóng góp học thuật và đào tạo: Cung cấp một bộ tài liệu thực nghiệm hoàn chỉnh, gồm mô hình toán, file mô phỏng
.mdl/.slx, tập luật mờ, cấu trúc trọng số mạng nơ-ron và layout kết nối phần cứng phục vụ nghiên cứu và giảng dạy tại các phòng thí nghiệm Điều khiển Tự động.
Ứng dụng thực tế và triển khai
Trường hợp sử dụng thực tế (Real-world Use Cases)
- Hệ thống lái tự động cho UAV / Drone: Thuật toán Fuzzy-Neural giúp các thiết bị bay không người lái cân bằng vững chắc trong môi trường gió lốc, dòng khí xoáy đô thị hoặc khi mang tải trọng biến thiên bất đối xứng.
- Dây chuyền tự động hóa công nghiệp: Điều khiển chính xác tốc độ và vị trí động cơ xoay chiều ba pha trong các hệ thống băng tải phân loại tốc độ cao, máy cán thép, máy dệt sợi – nơi tải trọng thay đổi đột ngột nhưng yêu cầu tốc độ động cơ duy trì liên tục không đổi.
- Hệ thống ổn định gimbal / Camera Tracking: Giữ thăng bằng đa trục cho hệ quang học trên tàu thuyền hoặc phương tiện cơ giới di chuyển địa hình gồ ghề.
gantt
title Lộ trình Nghiên cứu & Triển khai Dự án (20 Tuần)
dateFormat YYYY-MM-DD
section Khảo sát & Thiết kế
Gặp GVHD & Lập đề cương :done, des1, 2018-03-18, 2018-03-31
Lựa chọn linh kiện & Nguyên lý :done, des2, 2018-04-01, 2018-04-21
section Thuật toán & Mô phỏng
Nghiên cứu PID, Fuzzy, Neural :done, alg1, 2018-04-22, 2018-05-05
Mô phỏng Simulink & Nhận dạng :done, alg2, 2018-05-06, 2018-05-19
section Thi công & Nhúng MCU
Lập trình STM32F4 & Waijung :done, emb1, 2018-05-20, 2018-06-09
Thực nghiệm hệ TRMS & Động cơ :done, emb2, 2018-06-10, 2018-06-23
section Hoàn thiện & Đánh giá
Đo đạc số liệu & Viết báo cáo :done, rep1, 2018-06-24, 2018-07-13
Bảo vệ Đồ án Tốt nghiệp :active, rep2, 2018-07-14, 2018-07-20
Phân tích chi phí và Khả năng nhân rộng (Cost-Benefit Analysis)
- Chi phí phần cứng: Sử dụng dòng vi điều khiển thương mại phổ thông STM32F4 Discovery (~$25) và các linh kiện tiêu chuẩn (ESC, Motor Tarot BLDC) giúp giảm chi phí phần cứng đến $70%$ so với các hệ thống điều khiển thí nghiệm nhập ngoại đắt tiền như Quanser TRMS.
- Tính khả thi mở rộng: Cấu trúc module hóa cao; có thể chuyển đổi dễ dàng sang các dòng chip vi xử lý cao cấp hơn như STM32H7 hoặc tích hợp RTOS (FreeRTOS) để quản lý đa tác vụ điều khiển song song.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Mô hình mạng nơ-ron hiện được huấn luyện Offline trên MATLAB rồi nhúng trọng số cố định vào MCU; chưa thực hiện được giải thuật học Online (Real-time Online Backpropagation) trực tiếp trên vi điều khiển do giới hạn thời gian chu kỳ quét.
- Cảm biến Encoder đo góc tuyệt đối có sai số tích lũy nhỏ sau thời gian dài hoạt động do hiện tượng rung cơ khí ở các khớp xoay.
Hướng nâng cấp mở rộng
- Nghiên cứu giải thuật điều khiển lai (Hybrid Fuzzy-PID & Adaptive Neuro-Fuzzy ANFIS): Tự động chỉnh định thông số $K_P, K_I, K_D$ theo thời gian thực dựa trên các luật mờ thích nghi.
- Bổ sung cảm biến định vị góc tuyệt đối IMU (Inertial Measurement Unit): Kết hợp bộ lọc Kalman mở rộng (EKF - Extended Kalman Filter) dung hợp dữ liệu giữa cảm biến gia tốc, con quay hồi chuyển 6 trục và Encoder để triệt tiêu nhiễu đo.
- Mở rộng không gian 3 bậc tự do (3-DOF Helicopter): Nâng cấp mô hình TRMS thêm trục xoay nghiêng (Roll) để mô phỏng hoàn chỉnh động lực học trực thăng không gian 3 chiều.
Đối tượng hưởng lợi
- Sinh viên & Học viên cao học: Tiếp cận tài liệu thực tế về phương pháp điều khiển hiện đại, quy trình thiết kế theo chuẩn công nghiệp (Model-Based Design) và kỹ thuật nhúng vi điều khiển ARM Cortex-M4.
- Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Nắm vững phương pháp tích hợp MATLAB/Simulink với phần cứng vi điều khiển STM32 qua bộ công cụ Waijung Blockset, tối ưu hóa thời gian lập trình firmware.
- Kỹ sư Tự động hóa & Doanh nghiệp: Nắm bắt giải pháp công nghệ nâng cấp hệ truyền động biến tần - động cơ 3 pha, nâng cao độ chính xác điều tốc trong sản xuất công nghiệp với chi phí đầu tư phần cứng hợp lý.
- Nhà nghiên cứu học thuật: Cơ sở tham khảo dữ liệu kiểm chứng cho các nghiên cứu chuyên sâu về hệ MIMO phi tuyến, điều khiển trượt thích nghi (SMC) và trí tuệ nhân tạo nhúng (Edge AI).
Câu hỏi thường gặp
1. Cần cấu hình phần cứng tối thiểu nào để biên dịch và chạy mô hình thực nghiệm?
Hệ thống yêu cầu máy tính cài đặt MATLAB R2013b (hoặc mới hơn) có tích hợp Simulink, Fuzzy Logic Toolbox, Neural Network Toolbox, System Identification Toolbox; bộ cài Waijung Blockset v14.03a; Kit STM32F407VG Discovery kèm cáp Mini-USB kết nối ST-Link V2 và cổng chuyển đổi USB-to-UART (PL2303 hoặc CP2102).
2. Vì sao giải thuật Mờ (Fuzzy Logic) lại cho đáp ứng góc Pitch vượt trội hơn PID?
Vì hệ TRMS có đặc tính động lực học phi tuyến phụ thuộc góc nghiêng (do moment trọng trường thay đổi theo $\sin\theta$) và tương tác lực xoắn từ cánh quạt đuôi. PID có bộ tham số cố định nên chỉ tối ưu tại một điểm cân bằng cụ thể, trong khi bộ điều khiển Mờ với 25 luật ngôn ngữ bao quát toàn bộ không gian trạng thái, tự động thay đổi độ lợi điều khiển tùy theo biên độ sai lệch.
3. Làm cách nào để nhúng mạng Nơ-ron nhân tạo vào STM32F4 mà không làm quá tải CPU?
Sau khi huấn luyện mạng trên MATLAB bằng công cụ NARMA-L2, cấu trúc ma trận trọng số ($W$) và vector độ lệch ($b$) được trích xuất thành các mảng hằng số const float. Thuật toán lan truyền tiến (Forward Pass) được viết bằng C với các phép toán nhân ma trận tối ưu, tận dụng bộ tính toán dấu phẩy động phần cứng (FPU) tích hợp sẵn trên lõi ARM Cortex-M4, hoàn thành tính toán chỉ trong chưa đầy $0.5\text{ ms}$.
4. Động cơ ba pha không rõ thông số $R, L$ làm thế nào để điều khiển chính xác?
Đề tài áp dụng phương pháp nhận dạng hệ thống “hộp đen” (Black-box System Identification) qua Toolbox ident và mạng nơ-ron nhân tạo. Bằng cách kích thích tín hiệu điện áp ngõ vào và thu thập đáp ứng tốc độ ngõ ra thực tế từ Encoder, mô hình toán tương đương được xây dựng với độ trùng khớp (Fitness) đạt trên $92.5%$, làm cơ sở vững chắc để thiết kế bộ điều khiển.
5. Khả năng tương thích của hệ thống khi nâng cấp lên các phiên bản MATLAB mới hơn?
Mô hình hoàn toàn tương thích với các phiên bản MATLAB/Simulink mới hơn (như R2020b, R2023a) khi sử dụng các gói hỗ trợ phần cứng chính hãng như MATLAB Coder, Embedded Coder và Simulink Support Package for STMicroelectronics STM32 Processors.
Kết luận
Đồ án tốt nghiệp "Điều khiển hệ phi tuyến dùng giải thuật thông minh" đã thực hiện thành công việc nghiên cứu, mô hình hóa, thiết kế và triển khai thực nghiệm các thuật toán điều khiển tiên tiến (PID, Fuzzy Logic, Artificial Neural Network) trên hai hệ thống phần cứng cơ điện tử phức tạp: mô hình trực thăng hai bậc tự do (TRMS) và hệ truyền động động cơ xoay chiều ba pha qua biến tần.
Kết quả thực nghiệm khẳng định sự vượt trội toàn diện của các giải thuật thông minh so với phương pháp cổ điển: bộ điều khiển Mờ triệt tiêu hiện tượng dao động xen kênh của hệ MIMO, giảm độ vọt lố góc Pitch/Yaw xuống dưới $5%$ và thời gian xác lập nhanh hơn $65%$; trong khi mạng Nơ-ron NARMA-L2 xuất sắc trong việc điều khiển bám tốc độ động cơ 3 pha với sai số $< 1.0%$ bất chấp sự bất định của tham số vật lý. Thành công của đề tài mở ra triển vọng ứng dụng rộng rãi trong các thiết bị bay tự hành (UAV), hệ thống robot bám quỹ đạo và các dây chuyền tự động hóa công nghiệp hiện đại.