Bối cảnh và vấn đề nghiên cứu

Trong kỹ thuật điều khiển tự động, bài toán kiểm soát và ổn định mực chất lỏng đóng vai trò thiết yếu trong nhiều quy trình công nghiệp và dân dụng. Nghiên cứu tập trung vào hai lĩnh vực ứng dụng điển hình được tác giả phân tích:

  • Lĩnh vực nhiệt điện: Hệ thống lò hơi đòi hỏi giám sát và điều khiển nghiêm ngặt mực nước nhằm duy trì sự cân bằng giữa lưu lượng nước cấp và lượng hơi sinh ra. Mực nước vượt quá ngưỡng cho phép sẽ làm giảm nhiệt độ hơi, giảm năng suất và ảnh hưởng xấu đến sự vận hành của tuabin. Ngược lại, mực nước quá thấp sẽ gây hiện tượng quá nhiệt và tiềm ẩn nguy cơ cháy nổ lò hơi.
  • Hệ thống làm mát công nghiệp: Các bể chứa và tháp làm mát (sử dụng tấm cooling pad) cần duy trì mức nước ổn định để kiểm soát nhiệt độ và độ ẩm nhà xưởng, ngăn ngừa tình trạng quá tải dây chuyền sản xuất và bảo vệ sức khỏe người lao động.

Về mặt giải thuật, các nghiên cứu trước đây đã áp dụng nhiều phương pháp tiên tiến như PID mờ tự thích nghi (Liang Chen, Cuizhu Wang, Yang Yu, Yawei Zhao), PID mạng nơ-ron hàm cơ sở xuyên tâm - RBF (Nguyễn Hoàng Dũng, Huỳnh Thế Hiển) hoặc điều khiển trượt cho đối tượng phi tuyến (Nguyễn Hoàng Dũng). Mặc dù các phương pháp này mang lại độ chính xác cao, triệt tiêu sai số xác lập và giảm độ vọt lố, cấu trúc giải thuật lại rất phức tạp và chi phí phần cứng triển khai cao. Do đó, tác giả lựa chọn giải thuật điều khiển PID số/rời rạc trên nền tảng phần cứng chi phí thấp nhằm cân bằng giữa tính khả thi kỹ thuật, độ phức tạp giải thuật và ngân sách thực hiện.

