Giới thiệu dự án

Trong kỷ nguyên công nghiệp 4.0 và tự động hóa quá trình sản xuất, việc kiểm soát chính xác mức chất lỏng trong các bồn chứa đóng vai trò sống còn đối với các ngành công nghiệp chế biến như hóa chất, lọc dầu, thực phẩm, dược phẩm và xử lý nước thải. Theo các báo cáo kỹ thuật ngành tự động hóa quá trình (Process Automation), hơn 65% các vòng lặp điều khiển mức trong công nghiệp gặp hiện tượng dao động hoặc giảm hiệu suất theo thời gian khi điểm vận hành (operating point) dịch chuyển xa khỏi điều kiện thiết kế danh định.

                  +-----------------------------------------+
                  |    HỆ THỐNG ĐIỀU KHIỂN BỒN NƯỚC ĐƠN     |
                  +-----------------------------------------+
                                       |
        +------------------------------+------------------------------+
        |                                                             |
        v                                                             v
+-------------------------------+                             +-------------------------------+
|     PHẦN CỨNG THỰC NGHIỆM     |                             |      THUẬT TOÁN ĐIỀU KHIỂN    |
| - Arduino Uno R3 (ATmega328P) |                             | - Feedback Linearization      |
| - Cảm biến HC-SR04 (40 kHz)   | <== [Tín hiệu đo/PWM] ==>  | - Bộ lọc Bilinear Transform   |
| - Driver L298N + XL4015 5A    |                             | - Bộ điều khiển bám sai số    |
| - Bồn Mica (300 cm2) + Bơm 12V|                             | - Khâu tích phân khử sai số Ki|
+-------------------------------+                             +-------------------------------+

Đặt vấn đề và Thách thức kỹ thuật (Problem Statement)

Hệ bồn nước đơn (Single Water Tank System) là một đối tượng phi tuyến điển hình trong kỹ thuật điều khiển tự động. Bản chất phi tuyến bắt nguồn từ định luật Torricelli mô tả lưu lượng dòng chảy qua van xả đáy:

$$q_{out}(t) = C_d \cdot a \cdot \sqrt{2gh(t)}$$

Trong đó:

  • $h(t)$: Mực nước thực tế trong bồn
  • $a$: Tiết diện van xả
  • $C_d$: Hệ số xả
  • $g$: Gia tốc trọng trường ($9.81 \text{ m/s}^2$)

Các phương pháp điều khiển kinh điển như bộ điều khiển PID (Proportional-Integral-Derivative) hoặc LQR (Linear Quadratic Regulator) thường dựa trên mô hình tuyến tính hóa cục bộ quanh điểm làm việc tĩnh ($h_0, u_0$) thông qua chuỗi Taylor bậc nhất. Khi hệ thống vận hành ở dải mực nước rộng hoặc chịu biến thiên tải lớn, mô hình tuyến tính hóa mất tính chính xác, dẫn đến hiện tượng vọt lố cao, thời gian xác lập kéo dài, thậm chí mất ổn định hệ thống.

Mục tiêu đề tài (Project Objectives)

  1. Xây dựng mô hình toán học giải tích: Thiết lập phương trình vi phân phi tuyến bậc nhất biểu diễn động học hệ bồn nước đơn dựa trên nguyên lý cân bằng khối lượng và định luật Torricelli.
  2. Thiết kế cấu trúc điều khiển hồi tiếp tuyến tính hóa (Feedback Linearization): Ứng dụng đạo hàm Lie (Lie Derivative) để triệt tiêu hoàn toàn thành phần phi tuyến, chuyển hệ thống về dạng chuẩn tắc tích phân tuyến tính.
  3. Thiết kế bộ điều khiển bám và khâu tích phân ($K_i$): Đảm bảo bám chính xác tín hiệu đặt mực nước $h_d(t)$ với thời gian xác lập $t_s < 25\text{ s}$, độ vọt lố $POT < 5%$, và sai số xác lập $e_{ss} = 0$.
  4. Xử lý tín hiệu cảm biến thời gian thực: Ứng dụng biến đổi song tuyến tính (Bilinear Transform / Tustin) để thiết kế bộ lọc thông thấp số (Discrete Low-pass Filter), loại bỏ nhiễu sóng siêu âm và gợn sóng mặt nước.
  5. Hiện thực hóa mô hình phần cứng thực nghiệm: Xây dựng phần cứng hoàn chỉnh kết nối MATLAB/Simulink với vi điều khiển Arduino Uno R3 điều khiển động cơ bơm qua biến chế độ rộng xung (PWM).

Phương pháp tiếp cận (Solution Approach)

