



















Preview text:
ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN – ĐIỆN TỬ ĐỒ ÁN MÔN HỌC
NHẬP MÔN KĨ THUẬT
Đề tài: MICROMOUSE – ROBOT TỰ HÀNH DÒ ĐƯỜNG TRONG MÊ CUNG
Nhóm thực hiện: ĐIỆN CAO THẾ
Thành viên: Đặng Bạch Dương 202514080
Hoàng Nguyễn Thu Phương 202514333 Lê Cao Sơn 202514363
Nguyễn Xuân Phong 202514316
Lê Nguyễn Quang Minh 202514253
Nguyễn Đức Dương 202514083
Giảng viên hướng dẫn: GS.TS. NGUYỄN ĐỨC MINH
PGS.TS. PHẠM NGUYỄN THANH LOAN PGS.TS. NGUYỄN HỮU THANH PGS.TS. TRƯƠNG THU HƯƠNG TRẦN THỊ THẢO ANH Hà Nội, 01-2026
Phần 1. Giới thiệu ý tưởng và xác định chỉ tiêu kỹ thuật của sản phẩm ..................................................... 2 1.1
Phân tích nhu cầu và sự cần thiết của sản phẩm ............................................................................ 2
1.1.1. Tổng quan ý tưởng ..................................................................................................................... 2
1.1.2. Định hướng công nghệ ............................................................................................................... 2
1.1.3. Phân tích nhu cầu người dùng (User Needs Analysis) ............................................................... 3 1.2
Chỉ tiêu phi chức năng .................................................................................................................... 4 1.3
Chỉ tiêu chức năng .......................................................................................................................... 5 Phần 2.
Phân tích chức năng và lập kế hoạch .......................................................................................... 6 2.1
Phân chia chức năng ...................................................................................................................... 6
2.1.2. Chức năng 1: Nhận thức môi trường .......................................................................................... 6
2.1.3. Chức năng 2: Xử lý dữ liệu và Điều hướng ............................................................................... 7
2.1.4. Chức năng 3: Điều khiển chuyển động (Motion Control) .......................................................... 8
2.1.5. Chức năng 4: Lưu trữ và Tối ưu hóa (Storage & Optimization) ................................................ 8 2.2
Lập kế hoạch ................................................................................................................................... 9
Bảng phân công nhiệm vụ (Task Allocation) ................................................................................................ 9 Phần 3.
Phương án kỹ thuật: Kiến trúc phần cứng, lựa chọn linh kiện .............................................. 11 3.1
Tổng Quan Về Triết Lý Thiết Kế và Kiến Trúc Hệ Thống ............................................................ 11 3.2
Phân Tích: Vi Điều Khiển và Trung Tâm Xử Lý ........................................................................... 11
3.2.2. Đánh Giá So Sánh: ESP32 so với STM32 và Arduino ............................................................ 11 3.3
Phân Hệ Truyền Động: Cơ Khí Chính Xác và Điện Tử Công Suất .............................................. 12
3.3.1. Mạch Lái Động Cơ (H-Bridge Driver): ................................................................................... 12
Vi điều khiển chỉ đóng vai trò là "bộ não" phát tín hiệu yếu, còn driver là "cơ bắp" cung cấp dòng điện
đủ mạnh để vận hành động cơ mà không làm cháy chip xử lý. .............................................................. 12
3.3.2. Tại sao L298N bị loại bỏ? ........................................................................................................ 12
3.3.3. Sự Ưu Việt của TB6612FNG ................................................................................................... 12 3.4
Phân Hệ Cảm Biến: Công Nghệ Đo Lường và Giao Tiếp ............................................................ 13
3.4.1. Cảm biến Khoảng Cách: Time-of-Flight (ToF) vs. Ultrasonic ................................................ 13
3.4.2. Đơn Vị Đo Quán Tính (IMU): MPU6050................................................................................ 13 3.5
Phân Hệ Nguồn: Trái Tim Của Hệ Thống .................................................................................... 13
3.5.1. Pin Lithium-Ion và Đặc Tính Xả ............................................................................................. 14
3.5.2. Mạch Hạ Áp (Buck Converter): MP1584 vs LM2596 ............................................................. 14 3.6
Thiết Kế Cơ Khí và Chiến Lược Tích Hợp Hệ Thống ................................................................... 14
3.6.2. Khung Gầm Hai Tầng (Double Decker Chassis) ..................................................................... 16
3.6.3. Nguyên Tắc Thiết Kế Mạch In và Đi Dây (Wiring Best Practices) ......................................... 19 Phần 4.
Thiết kế ........................................................................................................................................ 21 4.1
Thiết kế phần cứng ........................................................................................................................ 21 4.2
Thiết kế phần mềm ........................................................................................................................ 22
4.2.2. Thiết kế phần mềm cấp thấp (Firmware and Low-level API) .................................................. 22
4.2.3. Thiết kế phần mềm cấp cao ...................................................................................................... 24 Phần 5.
Triển khai .................................................................................................................................... 25 5.1
TRIỂN KHAI PHẦN MỀM (SOFTWARE IMPLEMENTATION) ................................................. 25
5.1.2. Triển khai cấu hình hệ thống và Quản lý bộ nhớ ..................................................................... 25
5.1.3. Hiện thực hóa các Module Driver cấp thấp .............................................................................. 25
5.1.4. Triển khai bộ điều khiển chuyển động trung tâm (Motion Control Core) ............................... 27
5.1.5. Phân tích chuyên sâu các bộ điều khiển PID trong hệ thống ................................................... 27
5.1.6. Thuật toán di chuyển tịnh tiến và duy trì quỹ đạo (Update Forward) ...................................... 29
5.1.7. Thuật toán quay tại chỗ (Update Turn) .................................................................................... 30
5.1.8. Cơ chế bảo vệ hệ thống (Safety & Watchdog) ......................................................................... 30 5.2
TRIỂN KHAI CÁC THUẬT TOÁN LỚN CHO PHẦN MỀM ........................................................ 31
5.2.1. Triển khai thuật toán cho robot khám phá mê cung bằng thuật DFS : ..................................... 31
5.2.2. Thuật toán giải quyết trên máy tính với dữ liệu mê cung vừa lấy để liệt kê các hướng robot đi được . 34
5.2.3. Thuật toán điều hướng robot đi theo hướng tối ưu Floodfill .................................................... 35
Phần 6.Thực nghiệm ...................................................................................................................................... 38
Phần 1. Giới thiệu ý tưởng và xác định chỉ tiêu kỹ thuật của sản phẩm
1.1 Phân tích nhu cầu và sự cần thiết của sản phẩm
1.1.1. Tổng quan ý tưởng
Dự án Micromouse được xây dựng dựa trên mục tiêu tạo ra một hệ thống điện tử
hoàn chỉnh ở quy mô nhỏ, đóng vai trò là môi trường thực hành tích hợp cho những người
mới bắt đầu bước chân vào lĩnh vực kỹ thuật. Sự cần thiết của dự án không nằm ở việc tạo
ra một sản phẩm thương mại ngay lập tức, mà tập trung vào việc nắm rõ các khái niệm cơ
bản thông qua quá trình thiết kế phần cứng, lập trình điều khiển và phát triển thuật toán.
Đây là một bài toán kỹ thuật tiêu chuẩn yêu cầu nhóm thực hiện phải làm chủ đồng thời
nhiều mảng kiến thức bổ trợ lẫn nhau, từ đó hình thành tư duy hệ thống và khả năng làm
chủ thiết bị một cách toàn diện cũng như tối ưu khả năng làm việc nhóm.
1.1.2. Định hướng công nghệ
Trọng tâm của dụ án micromouse nằm ở việc làm chủ năng lực tự hành hoàn toàn
của thiết bị trong một môi trường khép kín. Thay vì dựa vào các lệnh điều khiển từ xa,
robot được định hướng phát triển để thực hiện chu trình "Cảm nhận - Tư duy - Hành động"
một cách độc lập. Điều này đòi hỏi hệ thống phải có khả năng xử lý dữ liệu từ các module
cảm biến để nhận diện không gian, từ đó xây dựng bản đồ số và đưa ra các quyết định di chuyển chính xác.
Ngoài ra dự án tập trung vào việc hiện thực hóa khả năng tự hành hoàn toàn và tối
ưu hóa hiệu suất vận hành của thiết bị thông qua việc làm chủ các thuật toán tìm đường.
Trọng tâm kỹ thuật nằm ở việc xây dựng khả năng tự nhận diện không gian và xử lý dữ
liệu thông minh để robot có thể tính toán, lựa chọn lộ trình ngắn nhất nhằm tối ưu hóa thời
gian cũng như năng lượng tiêu thụ. Sự thành công của định hướng này phụ thuộc trực tiếp
vào khả năng kết nối và đồng bộ hóa các module riêng lẻ — từ quản lý năng lượng, cảm
biến khoảng cách đến điều khiển động cơ — thành một hệ thống nhất quán, đảm bảo luồng
thông tin được phản hồi tức thời và chính xác.
1.1.3. Phân tích nhu cầu người dùng (User Needs Analysis)
Trong bối cảnh công nghệ tự hành đang bùng nổ, nhu cầu về một hệ thống tìm
đường tối ưu không chỉ dừng lại ở quy mô mê cung nhỏ mà còn có giá trị ứng dụng thực tiễn rất lớn.
Trong nghiên cứu và phát triển, Micromouse đóng vai trò là nền tảng thực nghiệm
lý tưởng để kiểm chứng các thuật toán điều hướng và tránh vật cản. Đây là môi trường
quan trọng giúp các nhà kỹ thuật đánh giá chính xác sai số giữa mô hình lý thuyết và thực
tế—như hiện tượng trượt bánh hay nhiễu cảm biến—tạo tiền đề vững chắc trước khi triển
khai lên các hệ thống xe tự hành quy mô lớn.
Bên cạnh đó, các giải pháp từ Micromouse còn hỗ trợ trực tiếp cho lĩnh vực
Logistics thông qua việc tối ưu hóa lộ trình của các xe tự hành (AGV). Việc ứng dụng
thuật toán tìm đường ngắn nhất giúp giảm thiểu tối đa thời gian vận chuyển và tiêu hao
năng lượng, từ đó nâng cao hiệu suất vận hành và tính tự động hóa cho các hệ thống kho
bãi thông minh hiện đại.
Các công trình bài báo nghiên cứu đã có và có liên quan
Cuộc thi Micromouse có lịch sử lâu đời, bắt nguồn từ sáng kiến của tạp chí IEEE
Spectrum vào năm 1977 với tên gọi "The Amazing Micro-Mouse Maze Contest". Đây
không chỉ đơn thuần là một cuộc đua tốc độ mà còn là sự kiện đặt nền móng cho việc
chuẩn hóa các quy tắc về robot giải mê cung trên toàn thế giới. IEEE đóng vai trò là tổ
chức tiên phong trong việc thiết lập các tiêu chuẩn kỹ thuật về kích thước mê cung, quy
định về cảm biến và thuật toán điều khiển, giúp biến Micromouse từ một ý tưởng sơ khai
thành một bộ môn thể thao trí tuệ dành cho kỹ sư.
Lịch sử phát triển của cuộc thi
Sản phẩm sẽ tập trung vào 3 nhóm chức năng cốt lõi:
1. Chức năng Nhận diện và Xây dựng bản đồ (Sense): Sử dụng hệ thống cảm
biến để phát hiện tường vây, xác định các ô trống và tự động xây dựng lưới bản đồ số trong
bộ nhớ thời gian thực.
2. Chức năng Giải thuật Tìm đường (Think): Tự động tính toán lộ trình từ
điểm xuất phát đến đích dựa trên thuật toán tối ưu (ví dụ: Flood Fill).
=> Có khả năng quay lại và tìm con đường khác nếu gặp ngõ cụt hoặc
đường đi không tối ưu.
3. Chức năng Điều khiển chuyển động chính xác (Act):
- Giữ làn đường trung tâm, tránh va chạm vào tường.
=> Thực hiện các cú rẽ chính xác 90 độ hoặc 180 độ STA trong robot
1.2 Chỉ tiêu phi chức năng Thông số Chỉ tiêu Ghi chú
-Phải nhỏ hơn chiều rộng ô mê cung (18cm) Kích thước và < 10cm x 9cm
-Đảm bảo khối lượng được phân bố đều hình dạng
nhằm đưa xe di chuyển cân bằng
-Sắp xếp linh kiện đối xứng Perf-board và các module Vật liệu
Tối đa khả năng chịu tải và tốc độ motor gọn nhẹ
Giao thức và kết Sử dụng vi điều khiển
Đảm bảo tốc độ xử lý thuật toán và đọc nối STM32 hoặc ESP32 encoder Cảm biến
Đo khoảng cách đến tường trái, phải và 3 cảm biến TOF khoảng cách trước
Động cơ DC Gear kết hợp Độ phân giải encoder cao để kiểm soát vị Động cơ Encoder trí chính xác
Tùy vào độ ổn định của giải thuật điều Tốc độ tối đa 0.5 - 1.5 m/s khiển
-Nhỏ gọn, dòng xả cao cho động cơ Pin LiPo 2S (7.4V) Nguồn điện
-Đủ thời lượng cho hai lần chạy tìm 700 mAh đường và thi đấu Sai số vị trí < 5 mm
Sai số tích lũy sau mỗi lần rẽ
Ước tính giá thành sản phẩm (Cost Analysis)
Việc tối ưu chi phí là điều vô cung cần thiết. Sản phẩm có thể chia thành các phân khúc linh kiện như sau: Loại linh Đơn giá ước STT Chi tiết dự kiến kiện tính (VNĐ) Khung vỏ &
Mạch PCB đục lỗ, bánh xe silicon bám 1 40.000 - 50.000 Bánh xe đường Mạch điều 150.000 - 2
Board ESP32 + Mạch cầu H (TB6612FNG) khiển 200.000 Động cơ & 300.000 - 3
Cặp động cơ DC giảm tốc có sẵn Encoder Encoder 500.000 600.000 - 4 Cảm biến
3 Cảm biến TOF chuyên dụng (VL53L0X ) 650.000 5 Pin & Sạc
Pin LiPo 850mAh + Mạch sạc/bảo vệ 200.000 Tổng ~ 1.290.000 - cộng 1.600.000
1.3 Chỉ tiêu chức năng
1. Khối Nhận diện và Cảm biến
Thu thập dữ liệu khoảng cách từ các cảm biến Time-of-flight để nhận diện sự hiện diện của
tường ở các hướng: trước, trái và phải trong mỗi ô mê cung.
Dữ liệu này đồng thời được kết hợp với tín hiệu từ Encoder để tính toán tọa độ và hướng
di chuyển của chuột theo thời gian thực, đảm bảo hệ thống luôn biết được vị trí trên bản đồ.
2. Khối Điều khiển Chuyển động
Thực thi các lệnh vận động cơ bản bao gồm đi thẳng một ô, quay góc 90 độ (trái/phải) và
quay đầu 180 độ một cách chính xác.
Trong quá trình di chuyển, hệ thống phải liên tục tự động hiệu chỉnh quỹ đạo (Alignment)
để giữ chuột đi ở giữa làn đường, tránh va chạm với tường do sai số cơ khí hoặc
hiện tượng trượt bánh.
3. Khối Thuật toán và Xử lý
Chuột phải tích hợp thuật toán tìm đường (như Flood Fill) để thực hiện quá trình thăm dò,
xác định các bức tường và lưu trữ vào bộ nhớ của ESP32 để xây dựng bản đồ mê cung hoàn chỉnh
Sau khi đã tìm thấy đích, hệ thống phải tự động tính toán và trích xuất ra quãng đường tối
ưu nhất từ điểm xuất phát đến tâm mê cung để chuẩn bị cho lượt chạy thứ hai.
4. Khối Điều khiển Driver Motor
Chịu trách nhiệm chuyển đổi các lệnh điều hướng thành tín hiệu điện thực tế bằng cách
điều xung PWM để kiểm soát tốc độ và thay đổi mức logic tại các chân điều hướng của Driver 1
Phần 2. Phân tích chức năng và lập kế hoạch
2.1 Phân chia chức năng
Phần này phân tích và chia chức năng của sản phẩm thành các nhóm chức năng nhỏ hơn.
Xây dựng sơ đồ chức năng như hình ví dụ dưới:
2.1.2. Chức năng 1: Nhận thức môi trường
2.1.2.1. Thành phần Đầu vào (Inputs)
Đầu vào bao gồm các tín hiệu vật lý và tín hiệu phản hồi từ phần cứng:
- Khoảng cách từ tường (Analog/Digital signal): Tín hiệu từ các cụm cảm biến
hồng ngoại (IR) hoặc siêu âm đặt ở phía trước, bên trái và bên phải robot.
- Số xung từ Encoder (Pulse signal): Tín hiệu phản hồi từ bánh xe để xác định
quãng đường dịch chuyển và vận tốc góc.
- Trạng thái hiện tại (State): Vị trí giả định của robot trong lưới mê cung (từ bộ nhớ).
2.1.2.2. Thành phần Đầu ra (Outputs)
Sau khi xử lý, chức năng này cung cấp các thông tin định dạng số:
- Ma trận vật cản (Obstacle Map): Xác định sự tồn tại của tường (Có/Không) tại ô hiện tại.
- Tọa độ cục bộ (x, y,theta): Vị trí và góc hướng xác định dựa trên phương pháp Odometry.
- Sai số vị trí (Error signal): Độ lệch của robot so với tâm đường đi để chuyển
sang bộ điều khiển PID.
2.1.2.3. Mối quan hệ giữa Đầu vào và Đầu ra
Mối quan hệ này được thực hiện thông qua quá trình Số hóa và Ước lượng:
- Logic nhận diện tường: Nếu giá trị điện áp từ cảm biến TOF vượt ngưỡng, hệ
thống xác nhận có tường. Công thức tính khoảng cách thường tuân theo quy
luật nghịch đảo: d = k/Vout
- Mô hình Odometry: Dựa trên số xung Encoder từ hai bánh (N_L, N_R), robot
tính toán sự thay đổi vị trí:
o Khoảng cách đi được: D = (C . (N_L + N_R))/(2 PPR)
o Góc quay: Delta\theta = (C .(N_R - N_L))\(W .PPR)
(Trong đó C là chu vi bánh xe, W là khoảng cách giữa 2 bánh, PPR là số xung trên mỗi vò
2.1.2.4. Bảng tóm tắt mối quan hệ Đầu vào (Inputs) Quy trình xử lý Đầu ra (Outputs) Tín hiệu Cảm biến
So sánh ngưỡng & Lọc
Trạng thái tường (Wall/Open) TOF nhiễu Xung Encoder Tích phân chuyển động
Tọa độ và Hướng (x, y, z) Dữ liệu la bàn (Cảm Bù trừ sai số xoay
Hướng tuyệt đối của Robot biến góc quay)
2.1.3. Chức năng 2: Xử lý dữ liệu và Điều hướng
Tiếp nối phần trước, Chức năng 2 đóng vai trò là "trí thông minh nhân tạo" của Robot.
Sau khi đã có dữ liệu về môi trường từ Chức năng 1.
2.1.3.1. Thành phần Đầu vào (Inputs)
Đầu vào của chức năng này chủ yếu là dữ liệu đã được số hóa từ hệ thống nhận thức:
- Dữ liệu tường (Wall Data): Thông tin từ việc lưu trữ dữ liệu mê cung ở phần 1.
- Tọa độ hiện tại: Vị trí (x, y) của robot trong lưới mê cung dựa vào hướng của
robot so với vị trí cân bằng và độ dịch chuyển của xe (ví dụ: ô 0,0).
- Chế độ vận hành : Chạy tốc độ ( Speed run).
2.1.3.2. Thành phần Đầu ra (Outputs)
Kết quả của quá trình tính toán thuật toán:
- Lệnh điều hướng (Next Move): Chỉ thị hướng di chuyển tiếp theo (Ví dụ: "Đi
thẳng", "Quay trái 90°", "Quay đầu").
- Lộ trình tối ưu (Optimal Path): Một danh sách các tọa độ cần đi qua khi thực
hiện giai đoạn Speed Run.
2.1.3.3. Mối quan hệ giữa Đầu vào và Đầu ra và thứ tự logic
Mối quan hệ này được điều khiển bởi các thuật toán logic lõi:
- Cập nhật vị trí hiện tại trên bản đồ : Hiện tại đã đến vị trí nào của bản đồ, tại
vị trí đó cho biết các hướng tường 4 phía và chỉ số của nó.
- Thuật toán Flood Fill (Trọng tâm): Coi đích đến là điểm có mức nước thấp
nhất (0). Nước sẽ "tràn" ra các ô xung quanh. Ô nào có tường thì nước không
chảy qua được. Khi đó ưu tiên ô có chỉ số thấp hơn để đi ( nước chảy đến nơi thấp hơn).
2.1.4. Chức năng 3: Điều khiển chuyển động (Motion Control)
Chức năng này đóng vai trò thực thi các mệnh lệnh di chuyển vật lý từ khối xử lý trung
tâm, đảm bảo robot di chuyển đúng quỹ đạo và dừng lại chính xác tại vị trí mục tiêu.
2.1.4.1. Thành phần Đầu vào (Inputs):
- Lệnh điều hướng: Các chỉ thị như "Đi thẳng 1 ô", "Quay trái 90 độ", "Dừng
khẩn cấp" từ thuật toán giải mê cung.
- Dữ liệu phản hồi (Feedback): Số xung từ Encoder để xác định quãng đường
và dữ liệu góc hướng từ IMU để xác định độ lệch.
- Dữ liệu an toàn: Khoảng cách tới vật cản từ hệ thống cảm biến ToF để kích
hoạt cơ chế dừng bảo vệ.
2.1.4.2. Thành phần Đầu ra (Outputs):
- Tín hiệu điều khiển động cơ: Xung PWM (Pulse Width Modulation) cấp cho
Driver cầu H để thay đổi vận tốc và chiều quay của hai bánh xe.
- Trạng thái chuyển động: Thông báo cho hệ thống biết robot đang di chuyển
hay đã hoàn thành lệnh (trạng thái Idle/Done).
3. Mục tiêu và Chỉ tiêu chức năng:
- Duy trì quỹ đạo: Robot phải tự động nắn dòng để luôn đi giữa làn đường,
không va chạm vào tường vây.
- Độ chính xác dừng: Sai số vị trí khi dừng sau mỗi ô mê cung phải nhỏ hơn
5mm để tránh sai số tích lũy.
- Độ chính xác quay: Đảm bảo các cú rẽ đạt đúng góc 90 hoặc 180 với sai số nhỏ hơn 1
2.1.5. Chức năng 4: Lưu trữ và Tối ưu hóa (Storage & Optimization)
Sau khi chức năng di chuyển và nhận cảm biến đã hoạt động, robot cần chức năng quản lý
dữ liệu để thực hiện giai đoạn chạy tốc độ cao (Speed Run).
1. Thành phần Đầu vào (Inputs):
- Dữ liệu bản đồ số: Cấu trúc tường vách đã khám phá được trong giai đoạn Exploration.
- Tọa độ các ô đã đi qua: Lưu trữ dưới dạng ma trận hoặc mảng dữ liệu trong bộ nhớ.
2. Thành phần Đầu ra (Outputs):
- Lộ trình ngắn nhất (Optimal Path): Một danh sách các lệnh di chuyển tối ưu từ
điểm xuất phát đến đích.
- Cấu hình "Fast Run": Thiết lập các thông số PID và tốc độ cao hơn cho các
đoạn đường thẳng dài đã biết trước.
3. Ý nghĩa chức năng:
- Đảm bảo robot không phải thực hiện lại việc khám phá ở lần chạy thứ hai, giúp
giảm thiểu tối đa thời gian hoàn thành bài thi. 2.2 Lập kế hoạch
Bảng phân công nhiệm vụ (Task Allocation) Thành viên Nhiệm vụ chính
Mô tả chi tiết công việc Lưu đồ thuật toán
Xây dựng lưu đồ thuật toán và viết mã nguồn. Đặng Bạch phần mềm và
Ứng dụng thuật toán Flood Fill, dò đường và
Dương (Trưởng Kiểm thử phần
tối ưu hóa hành trình di chuyển ngắn nhất, tiết nhóm) mềm
kiệm năng lượng và thời gian nhân lực.
Sản xuất và lắp ráp các thành phần thiết bị theo Nguyễn Đức
Lắp ráp và thiết kế thiết kế, đảm bảo độ chính xác, độ bền và chức Dương layout
năng hoạt động bình thường của sản phẩm.
Xác định các thông số kỹ thuật, yêu cầu chức Xây dựng thông
năng và tiêu chuẩn vận hành của sản phẩm, sau Lê Nguyễn
số kỹ thuật và Lập đó lập kế hoạch thực hiện dự án bao gồm phân Quang Minh kế hoạch
bổ nhiệm vụ, lịch trình và xác định các nguồn
lực cần thiết để hoàn thành sản phẩm.
Phát triển bản thiết kế kiến trúc phác thảo cấu
trúc tổng thể hệ thống và chia nhỏ giải pháp Thiết kế sơ đồ
thành các mô đun nhỏ hơn. Đối với mỗi mô Nguyễn Xuân khối và thiết kế
đun, tạo đặc tả thiết kế chi tiết mô tả các thành Phong chi tiết từng khối
phần bên trong, trách nhiệm, luồng dữ liệu, giao
diện và cách nó tương tác với các phần khác của hệ thống.
Đánh giá cẩn thận tất cả các phương án thiết kế Lựa chọn các giải Hoàng Nguyễn
tiềm năng và phân tích ưu điểm, hạn chế cũng pháp thay thế tốt Thu Phương
như tính khả thi của chúng. Dựa trên đánh giá nhất
này, lựa chọn giải pháp thiết kế tối ưu nhất đáp
ứng tốt nhất các yêu cầu hệ thống, mục tiêu
hiệu suất và các ràng buộc thực hiện.
Nhiệm vụ của phần Kiểm thử là xác minh Kiểm thử phần Lê Cao Sơn
nguyên mẫu hoặc sản phẩm để đảm bảo rằng nó cứng
hoạt động theo các yêu cầu kỹ thuật đã chỉ định.
Phần 3. Phương án kỹ thuật: Kiến trúc phần cứng,
lựa chọn linh kiện
3.1 Tổng Quan Về Triết Lý Thiết Kế và Kiến Trúc Hệ Thống
Trong lĩnh vực robot di động tự hành (Autonomous Mobile Robots - AMR),
đặc biệt là các dòng robot giải mê cung (Micromouse) hoặc robot thám hiểm trong
nhà, sự thành công của hệ thống không chỉ phụ thuộc vào mã nguồn phần mềm mà
trước hết được định đoạt bởi sự vững chắc của nền tảng phần cứng. Báo cáo cung
cấp phân tích đi sâu vào các khía cạnh vật lý, điện tử và cơ khí của robot, loại trừ
hoàn toàn các thuật toán điều hướng cấp cao để tập trung tối đa vào "cơ thể" và "hệ thần kinh" của robot.
Kiến trúc phần cứng được đề xuất dựa trên mô hình phân lớp (Layered
Hardware Architecture), nhằm tối ưu hóa hiệu năng thời gian thực, khả năng chống
nhiễu và độ tin cậy vận hành. Hệ thống được chia thành bốn phân hệ trụ cột:
1. Phân hệ Xử lý Trung tâm (Central Processing Subsystem): Đóng vai trò bộ não,
quản lý luồng dữ liệu và ra quyết định.
2. Phân hệ Truyền động và Thực thi (Actuation & Propulsion Subsystem): Chuyển
đổi năng lượng điện thành động năng với độ chính xác cao.
3. Phân hệ Cảm biến và Nhận thức (Perception & Sensing Subsystem): Thu thập dữ
liệu môi trường đa chiều.
4. Phân hệ Quản lý Năng lượng (Power Management Subsystem): Cung cấp nguồn
năng lượng ổn định, sạch và an toàn.
3.2 Phân Tích: Vi Điều Khiển và Trung Tâm Xử Lý
Việc lựa chọn Vi điều khiển (Microcontroller Unit - MCU) là quyết định nền tảng,
ảnh hưởng đến khả năng mở rộng I/O, tốc độ xử lý và kiến trúc phần mềm sau này.
3.2.2. Đánh Giá So Sánh: ESP32 so với STM32 và Arduino
Trong bối cảnh robot tự hành hiện đại, các dòng vi điều khiển 8-bit như Arduino
Uno (ATmega328P) đã trở nên lỗi thời do hạn chế về tốc độ xung nhịp (16MHz) và bộ
nhớ, không đủ đáp ứng các tác vụ xử lý song song.1 Cuộc cạnh tranh chủ yếu diễn ra
giữa dòng STM32 (ARM Cortex-M) và ESP32 (Xtensa LX6).
Đặc Tính Kỹ Thuật ESP32 STM32
Phân Tích Tác Động Hệ Thống Kiến trúc Lõi Dual-core Xtensa LX6 Single/Dual
Kiến trúc lõi kép của ESP32 cho phép Cortex-M
tách biệt tác vụ: Core 0 xử lý giao
tiếp không dây/hệ thống, Core 1 chạy
vòng lặp điều khiển robot, giúp duy trì độ ổn định.
Xung nhịp & Hiệu 240 MHz (~600 DMIPS) 72 - 480 MHz
ESP32 vượt trội STM32 tầm trung về năng (210 - 1000+
sức mạnh tính toán thô trên giá thành. DMIPS)
Dù STM32H7 mạnh hơn nhưng chi
phí và độ phức tạp thiết kế mạch cao hơn nhiều.
Kết nối Không dây Wi-Fi & Bluetooth Không có (Cần
Yếu tố quyết định: ESP32 cho phép (Classic/BLE) tích hợp module ngoài)
telemetry thời gian thực, nạp code
không dây (OTA) và điều khiển qua
App mà không cần thêm phần cứng,
giảm kích thước PCB và điểm lỗi tiềm ẩn.
Thời gian thực (Real-
Độ trễ ngắt mức mili-giây Độ trễ ngắt mức
STM32 tốt hơn cho điều khiển công time) (Soft Real-time) micro-giây (Hard
nghiệp cực nhanh. Tuy nhiên, với Real-time)
robot di động, tốc độ của ESP32 là
quá đủ để xử lý PID motor và đọc cảm biến.
Kết luận: ESP32 được lựa chọn làm bộ não trung tâm. Lợi thế về kết nối không
dây tích hợp sẵn giúp đơn giản hóa việc gỡ lỗi (debug) từ xa và điều khiển robot
qua điện thoại/máy tính, một tính năng thiết yếu trong giai đoạn phát triển và tinh chỉnh.
3.3 Phân Hệ Truyền Động: Cơ Khí Chính Xác và Điện Tử Công Suất
Hệ thống truyền động không chỉ đơn thuần là làm robot di chuyển, mà là việc kiểm
soát chính xác vị trí, vận tốc và gia tốc (Kinematics & Dynamics).
3.3.1. Mạch Lái Động Cơ (H-Bridge Driver):
Vi điều khiển chỉ đóng vai trò là "bộ não" phát tín hiệu yếu, còn driver là
"cơ bắp" cung cấp dòng điện đủ mạnh để vận hành động cơ mà không làm cháy chip xử lý.
3.3.2. Tại sao L298N bị loại bỏ?
L298N sử dụng Transistor lưỡng cực (BJT). Khi dẫn điện, nó gây ra sụt áp
rất lớn (từ 1.4V đến 2.5V tùy dòng tải).
Tác hại: Nếu dùng pin 7.4V, động cơ chỉ nhận được ~5V. Khoảng 30% năng
lượng pin bị lãng phí để đốt nóng L298N, đòi hỏi tản nhiệt nhôm cồng kềnh, làm
tăng trọng lượng robot và giảm thời lượng pin.
3.3.3. Sự Ưu Việt của TB6612FNG
TB6612FNG sử dụng công nghệ MOSFET với điện trở dẫn ( ) cực thấp (khoảng 0.5 ÔM).
Hiệu suất: Sụt áp không đáng kể, hầu như toàn bộ điện áp pin được chuyển
tới động cơ. Không cần tản nhiệt, kích thước nhỏ gọn phù hợp với robot mini.
Cơ chế điều khiển: TB6612FNG tách biệt chân cấp nguồn động cơ (VM -
nối pin, chịu tới 13.5V) và nguồn logic (VCC - nối 3.3V từ ESP32). Điều này giúp
cách ly nhiễu động lực khỏi vi xử lý.
Cấu hình kết nối Driver-MCU:
- Chân PWM A/B: Nối vào các chân GPIO hỗ trợ output của ESP32 để điều tốc.
- Chân AIN1/2, BIN1/2: Nối GPIO để đảo chiều.
- Chân STBY: Bắt buộc phải kéo lên mức HIGH để driver hoạt động. Có thể nối
cứng vào 3.3V hoặc dùng một GPIO để kiểm soát chế độ ngủ (Sleep Mode) tiết kiệm pin.
3.4 Phân Hệ Cảm Biến: Công Nghệ Đo Lường và Giao Tiếp
Khả năng định vị và tránh vật cản phụ thuộc vào độ chính xác và tốc độ cập nhật của cảm biến.
3.4.1. Cảm biến Khoảng Cách: Time-of-Flight (ToF) vs. Ultrasonic
Robot giải mê cung đòi hỏi đo khoảng cách chính xác trong không gian hẹp, nơi
sóng âm thường gặp vấn đề phản xạ đa đường.
HC-SR04 (Siêu âm): Có chùm tia hình nón rộng (khoảng 15-30 độ). Khi robot đi
gần tường hoặc gặp vật cản nghiêng góc >30 độ, sóng âm sẽ bị tán xạ đi mất thay
vì quay lại cảm biến, gây ra hiện tượng "mù" hoặc đọc sai số liệu.
VL53L0X (Laser ToF): Sử dụng tia laser hồng ngoại 940nm vô hình. Nó đo thời
gian photon đi và về để tính khoảng cách.
Ưu điểm: Chùm tia hẹp, độ chính xác cao đến từng milimet, không phụ thuộc vào
màu sắc vật thể, và hoạt động tốt ngay cả khi vật cản đặt nghiêng (trong giới hạn quang học).
3.4.2. Đơn Vị Đo Quán Tính (IMU): MPU6050
Để robot đi thẳng chính xác hoặc quay đúng 90 độ trong mê cung, chỉ dựa vào
Encoder là không đủ do hiện tượng trượt bánh (wheel slip). IMU là thành phần bổ trợ thiết yếu.
Lựa chọn: MPU6050 (6 trục: 3 Gia tốc + 3 Con quay hồi chuyển) là tiêu chuẩn
vàng về hiệu năng/giá thành cho các ứng dụng mặt đất.22 MPU9250 có thêm từ kế
(La bàn số), nhưng trong môi trường trong nhà với nhiều nhiễu từ trường từ bê tông
cốt thép và dòng điện động cơ, dữ liệu la bàn thường kém tin cậy và gây nhiễu cho thuật toán Sensor Fusion.
Giao tiếp: MPU6050 kết nối qua I2C. ESP32 hỗ trợ I2C phần cứng tốc độ cao
(400kHz), đủ để đọc dữ liệu IMU với tần số lấy mẫu cao phục vụ tích phân góc quay.
3.5 Phân Hệ Nguồn: Trái Tim Của Hệ Thống
Hệ thống nguồn ổn định là yếu tố sống còn để ngăn chặn hiện tượng "Brownout"
(sụt áp reset MCU) khi động cơ khởi động.
3.5.1. Pin Lithium-Ion và Đặc Tính Xả
Sử dụng 2 pin lion mắc nối tiếp (2S) cung cấp điện áp danh định 7.4V (đầy 8.4V,
cạn 6.0V). Đây là cấu hình tối ưu vì:
Điện áp này phù hợp trực tiếp cho động cơ N20 12V (chạy ở 7-8V sẽ mát hơn và
bền hơn nhưng vẫn đủ mạnh) hoặc qua điều áp PWM cho động cơ 6V.
Dòng xả (C-rating) của pin Li-ion cao, đáp ứng được dòng khởi động tức thời của
động cơ mà không bị sụt áp quá mức.
3.5.2. Mạch Hạ Áp (Buck Converter): MP1584 vs LM2596
Để cấp nguồn 5V hoặc 3.3V cho ESP32 và cảm biến từ nguồn pin 7.4V, ta cần bộ
chuyển đổi DC-DC Step-down. Đặc Tính LM2596 (Cũ) MP1584 (Hiện
Phân Tích Kĩ Thuật đại) Tần số đóng 150 kHz 1.5 MHz Tần số cao của MP1584 cắt cho phép sử dụng cuộn
cảm và tụ điện nhỏ hơn
nhiều, giảm kích thước module và phản ứng nhanh hơn với thay đổi tải.28 Hiệu suất 73% 80% 90% - 96% MP1584 chuyển hóa chuyển đổi
điện năng hiệu quả hơn hẳn. Với LM2596, khoảng 20-25% năng
lượng biến thành nhiệt, gây lãng phí pin nghiêm trọng.27 Nhiệt độ hoạt Nóng, Mát, hoạt MP1584 không cần tản động thường cần động ổn định nhiệt bổ sung cho các tản nhiệt dòng tải dưới 2A, lý tưởng cho không gian kín của robot.27
Kết luận: Module MP1584EN là lựa chọn bắt buộc để đảm bảo hiệu suất năng
lượng và sự nhỏ gọn. Cần chỉnh biến trở trên module để ra đúng 5V trước khi kết
nối vào chân VIN của ESP32 (hoặc 3.3V nếu cấp thẳng vào chân 3V3).
3.6 Thiết Kế Cơ Khí và Chiến Lược Tích Hợp Hệ Thống
Thiết kế cơ khí không chỉ là vỏ bọc, mà là khung xương định hình khả năng vận hành.
BẢN VẼ KỸ THUẬT PHẦN ĐỘNG CƠ PHÁC THẢO
3.6.2. Khung Gầm Hai Tầng (Double Decker Chassis)
Sử dụng khung Acrylic hai tầng mang lại lợi thế kỹ thuật:
1. Cách ly Nhiễu Điện Từ (EMI Shielding):
Tầng dưới (Power Floor): Chứa các thành phần sinh nhiễu cao: Động cơ, Mạch Driver TB6612FNG
Tầng trên (Logic Floor): Chứa các thành phần nhạy cảm: IMU, Cảm biến góc quay.
Khoảng cách vật lý giữa hai tầng giúp giảm thiểu nhiễu từ trường động cơ ảnh
hưởng đến vi xử lý và cảm biến la bàn/IMU.
2 Bố trí Cảm biến: Tầng trên cho phép bố trí các cảm biến ở độ cao phù hợp để quét
tường mê cung mà không bị cản trở bởi bánh xe.
THIẾT KẾ CƠ KHÍ THỰC TẾ
5.2. Sơ Đồ Kết Nối Hệ Thống Tổng Hợp (System Wiring Diagram)
Dựa trên các phân tích trên, đây là bảng đấu nối (Pin Mapping) tối ưu cho ESP32,
đảm bảo tránh xung đột phần cứng : Nhóm Tên Tín Linh Kiện Chân Lưu Ý Quan Trọng Chức Hiệu Ngoại Vi ESP32 Năng (GPIO) Giao tiếp SDA VL53L0X (x3), GPIO 21
Cần điện trở kéo lên 2.2kΩ - I2C MPU6050 4.7kΩ cho bus ổn định. SCL VL53L0X (x3), GPIO 22 MPU6050 Động Cơ PWM A TB6612FNG GPIO 26 Output PWM. Trái AIN 1 TB6612FNG GPIO 25 Output Digital. AIN 2 TB6612FNG GPIO 33
Output Digital. Tránh dùng khi boot (Strapping). Động Cơ PWM B TB6612FNG GPIO 27 Output PWM. Phải BIN 1 TB6612FNG GPIO 14 Output Digital. BIN 2 TB6612FNG GPIO 13 Output Digital. Driver STBY TB6612FNG GPIO 18
Kéo HIGH để kích hoạt Driver. Control Encoder Phase A N20 Encoder GPIO 34 Input Only - An toàn cho Trái Encoder. Phase B N20 Encoder GPIO 35 Input Only - An toàn cho Encoder. Encoder Phase A N20 Encoder GPIO 36
Input Only - Cần chú ý mạch Phải (VP) lọc RC nếu có nhiễu. Phase B N20 Encoder GPIO 39 Input Only. (VN) Cảm Biến XSHUT_L VL53L0X Trái GPIO 32 Output Digital - Active Low. ToF XSHUT_C VL53L0X GPIO 19 Output Digital. Giữa XSHUT_R VL53L0X Phải GPIO 4 Output Digital. Tránh GPIO 0 (Boot).
3.6.3. Nguyên Tắc Thiết Kế Mạch In và Đi Dây (Wiring Best Practices)
Star Grounding (Nối đất hình sao): Điểm mass (GND) của mạch công suất (TB6612,
Pin) và mạch điều khiển (ESP32, Cảm biến) chỉ nên gặp nhau tại đúng một điểm duy
nhất là cực âm của pin. Điều này ngăn dòng điện lớn từ động cơ chạy qua đường mass
của vi điều khiển gây sai lệch tín hiệu ADC hoặc reset chip. Kết Luận
Báo cáo này đã thiết lập một nền tảng phần cứng vững chắc cho robot tự hành dựa
trên vi điều khiển ESP32, động cơ N20, driver TB6612FNG và cảm biến
VL53L0X/MPU6050. Sự kết hợp này cân bằng hoàn hảo giữa hiệu năng xử lý
mạnh mẽ, khả năng kiểm soát động lực học chính xác và độ tin cậy cao trong môi
trường thực tế. Việc tuân thủ nghiêm ngặt các nguyên tắc về quản lý nguồn điện
(MP1584), phân bổ chân GPIO (tránh Strapping pins) và thiết kế cơ khí (Double
Decker) sẽ loại bỏ phần lớn các lỗi phần cứng tiềm ẩn, cho phép đội ngũ phát triển
tập trung hoàn toàn vào việc tối ưu hóa thuật toán điều khiển ở các giai đoạn tiếp theo. Nguồn trích dẫn
1. ESP32 vs STM32 vs RP2040 vs Arduino: In-Depth Comparison & Selection Guide
- Bettlink, truy cập vào tháng 1 27, 2026, https://www.bettlink.com/blog/esp32-vs-
stm32-vs-rp2040-vs-arduino-guide
2. STM32 vs ESP32: Which Microcontroller Is Right for Your Project? - Fly-Wing -
Flywing Tech, truy cập vào tháng 1 27, 2026, https://www.flywing-
tech.com/blog/stm32-vs-esp32-which-microcontroller-is-right-for-your-project/
3. STM32 vs ESP32 for Robotics: Complete Comparison Guide –
ThinkRobotics.com, truy cập vào tháng 1 27, 2026,
https://thinkrobotics.com/blogs/indepths/stm32-vs-esp32-for-robotics-complete- comparison-guide
4. Which is better, STM32 Nucleo or ESP32? - General Discussion - Arduino Forum,
truy cập vào tháng 1 27, 2026, https://forum.arduino.cc/t/which-is-better-stm32- nucleo-or-esp32/659268
5. ESP32 Pinout Reference - Last Minute Engineers, truy cập vào tháng 1 27, 2026,
https://lastminuteengineers.com/esp32-pinout-reference/
6. ESP32 Pinout Reference: Which GPIO pins should you use? - Random Nerd
Tutorials, truy cập vào tháng 1 27, 2026, https://randomnerdtutorials.com/esp32- pinout-reference-gpios/