Mục tiêu và nhiệm vụ nghiên cứu được xác định cụ thể theo 3 nội dung:

  1. Thiết lập các phương trình toán học và xây dựng hàm truyền mô tả động học của hệ bồn nước đơn.
  2. Mô phỏng hệ thống trên phần mềm MATLAB Simulink để khảo sát, phân tích đáp ứng ngõ ra của các bộ điều khiển P, PI, PD, PID; tính toán các chỉ tiêu chất lượng (độ vọt lố $POT%$, sai số xác lập $e_{xl}$, thời gian xác lập $t_{xl}$, thời gian lên đỉnh $t_{peak}$) và rút ra nhận xét.
  3. Thiết kế, chế tạo mô hình thực nghiệm bồn nước đơn; lập trình giải thuật PID số trên vi điều khiển; kết nối truyền thông nối tiếp để theo dõi đáp ứng ngõ ra trên MATLAB Simulink theo thời gian thực; tính toán và đánh giá các chỉ tiêu chất lượng của hệ thống thực tế.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Mực nước trong mô hình bồn nước đơn dạng hình hộp chữ nhật đứng.
  • Phạm vi không gian và môi trường: Thử nghiệm trong điều kiện phòng thí nghiệm ở nhiệt độ phòng. Bồn nước mica có kích thước $15 \times 15 \times 22\text{ cm}$ (dung tích 4,95 lít).
  • Phạm vi thông số: Khảo sát tại 5 giá trị đặt mực nước ($5\text{ cm}$, $8\text{ cm}$, $11\text{ cm}$, $14\text{ cm}$, $17\text{ cm}$), chu kỳ lấy mẫu $T = 0,1\text{ s}$, điện áp điều khiển máy bơm từ $0$ đến $12\text{VDC}$.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết của đồ án dựa trên lý thuyết điều khiển tự động kinh điển và điều khiển số:

  • Bộ điều khiển PID liên tục và PID rời rạc: Phương trình vi phân của bộ điều khiển PID liên tục có dạng: $$u(t) = K_P e(t) + K_I \int e(t)dt + K_D \frac{de(t)}{dt}$$ Khi chuyển sang hệ thống rời rạc điều khiển bằng vi xử lý qua khâu giữ dữ liệu bậc không (ZOH), hàm truyền tương đương trong miền $z$ là: $$G_c(z) = K_P + \frac{K_I T}{2} \frac{z+1}{z-1} + \frac{K_D}{T} \frac{z-1}{z}$$ Phương trình sai phân tính toán tín hiệu điều khiển $u(k)$ được tác giả triển khai trực tiếp vào mã nguồn: $$u(k) = \frac{\alpha e(k) + \beta e(k-1) + \gamma e(k-2) + \Delta u(k-1)}{\Delta}$$ Trong đó các hệ số được tính toán từ chu kỳ lấy mẫu $T$ và các thông số độ lợi: $$\alpha = 2T K_P + K_I T^2 + 2K_D$$ $$\beta = T^2 K_I - 4K_D - 2T K_P$$ $$\gamma = 2K_D$$ $$\Delta = 2T$$

  • Mô hình toán học bồn nước đơn: Dựa trên phương trình cân bằng lưu lượng $A(h)\dot{h}(t) = q_{in}(t) - q_{out}(t)$, với lưu lượng vào $q_{in}(t) = k \cdot u(t)$ và lưu lượng xả qua van đáy $q_{out}(t) = C_D a \sqrt{2gh(t)}$, phương trình vi phân phi tuyến của hệ thống được xác định: $$\dot{h}(t) = \frac{1}{A(h)} \left[ k u(t) - C_D a \sqrt{2gh(t)} \right]$$ Trong đó: $h(t)$ là mực nước ($cm$), $u(t)$ là điện áp điều khiển máy bơm ($0 \le u(t) \le 12\text{V}$), $A(h)$ là tiết diện ngang bồn nước ($cm^2$), $k$ là hệ số tỷ lệ công suất máy bơm, $a$ là tiết diện van xả ($cm^2$), $C_D$ là hệ số xả, $g = 981\text{ cm/s}^2$ là gia tốc trọng trường.

  • Điểm làm việc tĩnh: Tại trạng thái cân bằng ($\dot{h}(t) = 0$), mối quan hệ giữa điện áp cân bằng $u_0$ và mực nước cân bằng $h_0$ được xác định qua công thức: $$h_0 = \frac{1}{2g} \left( \frac{k u_0}{C_D a} \right)^2 \quad \text{hay} \quad u_0 = \frac{C_D a \sqrt{2gh_0}}{k}$$

Phương pháp nghiên cứu kết hợp:

  • Phương pháp phân tích giải tích để xây dựng mô hình toán và tính toán điểm làm việc tĩnh.
  • Phương pháp mô phỏng số trên MATLAB Simulink thông qua khối chức năng Fcn chứa phương trình vi phân phi tuyến.
  • Phương pháp thiết kế kỹ thuật thực nghiệm: chế tạo phần cứng, lập trình hệ thống nhúng và thực nghiệm thu thập dữ liệu qua chuẩn truyền thông nối tiếp UART.

Thiết kế và triển khai hệ thống

Thiết kế phần cứng

