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

  • Lý do chọn đề tài: Đề tài “Khảo sát điều khiển tuyến tính trên mô hình Ball‑and‑Beam trục giữa” được lựa chọn nhằm giải quyết vấn đề cân bằng quả bóng trên trục giữa trong một hệ thống tự động, một bài toán điển hình trong lý thuyết điều khiển và tự động hoá. Việc triển khai trên mô hình thực nghiệm giúp sinh viên tiếp cận thực tiễn thiết kế bộ điều khiển, đồng thời đánh giá hiệu suất của các thuật toán LQR, đặt cực (Pole Placement) và PID trong môi trường nhiễu và lỗi phần cứng.
  • Mục tiêu và câu hỏi nghiên cứu
    1. Xây dựng thành công bộ điều khiển LQR cho hệ thống Ball‑and‑Beam.
    2. Xây dựng thành công bộ điều khiển đặt cực cho hệ thống Ball‑and‑Beam.
    3. Xây dựng thành công bộ điều khiển PID cho hệ thống Ball‑and‑Beam.
    4. Kiểm chứng các bộ điều khiển trên mô phỏng Matlab/Simulink và trên mô hình thực nghiệm.
    5. So sánh độ ổn định, thời gian ổn định và độ vọt lỗ (POT) của ba bộ điều khiển để đề xuất giải pháp tối ưu.
  • Đối tượng, phạm vi nghiên cứu
    • Đối tượng: Hệ thống Ball‑and‑Beam trục giữa (BTTG) bao gồm động cơ DC, encoder, cảm biến điện trở, và vi điều khiển STM32F4.
    • Phạm vi thời gian: Tháng 8/2024 – tháng 12/2024 (kịp thời gian giao và hoàn thành nộp).
    • Phạm vi không gian: Phòng thí nghiệm C205B, Trường Đại học Sư phạm Kỹ thuật TP. HCM; mô hình thực nghiệm và môi trường mô phỏng Matlab/Simulink.

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

  • Khung lý thuyết, khái niệm, văn bản pháp luật hoặc mô hình
    • Mô hình toán học của hệ thống BTTG được xây dựng dựa trên phương pháp Euler‑Lagrange, bao gồm phương trình động lượng (2.15)‑(2.16) và biểu diễn trạng thái tuyến tính ẋ = Ax + Be (2.27).
    • LQR (Linear Quadratic Regulator): Điều khiển tối ưu đưa ra luật u = −Kx (2.28) với K được tính bằng phương pháp Riccati (2.29).
    • Đặt cực (Pole Placement): Thiết kế ma trận K sao cho các cực của hệ thống A − BK nằm ở vị trí mong muốn trên mặt phẳng phức (2.31‑2.34).
    • PID: Bộ điều khiển PD (không dùng phần tích hợp) dựa trên công thức u = K_P e + K_D de/dt (2.35‑2.37).
  • Phương pháp nghiên cứu thực tế
    • Phân tích‑tổng hợp: Rút ra mô hình toán học từ các thông số động cơ (Bảng 2) và cấu trúc vật lý.
    • Mô phỏng: Sử dụng Matlab/Simulink để lập trình các khối LQR, Pole Placement và PID; thu thập các chỉ số “e x l”, “t x l” và “POT”.
    • Thực nghiệm: Lắp đặt phần cứng (động cơ DC, encoder, cảm biến điện trở, STM32F4, module UART CP2102) và chạy các bộ điều khiển trên mô hình thực.
  • Nguồn dữ liệu
    • Thông số động cơ DC (Bảng 2): R_m = 6.83572 Ω, K_t = 0.06494 Nm/A, K_b = 0.06494 V/(rad/s), L_m = 0.25086 H, C_m = 0.00004 Nm/(rad·s), K_f = 0.01076 Nm.
    • Các bảng đánh giá tiêu chí ổn định (Bảng 4.1‑4.3) chứa các giá trị e x l, t x l và POT đã được trích xuất từ kết quả mô phỏng và thực nghiệm.

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

Chương 1: Tổng quan

  • Luận điểm: Trình bày bối cảnh, mục tiêu và phạm vi đề tài; khái quát mô hình Ball‑and‑Beam và lý do lựa chọn vi điều khiển STM32F4 làm nền tảng thời gian thực.
  • Bảng 1.1 (tóm tắt mục tiêu) – không hiển thị vì các mục đã liệt kê ở trên.

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

  • Luận điểm: Đưa ra mô hình toán học chi tiết, các phương trình vận động, và các thuật toán điều khiển LQR, đặt cực và PID.
  • Bảng 2.1: Các ký hiệu và giá trị thực của thành phần BTTG (đã nêu trong “Bảng 2. Thông số động cơ”).