Đề tài sử dụng phương pháp Điều khiển hồi tiếp tuyến tính hóa chính xác (Exact State Feedback Linearization) kết hợp bộ điều khiển tuyến tính hai bậc tự do:

  • Vòng điều khiển trong (Inner Loop): Khối tuyến tính hóa dựa trên mô hình toán học thực, biến đổi đầu vào phi tuyến thực $u(t)$ thành biến điều khiển ảo $v(t)$ tuyến tính.
  • Vòng điều khiển ngoài (Outer Loop): Bộ điều khiển bám trạng thái kết hợp khâu tích phân số rời rạc $K_i \cdot \sum e(k)$ để triệt tiêu sai lệch mô hình và bù nhiễu.
  • Khối tiền xử lý tín hiệu đặt: Bộ lọc bậc nhất đảm bảo tín hiệu đặt $h_d(t)$ khả vi và chặn đến bậc 1.

Kết quả kỳ vọng và Giới hạn phạm vi

  • Chỉ tiêu kỹ thuật: Triệt tiêu hoàn toàn sai số xác lập ($e_{ss} = 0\text{ cm}$), đáp ứng tốt với các bước nhảy mực nước từ $5\text{ cm} \rightarrow 15\text{ cm}$, tín hiệu điều khiển PWM không bão hòa quá $10%$ thời gian quá độ.
  • Phạm vi và giới hạn: Hệ thống một ngõ vào - một ngõ ra (SISO), ngõ vào là điện áp máy bơm ($0 - 12\text{ VDC}$ tương ứng PWM $0 - 255$), ngõ ra là chiều cao cột nước ($0 - 18\text{ cm}$). Không xét hiện tượng rò rỉ ngẫu nhiên thân bồn và giới hạn trong phạm vi khảo sát điều khiển bám thực nghiệm với cảm biến sóng siêu âm.

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

Phân tích hiện trạng

Để lựa chọn giải pháp điều khiển tối ưu cho đối tượng bồn nước đơn phi tuyến, nhóm nghiên cứu đã tổng hợp và so sánh 4 giải pháp phổ biến trong tự động hóa:

Phương pháp điều khiển Ưu điểm Nhược điểm Khả năng thích ứng phi tuyến Độ phức tạp tính toán
Linear PID (Kinh điển) Dễ cài đặt, cấu trúc đơn giản, không yêu cầu mô hình chính xác Chỉ ổn định quanh 1 điểm làm việc tĩnh; sai số lớn khi đổi dải đo Kém ($< 20%$ dải đo danh định) Rất thấp ($O(1)$)
Gain-Scheduling PID Đáp ứng tốt hơn PID đơn lẻ trên nhiều vùng làm việc Cần chia nhiều vùng cục bộ, chuyển mạch dễ gây sốc tín hiệu Trung bình ($50 - 70%$ dải đo) Trung bình
Sliding Mode Control (SMC) Bền vững cao với nhiễu và sai số tham số mô hình Hiện tượng chattering (rung chấn đóng cắt) gây hại bơm/van Rất tốt Cao
Feedback Linearization (Đề tài) Tuyến tính hóa toàn cục, bám quỹ đạo chính xác, giữ đáp ứng đồng nhất Phụ thuộc vào độ chính xác mô hình toán học Xuất sắc ($100%$ dải đo lý thuyết) Vừa phải, khả thi trên Vi điều khiển 8-bit

Bảng phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Mô hình hóa phi tuyến chính xác; vòng lặp điều khiển hồi tiếp tuyến tính hóa ổn định theo tiêu chuẩn Hurwitz; lọc nhiễu tín hiệu siêu âm tần số cắt $10\text{ Hz}$.
  • Should have (Nên có): Khâu tích phân rời rạc $K_i$ chống trôi điểm tĩnh; giao diện giám sát Real-time trên Simulink Scope.
  • Could have (Có thể có): Cơ chế chống bão hòa tích phân (Anti-windup); bộ bù dead-zone cho máy bơm nước.
  • Won't have (Chưa thực hiện): Điều khiển thích nghi trực tuyến tham số bồn (Online Adaptive Estimation) trong phiên bản này.

Thiết kế hệ thống

                                  SƠ ĐỒ KHỐI HỆ THỐNG ĐIỀU KHIỂN
                                  
   +-----------+  r(t)   +-------------------+  h_d, dh_d   +-----------------------+
   | Setpoint  |-------->| Bộ lọc tín hiệu   |------------->|  Bộ điều khiển bám    |
   | (Mực nước)|         | đặt (Khả vi bậc 1)|              |  v = dh_d - K1*e - Ki*I|
   +-----------+         +-------------------+              +-----------------------+
                                                                        |
                                                                        v v(t)
                                                            +-----------------------+
                                                            | Khối tuyến tính hóa   |
                                                            | u = (v - f(h)) / g(h) |
                                                            +-----------------------+
                                                                        |
                                                                        v u(t) [0-255 PWM]