Phần cứng của mô hình được thiết kế từ các linh kiện cơ điện tử và mạch công nghiệp:

  • Bồn chứa chất lỏng: Gia công từ tấm mica trong suốt dày $2\text{ mm}$, kích thước hình hộp chữ nhật $15 \times 15 \times 22\text{ cm}$ (chiều cao cực đại $h_{max} = 22\text{ cm}$, diện tích đáy $A = 225\text{ cm}^2$, dung tích $4,95\text{ lít}$), có gắn thước đo trực quan trên thân bồn.
  • Khối xử lý trung tâm (MCU): Bo mạch Arduino Uno R3 trang bị vi điều khiển ATmega, tần số hoạt động $16\text{ MHz}$, $14$ chân Digital I/O ($6$ chân xuất xung PWM), $6$ chân Analog $10\text{-bit}$, điện áp logic $5\text{VDC}$.
  • Khối cảm biến đo mức: Cảm biến khoảng cách siêu âm HC-SR04 (tần số sóng $40\text{ kHz}$, góc quét $< 15^\circ$, dải đo $2\text{ cm} - 450\text{ cm}$, độ chính xác lý thuyết $3\text{ mm}$, giao tiếp qua hai chân Trigger và Echo) gắn phía trên đỉnh bồn.
  • Cơ cấu chấp hành và công suất:
    • Bơm màng mini DC R385 ($12\text{VDC}$, dòng danh định $0,7\text{A}$, lưu lượng $1,5 - 2\text{ lít/phút}$, khả năng đẩy cao $3\text{ m}$, hút sâu $2\text{ m}$) kết hợp ống dẫn nhựa dẻo đường kính trong $6\text{ mm}$.
    • Mạch công suất cầu H L298N (dải điện áp cấp động cơ $5 - 35\text{VDC}$, dòng chịu tải tối đa $2\text{A}$ mỗi kênh, nhận tín hiệu điều chế độ rộng xung PWM từ Arduino để điều tiết điện áp cấp cho máy bơm).
  • Khối cấp nguồn và ngoại vi:
    • Bộ nguồn tổ ong $220\text{VAC} / 12\text{VDC} - 5\text{A}$ (công suất $60\text{W}$, hiệu suất $87%$).
    • Màn hình LCD 16x2 tích hợp mạch chuyển đổi giao tiếp I2C ($4$ dây kết nối: VCC, GND, SDA, SCL) hiển thị giá trị đặt và giá trị mực nước đo được.
    • Nút nhấn $6 \times 6 \times 4,3\text{ mm}$ để cài đặt giá trị mức nước mong muốn; Breadboard mini ZY-25; bảng điện nhựa kích thước $20 \times 25\text{ cm}$ làm khung đế gá lắp thiết bị.

Thiết kế phần mềm và lưu đồ giải thuật

Chương trình điều khiển được phát triển trong môi trường Arduino IDE:

  1. Khởi tạo: Thiết lập cấu hình các chân ngắt, chân PWM, truyền thông I2C cho LCD và cấu hình tốc độ Baud cho cổng nối tiếp UART.
  2. Đọc cảm biến: Phát xung kích $10\mu\text{s}$ trên chân Trigger, đo độ rộng xung phản xạ trên chân Echo để tính toán khoảng cách từ cảm biến đến mặt nước, từ đó suy ra độ cao mực nước hiện tại $h(k)$.
  3. Tính toán giải thuật PID rời rạc: Tính toán sai số $e(k) = \text{setpoint} - h(k)$, áp dụng phương trình sai phân để xác định giá trị điều khiển $u(k)$.
  4. Khâu điều kiện chấp hành: Kiểm tra điều kiện mực nước:
    • Nếu $h < \text{setpoint}$: Chuyển đổi giá trị $u(k)$ sang giá trị PWM tương ứng xuất ra cầu H L298N để điều khiển công suất bơm.
    • Nếu $h \ge \text{setpoint}$: Thiết lập xung PWM $= 0$, dừng bơm để chống tràn.
  5. Truyền thông dữ liệu: Dữ liệu thực nghiệm được truyền nối tiếp qua cáp USB Type B lên máy tính. Phần mềm MATLAB Simulink sử dụng các khối Host Serial Setup và Host Serial Rx để nhận chuỗi dữ liệu và vẽ đồ thị đáp ứng theo thời gian thực trên khối Scope.

Nội dung chính theo từng chương

Chương 1: Tổng quan chung về điều khiển mực nước

