Bối cảnh và vấn đề nghiên cứu
Trong chương trình đào tạo kỹ sư ngành Công nghệ Kỹ thuật Cơ điện tử tại Trường Đại học Công nghiệp TP.HCM (IUH), học phần Thiết kế Hệ thống Cơ điện tử đóng vai trò then chốt nhằm trang bị cho sinh viên năng lực tổng hợp kết cấu cơ khí, thiết kế mạch điện tử điều khiển và xây dựng thuật toán lập trình nhúng. Thông qua quá trình thực hiện đồ án, sinh viên vận dụng kiến thức liên ngành từ các môn học nền tảng như: Chi tiết máy, Sức bền vật liệu, Vẽ kỹ thuật, Dung sai kỹ thuật đo, Nguyên lý máy, Vi xử lý và Kỹ thuật số.
Bối cảnh thực tế của đề tài xuất phát từ việc Khoa Công nghệ Cơ khí phát động "Cuộc thi Đấu trường Robot" năm 2023 dành cho sinh viên các trường đại học, cao đẳng và học viện trên địa bàn TP.HCM. Cuộc thi được tổ chức nhằm tạo sân chơi khoa học công nghệ, khuyến khích sáng tạo và chuẩn bị năng lực thực hành tiếp cận cuộc Cách mạng Công nghiệp lần thứ tư.
Thể lệ cuộc thi đặt ra yêu cầu kỹ thuật: Mỗi đội thi tối đa 5 thành viên chỉ được sử dụng một robot duy nhất hoạt động ở chế độ hoàn toàn tự động (autonomous) để thực hiện liên tiếp hai nội dung thi đấu:
- Phần thi thoát khỏi mê cung: Robot tự tìm đường thoát khỏi mê cung dạng lưới. Mỗi đội có tối đa 2 lần chạy thử thách; robot không thoát được mê cung sau 2 lượt sẽ bị loại. Thành tích tốt nhất trong 2 lượt được ghi nhận để xét quyền vào vòng trong.
- Phần thi đấu trường Sumo: Các robot thi đấu đối kháng trực tiếp trên võ đài hình tròn dựa theo thể thức Sumo truyền thống của Nhật Bản. Quy định nghiêm cấm trang bị vũ khí sát thương hoặc sử dụng cơ cấu lật đổ đối phương; nhiệm vụ là phát hiện, tiếp cận và đẩy đối thủ ra khỏi vòng tròn sân đấu.
Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm:
- Nghiên cứu thể lệ thi đấu và các lợi ích ứng dụng của robot di động tự hành.
- Xây dựng cấu trúc giải thuật điều khiển tự động: thuật toán khám phá mê cung và thuật toán tìm đường đi ngắn nhất, kết hợp lưu đồ xử lý trạng thái cho robot sumo.
- Kiểm nghiệm giải thuật thông qua phần mềm mô phỏng chuyên dụng viết bằng ngôn ngữ Python trên lưới mê cung kích thước $16 \times 16$.
- Tính toán, lựa chọn linh kiện phần cứng đáp ứng cấu trúc sơ đồ khối: khối nguồn, khối điều khiển trung tâm, khối công suất động cơ, khối cảm biến và khối hiển thị.
- Thiết kế mô hình kết cấu cơ khí 3D trên phần mềm SolidWorks, xây dựng sơ đồ mạch đấu nối dây trên phần mềm Proteus 8 và lập trình nhúng trên môi trường Arduino IDE cho vi điều khiển ESP32.
Đối tượng nghiên cứu là hệ thống robot tự hành đa năng tích hợp cơ - điện - điều khiển. Phạm vi nghiên cứu giới hạn trong khuôn khổ thiết kế mô hình robot tự động phục vụ hai nội dung thi đấu theo tiêu chuẩn sân bãi do Ban tổ chức Cuộc thi Đấu trường Robot IUH 2023 quy định, hoàn thành nghiệm thu vào tháng 10 năm 2023.
Cơ sở lý thuyết và phương pháp
Đồ án xây dựng nền tảng lý thuyết trên hai mảng kiến thức: thuật toán tìm kiếm trên đồ thị và lý thuyết điều khiển điện tử - truyền động cơ điện tử.
Khung lý thuyết và mô hình giải thuật
- Thuật toán tìm kiếm theo chiều sâu (Depth-First Search - DFS): Được sử dụng cho giai đoạn khám phá và lập bản đồ mê cung (mapping). Thuật toán duyệt cấu trúc đồ thị không trọng số bằng cách đi sâu vào từng nhánh rẽ cho đến khi gặp ngõ cụt, sau đó sử dụng ngăn xếp (Stack) hoặc đệ quy để quay lui (backtracking) về nút giao gần nhất nhằm tiếp tục thám hiểm các nhánh chưa thăm cho đến khi toàn bộ các ô liên thông được xác định.
- Thuật toán tìm kiếm theo chiều rộng (Breadth-First Search - BFS): Được áp dụng sau khi bản đồ mê cung đã được khám phá để tính toán đường đi ngắn nhất từ ô xuất phát đến ô đích. Thuật toán duyệt qua các đỉnh theo từng cấp độ khoảng cách (level-by-level) thông qua cấu trúc hàng đợi (Queue), đảm bảo tìm được quỹ đạo di chuyển có số bước ít nhất trên đồ thị không trọng số.
- Phương pháp điều biến độ rộng xung (Pulse Width Modulation - PWM): Ứng dụng để điều khiển tốc độ động cơ DC thông qua việc thay đổi tỷ lệ chu kỳ nhiệm vụ (duty cycle) trong khoảng thời gian chu kỳ đóng cắt $T = 128,\mu\text{s}$.
- Logic điều khiển cầu H tối ưu hóa chân tín hiệu: Kết hợp các cổng logic NOT và NAND trên mạch trung gian để quy đổi tín hiệu điều khiển mỗi kênh động cơ về 1 chân PWM (điều chỉnh tốc độ) và 1 chân kỹ thuật số DIR (chuyển đổi chiều quay thuận/nghịch), giúp tiết kiệm tài nguyên chân GPIO của vi điều khiển.
Phương pháp nghiên cứu và nguồn dữ liệu
- Phương pháp thiết kế mô đun hóa hệ thống: Phân rã kết cấu cơ điện tử thành các khối chức năng độc lập (nguồn điện, xử lý trung tâm, cảm biến, truyền động, giao diện hiển thị) để tính toán dung lượng, điện áp và dòng tải tương thích.
- Phương pháp mô phỏng số: Thiết lập mô hình bài toán mê cung dạng lưới ma trận bằng lập trình hướng đối tượng trong Python; chạy mô phỏng kiểm tra tính đúng đắn của logic di chuyển trước khi nạp vào mạch điều khiển thực tế.
- Phương pháp thiết kế có sự trợ giúp của máy tính (CAD/EDA): Ứng dụng SolidWorks để dựng hình không gian 3D, bố trí không gian khung sườn và phân bổ trọng lượng; ứng dụng Proteus 8 để thiết kế sơ đồ nguyên lý mạch đấu nối phần cứng.
- Nguồn dữ liệu thực nghiệm: Dữ liệu bảng thông số kỹ thuật (datasheet) của các linh kiện: vi điều khiển ESP32, động cơ GA25-370, IC công suất L298N, IC ổn áp xung LM2596S, cảm biến siêu âm HR04/HC-SR04, cảm biến hồng ngoại TCRT5000 và màn hình LCD1602.
Thiết kế và triển khai hệ thống kỹ thuật
Kiến trúc phần cứng và lựa chọn linh kiện
Hệ thống robot được thiết kế hoàn chỉnh với các thành phần cơ - điện tử được chọn lọc dựa trên yêu cầu vận hành thực tế:
| Khối chức năng |
Linh kiện / Thiết bị |
Thông số kỹ thuật chính |
Vai trò trong hệ thống |
| Xử lý trung tâm |
Vi điều khiển ESP32 |
18 kênh ADC 12-bit (0–4095), 2 kênh DAC 8-bit, 16 kênh PWM, 2 kênh I2C (GPIO 21, 22), 10 chân cảm ứng chạm, nhân xử lý 32-bit |
Tiếp nhận dữ liệu cảm biến, thực thi thuật toán giải mê cung/sumo và xuất lệnh điều khiển động cơ |
| Truyền động |
Động cơ DC GA25-370 có gắn Encoder |
Điện áp định mức: 12V; Tốc độ không tải: 130 rpm; Tốc độ có tải: 100 rpm $\pm 10%$; Tỷ số truyền: 46.8:1; Xung encoder: 11 xung/vòng (514 xung/vòng trục ra); Lực kéo tối đa: 4.4 kg; Chiều dài hộp số: 21 mm |
Dẫn động bánh xe, tạo lực kéo di chuyển và lực đẩy trong phần thi Sumo |
| Mạch công suất |
Driver động cơ L298N |
Tích hợp mạch cầu H đôi, nguồn cấp logic 5V, hỗ trợ dòng tải liên tục cho 2 động cơ DC |
Đóng ngắt chiều dòng điện và điều chỉnh tốc độ động cơ theo tín hiệu PWM và DIR |
| Cảm biến khoảng cách |
Cảm biến siêu âm HR04 |
Phát sóng siêu âm tần số 40 kHz (loa gốm khuếch đại qua MAX232 lên $\pm 30\text{V}$, thu tín hiệu qua OP-AMP TL072/LM324 và vi điều khiển phát/nhận xung TRIG/ECHO) |
Phát hiện vật cản trong mê cung và dò tìm vị trí robot đối thủ trên sân Sumo |
| Cảm biến dò đường |
Mạch cảm biến hồng ngoại TCRT5000 |
Cụm 8 cặp LED phát - thu hồng ngoại, đọc tín hiệu điện thế qua các kênh ADC của vi điều khiển |
Nhận biết ranh giới vạch trắng/nền đen trên sàn thi đấu để giữ vị trí trong sân |
| Khối nguồn |
Pin Li-ion 18650 & Mạch hạ áp LM2596S |
Nguồn động cơ: 4 cell pin 18650 (16VDC); Nguồn vi điều khiển/cảm biến: 2 cell pin 18650 (8VDC); Pin dung lượng 2000 mAh, điện áp 3.2V/cell; Ổn áp xung DC 3A LM2596S |
Cung cấp năng lượng độc lập chống sụt áp nguồn điều khiển khi động cơ hoạt động |
| Hiển thị |
Màn hình LCD1602 kèm module I2C |
Màn hình ký tự $16 \times 2$, giao tiếp truyền thông I2C 2 dây (SDA, SCL) |
Hiển thị trạng thái hoạt động và các thông số cài đặt của robot |
+-------------------------------------------------------+
| KHỐI NGUỒN |
| - Nguồn 1: 4 pin 18650 (16VDC) -> Cấp Driver Động cơ |
| - Nguồn 2: 2 pin 18650 (8VDC) -> LM2596S -> ESP32 |
+---------------------------+---------------------------+
|
v
+------------------------+ +-----------------------+ +------------------------+
| KHỐI CẢM BIẾN | | KHỐI ĐIỀU KHIỂN | | KHỐI HIỂN THỊ |
| - Cảm biến siêu âm HR04| ----------> | Vi điều khiển ESP32 | ----------> | - Màn hình LCD1602 |
| - Dãy 8 dò line TCRT5000| (Tín hiệu) | (Xử lý trung tâm) | (I2C) | kèm module I2C |
+------------------------+ +-----------+-----------+ +------------------------+
|
| (PWM / DIR)
v
+-----------------------+
| KHỐI ĐIỀU KHIỂN CÔNG |
| SUẤT: Driver L298N |
+-----------+-----------+
|
v
+-----------------------+
| KHỐI CHẤP HÀNH |
| 2 Động cơ GA25-370 |
| (Kèm Encoder giảm tốc|
+-----------------------+
Kiến trúc phần mềm và thuật toán
Trên phần mềm mô phỏng và vi điều khiển nhúng, bài toán giải mê cung được trừu tượng hóa thành cấu trúc lớp (Class) trong lập trình:
- Lớp
Location: Quản lý thông tin từng ô trên lưới $16 \times 16$:
- Thuộc tính
position: Tọa độ [x, y] đại diện cho hàng và cột.
- Thuộc tính
walls: Mảng 4 phần tử kiểu Boolean biểu diễn trạng thái có tường chắn hay không ở các hướng [Bắc, Đông, Nam, Tây].
- Thuộc tính
visited: Giá trị Boolean đánh dấu trạng thái ô đã được khám phá hay chưa.
- Phương thức:
set_position, set_walls, set_visited, can_move_to (kiểm tra điều kiện hai ô liền kề không bị ngăn cách bởi tường).
- Lớp
State: Quản lý trạng thái chuyển động của robot:
- Thuộc tính
location: Vị trí hiện tại của robot trong mê cung.
- Thuộc tính
parent: Trỏ về đối tượng trạng thái trước đó nhằm phục vụ truy vết ngược hành trình.
- Thuộc tính
action: Mã số hành động di chuyển tương ứng (0: đi thẳng/không quay, 1: quay phải, 2: quay đầu, 3: quay trái, -1: hành động rỗng).
- Thuộc tính
cur_dir: Hướng quay hiện tại của robot.
- Phương thức:
set_loc, set_par, set_act, set_cur_dir, và phương thức kiểm tra điểm đích is_goal (xác định tọa độ vùng trung tâm mê cung [7, 7], [7, 8], [8, 7], [8, 8]).
Chương trình điều khiển nhúng được tổ chức thành hai luồng tác vụ độc lập trên nền tảng Arduino IDE:
- Quy trình giải mê cung: Khởi động robot $\rightarrow$ Thám hiểm và dựng sơ đồ mê cung bằng giải thuật DFS (
dfs_map_maze) $\rightarrow$ Tính toán đường đi tối ưu bằng giải thuật BFS (find_bfs_shortest_path) $\rightarrow$ Thực thi chuỗi lệnh di chuyển ngắn nhất về đích (execute_shortest_path).
- Quy trình đấu trường Sumo: Khởi động $\rightarrow$ Quét cảm biến siêu âm phát hiện mục tiêu $\rightarrow$ Nếu phát hiện đối phương: Tăng tốc động cơ tấn công trực diện $\rightarrow$ Đọc liên tục mảng cảm biến line TCRT5000: Nếu chạm vạch trắng biên sân đấu, lập tức dừng, lùi lại và chuyển hướng để không rơi khỏi sàn đấu.
Nội dung chính theo từng chương
Chương I: Tổng quan về cuộc thi đấu trường robot
Chương mở đầu phân tích vai trò thực tiễn của robot công nghiệp trong sản xuất hiện đại và giới thiệu chi tiết về sân chơi học thuật do nhà trường tổ chức:
- Lợi ích của robot trong sản xuất:
- Tăng cường năng suất: Vận hành liên tục 24/7 với tốc độ và độ chính xác đồng nhất, cắt giảm thời gian chế tạo so với lao động thủ công.
- Nâng cao chất lượng sản phẩm: Hạn chế tối đa sai sót do con người, hỗ trợ kiểm soát chất lượng chính xác trong quy trình kiểm tra và đánh giá.
- Đảm bảo an toàn lao động: Thay thế con người thực hiện các thao tác nguy hiểm, độc hại, nặng nhọc hoặc lặp đi lặp lại.
- Tối ưu hóa chi phí sản xuất: Giảm chi phí nhân công dài hạn, gia tăng tính cạnh tranh cho doanh nghiệp.
- Xử lý độ phức tạp cao: Đáp ứng các yêu cầu gia công chi tiết cao và quy trình phức tạp mà công nhân khó duy trì ổn định.
- Quy chế và thể lệ Cuộc thi Đấu trường Robot 2023: Xác định rõ đối tượng tham gia là sinh viên các trường kỹ thuật tại TP.HCM, quy định cấu trúc 2 vòng thi (vòng 1: Giải mã mê cung; vòng 2: Đấu trường Sumo) và ràng buộc kỹ thuật chỉ sử dụng 1 mẫu robot tự động duy nhất xuyên suốt giải đấu.
Chương II: Tổng hợp lưu đồ giải thuật và thiết kế thuật toán cho robot giải mê cung và robot sumo
Nội dung chương tập trung vào thiết kế chi tiết các thuật toán điều khiển thông minh:
- Phân tích thuật toán đồ thị: Trình bày nguyên lý hoạt động, cách duyệt đỉnh và điều kiện dừng của thuật toán tìm kiếm theo chiều rộng (BFS) và thuật toán tìm kiếm theo chiều sâu (DFS).
- Mô hình hóa bài toán mê cung: Xây dựng cấu trúc dữ liệu hướng đối tượng đại diện cho lưới ô cờ $16 \times 16$, định nghĩa các phương thức giao tiếp API mô phỏng (
mark_visited_api, mark_solution_api, mark_bfs_api, mark_bktrk_api).
- Lập trình mô phỏng: Triển khai mã nguồn mô phỏng trên nền tảng phần mềm viết bằng Python gồm 3 phân vùng chức năng: Khu vực quan sát mô phỏng di chuyển, Khu vực điều khiển cơ bản (Build, Run, thanh trượt chỉnh tốc độ), và Khu vực nạp cấu hình (nạp file mô tả mê cung và file mã nguồn điều khiển robot).
- Xây dựng lưu đồ trạng thái Robot Sumo: Thiết lập giải thuật bám sân, phát hiện đối thủ bằng cảm biến khoảng cách và thuật toán phản xạ đảo chiều khi gặp đường biên trắng.
Chương III: Lựa chọn thiết bị, xây dựng mô hình điều khiển
Chương III đi sâu vào tính toán kỹ thuật phần cứng, phân tích nguyên lý và lựa chọn linh kiện cho từng khối chức năng:
- Khối nguồn và mạch hạ áp: Thiết kế phương án tách nguồn độc lập giữa tải động lực (nguồn 4 cell pin 18650 tạo điện áp 16VDC cấp cho động cơ) và tải điều khiển logic (nguồn 2 cell pin 18650 tạo điện áp 8VDC qua module hạ áp xung LM2596S). Trình bày cơ chế ổn áp sử dụng chopper switch, bộ điện áp tham chiếu và mạch lọc nhiễu ngõ ra của LM2596S.
- Khối động cơ và mạch công suất: Phân tích thông số cơ - điện của động cơ DC GA25-370 có gắn encoder (tốc độ không tải 130 rpm, tỷ số truyền 46.8:1, lực kéo cực đại 4.4 kg, 514 xung/vòng). Trình bày nguyên lý băm xung PWM điều khiển tốc độ (chu kỳ $128,\mu\text{s}$) và tích hợp cổng logic NOT/NAND vào mạch cầu H L298N để tối ưu hóa cổng điều khiển.
- Khối cảm biến thu thập dữ liệu: Phân tích cấu tạo module siêu âm HR04 (mạch phát xung kích qua MAX232 $\pm 30\text{V}$, mạch thu khuếch đại bằng OP-AMP TL072/LM324, transistor đóng cắt tiết kiệm năng lượng) và cảm biến quang TCRT5000 gồm 8 mắt đọc hồng ngoại đọc mức tín hiệu tương tự qua cổng ADC.
- Khối vi điều khiển trung tâm: Khảo sát cấu hình vi điều khiển ESP32, phân tích chi tiết sơ đồ chân ngoại vi bao gồm các chân chỉ nhận tín hiệu vào (GPI 34–39), các chân gắn Flash nội (GPIO 6–11), 10 chân cảm biến điện dung (T0–T9), 18 kênh bộ chuyển đổi tương tự - số ADC 12-bit (đọc mức điện áp 0–3.3V tương ứng giá trị 0–4095), 2 kênh DAC 8-bit, 18 chân đánh thức thời gian thực RTC, 16 kênh PWM độc lập và 2 kênh giao tiếp I2C mặc định trên GPIO 21 và GPIO 22.
Chương IV: Xây dựng và lắp ráp mô hình Robot hoàn thiện
Chương cuối cùng tổng kết quá trình hiện thực hóa mô hình từ bản vẽ đến thiết bị thực tế:
- Thiết kế cơ khí 3D: Dựng mô hình không gian tổng thể của robot trên phần mềm SolidWorks, kiểm tra xung đột kết cấu giữa động cơ, gá pin, bo mạch và cụm cảm biến.
- Thiết kế sơ đồ nguyên lý: Hoàn thiện sơ đồ mạch kết nối tín hiệu và phân phối nguồn điện cho toàn hệ thống trên phần mềm Proteus 8.
- Lắp ráp phần cứng thực tế: Thi công khung vỏ, cố định các khối linh kiện, đi dây mạch điện động lực và mạch tín hiệu.
- Triển khai mã nguồn nhúng: Cài đặt môi trường phát triển mã nguồn mở Arduino IDE, tích hợp thư viện hỗ trợ cho ESP32 và nạp hai chương trình điều khiển hoàn chỉnh cho phần thi giải mê cung và phần thi đấu trường sumo.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Thiết kế và chế tạo thành công một mô hình robot tự hành hợp nhất: Đáp ứng đầy đủ các tiêu chuẩn kỹ thuật của Cuộc thi Đấu trường Robot 2023, vận hành linh hoạt ở cả hai chế độ thi đấu mà không cần thay đổi phần cứng cơ bản.
- Kiểm chứng giải thuật định tuyến: Xây dựng thành công thuật toán kết hợp DFS (quét và dựng bản đồ mê cung) và BFS (tìm đường đi ngắn nhất) được mô phỏng chính xác trên lưới mê cung $16 \times 16$ trước khi ứng dụng trên vi điều khiển nhúng.
- Giải pháp phân tách nguồn điện hiệu quả: Sử dụng hệ thống nguồn kép (nguồn động lực 16VDC và nguồn điều khiển 8VDC hạ áp qua LM2596S) giúp loại bỏ hiện tượng sụt áp và nhiễu xung điện từ motor sang vi điều khiển ESP32.
- Tối ưu hóa tài nguyên phần cứng: Ứng dụng mạch logic trung gian kết hợp với L298N để giảm thiểu số chân điều khiển PWM của vi điều khiển, đồng thời tận dụng chuẩn truyền thông I2C cho màn hình LCD1602 để tiết kiệm đường truyền dữ liệu.
Đóng góp của đề tài
- Đưa ra giải pháp tích hợp phần cứng và giải thuật điều khiển đa nhiệm trong một khung kết cấu duy nhất, giải quyết bài toán dung hòa giữa yêu cầu di chuyển linh hoạt, chính xác của robot mê cung và yêu cầu độ cứng vững, lực đẩy lớn của robot sumo.
- Cung cấp bộ tài liệu kỹ thuật hoàn chỉnh từ khâu mô phỏng thuật toán trên Python, thiết kế cơ khí 3D SolidWorks, bản vẽ sơ đồ mạch Proteus 8 đến mã nguồn nhúng C/C++ trên Arduino IDE.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Báo cáo ghi nhận những khó khăn do lần đầu làm quen với quy trình thiết kế tích hợp một hệ thống cơ điện tử hoàn chỉnh, một số giải thuật điều khiển và phương án tối ưu phần cứng vẫn còn phạm vi cải tiến; hệ thống cảm biến dò đường và siêu âm vẫn chịu ảnh hưởng nhất định bởi điều kiện ánh sáng môi trường và bề mặt phản xạ của đấu trường.
- Hướng phát triển tiếp:
- Tối ưu hóa thuật toán định tuyến để rút ngắn thời gian xử lý và tăng tốc độ di chuyển trong mê cung.
- Tích hợp thêm các thuật toán bám line và xử lý động học nâng cao nhằm tăng cường độ nhạy khi phát hiện và đẩy đối thủ trong phần thi Sumo.
- Nâng cấp kết cấu khung gầm cơ khí bằng vật liệu nhẹ có độ bền cao để tăng hiệu suất cơ học cho robot.
Giá trị tham khảo
Tài liệu đồ án là nguồn tài liệu học thuật và kỹ thuật thực hành phù hợp cho:
- Sinh viên chuyên ngành Công nghệ Kỹ thuật Cơ điện tử, Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ khí đang thực hiện đồ án môn học Thiết kế Hệ thống Cơ điện tử hoặc chuẩn bị tham gia các cuộc thi robot học thuật (Robot Sumo, Micromouse/Robot giải mê cung).
- Các kỹ sư và người nghiên cứu phần cứng muốn tham khảo sơ đồ phân bổ chân ngoại vi của vi điều khiển ESP32, thiết kế mạch công suất điều khiển động cơ DC dùng L298N kết hợp logic NOT/NAND, và cấu trúc kết nối cảm biến đo khoảng cách HR04 / cảm biến dò line TCRT5000.
- Những người quan tâm đến việc xây dựng phần mềm mô phỏng thuật toán BFS và DFS trong mê cung dạng lưới bằng ngôn ngữ Python.
Câu hỏi thường gặp
1. Tại sao nhóm tác giả lại sử dụng cả hai thuật toán DFS và BFS trong bài toán giải mê cung?
Trong bài toán giải mê cung, DFS được sử dụng trước tiên để robot di chuyển khám phá toàn bộ các nhánh rẽ và lập bản đồ các bức tường trên ma trận lưới. Sau khi đã có dữ liệu bản đồ đầy đủ, thuật toán BFS được kích hoạt để tìm ra đường đi ngắn nhất từ vị trí xuất phát đến các ô trung tâm (đích) vì BFS luôn đảm bảo tính tối ưu về khoảng cách trên đồ thị không có trọng số.
2. Giải pháp nào được áp dụng để đảm bảo vi điều khiển không bị sụt áp khi động cơ hoạt động mạnh?
Nhóm tác giả thiết kế hai khối nguồn điện riêng biệt:
- Khối nguồn 1 gồm 4 cell pin 18650 (16VDC) dành riêng cho tải công suất lớn của hai động cơ DC.
- Khối nguồn 2 gồm 2 cell pin 18650 (8VDC) đi qua module ổn áp xung LM2596S để cung cấp điện áp ổn định cho vi điều khiển ESP32, các khối cảm biến và màn hình hiển thị.
3. Phương pháp nào giúp tiết kiệm chân điều khiển PWM của vi điều khiển ESP32 khi kết nối với mạch L298N?
Hệ thống sử dụng một khối mạch logic kết hợp các cổng NOT và NAND đặt trước ngõ vào của mạch cầu H L298N. Khối này chuyển đổi tín hiệu điều khiển mỗi kênh động cơ về chỉ cần 1 chân băm xung PWM để điều chỉnh tốc độ và 1 chân mức logic DIR để đảo chiều quay thuận/nghịch, thay vì phải sử dụng 2 chân PWM cho mỗi động cơ.
4. Thông số kỹ thuật của động cơ GA25-370 sử dụng trên robot là gì?
Động cơ DC GA25-370 có các thông số: điện áp danh định 12V, tốc độ không tải 130 rpm, tốc độ có tải 100 rpm $\pm 10%$, lực kéo cực đại 4.4 kg, tỷ số truyền hộp số giảm tốc là 46.8:1, đĩa encoder tạo ra 11 xung/vòng (tương đương 514 xung trên mỗi vòng quay của trục ra) và chiều dài hộp số $L = 21\text{ mm}$.
5. Cảm biến siêu âm HR04 trên robot được thiết kế và xử lý tín hiệu như thế nào?
Module HR04 sử dụng loa gốm phát sóng siêu âm 40 kHz với mạch đệm công suất MAX232 để kích biên độ lên $\pm 30\text{V}$ (có transistor PNP ngắt nguồn để tiết kiệm năng lượng). Ở phần thu, tín hiệu thu từ loa gốm 40 kHz được đưa qua mạch khuếch đại OP-AMP TL072/LM324 và bộ so sánh điện áp, sau đó đưa về vi điều khiển xử lý độ rộng xung giữa chân TRIG và ECHO để tính toán khoảng cách vật cản.
Kết luận
Đồ án "Thiết Kế Hệ Thống Cơ Điện Tử: Robot Giải Mê Cung và Đấu Trường Sumo" của nhóm sinh viên Trường Đại học Công nghiệp TP.HCM đã hoàn thành trọn vẹn các yêu cầu kỹ thuật đặt ra theo thể lệ Cuộc thi Đấu trường Robot 2023. Nghiên cứu đã chứng minh tính khả thi của việc tích hợp hai giải thuật tìm kiếm đồ thị DFS và BFS trên nền tảng vi điều khiển ESP32 để xử lý bài toán định tuyến tự động, đồng thời hiện thực hóa thành công cấu trúc phần cứng cơ - điện tử có khả năng chuyển đổi linh hoạt giữa nhiệm vụ thám hiểm mê cung và đối kháng Sumo. Toàn bộ quy trình từ mô phỏng thuật toán, thiết kế 3D, thi công mạch điện đến nạp chương trình nhúng đều được thực hiện bài bản, tạo nền tảng vững chắc cho các nghiên cứu phát triển robot tự hành ứng dụng sau này.