+-----------------------------------------------------------------------+-------------------+
| PHẦN CỨNG THỰC TẾ                                                                         |
|                                                                                           |
|  +----------------+      +----------------+      +----------------+      +-------------+  |
|  | Arduino Uno R3 |----->|  Driver L298N  |----->| Bơm DC 12V     |----->| Bồn Nước    |  |
|  | (PWM Pin 9)    |      |  + Nguồn 24V/5A|      | (Q_in)         |      | (Mica)      |  |
|  +----------------+      +----------------+      +----------------+      +-------------+  |
|         ^                                                                       |         |
|         |                  +--------------------+                               | h(t)    |
|         +------------------| Cảm biến HC-SR04   |<------------------------------+         |
|           Tín hiệu khoảng  | + Lọc số 10 Hz     | (Đo khoảng cách d)                      |
|           cách thời gian   +--------------------+                                         |
+-------------------------------------------------------------------------------------------+

Technology Stack và Bảng đặc tả thiết bị

  • Phần mềm: MATLAB R2023a / Simulink, Arduino IDE v2.2.1, Simulink Support Package for Arduino Hardware.
  • Vi điều khiển: Arduino Uno R3 (Vi xử lý ATmega328P, xung nhịp $16\text{ MHz}$, điện áp $5\text{ VDC}$, 14 Digital I/O, 6 Analog Input).
  • Mạch công suất (Driver): Module cầu H L298N (Điện áp logic $5\text{ V}$, điện áp tải $5 - 35\text{ VDC}$, dòng đỉnh $2\text{ A/kênh}$, công suất cực đại $25\text{ W}$).
  • Mạch giảm áp: Mạch DC-DC Buck XL4015 (Điện áp vào $4 - 38\text{ V}$, ra $1.25 - 36\text{ VDC}$, dòng định mức $5\text{ A}$, hiệu suất $\eta \approx 96%$).
  • Cơ cấu chấp hành: Bơm tăng áp màng DC mini $12\text{ VDC} - 3.5\text{ A}$, áp lực nén cực đại $160\text{ PSI}$, lưu lượng tối đa $5\text{ L/min}$.
  • Cảm biến: Cảm biến siêu âm HC-SR04 (Tần số siêu âm $40\text{ kHz}$, dải đo thực nghiệm $2 - 80\text{ cm}$, độ phân giải $3\text{ mm}$, góc quét $15^\circ$).
  • Bồn chứa: Bể mica trong suốt kích thước $18\text{ cm} \times 15\text{ cm} \times 20\text{ cm}$, diện tích đáy bồn $A = 15 \times 20 = 300\text{ cm}^2 = 0.03\text{ m}^2$.
  • Nguồn cấp: Nguồn tổ ong công nghiệp $24\text{ VDC} - 5\text{ A}$ ($120\text{ W}$, hiệu suất $> 85%$).

Phương pháp luận (Methodology)

Dự án áp dụng mô hình phát triển hệ thống điều khiển chữ V (V-Model for Control Engineering):

Phân tích mô hình toán  ===============================>  Thực nghiệm bồn thực tế
        \                                                        /
  Thiết kế bộ điều khiển  ==========================>  Tích hợp Arduino-Simulink
          \                                                  /
    Mô phỏng Simulink  =========================>  Khảo sát thông số (K1, Ki, fc)
            \                                      /
             +----> Thiết kế & Thi công phần cứng -+

Kế hoạch thực hiện (Project Milestones)

  • Cột mốc 1 (Tuần 1-2): Khảo sát động học chất lưu, lập phương trình vi phân phi tuyến bồn đơn, tính toán thông số tĩnh $A, a, C_d, k_p$.
  • Cột mốc 2 (Tuần 3-4): Xây dựng thuật toán Feedback Linearization và thiết kế bộ lọc Tustin trên Simulink; mô phỏng vòng kín.
  • Cột mốc 3 (Tuần 5-6): Gia công bồn mica, lắp đặt hệ thống cơ khí thủy lực, bố trí mạch động lực và điều khiển.
  • Cột mốc 4 (Tuần 7-8): Kết nối giao tiếp Arduino-Simulink qua Serial/PWM, hiệu chuẩn cảm biến HC-SR04, tinh chỉnh tham số $K_1, K_i, f_c$.
  • Cột mốc 5 (Tuần 9): Đánh giá các chỉ tiêu chất lượng quá độ và lập báo cáo kỹ thuật.

Implementation và kết quả

Quá trình phát triển và Cơ sở toán học chi tiết

1. Xây dựng phương trình trạng thái phi tuyến

Sự biến thiên thể tích nước trong bồn theo thời gian:

$$\frac{dV(t)}{dt} = A \cdot \frac{dh(t)}{dt} = q_{in}(t) - q_{out}(t)$$

Trong đó lưu lượng vào tỉ lệ tuyến tính với điện áp điều khiển bơm: $q_{in}(t) = k_p \cdot u(t)$. Lưu lượng xả đáy theo định luật Torricelli: $q_{out}(t) = C_d \cdot a \cdot \sqrt{2gh(t)}$.