Trình bày vai trò của việc ổn định mực chất lỏng trong công nghiệp, đi sâu vào bài toán cấp nước lò hơi trong nhà máy nhiệt điện và hệ thống làm mát công nghiệp. Phân tích các nghiên cứu điều khiển phi tuyến hiện đại (PID mờ, mạng nơ-ron, điều khiển trượt), chỉ ra rào cản chi phí và độ phức tạp đối với sinh viên, từ đó khẳng định tính hợp lý của đề tài khi sử dụng bộ điều khiển PID số trên phần cứng Arduino. Xác định các mục tiêu và lập danh mục thiết bị thực hiện.

Chương 2: Cơ sở lý thuyết

Trình bày nguyên lý làm việc của quy trình công nghệ điều khiển mực nước kín. Giới thiệu tổng quan về các dòng vi điều khiển (PIC, STM32, Arduino, ESP8266/ESP32, AVR). Phân tích cấu trúc toán học của bộ điều khiển PID liên tục và phương pháp số hóa sang PID rời rạc miền $z$.

Xây dựng phương trình vi phân phi tuyến của hệ bồn nước đơn và công thức xác định điểm làm việc tĩnh. Tiến hành tính toán các thông số thực tế của mô hình:

Thông số Ký hiệu Giá trị Đơn vị
Chiều cao cực đại $h_{max}$ 22 cm
Tiết diện ngang $A_1 = A_2$ 225 $\text{cm}^2$
Tiết diện van xả $a$ 0,636 $\text{cm}^2$
Hệ số tỷ lệ bơm $k$ 2,33 -
Hệ số xả $C_D$ 0,2 -
Mực nước ban đầu $h_{init}$ 3 cm
Gia tốc trọng trường $g$ 981 $\text{cm/s}^2$

Triển khai mô phỏng trên MATLAB Simulink với bộ tham số PID: $K_P = 1$, $K_I = 0,0032$, $K_D = 0,01$, chu kỳ lấy mẫu $T = 0,1\text{ s}$. Khảo sát đáp ứng tại 5 mức đặt ($5\text{ cm}$, $8\text{ cm}$, $11\text{ cm}$, $14\text{ cm}$, $17\text{ cm}$), so sánh chi tiết chất lượng giữa các bộ điều khiển PID, PI và PD.

Chương 3: Thiết kế phần cứng cho mô hình thực tế

Xác định các chỉ tiêu kỹ thuật: bồn nước $15 \times 15 \times 22\text{ cm}$, sai số điều khiển không vượt quá $2\text{ cm}$, chống tràn nước, lưu lượng bơm duy trì tối đa $1,5\text{ lít/phút}$. Lập sơ đồ khối hệ thống gồm 6 khối chức năng: Khối máy tính, Khối MCU, Khối điều khiển công suất, Bơm, Bồn nước và Cảm biến siêu âm.

Trình bày chi tiết lý do lựa chọn từng linh kiện: MCU Arduino Uno R3, cảm biến siêu âm HC-SR04, bơm mini DC R385 $12\text{V}$, nguồn tổ ong $12\text{V}-5\text{A}$, module cầu H L298N, LCD 16x2 I2C, tấm mica $2\text{ mm}$, nút nhấn và bảng điện gá lắp $20 \times 25\text{ cm}$. Xây dựng hoàn chỉnh sơ đồ nối dây chi tiết cho toàn bộ hệ thống.

Chương 4: Thiết kế phần mềm cho mô hình thực tế

Đặc tả yêu cầu lập trình thuật toán PID số/rời rạc trên Arduino IDE và cấu hình giao tiếp ngoại vi. Trình bày lưu đồ giải thuật chi tiết điều khiển mực nước có kiểm tra điều kiện chống tràn. Xây dựng sơ đồ khối thu nhận dữ liệu trên MATLAB Simulink, cấu hình các thông số cổng COM trong khối Host Serial Setup và định dạng gói tin trong khối Host Serial Rx để hiển thị đồ thị trên khối Scope.

Chương 5: Kết quả thực nghiệm

