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 1): Hiểu nguyên lý

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 1): Hiểu nguyên lý

(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 bài này, bạn sẽ hiểu nguyên lý hoạt động của hệ thống điều khiển từ xa cho robot dựa trên sóng RF 2.4GHz sử dụng module NRF24L01.

Đây là phần nền tảng giúp bạn hiểu cách truyền lệnh điều khiển từ tay cầm đến robot, chuẩn bị cho các phần tiếp theo về thiết kế phần cứng và lập trình thực tế.

Nguyên lý hệ thống điều khiển RF cho Robot

Hệ thống bao gồm hai khối chính:

1. Tay cầm điều khiển (Transmitter – TX)

  • Gồm vi điều khiển ESP32-C3module NRF24L01.
  • ESP32-C3 đọc tín hiệu từ các nút bấm hoặc joystick, sau đó mã hóa thành gói lệnh điều khiển.
  • Gói lệnh này được gửi qua sóng RF (Radio Frequency) ở tần số 2.4GHz đến robot.

Ví dụ:

LệnhKý hiệuÝ nghĩa
FForwardTiến tới
BBackwardLùi lại
LLeftRẽ trái
RRightRẽ phải
SStopDừng

2. Xe robot nhận lệnh (Receiver – RX)

  • Dùng ESP32 DevKit 38 Pin kết hợp với module NRF24L01 để nhận gói lệnh từ tay cầm.
  • Khi nhận được lệnh, ESP32 giải mã và điều khiển driver L298N hoặc TB6612FNG để chạy động cơ theo hướng mong muốn.
  • Ngoài ra, có thể điều khiển thêm đèn LED, còi báo, cảm biến vật cản…

Quy trình truyền dữ liệu RF

  1. Tay cầm (TX) đọc dữ liệu joystick/nút bấm.
  2. Tạo gói lệnh gồm hành động (action) và tốc độ (speed).
  3. NRF24L01 ở TX gửi gói lệnh tới NRF24L01 ở RX.
  4. NRF24L01 ở RX nhận gói, xác nhận (Auto-Ack) và gửi tới ESP32.
  5. ESP32 trên xe thực thi lệnh → robot di chuyển.

NRF24L01 hỗ trợ Auto-Ack (tự động xác nhận)Auto-Retry (gửi lại khi lỗi), giúp tín hiệu truyền ổn định và giảm mất gói.

Giới thiệu module NRF24L01

NRF24L01 là một module thu phát sóng không dây (wireless transceiver) hoạt động ở tần số 2.4GHz, do hãng Nordic Semiconductor sản xuất. Nó thường được sử dụng để truyền dữ liệu không dây giữa hai hoặc nhiều vi điều khiển (như Arduino, ESP32, STM32, v.v.) với tốc độ cao và công suất tiêu thụ thấp.

Thông số kỹ thuật cơ bản:

Thuộc tínhGiá trị
Tần số hoạt động2.4GHz ISM band
Tốc độ truyền250kbps, 1Mbps, 2Mbps
Điện áp hoạt động1.9 – 3.6V
Dòng tiêu thụ12–14mA khi TX
Khoảng cách truyền10–100m (tuỳ loại anten)
Giao tiếpSPI
Hỗ trợ Auto Ack
Số kênh RF125 kênh

Các phiên bản phổ biến:

  • NRF24L01 thường: anten PCB, khoảng cách ngắn (~10m).
  • NRF24L01+PA+LNA: có anten rời, khuếch đại tín hiệu mạnh hơn (100–1000m).

Nguyên lý hoạt động

NRF24L01 hoạt động theo mô hình 1 phát – 1 nhận (TX–RX) hoặc nhiều phát – 1 nhận (multi-node).

Mỗi module có thể đảm nhận một địa chỉ pipe riêng biệt để phân biệt kênh truyền.

Trong dự án này:

  • Tay cầm (TX) gửi dữ liệu đến pipe “ROBOT”.
  • Robot (RX) mở kênh đọc pipe “ROBOT”, lắng nghe liên tục.

So sánh RF và các công nghệ khác

Công nghệTần sốƯu điểmNhược điểm
RF (NRF24L01)2.4GHzĐộ trễ thấp, ổn định, tiết kiệm năng lượngCần thêm module
Wi-Fi (ESP-NOW)2.4GHzKhông cần module ngoài, tốc độ caoNhiễu nhiều nếu có Wi-Fi
Bluetooth (BLE)2.4GHzDễ dùng cho điện thoạiĐộ trễ cao hơn RF
LoRa433–915MHzTầm xa, chống nhiễu tốtTốc độ thấp thường dùng nhiều cho truyền thông IoT tầm xa

✅ Kết luận: NRF24L01 là lựa chọn tối ưu cho điều khiển robot trong lớp học hoặc thi đấu, vì trễ thấp, ổn định, và dễ lập trình.

Linh kiện cần cho bài học

Linh kiệnSố lượngVai trò
ESP32-C31Tay cầm (Transmitter)
ESP32 DevKit 38 Pin1Xe nhận lệnh (Receiver)
NRF24L012Truyền – nhận tín hiệu RF
L298N / TB6612FNG1Điều khiển động cơ
Động cơ DC + bánh xe2Di chuyển
Nút bấm / joystick4Nhập lệnh
Pin + mạch sạc1 bộCấp nguồn
Dây nối, breadboardLắp mạch thử nghiệm

Tổng kết bài học

Trong bài 1, bạn đã hiểu:

  • Cấu trúc tổng thể của hệ thống RF điều khiển robot.
  • Nguyên lý truyền nhận giữa tay cầm (TX)xe robot (RX).
  • Ưu điểm vượt trội của NRF24L01 so với các công nghệ không dây khác.

Phần tiếp theo,

Chúng ta sẽ thiết kế phần cứng chi tiết, kết nối các module NRF24L01, động cơ và nguồn điện — trong bài (phần 2): Thiết kế phần cứng.