Giới thiệu dự án

Trong kỷ nguyên tự động hóa công nghiệp 4.0, các cơ cấu chấp hành chính xác như robot gắp đặt (Delta robot, SCARA robot) hay dây chuyền tự động hóa đòi hỏi các thuật toán điều khiển ổn định cực nhanh và kháng nhiễu cao. Tuy nhiên, các hệ thống công nghiệp có chi phí trang bị rất lớn, khiến việc thử nghiệm và đào tạo thuật toán điều khiển cao cấp tại các phòng lab trường đại học gặp nhiều rào cản. Mô hình Hệ thống Bóng và Thanh lệch trục (Ball and Beam System with Deviated Axis) ra đời như một giải pháp chuẩn mực để nghiên cứu và kiểm chứng các luật điều khiển hiện đại.

+-----------------------------------------------------------------------------------+
|                  KIẾN TRÚC TỔNG THỂ HỆ THỐNG BALL AND BEAM ĐỀ XUẤT                |
+-----------------------------------------------------------------------------------+
|  +--------------------+        PWM / DIR        +-------------------------------+  |
|  | STM32F407 Discovery| ---------------------> | Mạch Cầu H IR2184 (30A MOSFET)|  |
|  | (ARM Cortex-M4)    |                         +-------------------------------+  |
|  | - Thuật toán LQR/GA|                                         | 24V DC          |
|  | - Bộ lọc Median/LPF|                                         v                 |
|  | - Discrete PID Loop|        Vị trí góc       +-------------------------------+  |
|  |                    | <---------------------- | DC Servo Motor (Nisca NF5475E)|  |
|  |                    |    Encoder (200 ppr)    +-------------------------------+  |
|  |                    |                                         | Khớp nối đòn bẩy|
|  |                    |        Điện áp Analog                   v                 |
|  |                    | <---------------------- [ Thanh Dẫn Điện Trở Dây Mayor ]  |
|  |                    |      (0V - 3.3V ADC)    [ & Viên Bi Thép Lăn Tự Do     ]  |
|  +--------------------+                         +-------------------------------+  |
|           ^                                                                       |
|           | UART / CP2102 (Baudrate: 115200)                                      |
|           v                                                                       |
|  +-----------------------------------------------------------------------------+  |
|  | Giao Diện Giám Sát & Điều Khiển Thời Gian Thực (C# Visual Studio / GUI)     |  |
|  +-----------------------------------------------------------------------------+  |
+-----------------------------------------------------------------------------------+

Vấn đề kỹ thuật cốt lõi (Problem Statement)

Hệ thống Ball and Beam là một hệ thống phi tuyến, bất ổn định vòng hở (open-loop unstable) và thuộc dạng SIMO (Single-Input Multi-Output): đầu vào là điện áp cấp cho động cơ DC để thay đổi góc nghiêng của thanh ($\alpha$), trong khi đầu ra cần khống chế đồng thời góc thanh beam và vị trí viên bi ($r$). Sự trễ tín hiệu, ma sát phi tuyến, rung động cơ khí và nhiễu cảm biến là các điểm nghẽn kỹ thuật chính khiến hệ thống dễ bị mất ổn định hoặc dao động kéo dài khi chuyển trạng thái.

Mục tiêu dự án

  1. Mô hình hóa toán học: Xây dựng hệ phương trình vi phân động học phi tuyến của hệ thống cơ điện thông qua phương pháp Euler-Lagrange và mô hình hóa động cơ DC.
  2. Thiết kế phần cứng: Chế tạo mô hình thực nghiệm cơ khí lệch trục, tích hợp vi điều khiển nhúng 32-bit ARM Cortex-M4, mạch công suất cầu H và cảm biến vị trí thanh dẫn trở dây Mayor.
  3. Phát triển thuật toán điều khiển tuyến tính: Thiết kế bộ điều khiển PID số (Discrete PID) và bộ điều khiển tối ưu tuyến tính toàn phương LQR (Linear Quadratic Regulator).
  4. Tối ưu hóa thông minh bằng GA: Ứng dụng Giải thuật Di truyền (Genetic Algorithm) để dò tìm tự động bộ thông số tối ưu cho PID ($K_p, K_i, K_d$) và các ma trận trọng số LQR ($Q, R$).
  5. Xây dựng giao diện điều khiển: Phát triển phần mềm GUI thời gian thực trên C# Visual Studio kết nối qua giao tiếp UART để giám sát và đặt quỹ đạo vị trí (Setpoints).

Chỉ số hiệu năng kỳ vọng (Measurable Metrics)

  • Thời gian xác lập (Settling Time - $t_s$): Dưới 10 giây (kỳ vọng $< 3.5\text{s}$ với thuật toán tối ưu).
  • Sai số xác lập (Steady-State Error - $e_{ss}$): Không vượt quá $\pm 0.01\text{m}$ ($\pm 1\text{cm}$).
  • Độ vọt lố (Percentage Overshoot - $%POT$): Dưới $15%$.
  • Khả năng bám quỹ đạo: Đáp ứng ổn định với tín hiệu đặt dạng bước nhảy (Step) và sóng hình sin (Sine Wave).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng và so sánh giải pháp

Tiêu chí kỹ thuật Hệ thống thương mại (Quanser Ball & Beam) Giải pháp DIY dùng Arduino Uno & Ultrasonic Giải pháp đề xuất của đề tài
Vi điều khiển Card thu thập DAQ chuyên dụng (Q8-USB) ATmega328P (8-bit, 16MHz, no FPU) STM32F407VGT6 (32-bit ARM Cortex-M4, 168MHz, FPU)
Cảm biến vị trí Cảm biến màng điện trở tuyến tính cao Siêu âm HC-SR04 (Tần số thấp, trễ chùm tia) Thanh dẫn trở dây Mayor (0–3.3V, phản hồi tức thời)
Động cơ & Driver DC Servo công nghiệp cao cấp RC Servo MG996R (Bánh răng nhựa, rơ lỏng) DC Nisca NF5475E (200 ppr Encoder) + Cầu H IR2184 (30A)
Phương pháp chỉnh định Chỉnh định thủ công / Pole Placement Thử - sai (Trial and Error) trên vi điều khiển Tối ưu hóa tự động bằng Genetic Algorithm (GA)
Chi phí đầu tư Rất cao (> 100.000.000 VNĐ) Thấp (~ 800.000 VNĐ) nhưng độ chính xác kém Tối ưu (~ 3.500.000 VNĐ), độ chính xác công nghiệp

Phân loại yêu cầu hệ thống theo MoSCoW

  • Must-have: Đo lường vị trí viên bi bằng ADC thời gian thực; điều khiển góc thanh beam bằng PWM; thuật toán PID và LQR ổn định hệ thống; bộ lọc trung vị (Median Filter) khử nhiễu gai điện áp.
  • Should-have: Tối ưu hóa tự động ma trận LQR và thông số PID bằng GA trên MATLAB/Simulink; nhúng mã nguồn tự động qua Waijung Blockset.
  • Could-have: Giao diện C# Visual Studio hiển thị đồ thị đáp ứng thời gian thực và ghi log dữ liệu.
  • Won't-have: Bù trượt ma sát phi tuyến thích nghi online (dành cho hướng phát triển tiếp theo).

Kiến trúc hệ thống và Công nghệ sử dụng

  1. Phần cứng (Hardware Stack):
    • MCU: STM32F407 Discovery Kit (1MB Flash, 192KB RAM, Core Cortex-M4 tích hợp phần cứng tính toán dấu phẩy động FPU).
    • Cơ cấu chấp hành: DC Encoder Motor Nisca NF5475E (tốc độ tối đa 3000 RPM, Encoder quang học 200 xung/vòng).
    • Mạch công suất: H-Bridge Module IC IR2184 điều khiển dàn MOSFET chịu dòng liên tục 30A.
    • Nguồn cấp: Nguồn xung công nghiệp 220VAC sang 24VDC - 10A (Model RS-150-24).
    • Cảm biến: Thanh dẫn điện trở cuốn dây Mayor + Thanh đồng trượt tín hiệu trực tiếp về chân ADC1_IN1 của STM32.
    • Giao tiếp: Module chuyển đổi USB-to-UART CP2102.
  2. Phần mềm (Software Stack):
    • Môi trường mô phỏng: MATLAB R2022b / Simulink.
    • Bộ công cụ nhúng: Waijung Blockset v1.0 (Target Support Package cho STM32F4).
    • Phần mềm giao diện & Giám sát: Microsoft Visual Studio 2022 (C# .NET Windows Forms) & Terminal UART.

Phương trình động học và Thiết kế thuật toán

                                  VIÊN BI (m_B, R_B)
                                  Vị trí: r(t)
                                     ( O ) -> Chiều lăn
             ==========================O==========================  Thanh Beam (m_b, L)
            /                                                     \
           /                                                       \
        Khớp quay cố định                                        Khớp đòn bẩy lệch trục
                                                                    |
                                                                   [ ] Tay đòn (Lever Arm - d)
                                                                    |
                                                                 ( MOTOR ) -> Động cơ DC (Nisca)

1. Mô hình hóa động học Lagrange (Euler-Lagrange Equation)

Năng lượng động năng ($K$) và thế năng ($P$) của hệ thống Ball and Beam lệch trục được xác định bởi:

  • Động năng viên bi & thanh beam: $$K = \frac{1}{2}m_B \dot{r}^2 + \frac{1}{2}\frac{J_B}{R_B^2}\dot{r}^2 + \frac{1}{2}\left(m_B r^2 + J_b\right)\dot{\alpha}^2$$ Trong đó: $m_B$ là khối lượng viên bi ($0.05,\text{kg}$), $J_B = \frac{2}{5}m_B R_B^2$ là mômen quán tính viên bi, $R_B = 0.0125,\text{m}$ là bán kính viên bi, $J_b = \frac{1}{3}m_b L^2$ là mômen quán tính thanh beam chiều dài $L$.

  • Thế năng của hệ thống: $$P = m_B g r \sin\alpha + m_b g \frac{L}{2}\sin\alpha$$

Hàm Lagrange $\mathcal{L} = K - P$. Áp dụng phương trình Lagrange loại 2: $\frac{d}{dt}\left(\frac{\partial \mathcal{L}}{\partial \dot{q}_i}\right) - \frac{\partial \mathcal{L}}{\partial q_i} = \tau_i$, ta thu được phương trình vi phân chuyển động của viên bi: $$\left(m_B + \frac{J_B}{R_B^2}\right)\ddot{r} + m_B g \sin\alpha - m_B r \dot{\alpha}^2 = 0 \implies \ddot{r} = \frac{m_B g \sin\alpha - m_B r \dot{\alpha}^2}{m_B + \frac{J_B}{R_B^2}}$$

2. Mô hình hóa Động cơ DC và Chuyển đổi Ngõ vào Điện áp

Mối liên hệ giữa dòng điện phần ứng $i(t)$, điện áp ngõ vào $e(t)$, và sức điện động phản hồi $E_b = K_b \dot{\theta}$: $$e(t) = L_m \frac{di}{dt} + R_m i(t) + K_b \dot{\theta}(t)$$ Bỏ qua điện cảm phần ứng $L_m \approx 0$ do hằng số thời gian điện nhỏ hơn nhiều so với hằng số thời gian cơ học, mômen xoắn động cơ sinh ra là: $$\tau_m = K_t i(t) = \frac{K_t}{R_m}\left(e(t) - K_b \dot{\theta}(t)\right)$$ Qua cơ cấu đòn bẩy lệch trục với cánh tay đòn bán kính $d$, góc xoay động cơ $\theta$ liên kết với góc nghiêng thanh $\alpha$ qua tỷ số hình học $\sin\alpha \approx \frac{d}{L}\theta \implies \alpha \approx \frac{d}{L}\theta$ (xét góc nhỏ quanh điểm cân bằng ngang $\alpha \approx 0$).

3. Thiết kế Bộ điều khiển Tuyến tính LQR (Linear Quadratic Regulator)

Đặt vector trạng thái $X = [x_1, x_2, x_3, x_4]^T = [r, \dot{r}, \alpha, \dot{\alpha}]^T$, phương trình không gian trạng thái tuyến tính hóa: $$\dot{X} = AX + Bu$$ Với: $$A = \begin{bmatrix} 0 & 1 & 0 & 0 \ 0 & 0 & \frac{-m_B g}{m_B + J_B/R_B^2} & 0 \ 0 & 0 & 0 & 1 \ 0 & 0 & 0 & 0 \end{bmatrix}, \quad B = \begin{bmatrix} 0 \ 0 \ 0 \ \frac{K_t d}{R_m (J_b + J_m (L/d)^2) L} \end{bmatrix}$$

Hàm mục tiêu năng lượng cần cực tiểu hóa: $$J = \int_{0}^{\infty} \left( X^T Q X + u^T R u \right) dt$$ Trong đó $Q \ge 0$ là ma trận phạt sai số trạng thái kích thước $4 \times 4$ và $R > 0$ là trọng số phạt năng lượng điều khiển. Luật điều khiển phản hồi trạng thái: $$u = -K X = -\begin{bmatrix} K_1 & K_2 & K_3 & K_4 \end{bmatrix} \begin{bmatrix} r \ \dot{r} \ \alpha \ \dot{\alpha} \end{bmatrix}$$ Ma trận $K$ được tính từ nghiệm ma trận đối xứng $S$ của phương trình Riccati đại số (ARE): $$A^T S + SA - S B R^{-1} B^T S + Q = 0 \implies K = R^{-1} B^T S$$

% Đoạn mã MATLAB tính toán ma trận LQR tối ưu
m_B = 0.05; R_B = 0.0125; g = 9.81; J_B = (2/5)*m_B*R_B^2;
L = 0.5; d = 0.075; Rm = 6.5; Kt = 0.08; Kb = 0.08; Jb = 0.02; Jm = 0.001;

% Xây dựng ma trận không gian trạng thái A, B
A = [0 1 0 0;
     0 0 -g/(1 + J_B/(m_B*R_B^2)) 0;
     0 0 0 1;
     0 0 0 -Kt*Kb*(L/d)^2 / (Rm*(Jb + Jm*(L/d)^2))];
B = [0; 0; 0; (Kt*(L/d))/(Rm*(Jb + Jm*(L/d)^2))];

% Ma trận trọng số LQR
Q = diag([120, 15, 45, 8]);
R = 1.2;

% Tính toán Gain Matrix K
[K, S, P] = lqr(A, B, Q, R);
disp(['LQR Gain K = ', num2str(K)]);

4. Tối ưu hóa Thông số bằng Genetic Algorithm (GA)

Giải thuật Di truyền được cấu hình trên MATLAB để tìm kiếm vector tối ưu:

  • Đối với PID: Cá thể mã hóa chuỗi thực gồm 3 gene $[K_p, K_i, K_d]$.
  • Đối với LQR: Cá thể mã hóa 5 gene $[q_1, q_2, q_3, q_4, R]$.
  • Hàm thích nghi (Fitness Function): Cực tiểu hóa tiêu chuẩn tích phân sai số nhân thời gian (ITAE - Integral of Time-weighted Absolute Error): $$\text{Fitness} = \frac{1}{\int_{0}^{T_{sim}} \left( t \cdot |e(t)| + \lambda u^2(t) \right) dt + \epsilon}$$
  • Tham số GA: Quy mô quần thể $N_p = 50$, tỷ lệ lai ghép (Crossover) $P_c = 0.8$, tỷ lệ đột biến (Mutation) $P_m = 0.05$, số thế hệ chạy lặp tối đa $G_{max} = 100$.

Implementation và Kết quả thực nghiệm

Quy trình phát triển và Xử lý tín hiệu

Dự án áp dụng phương pháp Model-Based Design (MBD), chuyển đổi trực tiếp mô hình Simulink sang mã nguồn C nhúng cho STM32F407 thông qua Waijung Blockset.

// Cấu trúc hàm điều khiển PID rời rạc thực thi chu kỳ 1ms trên STM32F407
float Discrete_PID_Update(float setpoint, float current_pos, float dt) {
    static float error_prev = 0.0f;
    static float integral = 0.0f;
    
    float error = setpoint - current_pos;
    integral += error * dt;
    // Anti-windup cho khâu tích phân
    if (integral > 10.0f) integral = 10.0f;
    if (integral < -10.0f) integral = -10.0f;
    
    float derivative = (error - error_prev) / dt;
    error_prev = error;
    
    float u = (KP * error) + (KI * integral) + (KD * derivative);
    return u; // Xuất tín hiệu điều khiển PWM
}

Tại tần số lấy mẫu $f_s = 1000,\text{Hz}$ ($T_s = 0.001,\text{s}$), tín hiệu ADC từ thanh dây Mayor thường xuất hiện xung nhiễu gai (spikes). Hệ thống tích hợp Bộ lọc Trung vị (Median Filter) cửa sổ trượt bậc 5 kết hợp Bộ lọc Thông thấp số (Digital Low-Pass Filter) bậc 1: $$y_{LPF}[k] = \alpha \cdot y_{LPF}[k-1] + (1-\alpha) \cdot y_{med}[k], \quad \text{với } \alpha = \frac{\tau}{\tau + T_s} = 0.85$$

+-----------------------------------------------------------------------------+
|              KẾT QUẢ ĐÁP ỨNG VỊ TRÍ VIÊN BI TRÊN MÔ HÌNH THỰC               |
+-----------------------------------------------------------------------------+
| Vị trí (m)                                                                  |
| 0.30 |                          Setpoint = 0.25m                            |
|      | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  |
| 0.25 |              /~~~~~\                                                 |
|      |             /       \_______ GA-LQR (ts = 2.4s, %POT = 4.2%)         |
| 0.20 |            /               \---------------------------------------  |
|      |           /       /---------\                                        |
| 0.15 |          /       /           \______ GA-PID (ts = 3.8s, %POT = 11.5%)|
|      |         /       /                                                    |
| 0.10 |        /       /                                                     |
|      |  LQR  /  PID  /                                                      |
| 0.05 |      /       /                                                       |
|      |     /       /                                                        |
| 0.00 +----+-------+-------+-------+-------+-------+-------+-------+-------> |
|      0    1       2       3       4       5       6       7       8 Thời gian(s)
+-----------------------------------------------------------------------------+

Bảng dữ liệu kiểm thử và Đánh giá hiệu năng thực tế

Thuật toán điều khiển Thời gian xác lập $t_s$ ($e_{ss} \le 5%$) Độ vọt lố $%POT$ Sai số xác lập $e_{ss}$ Mức độ dao động quanh điểm cân bằng
PID thủ công (Trial & Error) $6.80,\text{s}$ $28.4%$ $\pm 0.015,\text{m}$ Biên độ dao động lớn ($\pm 1.5,\text{cm}$)
GA - PID (Thế hệ 65) $3.80,\text{s}$ $11.5%$ $\pm 0.008,\text{m}$ Dao động nhẹ, suy giảm nhanh
LQR tiêu chuẩn $4.20,\text{s}$ $8.6%$ $\pm 0.006,\text{m}$ Rất êm, không gắt cơ khí
GA - LQR (Tối ưu toàn diện) $2.40,\text{s}$ $4.2%$ $\pm 0.003,\text{m}$ Cực kỳ ổn định, triệt tiêu rung sai tuyệt đối

Phân tích kết quả

  1. PID vs GA-PID: Thuật toán GA ở thế hệ thứ 65 đã tìm ra bộ thông số tối ưu giúp giảm thời gian xác lập $44.1%$ (từ $6.8\text{s}$ xuống $3.8\text{s}$) và giảm độ vọt lố $59.5%$ so với phương pháp thử sai thủ công.
  2. LQR vs GA-LQR: Thuật toán LQR thể hiện ưu thế vượt trội của hệ điều khiển tối ưu đa biến. Khi kết hợp GA để tinh chỉnh ma trận $Q$ và $R$, thời gian xác lập đạt con số kỷ lục $2.4\text{s}$, độ vọt lố được khống chế ở mức hoàn hảo $4.2%$, hoàn toàn không gây trượt bi khỏi rãnh dẫn hướng.

Đổi mới và Đóng góp kỹ thuật

  1. Thiết kế Cảm biến Dây Mayor Trượt Tuyến tính: Khắc phục triệt để nhược điểm của cảm biến siêu âm HC-SR04 (góc quét nón gây mất dấu khi bi lăn nhanh) và camera thị giác (trễ khung hình xử lý). Thiết kế thanh trở trượt dây Mayor cho phép đo đạc liên tục qua ADC với độ trễ gần như bằng 0.
  2. Tối ưu hóa đa thế hệ bằng Genetic Algorithm: Chứng minh tính khả thi của việc kết hợp trí tuệ nhân tạo (thuật toán tiến hóa) với lý thuyết điều khiển tự động kinh điển để tự động hóa hoàn toàn quy trình cân chỉnh thông số phức tạp của LQR.
  3. Quy trình nhúng MBD tự động hóa cao: Khai thác triệt để sức mạnh phần cứng của chip 32-bit ARM Cortex-M4 STM32F407 thông qua Waijung Blockset, rút ngắn $70%$ thời gian lập trình nhúng so với viết code C thanh ghi truyền thống.

Ứng dụng thực tế và Triển khai

+-----------------------------------------------------------------------------+
|                      CÁC ỨNG DỤNG CÔNG NGHIỆP TƯƠNG ĐỒNG                    |
+-----------------------------------------------------------------------------+
|                                                                             |
|   [ HÀNG KHÔNG - VŨ TRỤ ]        [ ROBOT HÓA TỰ ĐỘNG ]       [ HÀNG HẢI ]   |
|   Cân bằng góc tấn (AoA)         Tay máy gắp đặt tốc độ     Ổn định chân đế |
|   khi hạ cánh trong gió giật     cao, giảm rung lắc khâu     chống lắc lư   |
|                                                              cho tàu thủy   |
|          |                               |                        |         |
|          +-------------------------------+------------------------+         |
|                                          |                                  |
|                                          v                                  |
|                     +---------------------------------------+               |
|                     | CỐT LÕI: THUẬT TOÁN ĐIỀU KHIỂN LQR/GA |               |
|                     +---------------------------------------+               |
+-----------------------------------------------------------------------------+

Trường hợp sử dụng thực tế (Use Cases)

  • Hệ thống điều khiển bay (Flight Control Systems): Mô hình Ball and Beam có cấu trúc phương trình toán học tương đồng trực tiếp với bài toán điều khiển góc chúc ngẩng (Pitch Angle) và độ cao của máy bay không người lái (UAV) khi gặp nhiễu loạn luồng khí.
  • Hệ thống giảm chấn chống rung tay máy công nghiệp: Ứng dụng thuật toán LQR để triệt tiêu dao động dư thừa của các cánh tay robot Scara/Delta khi dừng đột ngột ở tốc độ cao.
  • Bàn cân bằng hàng hải (Marine Stabilizing Platforms): Giữ mặt sàn phẳng cho các thiết bị định vị vệ tinh hoặc bãi đáp trực thăng trên tàu biển chịu sóng lớn.

Phân tích hiệu quả kinh tế & Khả năng nhân rộng

Mô hình thực nghiệm hoàn thiện có tổng chi phí chế tạo khoảng 3.500.000 VNĐ, trong khi một bộ kit chuẩn giáo dục của Quanser nhập khẩu có giá thành trên 4.000 USD (~100.000.000 VNĐ). Giải pháp này mang lại khả năng nhân rộng cực cao cho hệ thống phòng thí nghiệm tại các trường đại học kỹ thuật trên toàn quốc với ROI (tỷ suất hoàn vốn đầu tư giáo dục) đạt trên $90%$.


Hạn chế và Hướng phát triển

Hạn chế kỹ thuật

  • Vấn đề tuyến tính hóa: Mô hình LQR được thiết kế trên cơ sở tuyến tính hóa quanh điểm cân bằng ngang $\alpha = 0$. Khi góc lệch beam quá lớn ($|\alpha| > 25^\circ$), tính phi tuyến tăng mạnh làm giảm chất lượng điều khiển.
  • Hao mòn cơ khí tiếp điểm: Cảm biến dây Mayor dựa trên tiếp xúc cơ học giữa bi và thanh dẫn, sau thời gian dài hoạt động có thể bị mài mòn lớp oxit hoặc bám bụi, gây biến đổi nhẹ điện trở tiếp xúc.

Hướng nâng cấp trong tương lai

  • Ứng dụng điều khiển thích nghi phi tuyến: Triển khai thuật toán Điều khiển Trượt (Sliding Mode Control - SMC) hoặc Mạng Nơ-ron Mờ (ANFIS / Fuzzy-PID) để bù đắp ma sát phi tuyến và kháng nhiễu khi góc lệch lớn.
  • Thị giác máy tính (Computer Vision): Nâng cấp cảm biến vị trí bi bằng camera độ trễ thấp (Global Shutter Camera) kết hợp thuật toán xử lý ảnh OpenCV trên vi xử lý nhúng để nhận dạng vị trí bi không tiếp xúc.

Đối tượng hưởng lợi

  • Sinh viên ngành Tự động hóa & Cơ điện tử: Tiếp cận tài liệu chuẩn mực về phương pháp Euler-Lagrange, cách thức nhúng thuật toán từ Simulink sang STM32 và kỹ thuật chỉnh định tham số hiện đại.
  • Kỹ sư phát triển hệ thống nhúng (Embedded Control Engineers): Tham khảo kiến trúc thiết kế mạch công suất MOSFET, giải pháp giao tiếp UART tốc độ cao và kỹ thuật xử lý tín hiệu lọc số thực tế.
  • Giảng viên và Nhà nghiên cứu: Bộ khung lý thuyết và mô hình vật lý chi phí thấp phục vụ giảng dạy các môn Lý thuyết Điều khiển Nâng cao, Nhận dạng Hệ thốngTối ưu hóa Hệ thống.

Câu hỏi thường gặp (FAQ)

1. Yêu cầu cấu hình máy tính và phần mềm để nạp mã nguồn là gì?

Máy tính chạy hệ điều hành Windows 10/11, cài đặt MATLAB/Simulink R2018b trở lên cùng gói thư viện Waijung Blockset 1.0. Kết nối kit STM32F407 Discovery qua cổng Mini-USB tích hợp mạch nạp ST-LINK/V2 mà không cần mua thêm mạch nạp ngoài.

2. Tại sao nhóm nghiên cứu không sử dụng cảm biến siêu âm HC-SR04?

Cảm biến siêu âm có góc phát sóng dạng nón ($\sim 15^\circ$) và tốc độ truyền âm trong không khí hữu hạn, dẫn đến trễ lấy mẫu và dễ bắt sai tín hiệu vào thành beam khi thanh nghiêng nhanh. Thanh dẫn trở Mayor cho phép đọc điện áp tức thời qua ADC với tần số lấy mẫu lên đến $1000,\text{Hz}$, đảm bảo độ nhạy cho vòng lặp điều khiển phản hồi.

3. Thuật toán LQR có ưu thế gì vượt trội so với PID truyền thống trong bài toán này?

PID là bộ điều khiển đơn biến (SISO), chỉ phản hồi trực tiếp sai số vị trí bi $r(t)$. Trong khi đó, LQR là bộ điều khiển không gian trạng thái đa biến (State-Feedback), cùng lúc kiểm soát và điều chỉnh cả 4 biến trạng thái: vị trí bi ($r$), vận tốc bi ($\dot{r}$), góc nghiêng thanh ($\alpha$), và vận tốc góc thanh ($\dot{\alpha}$), giúp hệ thống phản ứng mượt mà và triệt tiêu dao động cơ học nhanh gấp 3 lần.

4. Mạch cầu H IR2184 giải quyết vấn đề đảo chiều động cơ tức thời như thế nào?

IC lái IR2184 tích hợp sẵn mạch tạo thời gian chết (Dead-time circuitry ~500ns), ngăn ngừa hiện tượng ngắn mạch Shoot-Through (cả hai MOSFET trên cùng một nhánh đồng thời dẫn) khi động cơ Nisca đảo chiều quay liên tục ở tần số cao.

5. Chi phí bảo trì của hệ thống thanh dẫn trở Mayor có tốn kém không?

Chi phí bảo trì cực thấp. Định kỳ sau 100 giờ thử nghiệm, chỉ cần vệ sinh bề mặt thanh dẫn bằng cồn Isopropyl Alcohol (IPA) để loại bỏ muội bụi tiếp xúc, đảm bảo điện áp tuyến tính 0–3.3V trả về luôn ổn định.


Kết luận

Đồ án tốt nghiệp "Điều khiển Ball and Beam: PID & LQR" đã hoàn thành xuất sắc toàn bộ các mục tiêu đặt ra:

  • Thiết lập thành công mô hình toán học giải tích chính xác của hệ thống bóng và thanh lệch trục dựa trên phương trình Euler-Lagrange và động cơ DC.
  • Chế tạo thành công mô hình thực nghiệm hoàn chỉnh, kết hợp vi điều khiển 32-bit hiệu năng cao STM32F407 và cảm biến dây trở Mayor độ nhạy cao.
  • Kiểm chứng thực nghiệm thành công hai thuật toán tuyến tính: PID số và LQR phản hồi trạng thái.
  • Đột phá trong việc tối ưu hóa tham số thông minh bằng Giải thuật Di truyền (GA), giúp hệ thống GA-LQR đạt thời gian xác lập ấn tượng $2.40,\text{s}$, độ vọt lố chỉ $4.2%$ và sai số xác lập dưới $0.003,\text{m}$.

Mô hình không chỉ là một công cụ giảng dạy trực quan, chi phí tối ưu cho các trường đại học mà còn là nền tảng vững chắc để tiếp tục phát triển các thuật toán điều khiển phi tuyến, điều khiển thích nghi và học tăng cường (Reinforcement Learning) trong tương lai.