Trình bày hình ảnh mô hình thực tế sau khi chế tạo, đấu nối và gá lắp hoàn chỉnh. Tiến hành thử nghiệm điều khiển hệ thống thực tế tại các giá trị đặt mực nước: $5\text{ cm}$, $8\text{ cm}$, $11\text{ cm}$, $14\text{ cm}$ và $17\text{ cm}$. Thu thập dữ liệu đáp ứng ngõ ra, ghi nhận các chỉ tiêu chất lượng thực tế (độ vọt lố, sai số xác lập, thời gian xác lập) và đối chiếu với kết quả mô phỏng lý thuyết.

Chương 6: Kết luận và kiến nghị

Tổng kết toàn bộ kết quả đạt được về mặt lý thuyết, mô phỏng và mô hình thực tế. Phân tích các mặt hạn chế còn tồn tại của hệ thống phần cứng và đề xuất các hướng phát triển, cải tiến trong tương lai.


Kết quả và đóng góp

Kết quả mô phỏng trên MATLAB Simulink

Chất lượng điều khiển của các bộ điều khiển được tổng hợp chi tiết từ các bảng dữ liệu mô phỏng trong văn bản:

Giá trị đặt Bộ điều khiển Độ vọt lố $POT$ (%) Sai số xác lập $e_{xl}$ (cm) Thời gian xác lập $t_{xl}$ (s) (tiêu chuẩn 5%) Thời gian lên đỉnh $t_{peak}$ (s)
5 cm PID 0 0 1222,2 2991,7
PI 0 0 - -
PD 0 3,22 - -
8 cm PID 0 0 1020,0 2998,5
PI 0 0 1020,0 -
PD 0 4,51 59,5 -
11 cm PID 0 0 893,1 2977,2
PI 0 0 - -
PD 0 5,61 - -
14 cm PID 0 0 799,4 2986,9
PI 0 0 - -
PD 0 6,58 - -
17 cm PID 0 0 714,1 2960,6
PI 0 0 181,0 -
PD 0 7,47 - -

Từ số liệu mô phỏng, tác giả rút ra các nhận định kỹ thuật:

  • Bộ điều khiển PID và PI cho chất lượng tương đương và đạt yêu cầu: triệt tiêu hoàn toàn sai số xác lập ($e_{xl} = 0$), độ vọt lố bằng $0%$. Thời gian xác lập lớn do bản chất quán tính nhiệt/thủy lực của bồn nước là hệ quán tính chậm.
  • Bộ điều khiển PD không phù hợp với đối tượng bồn nước: mặc dù thời gian đáp ứng nhanh nhưng sai số xác lập rất lớn (tăng dần từ $3,22\text{ cm}$ ở mức đặt $5\text{ cm}$ lên tới $7,47\text{ cm}$ ở mức đặt $17\text{ cm}$) do thiếu thành phần tích phân $I$ để bù lượng nước xả liên tục qua van đáy.

Kết quả thực nghiệm

  • Hoàn thiện mô hình thực nghiệm hoạt động ổn định với đầy đủ các khối chức năng: đo lường bằng cảm biến siêu âm, điều khiển công suất máy bơm qua PWM, hiển thị LCD và cài đặt setpoint bằng nút nhấn.
  • Hệ thống thực tế duy trì được mực nước bám theo giá trị đặt với sai số không vượt quá ngưỡng cho phép ($< 2\text{ cm}$).
  • Thiết lập thành công kênh truyền thông nối tiếp UART đưa dữ liệu từ vi điều khiển lên giao diện MATLAB Simulink Scope để giám sát trực quan theo thời gian thực.

