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

Trong xu thế phát triển của khoa học kỹ thuật và tự động hóa, các sản phẩm kỹ thuật ngày càng được ứng dụng sâu rộng trong nhiều lĩnh vực từ y tế, giáo dục đến các thiết bị dân dụng và giải trí. Mô hình xe hai bánh tự cân bằng (Two-Wheeled Self-Balancing Robot) là một trong những đối tượng nghiên cứu cơ điện tử tiêu biểu, sở hữu nhiều ưu điểm như kết cấu nhỏ gọn, khả năng di chuyển linh hoạt trong không gian chật hẹp, chiếm ít diện tích và sử dụng nguồn năng lượng điện thân thiện với môi trường. Về mặt nguyên lý, hệ thống này hoạt động dựa trên bài toán con lắc ngược (Inverted Pendulum), đòi hỏi quá trình xử lý tín hiệu góc nghiêng và điều khiển động cơ liên tục với tần số cao để duy trì trạng thái thăng bằng.

Đề tài tiểu luận tốt nghiệp "Chế tạo xe hai bánh tự cân bằng" được thực hiện bởi sinh viên Võ Trường Toản (ngành Công nghệ kỹ thuật Cơ điện tử, Trường Đại học Kỹ thuật - Công nghệ Cần Thơ, khóa 2016 - 2020) dưới sự hướng dẫn của ThS. Đường Khánh Sơn, nhằm vận dụng kiến thức lý thuyết cơ điện tử vào việc thiết kế, gia công và chế tạo một mô hình thực nghiệm hoàn chỉnh.

Nhiệm vụ và mục tiêu nghiên cứu của đề tài được xác định cụ thể như sau:

  1. Sử dụng phần mềm Autodesk Inventor 2020 để thiết kế mô hình 3D, xuất bản vẽ chi tiết 2D và phục vụ công tác gia công lắp ghép.
  2. Chế tạo hoàn thiện mô hình phần cứng của xe hai bánh tự cân bằng.
  3. Xây dựng mô hình toán học và mô phỏng hệ thống điều khiển trên phần mềm Matlab/Simulink.
  4. Áp dụng thuật toán điều khiển PID (Proportional - Integral - Derivative) vào điều khiển cân bằng động cơ của mô hình.
  5. Thiết kế ứng dụng điều khiển xe từ xa trên điện thoại thông minh qua sóng không dây Bluetooth.
  6. Giao tiếp, đọc và xử lý tín hiệu từ cảm biến góc nghiêng/quán tính MPU6050 bằng bộ lọc số.
  7. Thử nghiệm khả năng giữ thăng bằng và di chuyển của mô hình trên các điều kiện địa hình và tải trọng khác nhau.
  8. Đánh giá kết quả và hoàn thiện mô hình.

Đối tượng nghiên cứu của đề tài là hệ thống xe hai bánh tự cân bằng tích hợp vi điều khiển Arduino Mega 2560, cảm biến góc MPU6050, mạch công suất L298N, động cơ DC NF5475 và module truyền thông Bluetooth HC-05. Phạm vi nghiên cứu dừng lại ở việc thiết kế, chế tạo mô hình kích thước nhỏ gọn di chuyển trên mặt phẳng, điều khiển qua điện thoại, với trọng tâm học thuật là xây dựng giải thuật điều khiển cân bằng dựa trên thuật toán PID kết hợp bộ lọc Kalman.


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

Khung lý thuyết của đề tài tập trung vào việc mô hình hóa hệ thống phi tuyến con lắc ngược hai bánh và lý thuyết điều khiển tự động kinh điển:

  • Mô hình hóa động lực học Euler-Lagrange: Thiết lập phương trình Lagrange dạng vi phân mô tả chuyển động tịnh tiến và chuyển động quay của xe trong không gian ba chiều $(Oxz, Oxy)$. Phương trình dựa trên quan hệ giữa động năng tịnh tiến ($T_1$), động năng quay ($T_2$), thế năng trọng trường ($U$) và thế hàm Lagrange $L = T_1 + T_2 - U$.
  • Lý thuyết điều khiển PID: Sử dụng cấu trúc bù vòng kín kết hợp giữa ba khâu tỉ lệ ($K_p$), tích phân ($K_i$) và vi phân ($K_d$) để tính toán tín hiệu điện áp/PWM xuất ra mạch cầu H tương ứng với độ lệch góc nghiêng của thân xe.
  • Xử lý tín hiệu quán tính và lọc nhiễu Kalman: Sử dụng thuật toán lọc Kalman để kết hợp tín hiệu góc từ gia tốc kế 3 trục (Accelerometer) và vận tốc góc từ con quay hồi chuyển 3 trục (Gyroscope) của cảm biến MPU6050, nhằm loại bỏ hiện tượng trôi (drift) của con quay hồi chuyển và triệt tiêu nhiễu dao động cơ học của gia tốc kế.