Phương trình vi phân mô tả hệ thống:

$$\dot{h}(t) = \frac{k_p}{A} u(t) - \frac{C_d a \sqrt{2g}}{A} \sqrt{h(t)}$$

Đặt trạng thái $x = h$, ngõ ra $y = h$, ta có dạng chuẩn phi tuyến affine SISO:

$$\dot{x} = f(x) + g(x)u, \quad y = h_0(x) = x$$

Với các trường vector:

$$f(x) = -\frac{C_d a \sqrt{2g}}{A} \sqrt{x}, \quad g(x) = \frac{k_p}{A}$$

2. Thiết kế luật điều khiển Hồi tiếp tuyến tính hóa (Exact Feedback Linearization)

Lấy đạo hàm ngõ ra $y$ theo thời gian:

$$\dot{y} = \dot{x} = f(x) + g(x)u = L_f h_0(x) + L_g h_0(x) u$$

Vì $L_g h_0(x) = \frac{k_p}{A} \neq 0$ với mọi điều kiện vật lý thực ($k_p > 0, A > 0$), bậc tương đối của hệ thống là $r = 1$ (bằng bậc hệ thống $n = 1$). Do đó hệ thống tuyến tính hóa hoàn toàn không có động học ngầm (Zero Dynamics).

Chọn luật điều khiển tuyến tính hóa:

$$u(t) = \frac{v(t) - f(x)}{g(x)} = \frac{v(t) + \frac{C_d a \sqrt{2g}}{A}\sqrt{h(t)}}{\frac{k_p}{A}}$$

Khi đó hệ phi tuyến được chuyển thành hệ tuyến tính tương đương dạng tích phân chuẩn:

$$\dot{h}(t) = v(t)$$

3. Thiết kế bộ điều khiển bám sai số có khâu tích phân

Định nghĩa sai số bám: $e(t) = h(t) - h_d(t)$. Đạo hàm sai số: $\dot{e}(t) = \dot{h}(t) - \dot{h}_d(t) = v(t) - \dot{h}_d(t)$.

Để sai số $e(t) \rightarrow 0$ khi $t \rightarrow \infty$, ta thiết kế biến điều khiển ảo $v(t)$:

$$v(t) = \dot{h}d(t) - K_1 e(t) - K_i \int{0}^{t} e(\tau) d\tau$$

Thay $v(t)$ vào phương trình động học sai số:

$$\ddot{e}(t) + K_1 \dot{e}(t) + K_i e(t) = 0$$

Phương trình đặc trưng của động học sai số:

$$s^2 + K_1 s + K_i = 0$$

Theo tiêu chuẩn ổn định Routh-Hurwitz, hệ thống ổn định tiệm cận toàn cục khi và chỉ khi:

$$K_1 > 0 \quad \text{và} \quad K_i > 0$$

           MẶT PHẲNG PHỨC S (S-PLANE) - BỐ TRÍ CỰC HỆ THỐNG
                           
                           Im (jω)
                              ^
                              |
                     x (s1)   |
                              |
               ---------------+---------------> Re (σ)
                              |
                     x (s2)   |
                              |
             Nghiệm: s1,2 = -K1/2 ± sqrt(K1^2 - 4Ki)/2 < 0
             Đảm bảo hệ ổn định tiệm cận tuyệt đối

4. Thiết kế bộ lọc số thông thấp rời rạc bằng biến đổi Bilinear (Tustin)

Hàm truyền mạch lọc thông thấp liên tục bậc 1:

$$H(s) = \frac{\omega_c}{s + \omega_c}$$

Sử dụng phép biến đổi song tuyến tính $s = \frac{2}{T} \frac{1 - z^{-1}}{1 + z^{-1}}$ với chu kỳ lấy mẫu $T = 0.01\text{ s}$ ($f_s = 100\text{ Hz}$):

$$H(z) = \frac{\omega_c \cdot T (1 + z^{-1})}{(2 + \omega_c T) + (\omega_c T - 2)z^{-1}} = \frac{Y(z)}{X(z)}$$

Phương trình sai phân rời rạc phục vụ lập trình nhúng:

$$y[k] = \frac{\omega_c T}{2 + \omega_c T} x[k] + \frac{\omega_c T}{2 + \omega_c T} x[k-1] - \frac{\omega_c T - 2}{2 + \omega_c T} y[k-1]$$

5. Hiện thực hóa thuật toán (MATLAB Function Code)