Đóng góp của đề tài

  • Xây dựng quy trình hoàn chỉnh từ mô hình hóa toán học phi tuyến, tính toán tham số điểm làm việc tĩnh, mô phỏng số đến chế tạo phần cứng thực tế cho bài toán điều khiển mức nước.
  • Chứng minh tính khả thi của giải thuật PID số dạng sai phân trên vi điều khiển 8-bit giá thành thấp, phục vụ hiệu quả cho hoạt động đào tạo và nghiên cứu thực hành ngành Điều khiển tự động.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Nhiễu đo lường từ cảm biến: Cảm biến siêu âm HC-SR04 dễ bị ảnh hưởng bởi hiện tượng phản xạ sóng âm trên mặt nước bị gợn sóng hoặc dao động, dẫn đến giá trị đo có thời điểm bị dao động và kém ổn định.
  • Giới hạn công suất cơ cấu chấp hành: Máy bơm mini R385 có lưu lượng và cột áp hạn chế ($1,5 - 2\text{ lít/phút}$), khiến thời gian đáp ứng của hệ thống còn chậm khi cần bù đắp lưu lượng lớn.
  • Quy mô mô hình: Mô hình chế tạo dạng mô phỏng giảng dạy kích thước nhỏ, chỉ hoạt động ở môi trường nhiệt độ phòng và chưa tích hợp các yếu tố nhiễu công nghiệp phức tạp (áp suất, nhiệt độ, bọt khí).

Hướng nghiên cứu tiếp theo

  • Thay thế cảm biến siêu âm bằng các loại cảm biến đo mức chuyên dụng có độ chính xác cao và khả năng chống nhiễu tốt hơn (như cảm biến áp suất thủy tĩnh hoặc cảm biến laser/quang học).
  • Nghiên cứu và thử nghiệm các cấu trúc điều khiển nâng cao trên mô hình thực tế: bộ điều khiển PID mờ (Fuzzy PID), điều khiển trượt (Sliding Mode Control), hoặc điều khiển thích nghi để tăng tốc độ đáp ứng và khả năng kháng nhiễu khi thay đổi tải xả van.
  • Nâng cấp phần cứng với máy bơm công suất lớn hơn và mở rộng hệ thống thành mô hình bồn nước đôi (coupled tanks) hoặc hệ thống bồn nước ghép tầng phi tuyến.

Giá trị tham khảo

Tài liệu đồ án mang lại giá trị tham khảo thiết thực cho sinh viên, giảng viên và kỹ sư trong các chuyên ngành Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ điện tử, Kỹ thuật Điện tử và Hệ thống Nhúng:

  • Xây dựng mô hình toán học và điểm làm việc tĩnh (Mục 2.5): Cung cấp công thức vi phân phi tuyến chuẩn xác cho đối tượng bồn chất lỏng và ví dụ số học cụ thể để xác định điểm cân bằng tĩnh $(u_0, h_0)$.
  • Thiết kế khối mô phỏng MATLAB Simulink (Mục 2.6): Hướng dẫn chi tiết cách mô hình hóa phương trình vi phân thông qua khối Fcn kết hợp bộ điều khiển PID rời rạc.
  • Thiết kế mạch và lựa chọn thiết bị (Chương 3): Cung cấp thông số kỹ thuật chi tiết, sơ đồ khối và sơ đồ nối dây giữa Arduino Uno, cầu H L298N, cảm biến HC-SR04, LCD I2C và nguồn tổ ong.
  • Lập trình PID số và truyền thông UART (Chương 4): Cung cấp công thức sai phân rời rạc của PID và giải pháp kết nối, truyền dữ liệu từ Arduino lên giao diện MATLAB Simulink Scope qua các khối Host Serial Rx/Setup.

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

1. Điểm làm việc tĩnh của hệ bồn nước đơn trong đồ án được tính toán như thế nào và kết quả ví dụ cụ thể là bao nhiêu?
Điểm làm việc tĩnh là trạng thái mà lưu lượng nước cấp vào bằng lưu lượng nước xả ra qua van đáy ($\dot{h}(t) = 0$). Công thức xác định là $h_0 = \frac{1}{2g} \left( \frac{k u_0}{C_D a} \right)^2$ hoặc $u_0 = \frac{C_D a \sqrt{2gh_0}}{k}$. Với các thông số thực tế của mô hình ($h_{max} = 22\text{ cm}$, $A = 225\text{ cm}^2$, $k = 2,33$, $C_D = 0,2$, $a = 0,636\text{ cm}^2$, $g = 981\text{ cm/s}^2$), khi cấp điện áp $u_0 = 10\text{V}$, điểm làm việc tĩnh tính được là $(u_0, h_0) = (10\text{V}, 17,1\text{ cm})$.