Chương 3: Giải thuật điều khiển

  • Luận điểm: Mô tả cách xây dựng bộ điều khiển LQR (sử dụng lệnh dlqr), cách xác định ma trận K cho đặt cực (lệnh place) và cách điều chỉnh tham số K_P, K_D cho PID.
  • Bảng 3.1: Tham số K của từng bộ điều khiển (trích từ các phần “K = [−222…]”, “P = [−5…]”, “K_P1 = 230, K_D1 = 90, K_P2 = 150, K_D2 = 12”).

Chương 4: Kết quả mô phỏng

  • LQR
    • Kết quả: e x l = 2.446 × 10⁻² rad, t x l = 2.6 s, POT = 0 rad (Bảng 4.1).
  • Đặt cực
    • Kết quả: e x l = 5 rad, t x l = 5 s, POT = 0 rad (Bảng 4.2).
  • PID
    • Kết quả: e x l = 2.930 × 10⁻² rad, t x l = 2.0 s (ước), POT = 0 rad (Bảng 4.3).
  • So sánh
Bộ điều khiển e x l (rad) t x l (s) POT (rad)
LQR 2.446 × 10⁻² 2.6 0
Đặt cực 5 5 0
PID (PD) 2.930 × 10⁻² 2.0 0
  • Nhận xét: LQR cho thời gian ổn định ngắn hơn Pole Placement; PID đạt thời gian ổn định tương đương LQR nhưng độ vọt lỗ không vượt quá LQR; Pole Placement có thời gian ổn định lâu nhất.

Chương 5: Kết quả điều khiển thực tế

  • Thiết kế phần cứng
    • Sơ đồ khối (hình 5) mô tả cấu trúc: cảm biến vị trí (điện trở), cảm biến góc (encoder), vi điều khiển STM32F4, mô-đun UART CP2102, động cơ DC (Nisca NF5475).
    • Bảng 5.1: Thông số cơ bản của STM32F4, mạch cầu H IR2184, động cơ và encoder (được liệt kê trong “Bảng 2. Thông số động cơ”).
  • Thiết kế phần mềm
    • Giao diện giám sát người dùng (menu “Giới thiệu” và “Real‑time” trên laptop).
    • Các chương trình nhúng: LQR_controller.c, PolePlacement_controller.c, PID_controller.c (được đưa vào phụ lục 5).
  • Kết quả thực nghiệm
    • LQR: Ổn định vị trí bóng tại O, e x l ≈ 2.5 × 10⁻² rad, t x l ≈ 2.8 s.
    • Đặt cực: Ổn định nhưng thời gian đạt cân bằng ≈ 5.2 s.
    • PID: Ổn định nhanh (t x l ≈ 2.1 s) với e x l ≈ 2.9 × 10⁻² rad.
    • Bảng 5.2 tổng hợp các chỉ số thực nghiệm (đã trích từ “Kết quả thực nghiệm ổn định hệ tại vị trí cân bằng O” và các bảng so sánh).

Chương 6: Kết luận và hướng phát triển

  • Luận điểm: LQR là giải pháp tối ưu về thời gian ổn định và độ vọt lỗ trong môi trường nhiễu thấp; PID là lựa chọn thực tế khi yêu cầu triển khai nhanh và phần cứng giới hạn; Pole Placement không đạt hiệu suất mong muốn cho hệ thống này.
  • Đề xuất: (i) Nâng cao độ chính xác của encoder để giảm sai số đo; (ii) Tích hợp bộ lọc Kalman cho đo góc và vị trí; (iii) Thử nghiệm các thuật toán điều khiển mờ hoặc học tăng cường trên cùng nền tảng STM32F4.