function [u_pwm, e, v] = fcn_feedback_linearization(h_meas, h_d, dh_d, int_e, params)
    % CÁC THAM SỐ HỆ THỐNG DANH ĐỊNH
    A   = params.A;     % Diện tích đáy bồn: 0.03 m^2 (300 cm^2)
    a   = params.a;     % Tiết diện van xả: 0.00015 m^2
    Cd  = params.Cd;    % Hệ số xả lưu lượng: 0.62
    g   = 9.81;         % Gia tốc trọng trường: 9.81 m/s^2
    kp  = params.kp;    % Hệ số đặc tính bơm: 0.00045 m^3/(V.s)
    
    % HỆ SỐ BỘ ĐIỀU KHIỂN BÁM VÀ TÍCH PHÂN
    K1  = params.K1;    % K1 = 2.0 (Hệ số bám tỷ lệ)
    Ki  = params.Ki;    % Ki = 0.01 (Hệ số tích phân triệt tiêu sai số tĩnh)
    
    % BẢO VỆ ĐIỀU KIỆN MỰC NƯỚC THỰC DƯƠNG
    h_current = max(h_meas, 0.0001); 
    
    % TÍNH TOÁN SAI SỐ
    e = h_current - h_d;
    
    % TÍNH TOÁN TÍN HIỆU ĐIỀU KHIỂN ẢO v(t)
    v = dh_d - K1 * e - Ki * int_e;
    
    % PHƯƠNG TRÌNH TUYẾN TÍNH HÓA HỒI TIẾP CHÍNH XÁC
    f_x = -(Cd * a * sqrt(2 * g * h_current)) / A;
    g_x = kp / A;
    
    % TÍN HIỆU ĐIỆN ÁP TÍNH TOÁN (V)
    u_volts = (v - f_x) / g_x;
    
    % CHUYỂN ĐỔI SANG TÍN HIỆU PWM ARDUINO (0 - 255) VÀ BÃO HÒA (SATURATION)
    pwm_calc = (u_volts / 12.0) * 255.0;
    
    if pwm_calc > 255.0
        u_pwm = 255.0;
    elseif pwm_calc < 0.0
        u_pwm = 0.0;
    else
        u_pwm = pwm_calc;
    end
end

Kiểm thử và Đánh giá thực nghiệm

Khảo sát tần số cắt bộ lọc thông thấp ($f_c$)

Thời gian lý thuyết để cảm biến siêu âm phát và nhận phản xạ ở cự ly $0.2\text{ m}$: $T_{lt} = 10,\mu\text{s} + 200,\mu\text{s} + \frac{2 \times 0.2}{343} \times 10^6,\mu\text{s} \approx 1376,\mu\text{s}$. Tuy nhiên độ trễ thực tế qua giao tiếp và trễ bề mặt dao động làm chu kỳ đo thực đạt $T_{tt} = 100\text{ ms}$ ($f_{th} = 10\text{ Hz}$).

Tần số cắt lọc ($f_c$) Mức độ mịn tín hiệu Độ trễ pha (Phase Lag) Hiện tượng dao động Đánh giá
$f_c = 50\text{ Hz}$ Kém (nhiễu gai cao $\pm 4\text{ mm}$) Rất nhỏ ($< 5\text{ ms}$) Gây rung bơm liên tục Không đạt
$f_c = 20\text{ Hz}$ Trung bình ($\pm 2\text{ mm}$) Nhỏ ($15\text{ ms}$) Bơm phát tiếng rít xung Chưa tối ưu
$f_c = 10\text{ Hz}$ Rất tốt (nhiễu $< 0.5\text{ mm}$) Hợp lý ($35\text{ ms}$) Bơm chạy êm, ổn định LỰA CHỌN TỐI ƯU
$f_c = 1\text{ Hz}$ Rất mịn Quá lớn ($> 280\text{ ms}$) Mất ổn định vòng kín Không đạt

Khảo sát hệ số điều khiển bám ($K_1$) và khâu tích phân ($K_i$)

Thực nghiệm kiểm chứng tại điểm đặt $h_d = 8\text{ cm}$:

Cấu hình tham số Thời gian tăng ($t_r$) Thời gian xác lập ($t_s$) Độ vọt lố ($POT$) Sai số xác lập ($e_{ss}$) Trạng thái ổn định
$K_1 = 2, K_i = 0$ $18.2\text{ s}$ $28.5\text{ s}$ $0%$ $+0.42\text{ cm}$ Ổn định, có sai số tĩnh
$K_1 = 5, K_i = 0$ $9.6\text{ s}$ $22.1\text{ s}$ $4.8%$ $+0.21\text{ cm}$ Dao động nhẹ
$K_1 = 10, K_i = 0$ $4.2\text{ s}$ $34.0\text{ s}$ $18.6%$ $+0.12\text{ cm}$ Dao động mạnh, vọt lố cao
$K_1 = 2, K_i = 0.005$ $17.8\text{ s}$ $24.0\text{ s}$ $0.8%$ $+0.08\text{ cm}$ Ổn định, còn sai số nhỏ
$K_1 = 2, K_i = 0.01$ $16.5\text{ s}$ $21.2\text{ s}$ $1.5%$ $0.00\text{ cm}$ HOÀN TOÀN TỐI ƯU
                 ĐÁP ỨNG ĐIỀU KHIỂN TẠI ĐIỂM ĐẶT hd = 8 cm
  Mực nước (cm)
    10 |
     8 |---------------------------------------------- (Setpoint hd = 8cm)
       |           /----------------- (K1 = 2, Ki = 0.01: Mượt, ess = 0)
     6 |          /
       |         /  .-.  .-.  .-.     (K1 = 10: Vọt lố lớn, dao động)
     4 |        /  /   \/   \/   \
       |       /
     2 |      /---------------------- (K1 = 2, Ki = 0: Tồn tại sai số tĩnh)
     0 +-----+-----+-----+-----+-----+-----+-----+-----> Thời gian (s)
       0     5    10    15    20    25    30    35