Phương pháp nghiên cứu bao gồm:

  • Phương pháp phân tích và tổng hợp tài liệu: Khảo sát các mô hình robot cân bằng trong và ngoài nước (LegWay, Winglet của Toyota, MiP của WowWee/UCSD, TiltOne, các đề tài luận văn thạc sĩ tại ĐH Bách Khoa TP.HCM) để so sánh ưu nhược điểm về cấu trúc cơ khí, loại cảm biến và giải thuật.
  • Phương pháp mô hình hóa toán học và mô phỏng số: Tính toán các thông số động lực học (khối lượng, quán tính, moment xoắn, hệ số ma sát) và mô phỏng đáp ứng quá độ của động cơ trên Matlab/Simulink.
  • Phương pháp thiết kế và chế tạo thực nghiệm: Thiết kế cơ khí trên Autodesk Inventor 2020; gia công khung mica 3 tầng bằng 38 trụ đồng; thiết kế mạch điều khiển trung tâm và đấu nối ngoại vi; lập trình firmware nhúng trên Arduino IDE; xây dựng giao diện ứng dụng Android bằng MIT App Inventor.

Thiết kế và triển khai

Hệ thống xe hai bánh tự cân bằng được tổ chức thành các khối chức năng liên kết chặt chẽ từ phần cứng cơ khí, mạch điện tử công suất đến giải thuật điều khiển.

1. Thông số kỹ thuật các linh kiện phần cứng

Linh kiện Thông số kỹ thuật chính Vai trò trong hệ thống
Arduino Mega 2560 Vi điều khiển ATmega2560 (16 MHz), Flash 256 KB, SRAM 8 KB, EEPROM 4 KB, 54 chân Digital (15 chân PWM), 16 chân Analog Khối xử lý trung tâm, tính toán PID và điều khiển xung PWM
Động cơ DC NF5475 Điện áp 12-24V DC, tốc độ không tải 4500 vòng/phút, tích hợp Encoder 200 xung (2 kênh A/B, 5V DC) Khối chấp hành, tạo moment kéo xe cân bằng
Module cầu H L298N Điện áp vào 5-30V DC, công suất cực đại 25W, dòng định mức 2A/cầu, kích thước 43 x 43 x 27 mm Mạch công suất điều khiển chiều quay và tốc độ động cơ DC
Cảm biến GY-521 MPU6050 6 trục (3 trục Accel $\pm2g/\pm4g/\pm8g/\pm16g$, 3 trục Gyro $\pm250/\pm500/\pm1000/\pm2000$ dps), ADC 16-bit, giao tiếp I2C 400 kHz Khối đo lường, xác định góc nghiêng và tốc độ nghiêng thân xe
Module Bluetooth HC-05 Chuẩn giao tiếp nối tiếp UART (kết nối chân RX1/TX1), tầm phát sóng ngắn Khối nhận/truyền tín hiệu điều khiển từ điện thoại Android
Nguồn Pin LiPo 3S Dung lượng 2200 mAh, điện áp danh định 11.1V Cung cấp nguồn tổng cho mạch L298N, động cơ và hạ áp cấp Arduino

2. Sơ đồ kết cấu cơ khí và ghép nối mạch điện

Cơ cấu cơ khí sử dụng 3 tấm mica phẳng được liên kết vững chắc bởi 38 trụ đồng ren, chia thành 3 tầng chức năng:

  • Tầng 1: Đặt bộ nguồn Pin LiPo 3S 2200 mAh và board vi điều khiển Arduino Mega 2560 nhằm hạ thấp trọng tâm của toàn bộ robot.
  • Tầng 2: Bố trí mạch công suất cầu H L298N, module truyền thông Bluetooth HC-05 và cảm biến gia tốc quán tính MPU6050.
  • Tầng 3: Tấm mica phẳng trên cùng dùng làm không gian mang tải trong các bài thử nghiệm.

Sơ đồ kết nối dây tín hiệu giữa Arduino Mega 2560 và các khối ngoại vi:

  • Động cơ & L298N: Chân IN1, IN2, IN3, IN4 của module L298N nối với các chân 8, 9, 10, 11 của Arduino; các cổng OUT1, OUT2, OUT3, OUT4 nối trực tiếp với 2 động cơ DC NF5475; nguồn 12V của L298N cấp từ Pin LiPo.
  • Cảm biến MPU6050: Chân VCC nối 5V, GND nối GND, chân SCL nối chân 21 (SCL), chân SDA nối chân 20 (SDA) và chân ngắt INT nối chân 2 của Arduino.
  • Module HC-05: Chân VCC nối 5V, GND nối GND, chân TX nối chân 19 (RX1) và chân RX nối chân 18 (TX1) của Arduino.

3. Lập trình giải thuật và ứng dụng di động

  • Thuật toán xử lý tín hiệu: Dữ liệu góc nghiêng từ MPU6050 được vi điều khiển thu thập liên tục qua bus I2C ở tốc độ 400 kHz. Thuật toán bù trừ sai số tĩnh (offset) và bộ lọc Kalman được kích hoạt để tính toán giá trị góc nghiêng chính xác của thân xe.
  • Bộ điều khiển PID: Giá trị sai lệch giữa góc nghiêng thực tế và góc cân bằng đặt trước ($\psi_{setpoint} \approx 0^\circ$) được đưa vào khối thuật toán PID để tính toán độ rộng xung PWM, xuất tín hiệu điều khiển đóng mở các transistor/MOSFET trên mạch cầu H L298N.
  • Ứng dụng điều khiển từ xa: Ứng dụng Android xây dựng trên nền tảng MIT App Inventor, giao diện cung cấp các nút bấm định hướng (tiến, lùi, rẽ trái, rẽ phải) và kết nối qua giao thức Bluetooth SPP.

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

Chương 1: Tổng quan

Chương 1 điểm lại lược sử ngành tự động hóa và robot từ thời kỳ cổ đại (các ghi chép về kỹ sư Yan Shi thời Chu Mục Vương), robot dạng người Maschinemensch trong phim Metropolis (1927), đến robot công nghiệp Unimate của General Motors (1961). Tác giả tiến hành phân tích, so sánh các nghiên cứu xe hai bánh tự cân bằng đã công bố:

  • Trong nước: Luận văn thạc sĩ tại ĐH Bách Khoa TP.HCM ứng dụng bộ điều khiển Backstepping cho đáp ứng nhanh và khả năng kháng nhiễu tốt; các đề tài tiểu luận tại ĐH Kỹ thuật - Công nghệ Cần Thơ ứng dụng thuật toán PID kết hợp lọc Kalman.
  • Ngoài nước: Mô hình LegWay (sử dụng Lego và cảm biến hồng ngoại, có thể xoay tại chỗ nhưng chưa điều khiển từ xa); xe Winglet của Toyota (tốc độ 6 km/h, phạm vi 10 km, thời gian sạc 1 giờ, tay lái chữ T thu gọn); đồ chơi MiP của WowWee/UCSD (giao tiếp GestureSense và Bluetooth, pin 4-6 giờ nhưng giá thành cao); robot TiltOne (chiều cao 90 cm, tải trọng 50 kg, dùng cảm biến quán tính và thuật toán PID nhưng cồng kềnh). Từ đó, tác giả lựa chọn phương án chế tạo mô hình kích thước nhỏ, sử dụng vi điều khiển Arduino Mega 2560, cảm biến MPU6050 và bộ điều khiển PID.

Chương 2: Đối tượng và phương pháp nghiên cứu

Chương 2 trình bày toàn bộ quá trình mô hình hóa toán học, thiết kế phần cứng và lập trình điều khiển:

  • Thiết lập phương trình động học và động lực học: Xây dựng hệ tọa độ $Oxz$ và $Oxy$, lập bảng định nghĩa các biến số ($m, M, R, W, D, H, L, f_w, f_m, J_m, R_m, K_b, K_t, g, \theta, \psi, \phi$). Sử dụng phương pháp Euler-Lagrange để rút ra hệ phương trình vi phân chuyển động phi tuyến mô tả moment động lực học của hệ thống qua tín hiệu điện áp điều khiển động cơ DC ($v_l, v_r$).
  • Thiết kế cơ khí và mạch điện: Xuất bản vẽ chế tạo chi tiết trên Autodesk Inventor 2020; thiết lập sơ đồ khối hệ thống (Khối nguồn, Khối điều khiển, Khối chấp hành, Khối truyền/nhận tín hiệu) và sơ đồ đấu nối chân chi tiết cho Arduino Mega 2560, L298N, MPU6050 và HC-05.
  • Mô phỏng bộ điều khiển PID: Thiết lập sơ đồ khối mô phỏng động cơ trên Matlab/Simulink và khảo sát đáp ứng xung của hệ thống qua 3 bộ thông số:
    • Bộ 1: $K_p = 25; K_d = 1$
    • Bộ 2: $K_p = 21; K_d = 2$
    • Bộ 3: $K_p = 30; K_d = 1$
  • Lập trình nhúng và ứng dụng Android: Xây dựng chương trình đọc dữ liệu cảm biến I2C, thuật toán lọc Kalman trên Arduino IDE và thiết kế giao diện điều khiển bằng MIT App Inventor.

Chương 3: Kết quả và hướng phát triển

Chương 3 tổng kết các kết quả thử nghiệm thực tế trên mô hình vật lý:

  • Khả năng tự giữ thăng bằng tại chỗ và khả năng phản hồi thăng bằng khi có tác động ngoại lực gây nghiêng trên bề mặt phẳng.
  • Khả năng tiếp nhận lệnh điều hướng di chuyển tiến, lùi, quay từ điện thoại qua Bluetooth.
  • Thử nghiệm trạng thái cân bằng khi xe mang tải trọng bổ sung tại tầng 3, bao gồm hai bài thử nghiệm: mang tải hộp đựng ốc vít và mang tải chai nước.
  • Đánh giá khả năng hoạt động trên địa hình gồ ghề và chỉ ra các hạn chế kỹ thuật còn tồn tại.

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

Khóa luận đã hoàn thành các mục tiêu kỹ thuật đặt ra và đạt được các kết quả cụ thể:

Hạng mục Kết quả kỹ thuật đạt được
Gia công & Kết cấu cơ khí Hoàn thiện khung xe 3 tầng bằng vật liệu mica với 38 trụ đồng ren; lắp ráp vững chắc 2 động cơ DC NF5475, bánh xe và các module điện tử
Mô hình hóa toán học Thiết lập thành công hệ phương trình trạng thái mô tả động học và động lực học của hệ thống con lắc ngược hai bánh dựa trên phương pháp Euler-Lagrange
Xử lý tín hiệu cảm biến Giao tiếp thành công MPU6050 qua bus I2C (400 kHz); áp dụng bộ lọc Kalman triệt tiêu nhiễu và bù sai số trôi cho phép tính góc nghiêng chính xác
Thuật toán điều khiển PID Khảo sát thành công trên Simulink và nạp thực tế vào Arduino Mega 2560, giúp xe giữ thăng bằng ổn định trên mặt phẳng
Giao tiếp không dây Ứng dụng Android (MIT App Inventor) kết nối ổn định với module Bluetooth HC-05, điều khiển xe di chuyển linh hoạt
Thử nghiệm mang tải Xe giữ được trạng thái cân bằng khi đặt tải trọng lên tầng 3 (thử nghiệm thành công với hộp đựng ốc vít và chai nước)

Về mặt đóng góp, đề tài đã xây dựng một quy trình hoàn chỉnh từ mô hình hóa giải tích, mô phỏng tham số điều khiển trên Simulink đến chế tạo phần cứng thực nghiệm với chi phí hợp lý. Mô hình đóng vai trò là một nền tảng thực nghiệm cơ điện tử trực quan, phục vụ học tập và nghiên cứu các giải thuật điều khiển nâng cao cho sinh viên.


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

Văn bản khóa luận đã thẳng thắn chỉ ra các hạn chế thực tế của mô hình:

  • Xe hoạt động tốt trên mặt phẳng nhưng chưa duy trì được trạng thái cân bằng ổn định khi di chuyển trên các bề mặt địa hình gồ ghề, mấp mô.
  • Bộ thông số PID hiện tại được tinh chỉnh cố định cho địa hình phẳng, chưa thích nghi tốt với các biến đổi đột ngột về ma sát mặt đường.

Các hướng phát triển được tác giả đề xuất bao gồm:

  • Nghiên cứu và áp dụng các thuật toán điều khiển hiện đại hoặc điều khiển thích nghi (Adaptive Control, Backstepping) nhằm tăng cường độ bền vững và khả năng thăng bằng trên địa hình phức tạp.
  • Cải tiến kết cấu cơ khí, bổ sung hệ thống giảm chấn cho bánh xe và tối ưu hóa việc phân bổ trọng tâm.
  • Mở rộng chức năng thông minh bằng cách tích hợp thêm cảm biến khoảng cách/siêu âm hoặc camera để nhận diện chướng ngại vật, dẫn đường tự động và truyền dữ liệu giám sát hành trình.

