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


(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.

Comments

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *