Series
Lập Trình & Điều Khiển Động Cơ với ESP32
  1. Series: Lập trình & Điều khiển Động Cơ từ Cơ Bản tới Nâng Cao
  2. 1Lập trình & Điều khiển Động Cơ – Bài 1: Giới thiệu về Động cơ và Nguyên lý Hoạt động
  3. 2Lập trình & Điều khiển Động Cơ – Bài 2: Điều khiển tốc độ Động cơ DC bằng PWM
  4. 3Lập trình & Điều khiển Động Cơ – Bài 3: Đảo chiều quay của động cơ DC bằng mạch cầu H (L298N)
  5. 4Lập trình & Điều khiển Động Cơ – Bài 4: Viết hàm điều khiển chuyển động cho xe robot
  6. 5Lập trình & Điều khiển Động Cơ – Bài 5: Cảm biến vật cản cho xe robot (Tự dừng khi gặp chướng ngại vật)
  7. 6Lập trình & Điều khiển Động Cơ – Bài 6: Xe tránh vật cản tự động bằng cảm biến siêu âm HC-SR04
  8. 7Lập trình & Điều khiển Động Cơ – Bài 7: Điều khiển xe robot bằng điện thoại qua WiFi (Web Remote)
  9. 8Lập trình & Điều khiển Động Cơ – Bài 8: Điều khiển xe robot bằng Bluetooth từ điện thoại (ESP32 + App Android)
  10. 9Lập trình & Điều khiển Động Cơ – Bài 9: Lập trình xe robot dò line (chạy theo vạch đen)
  11. 10Lập trình & Điều khiển Động Cơ – Bài 10: Xe robot tránh vật cản kết hợp dò line (robot tự hành thông minh)
  12. 11Lập trình & Điều khiển Động Cơ – Bài 11: Điều khiển Servo bằng ESP32 (Cơ bản và Ứng dụng trong robot)
  13. 12Lập trình & Điều khiển Động Cơ – Bài 12: Kết hợp Servo và Cảm biến siêu âm HC-SR04 – Quay theo vật cản (Radar mini)
  14. 13Lập trình & Điều khiển Động Cơ – Bài 13: Servo Tracking, tạo hệ thống đầu quay cảm biến tự động theo vật cản
  15. 14Lập trình & Điều khiển Động Cơ – Bài 14: Lăp ráp đầu cảm biến quay theo vật cản lên xe robot (Xe radar thông minh)
  16. 15Lập trình & Điều khiển Động Cơ – Bài 15: Tích hợp còi cảnh báo và đèn LED vào xe robot (Báo hiệu trạng thái thông minh)
  17. 16Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot
  18. 17Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 1): Hiểu nguyên lý
  19. 18Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 2): Thiết kế phần cứng
  20. 19Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 3): Lập trình cơ bản
  21. 20Lập trình & Điều khiển Động Cơ – Nâng cao -Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 4): Tối ưu điều khiển
  22. 21Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 5): Báo hiệu thông minh
  23. 22Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 6): Truyền dữ liệu 2 chiều
  24. 23Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 7): Kiểm thử & demo thực tế
Kiến thức

Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 2): Thiết kế phần cứng

Th11 2025
Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 2): Thiết kế phần cứng

(Từ khóa học: Lập trình & Điều khiển Động Cơ từ Cơ Bản tới Nâng Cao)


Mục tiêu bài học

Trong phần 2, chúng ta sẽ thiết kế và lắp ráp phần cứng hoàn chỉnh cho hệ thống điều khiển robot từ xa qua sóng RF 2.4GHz sử dụng module NRF24L01.

Bạn sẽ nắm được sơ đồ kết nối chi tiết của cả hai khối:

  • Tay cầm điều khiển (Transmitter – TX)
  • Xe robot nhận lệnh (Receiver – RX)

1. Kiến trúc tổng thể hệ thống

Hệ thống điều khiển gồm hai khối chính:

Thành phầnVi điều khiểnModule RFVai trò
Tay cầm điều khiển (TX)ESP32-C3NRF24L01Đọc nút/joystick và gửi lệnh
Xe robot (RX)ESP32 DevKit 38 PinNRF24L01Nhận lệnh và điều khiển động cơ

Cả hai khối đều hoạt động ở điện áp 3.3V, cùng chia sẻ địa chỉ pipe “ROBOT” để trao đổi dữ liệu.

2. Thiết kế phần cứng tay cầm điều khiển (Transmitter – TX)

Thành phần chính:

  • ESP32-C3 mini hoặc ESP32-C3 DevKit
  • Module NRF24L01
  • 4 nút nhấn (hoặc joystick 2 trục)
  • Pin 18650 + module sạc TP4056 + buck 3.3V
  • (Tuỳ chọn) OLED 0.96” hiển thị trạng thái

Sơ đồ kết nối NRF24L01 ESP32-C3

NRF24L01 PinESP32-C3 PinChức năng
GNDGNDNguồn chung
VCC3.3VCấp nguồn cho RF
CEGPIO7Chip Enable
CSNGPIO10Chip Select
SCKGPIO4SPI Clock
MOSIGPIO6Dữ liệu ra
MISOGPIO5Dữ liệu vào

⚠️ Lưu ý nguồn: NRF24L01 cần tụ lọc 10µF + 100nF gần chân VCC-GND để ổn định tín hiệu.

Nguồn tay cầm

  • Pin 18650 (3.7V) → module TP4056 (sạc)buck 3.3V (AMS1117 hoặc MP1584)
  • Dòng tiêu thụ thấp, thời gian sử dụng có thể đạt 3–5 giờ.

Bố trí đề xuất cho tay cầm:

  • Cầm tay dạng gamepad (ESP32-C3 và pin ở giữa).
  • Nút F/B/L/R bố trí như mũi tên.
  • NRF24L01 đặt xa pin để tránh nhiễu.
  • Có thể thêm LED báo nguồn, LED báo truyền dữ liệu.

3. Thiết kế phần cứng xe robot (Receiver – RX)

Thành phần chính:

  • ESP32 DevKit 38 Pin
  • NRF24L01
  • Driver L298N hoặc TB6612FNG
  • 2 động cơ DC + bánh xe
  • Pin 7.4V (2S Li-ion)
  • (Tuỳ chọn) Cảm biến HC-SR04, LED, buzzer

Sơ đồ kết nối NRF24L01 ESP32 DevKit

NRF24L01 PinESP32 PinChức năng
GNDGNDMass chung
VCC3.3VCấp nguồn RF
CEGPIO17Chip Enable
CSNGPIO16Chip Select
SCKGPIO18SPI Clock
MOSIGPIO23Dữ liệu ra
MISOGPIO19Dữ liệu vào

Kết nối ESP32 L298N (Driver motor)

L298N PinESP32 PinChức năng
IN126Điều khiển bánh trái tiến/lùi
IN227Điều khiển bánh trái tiến/lùi
IN325Điều khiển bánh phải tiến/lùi
IN433Điều khiển bánh phải tiến/lùi
ENA14PWM bánh trái
ENB32PWM bánh phải

Nguồn:

  • Động cơ: 5–9V (nguồn pin riêng)
  • ESP32 + NRF: Buck xuống 5V/3.3V
  • Chia mass chung giữa ESP32 và driver.

Thêm LED & Buzzer (tùy chọn)

Thiết bịESP32 PinGhi chú
LED trạng tháiGPIO2Báo khi có kết nối
BuzzerGPIO13Báo âm thanh khi mất tín hiệu hoặc dừng

4. Sơ đồ tổng thể hệ thống phần cứng

Hệ thống có thể hình dung gồm 2 khối:

  • Khối điều khiển (TX): đọc nút bấm, gửi lệnh RF.
  • Khối robot (RX): nhận lệnh RF, điều khiển motor, phát tín hiệu phản hồi.

5. Lưu ý thiết kế và lắp ráp

  • Cách ly nguồn giữa động cơ và mạch logic bằng buck riêng.
  • Cắm chắc NRF24L01, dây SPI ngắn, không vượt quá 10cm.
  • Mass chung giữa các module (ESP32, driver, RF, cảm biến).
  • Tụ lọc nguồn: 470µF trên đường 5V và 10µF + 100nF sát module RF.
  • Chống nhiễu: tránh để dây motor song song dây tín hiệu SPI.

6. Kiểm tra sau khi lắp

  1. Cấp nguồn riêng từng khối TX và RX.
  2. Đảm bảo NRF24L01 nhận đủ 3.3V ổn định.
  3. Chạy code kiểm tra RF (radio.begin() → “radio ready”).
  4. Test truyền dữ liệu cơ bản giữa 2 ESP32 (ví dụ gửi ký tự ‘A’ qua RF).
  5. Nếu mất kết nối, kiểm tra CE/CSN và tụ lọc nguồn.

7. Kết luận

Sau bài học này, bạn đã:

  • Hiểu cấu trúc phần cứng chi tiết của tay cầm và xe robot.
  • Biết cách kết nối ESP32 NRF24L01 Driver motor đúng kỹ thuật.
  • Sẵn sàng bước sang (phần 3) – Lập trình cơ bản để robot có thể di chuyển theo lệnh từ tay cầm.