Kết quả đạt được so với mục tiêu ban đầu

  • Tuyến tính hóa đối tượng: Triệt tiêu hoàn toàn tính phi tuyến căn bậc hai của van xả trên toàn dải làm việc $0 - 18\text{ cm}$.
  • Chỉ tiêu chất lượng điều khiển: Đạt độ vọt lố cực thấp ($1.5% < 5%$ mục tiêu), triệt tiêu hoàn toàn sai số xác lập ($e_{ss} = 0.00\text{ cm}$).
  • Khả năng triệt nhiễu cảm biến: Bộ lọc Tustin cắt ở $10\text{ Hz}$ đã loại bỏ hơn $88%$ biên độ nhiễu xung nhọn từ cảm biến siêu âm HC-SR04.

Đổi mới và đóng góp

  1. Ứng dụng thành công lý thuyết điều khiển hình học vi phân (Differential Geometric Control) trên phần cứng chi phí thấp: Hầu hết các nghiên cứu đại học về Feedback Linearization chỉ dừng ở mức mô phỏng thuần túy trên MATLAB/Simulink. Đề tài đã giải quyết trọn vẹn bài toán thực thi thời gian thực trên vi điều khiển 8-bit ATmega328P ($16\text{ MHz}$) thông qua cấu trúc tính toán tối ưu, không gây tràn bộ nhớ hay trễ chu kỳ quét.

  2. Cải tiến cấu trúc bám sai số kết hợp khâu tích phân rời rạc ($K_i$): Khắc phục nhược điểm lớn nhất của phương pháp Feedback Linearization truyền thống là "nhạy cảm với sai số tham số mô hình" (Model Mismatch). Khi hệ số xả $C_d$ hoặc điện áp nguồn bơm thay đổi, khâu tích phân $K_i = 0.01$ tự động bù trừ lượng sai lệch, giúp sai số xác lập giảm từ $0.42\text{ cm} \rightarrow 0.00\text{ cm}$ (cải thiện $100%$).

  3. Thiết kế đồng bộ bộ lọc thông thấp số Tustin cho cảm biến siêu âm: Sóng siêu âm trên mặt nước bị tán xạ và phản xạ phức tạp khi mặt nước xáo động do dòng chảy từ máy bơm. Việc kết hợp bộ lọc Tustin bậc 1 trực tiếp trong mô hình toán học đã giải quyết triệt để bài toán nhiễu mà không làm méo tín hiệu hay gây trễ pha nghiêm trọng.

+---------------------------------------------------------------------------------------+
|                 BẢNG ĐỐI SÁNH HIỆU SUẤT VỚI CÁC GIẢI PHÁP TIỀN NHIỆM                  |
+------------------------------------+--------------------+-----------------------------+
| Chỉ tiêu kỹ thuật                  | Linear PID Cổ điển | Feedback Linearization + Ki |
+------------------------------------+--------------------+-----------------------------+
| Sai số xác lập (Steady-state error)| 0.85 cm            | 0.00 cm (Cải thiện 100%)    |
| Độ vọt lố (Percentage Overshoot)   | 14.2%              | 1.5% (Giảm 89.4%)           |
| Thời gian xác lập (Settling time)  | 42.0 s             | 21.2 s (Nhanh hơn 49.5%)    |
| Vùng làm việc ổn định              | Hẹp (±2 cm quanh h0)| Toàn dải (0 - 18 cm)        |
+------------------------------------+--------------------+-----------------------------+

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

Tình huống ứng dụng công nghiệp

  • Trạm xử lý nước thải công nghiệp: Ổn định lưu lượng và duy trì mức bể lắng sinh học, ngăn ngừa hiện tượng tràn bể khi lưu lượng nước thải đầu vào biến động đột ngột.
  • Bồn phối trộn nguyên liệu ngành F&B (Thực phẩm & Đồ uống): Đảm bảo tỷ lệ định lượng thể tích nước chính xác trước khi đưa vào dây chuyền đóng chai tự động.
  • Tháp giải nhiệt và lò hơi công nghiệp: Duy trì cột áp thủy tĩnh ổn định, chống hiện tượng cạn nước gây cháy thanh gia nhiệt hoặc quá áp gây nổ lò hơi.

Dự toán chi phí và Phân tích hiệu quả đầu tư (Cost-Benefit Analysis)

                     BẢNG HẠCH TOÁN CHI PHÍ PHẦN CỨNG (BOM)
  +-------------------------------------+-----------+----------+---------------+
  | Hạng mục thiết bị / Linh kiện       | Số lượng  | Đơn giá  | Thành tiền    |
  +-------------------------------------+-----------+----------+---------------+
  | Arduino Uno R3 (ATmega328P)         | 01 cái    | 120.000₫ | 120.000₫      |
  | Driver động cơ L298N (2A Dual Bridge)| 01 cái   | 45.000₫  | 45.000₫       |
  | Mạch hạ áp DC-DC XL4015 5A          | 01 cái    | 35.000₫  | 35.000₫       |
  | Bơm tăng áp màng DC 12V             | 01 cái    | 165.000₫ | 165.000₫      |
  | Cảm biến siêu âm HC-SR04            | 01 cái    | 30.000₫  | 30.000₫       |
  | Bể nước Mica 18x15x20 cm + Van xả   | 01 bộ     | 180.000₫ | 180.000₫      |
  | Nguồn tổ ong 24V - 5A               | 01 cái    | 150.000₫ | 150.000₫      |
  | Ống nước, cút nối, dây dẫn, relay   | 01 gói    | 75.000₫  | 75.000₫       |
  +-------------------------------------+-----------+----------+---------------+
  | TỔNG CHI PHÍ PHẦN CỨNG (CAPEX)      |           |          | 800.000₫      |
  +-------------------------------------+-----------+----------+---------------+
  • ROI & Hiệu quả kinh tế: Với chi phí phần cứng mẫu chỉ khoảng 800.000 VNĐ, giải pháp có thể ứng dụng trong các phòng thí nghiệm đào tạo điều khiển tự động hoặc nâng cấp thành bộ điều khiển bồn công nghiệp với chi phí bằng $1/15$ so với các bộ điều khiển chuyên dụng PLC/PID công nghiệp của hãng (như Siemens SIPART hay Yokogawa).

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

Hạn chế kỹ thuật

  1. Đặc tính trễ và vùng chết (Dead-zone) của máy bơm: Khi điện áp điều khiển dưới $2.5\text{ V}$ (tương đương PWM $< 55$), động cơ bơm không thắng được ma sát tĩnh để quay, tạo ra sai lệch nhỏ ở dải điện áp thấp.
  2. Nhiễu bọt khí và dao động mặt thoáng: Sóng siêu âm của HC-SR04 có góc mở $15^\circ$; khi mực nước dâng cao gần miệng bồn ($< 3\text{ cm}$), tín hiệu phản xạ dễ bị nhiễu mép thành bồn mica.
  3. Phụ thuộc mô hình: Thuật toán yêu cầu biết trước diện tích bồn $A$ và hệ số xả $a, C_d$. Nếu van xả bị nghẹt cơ học một phần, hệ thống cần thời gian để khâu $K_i$ bù lại.

Hướng nghiên cứu phát triển

  • Nâng cấp thuật toán Điều khiển thích nghi phi tuyến (Adaptive Feedback Linearization): Tự động nhận dạng trực tuyến hệ số xả $C_d(t)$ và tham số bơm $k_p(t)$ bằng thuật toán bình phương tối thiểu đệ quy (RLS).
  • Mở rộng hệ thống: Thiết lập bài toán điều khiển hệ thống bồn nước đôi ghép nối (Coupled-Tank MIMO System) hoặc hệ 3 bồn nước nối tiếp phi tuyến cao cấp.
  • Tích hợp IoT Công nghiệp (IIoT): Nâng cấp vi điều khiển lên ESP32 hoặc STM32 tích hợp giao thức truyền thông MQTT / OPC-UA để giám sát và điều khiển mực nước từ xa qua Web Dashboard SCADA.

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