Giá trị tham khảo

Tài liệu khóa luận mang lại giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên ngành Cơ điện tử, Kỹ thuật Cơ khí và Tự động hóa: Cung cấp tài liệu tham khảo chi tiết về quy trình tính toán động học Euler-Lagrange cho hệ thống con lắc ngược hai bánh.
  • Người nghiên cứu và phát triển robot tự hành: Cung cấp sơ đồ mạch nguyên lý, phương pháp đấu nối chân cho vi điều khiển Arduino Mega 2560 với mạch cầu H L298N, cảm biến MPU6050 và module Bluetooth HC-05.
  • Kỹ sư phát triển phần mềm nhúng: Cung cấp giải pháp mẫu về việc lập trình xử lý tín hiệu cảm biến quán tính qua giao thức I2C, giải thuật lọc Kalman và lập trình ứng dụng điều khiển Android bằng MIT App Inventor.

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

1. Vi điều khiển và cảm biến nào được sử dụng làm khối xử lý và đo lường chính của mô hình?
Mô hình sử dụng vi điều khiển Arduino Mega 2560 (dựa trên chip ATmega2560, xung nhịp 16 MHz, bộ nhớ Flash 256 KB) làm trung tâm điều khiển và module cảm biến GY-521 MPU6050 (tích hợp gia tốc kế 3 trục và con quay hồi chuyển 3 trục, bộ chuyển đổi ADC 16-bit) để đo góc nghiêng và vận tốc góc qua giao tiếp I2C.

2. Kết cấu cơ khí của xe hai bánh tự cân bằng được phân chia thành các tầng như thế nào?
Khung xe gồm 3 tấm mica phẳng liên kết bằng 38 trụ đồng: Tầng 1 đặt nguồn Pin LiPo 3S 2200 mAh và Arduino Mega 2560; Tầng 2 chứa mạch cầu H L298N, module Bluetooth HC-05 và cảm biến MPU6050; Tầng 3 là tấm mica phẳng dùng làm sàn chịu tải khi thử nghiệm.

3. Khóa luận sử dụng phương pháp toán học nào để thiết lập phương trình chuyển động của robot?
Tác giả áp dụng phương pháp cơ học giải tích Euler-Lagrange dựa trên việc tính toán động năng tịnh tiến ($T_1$), động năng quay ($T_2$), thế năng ($U$) và hàm Lagrange ($L = T_1 + T_2 - U$) để suy ra hệ phương trình vi phân mô tả chuyển động của thân xe và bánh xe.

4. Những bộ thông số điều khiển PID nào đã được tác giả khảo sát trong phần mô phỏng Simulink?
Tác giả đã tiến hành mô phỏng và so sánh đáp ứng của động cơ với 3 bộ thông số PID:

  • Bộ 1: $K_p = 25; K_d = 1$
  • Bộ 2: $K_p = 21; K_d = 2$
  • Bộ 3: $K_p = 30; K_d = 1$

5. Các bài thử nghiệm thực tế nào đã được thực hiện để đánh giá khả năng vận hành của xe?
Mô hình đã được thử nghiệm giữ thăng bằng tại chỗ trên mặt phẳng, nhận lệnh điều khiển di chuyển từ ứng dụng Android qua sóng Bluetooth, kiểm tra độ cân bằng khi mang tải (thử nghiệm với hộp đựng ốc vít và chai nước), và kiểm tra phản ứng của xe khi vận hành trên địa hình gồ ghề.


Kết luận

Tiểu luận tốt nghiệp "Chế tạo xe hai bánh tự cân bằng" của sinh viên Võ Trường Toản (Đại học Kỹ thuật - Công nghệ Cần Thơ, 2020) đã thực hiện thành công việc kết hợp giữa lý thuyết mô hình hóa Euler-Lagrange, mô phỏng Simulink và chế tạo phần cứng cơ điện tử hoàn chỉnh. Bằng việc ứng dụng thuật toán điều khiển PID kết hợp bộ lọc Kalman và vi điều khiển Arduino Mega 2560, mô hình đã duy trì thăng bằng tốt trên mặt phẳng và có khả năng điều khiển linh hoạt qua ứng dụng di động Bluetooth. Mặc dù vẫn còn hạn chế trên địa hình gồ ghề, công trình là tài liệu tham khảo có giá trị cao về mặt phương pháp luận và kỹ thuật thực hành cho sinh viên các chuyên ngành kỹ thuật liên quan.