Thiết kế và triển khai

  • Kiến trúc hệ thống: Kiểu “sensor‑controller‑actuator” với STM32F4 làm bộ xử lý trung tâm; giao tiếp UART tới laptop cho giám sát thời gian thực.
  • Công nghệ: STM32F4 Discovery, động cơ DC Nisca NF5475, encoder Nisca NF5475, module UART CP2102, Waijung STM32 blockset trong Simulink.
  • Kiểm thử: Đánh giá các tiêu chí ổn định (e x l, t x l, POT) trên mô hình mô phỏng và thực nghiệm; kiểm tra khả năng chống nhiễu bằng cách thêm nhiễu ngẫu nhiên vào tín hiệu encoder và đo đáp ứng.
  • Bảng 6.1: Kết quả kiểm thử (đã nêu ở các bảng 4.1‑4.3 và 5.2).

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

  • Kết quả chính
    • Thành công xây dựng ba bộ điều khiển LQR, đặt cực và PID trên mô hình Ball‑and‑Beam.
    • Đánh giá chi tiết các chỉ tiêu ổn định: LQR: e x l = 2.4 × 10⁻² rad, t x l = 2.6 s; PID: e x l = 2.9 × 10⁻² rad, t x l ≈ 2 s; Pole Placement: e x l = 5 rad, t x l = 5 s.
  • Giải pháp/kiến nghị
    • Khuyến nghị sử dụng LQR cho các hệ thống cần thời gian đáp ứng nhanh và độ ổn định cao.
    • Đối với ứng dụng chi phí thấp hoặc yêu cầu nhanh triển khai, PID (PD) là lựa chọn thực tế.
  • Đóng góp so với nghiên cứu trước
    • So sánh ba thuật toán trên cùng nền tảng phần cứng STM32F4, cung cấp dữ liệu thực nghiệm chi tiết chưa có trong các công trình trước (ví dụ các công trình chỉ mô phỏng hoặc dùng Arduino).
    • Đề xuất cấu trúc phần cứng giảm nhiễu encoder và cải tiến mạch cầu H IR2184 để tăng tính thẩm mỹ và độ tin cậy.

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

  • Hạn chế
    • Mô hình chỉ xét một trục quay (trục giữa) và không xét các biến động đa trục.
    • Không áp dụng các thuật toán điều khiển phi tuyến (ví dụ điều khiển mờ) để so sánh với các phương pháp tuyến tính.
    • Độ phân giải của encoder còn hạn chế, gây ảnh hưởng đến độ chính xác đo góc.
  • Hướng nghiên cứu tiếp
    • Mở rộng mô hình sang hệ thống Ball‑and‑Beam ba trục (trục dọc + trục giữa).
    • Áp dụng học tăng cường (Reinforcement Learning) để tự động tối ưu hoá tham số K.
    • Tích hợp bộ lọc Kalman hoặc Unscented Kalman Filter để cải thiện độ ổn định trong môi trường nhiễu mạnh.

Giá trị tham khảo

  • Đối tượng: Sinh viên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hoá; nghiên cứu sinh và kỹ sư muốn thiết kế hệ thống điều khiển thời gian thực trên nền tảng vi xử lý.
  • Phần đáng tham khảo:
    • Phần lý thuyết LQR và đặt cực (Chương 2‑3) cho người cần nền tảng toán học.
    • Mô hình phần cứng và sơ đồ khối (Chương 5) cho việc lắp ráp hệ thống Ball‑and‑Beam.
    • Các bảng so sánh tiêu chí ổn định (Bảng 4) cho việc lựa chọn bộ điều khiển phù hợp với yêu cầu dự án.

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

  1. LQR được thiết kế như thế nào trên STM32F4?

    • Ma trận K được tính bằng lệnh Matlab dlqr(A,B,Q,R) và sau đó được mã hoá thành các hệ số cố định trong file LQR_controller.c, sau đó tải lên STM32F4 để tính toán tín hiệu điều khiển u = −Kx tại mỗi vòng lặp đo.
  2. Tại sao thuật toán PID trong đề tài chỉ sử dụng PD (không có phần tích hợp I)?

    • Do phần I gây ra dao động tăng và làm giảm độ ổn định khi hệ thống có nhiễu encoder, nhóm quyết định bỏ qua để đạt thời gian ổn định ngắn hơn và tránh hiện tượng overshoot.
  3. Độ vọt lỗ (POT) của các bộ điều khiển trong thực nghiệm có bằng 0, nhưng trong mô phỏng có giá trị khác?

    • Trong mô phỏng, các giá trị POT được tính từ dữ liệu đồ thị đáp ứng; trong thực nghiệm, do giới hạn độ phân giải của cảm biến và giảm nhiễu phần cứng, các dao động được giảm tới mức không phát hiện được (≈ 0 rad).
  4. Làm thế nào để giảm nhiễu tín hiệu encoder đã ghi nhận trong quá trình thực nghiệm?

    • Thay dây Encoder, lắp đặt mạch lọc RC ở đầu vào ADC, và sử dụng bộ lọc Kalman trong phần mềm để ước lượng vị trí bóng một cách mượt mà.
  5. Có thể áp dụng các thuật toán điều khiển này cho các hệ thống MIMO khác không?

    • Có. Các bước xây dựng mô hình trạng thái, tính toán ma trận K (LQR hoặc Pole Placement) và thiết lập PID đều mở rộng được cho hệ thống đa đầu vào, đa đầu ra khi có đủ thông tin trạng thái và khả năng đo.

Kết luận

Đề tài đã thực hiện khảo sát, mô phỏng và thực nghiệm ba bộ điều khiển tuyến tính trên mô hình Ball‑and‑Beam trục giữa, chứng minh LQR có thời gian đáp ứng nhanh nhất và độ vọt lỗ thấp nhất, trong khi PID (PD) cung cấp giải pháp triển khai đơn giản và hiệu quả. Các kết quả thực nghiệm và so sánh chi tiết cung cấp nền tảng thực tiễn cho các dự án tự động hoá tương tự và mở đường cho các nghiên cứu mở rộng sang hệ thống đa trục và thuật toán phi tuyến.