+---------------------------------------------------------------------------------------+
|                                GIÁ TRỊ MANG LẠI                                       |
+-------------------+-------------------------------------------------------------------+
| Nhóm đối tượng    | Giá trị chuyên môn & Lợi ích định lượng                           |
+-------------------+-------------------------------------------------------------------+
| Sinh viên /       | - Tài liệu thực hành trực quan kết hợp giữa lý thuyết vi phân phi |
| Học viên          |   tuyến trừu tượng và phần cứng thực tế.                          |
|                   | - Nắm vững quy trình thiết kế bộ lọc số rời rạc Tustin.           |
+-------------------+-------------------------------------------------------------------+
| Kỹ sư Tự động hóa | - Nắm trọn vẹn kiến trúc triển khai thuật toán phi tuyến phức tạp |
| & Lập trình nhúng |   trên vi điều khiển giá rẻ 8-bit / 32-bit.                       |
|                   | - Template mô hình Simulink giao tiếp phần cứng chuẩn mực.        |
+-------------------+-------------------------------------------------------------------+
| Doanh nghiệp /    | - Giải pháp điều khiển chính xác với chi phí cực thấp (< 1 triệu).|
| Nhà máy chế tạo   | - Tiết kiệm điện năng bơm nhờ triệt tiêu dao động dư thừa.        |
+-------------------+-------------------------------------------------------------------+
| Nhà nghiên cứu    | - Nền tảng thực nghiệm chuẩn xác để phát triển các thuật toán     |
| (Researchers)     |   tiên tiến: Sliding Mode, Backstepping, NMPC.                    |
+-------------------+-------------------------------------------------------------------+

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?

  • Phần cứng: Vi điều khiển có ít nhất 1 chân Timer PWM $8\text{-bit}$ (tần số $490\text{ Hz} - 980\text{ Hz}$), 2 chân Digital I/O ngắt/đọc xung cho cảm biến siêu âm, nguồn cấp DC $12\text{V} - 24\text{V}$ dòng xả tối thiểu $3\text{A}$.
  • Phần mềm: MATLAB R2020a trở lên tích hợp MATLAB Coder / Simulink Support Package for Arduino; máy tính có cổng giao tiếp USB-to-UART tốc độ Baudrate $115200\text{ bps}$.

2. Giới hạn khả năng mở rộng (Scalability) của thuật toán như thế nào?

Thuật toán Feedback Linearization có thể mở rộng cho mọi bồn chứa có tiết diện biến thiên $A(h)$ bất kỳ (như bồn hình nón, bồn cầu) bằng cách thay thế hàm $A(h)$ vào phương trình vi phân $f(x)$ và $g(x)$. Đối với hệ thống bồn ghép nối nhiều ngõ vào - nhiều ngõ ra (MIMO), phương pháp được mở rộng bằng cách tính toán ma trận giải tích Lie $L_g L_f^{r_i-1} h_i(x)$ để khử tương hỗ (Decoupling).

3. Làm thế nào để tích hợp hệ thống vào mạng SCADA / PLC công nghiệp hiện hữu?

Tín hiệu điều khiển $u(t)$ từ vi điều khiển có thể chuyển đổi thành chuẩn tín hiệu tương tự công nghiệp $4 - 20\text{ mA}$ hoặc $0 - 10\text{ VDC}$ thông qua module chuyển đổi DAC/Op-Amp chuyên dụng. Dữ liệu trạng thái mực nước có thể truyền thông lên PLC qua cổng RS485 chuẩn giao thức Modbus-RTU.

4. Hệ thống cần bảo trì và hiệu chuẩn định kỳ những gì?

  • Hiệu chuẩn cảm biến siêu âm HC-SR04: Cần bù trừ nhiệt độ môi trường vào vận tốc âm thanh: $v_{sound} = 331.3 \times \sqrt{1 + T_{env}/273.15}\text{ m/s}$.
  • Vệ sinh van xả và đáy bồn: Đảm bảo đường kính lỗ thoát nước không bị bám cặn làm biến thiên hệ số xả thực tế $C_d$.

5. Chi phí chi tiết và thời gian hoàn vốn (ROI) ra sao?

Tổng chi phí chế tạo mô hình thực nghiệm là 800.000 VNĐ. Khi triển khai cho hệ thống bồn chứa định lượng công nghiệp thực tế, độ chính xác tăng cao giúp loại bỏ hao hụt nguyên liệu phối trộn $2 - 5%$ và giảm thời gian chu kỳ bơm $49.5%$, giúp doanh nghiệp hoàn vốn đầu tư trong vòng 1 đến 3 tháng vận hành.


Kết luận

Đề tài "Thiết kế bộ điều khiển hồi tiếp tuyến tính hóa cho hệ thống bồn nước đơn" đã chứng minh tính đúng đắn và hiệu quả vượt trội của lý thuyết điều khiển phi tuyến hiện đại khi giải quyết bài toán kiểm soát mức chất lỏng thực tế. Bằng việc kết hợp chặt chẽ giữa mô hình toán học giải tích vi phân, phương pháp tuyến tính hóa trạng thái chính xác, thuật toán lọc số Tustin rời rạc và cơ chế tích phân sai số $K_i$, nhóm nghiên cứu đã xây dựng thành công một hệ thống điều khiển bám mực nước đạt độ ổn định cao, không vọt lố và triệt tiêu hoàn toàn sai số xác lập.

Kết quả của đề tài không chỉ khẳng định năng lực ứng dụng toán học chuyên sâu vào kỹ thuật điều khiển tự động mà còn mở ra hướng tiếp cận thực tiễn, kinh tế cho việc số hóa và nâng cấp các hệ thống điều khiển quá trình trong nền công nghiệp hiện đại.