2. Tại sao tác giả lựa chọn vi điều khiển Arduino Uno R3 và cảm biến HC-SR04 thay vì các thiết bị cao cấp hơn?
Việc lựa chọn dựa trên tiêu chí cân bằng giữa giá thành và yêu cầu kỹ thuật của đồ án môn học. Arduino Uno R3 có chi phí thấp, đầy đủ chân PWM, ngắt và ngoại vi hỗ trợ, dễ lập trình qua Arduino IDE mà không cần thiết kế mạch in phức tạp. Cảm biến siêu âm HC-SR04 có giá thành rẻ (dưới 20.000 VNĐ), đo khoảng cách không tiếp xúc với dải đo từ $2\text{ cm}$ đến $450\text{ cm}$, đáp ứng đủ yêu cầu đo lường trong mô hình bồn nước nhỏ.

3. Vì sao bộ điều khiển PD không phù hợp cho mô hình bồn nước đơn trong kết quả mô phỏng?
Trong mô phỏng bồn nước đơn, bộ điều khiển PD làm xuất hiện sai số xác lập rất lớn (từ $3,22\text{ cm}$ đến $7,47\text{ cm}$). Do hệ bồn nước có van xả đáy liên tục làm thất thoát lưu lượng, nếu thiếu thành phần tích phân ($K_I$) để tích lũy sai số theo thời gian, tín hiệu điều khiển của khâu $P$ và $D$ không thể tạo ra điện áp đủ lớn để cân bằng lưu lượng bơm vào với lưu lượng xả ra tại điểm đặt.

4. Thuật toán PID số/rời rạc được triển khai trên phần mềm bằng công thức sai phân nào?
Thuật toán được lập trình theo phương trình sai phân tính toán tín hiệu điều khiển: $$u(k) = \frac{\alpha e(k) + \beta e(k-1) + \gamma e(k-2) + \Delta u(k-1)}{\Delta}$$ với các hệ số $\alpha = 2T K_P + K_I T^2 + 2K_D$, $\beta = T^2 K_I - 4K_D - 2T K_P$, $\gamma = 2K_D$, và $\Delta = 2T$, trong đó $T = 0,1\text{ s}$ là thời gian lấy mẫu.

5. Cách thức truyền và hiển thị dữ liệu thực nghiệm lên máy tính theo thời gian thực được thực hiện như thế nào?
Dữ liệu mực nước đo được từ Arduino được gửi qua giao tiếp nối tiếp UART (thông qua cáp USB Type B) lên máy tính theo chu kỳ lấy mẫu. Trên phần mềm MATLAB Simulink, khối Host Serial Setup thiết lập cổng COM và tốc độ truyền, khối Host Serial Rx thu nhận và giải mã chuỗi dữ liệu, sau đó truyền trực tiếp vào khối Scope để vẽ biểu đồ đáp ứng mực nước theo thời gian thực.


Kết luận

Đồ án đã giải quyết bài toán mô hình hóa, mô phỏng và điều khiển thực nghiệm mực chất lỏng cho hệ bồn nước đơn sử dụng giải thuật PID số/rời rạc. Các kết quả mô phỏng trên MATLAB Simulink và thực nghiệm trên mô hình phần cứng sử dụng vi điều khiển Arduino Uno R3, cảm biến HC-SR04, mạch cầu H L298N cùng máy bơm R385 đã chứng minh tính đúng đắn của giải thuật điều khiển khi duy trì mức nước bám sát giá trị đặt với sai số dưới $2\text{ cm}$. Nghiên cứu cung cấp tài liệu kỹ thuật hoàn chỉnh từ tính toán lý thuyết, thiết kế phần cứng đến lập trình nhúng, đóng vai trò là tài liệu tham khảo trực quan cho sinh viên và người nghiên cứu trong lĩnh vực kỹ thuật điều khiển tự động.