Giới thiệu dự án
Trong bối cảnh cuộc Cách mạng Công nghiệp 4.0 và sự bùng nổ của Internet of Things (IoT), các hệ thống điều khiển tự động và robot di động (Mobile Robots) đang đóng vai trò then chốt trong nhiều lĩnh vực từ sản xuất công nghiệp, logistics (xe tự hành AGV/AMR) đến đời sống dân dụng và giáo dục STEM. Theo các báo cáo phân tích thị trường tự động hóa, nhu cầu về các thiết bị điều khiển từ xa không dây đang tăng trưởng với tốc độ hàng năm (CAGR) trên 12%, trong đó các giải pháp ứng dụng kết nối không dây tầm ngắn như Bluetooth và Wi-Fi chiếm tỷ trọng lớn nhờ tính tiện dụng và độ tương thích cao.
Tuy nhiên, các hệ thống xe điều khiển từ xa truyền thống sử dụng sóng vô tuyến RF (Radio Frequency 315MHz/433MHz) tồn tại nhiều điểm hạn chế:
- Yêu cầu tay cầm phát sóng chuyên dụng cồng kềnh, làm tăng chi phí phần cứng (BOM - Bill of Materials).
- Khả năng tùy biến giao diện người dùng kém, không hiển thị được trạng thái phản hồi theo thời gian thực.
- Dễ bị can nhiễu tần số trong môi trường có nhiều nguồn phát vô tuyến đồng thời.
Để giải quyết triệt để các hạn chế trên, đồ án "Thiết Kế Xe Điều Khiển Từ Xa Bluetooth Bằng Smartphone" được thực hiện tại Khoa Kỹ thuật máy tính và Điện tử, Trường Đại học Công nghệ Thông tin & Truyền thông Việt - Hàn (VKU). Đề tài tập trung xây dựng một mô hình xe tự hành 4 bánh cơ động cao, kết nối trực tiếp với điện thoại thông minh thông qua sóng Bluetooth tiêu chuẩn.
+------------------+ Bluetooth (2.4 GHz) +----------------------+
| Smartphone | ----------------------------------> | Module HC-05 (UART) |
| (Android/iOS App)| +----------+-----------+
+------------------+ |
v
+------------------+ PWM & Digital Signal +----------------------+
| 4x Động cơ DC | <---------------------------------- | Arduino Uno R3 |
| (Kèm hộp số vàng)| | (ATmega328P) |
+--------+---------+ +----------+-----------+
^ |
| Mạch cầu H (Power Drive) |
+----------------------------------------------------------+
Module Driver L298N
Mục tiêu cụ thể của dự án bao gồm:
- Thiết kế và gia công cơ khí phần cứng: Chế tạo khung gầm xe 2 tầng chịu tải tốt, bố trí 4 động cơ DC giảm tốc và nguồn cấp tối ưu.
- Xây dựng khối thu phát không dây: Tích hợp module Bluetooth HC-05, cấu hình thông số UART truyền nhận ổn định ở tần số 2.4GHz.
- Phát triển mạch điều khiển công suất: Sử dụng module driver L298N điều khiển hướng quay và điều chế độ rộng xung (PWM) để kiểm soát vận tốc động cơ.
- Lập trình vi điều khiển: Viết firmware trên nền tảng Arduino Uno R3 (ATmega328P) xử lý các chuỗi ký tự điều khiển nhận từ smartphone với độ trễ tối thiểu.
Chỉ số hiệu năng kỳ vọng:
- Bán kính điều khiển không vật cản: 10 – 15 mét.
- Độ trễ phản hồi hệ thống (Latency): $\le 50\text{ ms}$.
- Thời lượng vận hành liên tục: $\ge 60\text{ phút}$ với tải trọng 500g.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi lựa chọn phương án thiết kế, nhóm nghiên cứu đã tiến hành phân tích và so sánh các công nghệ truyền thông không dây phổ biến trên các hệ thống nhúng quy mô nhỏ:
| Tiêu chí |
RF 433MHz / 315MHz |
Wi-Fi (ESP8266/ESP32) |
Bluetooth 2.0 (HC-05) |
| Giao diện điều khiển |
Tay cầm phát sóng rời |
Web Server / App qua IP |
Smartphone App qua Serial Port Profile |
| Băng thông & Tốc độ |
Thấp (< 10 kbps) |
Rất cao (lên tới 54 Mbps) |
Trung bình (lên tới 2.1 Mbps) |
| Công suất tiêu thụ |
Thấp (~10 - 20 mA) |
Cao (~80 - 200 mA) |
Rất thấp (~8 - 30 mA) |
| Độ phức tạp kết nối |
Đơn giản nhưng cố định kênh |
Cần cấu hình Access Point/Router |
Ghép đôi (Pairing) trực tiếp, cực kỳ nhanh |
| Chi phí triển khai |
Trung bình (phải làm tay cầm) |
Thấp - Trung bình |
Tối ưu nhất cho điều khiển thiết bị cá nhân |
Phân tích yêu cầu hệ thống theo phương pháp MoSCoW:
- Must have (Bắt buộc): Di chuyển 4 hướng cơ bản (Tiến, Lùi, Rẽ Trái, Rẽ Phải, Dừng); Kết nối Bluetooth ổn định; Mạch cách ly nguồn chống sụt áp vi điều khiển.
- Should have (Nên có): Điều chỉnh tốc độ động cơ linh hoạt qua PWM; Đèn LED báo trạng thái kết nối; Tự động dừng xe khi mất kết nối tín hiệu (Failsafe).
- Could have (Có thể mở rộng): Tích hợp cảm biến siêu âm HC-SR04 tự động tránh vật cản; Còi báo tín hiệu.
- Won't have (Chưa thực hiện ở phiên bản này): Truyền video trực tiếp từ camera về điện thoại; Định vị GPS.
Ràng buộc kỹ thuật lớn nhất nằm ở hiện tượng sụt áp và xung ngược điện từ (Back-EMF) do động cơ sinh ra khi khởi động hoặc đảo chiều đột ngột, dễ dẫn đến hiện tượng reset MCU ATmega328P ngoài ý muốn.
Thiết kế hệ thống
Kiến trúc hệ thống được chia làm 5 khối chức năng chính:
- Khối nguồn (Power Supply Block): Sử dụng bộ 2 cell pin Lithium-ion 18650 mắc nối tiếp (điện áp danh định $3.7\text{V} \times 2 = 7.4\text{V}$, dung lượng $2600\text{mAh}$). Nguồn $7.4\text{V} - 8.4\text{V}$ cấp trực tiếp vào chân $V_{in}$ của module L298N (nguồn động lực) và cấp qua chân $V_{in}$ của Arduino Uno R3 thông qua IC ổn áp tích hợp AMS1117-5.0V để cấp nguồn logic $5\text{V}$ sạch cho vi điều khiển và module Bluetooth.
- Khối xử lý trung tâm (Central Processing Unit): Bo mạch Arduino Uno R3 trang bị vi điều khiển ATmega328P 8-bit, thạch anh dao động 16MHz, 32KB bộ nhớ Flash và 2KB SRAM. Bo mạch đảm nhận đọc dữ liệu từ cổng nối tiếp (Hardware Serial), giải mã tập lệnh ASCII và xuất tín hiệu điều khiển logic cũng như xung PWM tới driver động cơ.
- Khối truyền thông không dây (Wireless Communication): Module Bluetooth HC-05 sử dụng chip CSR BlueCore4-External (BC417), hỗ trợ chuẩn Bluetooth v2.0+EDR, hoạt động ở dải tần 2.4GHz ISM. Giao tiếp với Arduino thông qua chuẩn nối tiếp UART (chân TX/RX) với tốc độ baud mặc định 9600 bps.
- Khối điều khiển công suất (Motor Driver Block): Module L298N tích hợp 2 mạch cầu H (Dual Full-Bridge Driver), hỗ trợ điện áp tải lên tới 35V, dòng điện đỉnh 2A mỗi kênh. Khối này nhận tín hiệu điều khiển logic (IN1, IN2, IN3, IN4) và tín hiệu PWM (ENA, ENB) từ Arduino để đóng/ngắt các transistor công suất, đảo chiều và thay đổi điện áp hiệu dụng cấp cho động cơ.
- Cơ cấu chấp hành (Actuators): 4 động cơ DC giảm tốc (loại trục đôi màu vàng), tỷ số truyền $1:48$, hoạt động ở dải điện áp $3\text{V} - 9\text{V}$, tốc độ không tải $125 - 208\text{ vòng/phút}$, mô-men xoắn cực đại đạt $800\text{gf}\cdot\text{cm}$.
+-----------------------------------+
| ARDUINO UNO R3 |
| |
(HC-05 TXD) ---> | Pin 0 (RX) |
(HC-05 RXD) <--- | Pin 1 (TX) |
| |
| Pin 5 (PWM) --------> L298N (ENA) |
| Pin 6 (PWM) --------> L298N (ENB) |
| Pin 7 --------------> L298N (IN1) |
| Pin 8 --------------> L298N (IN2) |
| Pin 9 --------------> L298N (IN3) |
| Pin 10 -------------> L298N (IN4) |
+-----------------------------------+
Giao thức truyền thông định nghĩa bảng ký tự ASCII chuẩn:
'F' (Forward): Xe chạy tiến.
'B' (Back): Xe chạy lùi.
'L' (Left): Xe rẽ trái (bánh phải quay tiến, bánh trái quay lùi hoặc dừng).
'R' (Right): Xe rẽ phải (bánh trái quay tiến, bánh phải quay lùi hoặc dừng).
'S' (Stop): Dừng toàn bộ động cơ.
'0' đến '9', 'q': Các mức điều chỉnh tốc độ PWM từ 0% đến 100%.
Methodology
Dự án áp dụng mô hình thiết kế lặp (Iterative Prototyping) kết hợp giữa kỹ thuật phần cứng và lập trình phần mềm nhúng:
- Giai đoạn 1 (Tuần 1): Nghiên cứu lý thuyết truyền thông UART, cấu tạo động cơ DC, thiết kế sơ đồ nguyên lý mạch trên phần mềm mô phỏng Proteus/Fritzing.
- Giai đoạn 2 (Tuần 2): Lắp ráp phần cứng cơ khí, cân chỉnh trọng tâm xe, hàn dây kết nối các module, đo kiểm thông mạch và kiểm tra sụt áp tải tĩnh.
- Giai đoạn 3 (Tuần 3): Lập trình firmware điều khiển trên Arduino IDE, cấu hình tập lệnh AT Command cho module HC-05, xây dựng giao diện ứng dụng trên smartphone.
- Giai đoạn 4 (Tuần 4): Thử nghiệm thực địa, đo lường độ trễ, kiểm tra khả năng vượt chướng ngại vật nhỏ, tối ưu hóa giải thuật điều khiển.
Chiến lược giảm thiểu rủi ro kỹ thuật:
- Bố trí tụ gốm $100\text{nF}$ (tụ 104) song song tại hai cực của từng động cơ DC nhằm triệt tiêu tia lửa điện chổi than và xung nhiễu cao tần.
- Sử dụng mạch cầu phân áp ($1\text{k}\Omega / 2\text{k}\Omega$) tại chân RX của HC-05 để chuyển đổi mức logic $5\text{V}$ của Arduino về $3.3\text{V}$, bảo vệ chip BC417 an toàn lâu dài.
Implementation và kết quả
Development process
Firmware điều khiển được viết bằng ngôn ngữ C/C++ nhúng trên môi trường Arduino IDE. Cấu trúc chương trình được tối ưu hóa theo mô hình hướng sự kiện không nghẽn (Non-blocking I/O) để đảm bảo tốc độ phản hồi lệnh nhanh nhất.
Dưới đây là mã nguồn lõi điều khiển xe thông qua tín hiệu Bluetooth Serial:
// Định nghĩa các chân kết nối Arduino Uno R3 với Driver L298N
const int ENA = 5; // Chân PWM điều khiển tốc độ động cơ Trái
const int ENB = 6; // Chân PWM điều khiển tốc độ động cơ Phải
const int IN1 = 7; // Chiều quay động cơ Trái
const int IN2 = 8;
const int IN3 = 9; // Chiều quay động cơ Phải
const int IN4 = 10;
char commandState = 'S'; // Trạng thái lệnh khởi tạo
int currentSpeed = 200; // Tốc độ mặc định (0 - 255)
void setup() {
// Cấu hình chân xuất tín hiệu
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
// Khởi tạo UART với Baudrate 9600 bps tương thích HC-05
Serial.begin(9600);
stopMotors();
}
void loop() {
// Kiểm tra dữ liệu sẵn sàng trong bộ đệm UART
if (Serial.available() > 0) {
commandState = Serial.read();
executeCommand(commandState);
}
}
void executeCommand(char cmd) {
switch (cmd) {
case 'F': moveForward(); break;
case 'B': moveBackward(); break;
case 'L': turnLeft(); break;
case 'R': turnRight(); break;
case 'S': stopMotors(); break;
// Điều chỉnh dải tốc độ qua PWM
case '0': currentSpeed = 0; break;
case '4': currentSpeed = 100; break;
case '7': currentSpeed = 180; break;
case 'q': currentSpeed = 255; break;
default: break;
}
}
void moveForward() {
analogWrite(ENA, currentSpeed);
analogWrite(ENB, currentSpeed);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void moveBackward() {
analogWrite(ENA, currentSpeed);
analogWrite(ENB, currentSpeed);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void turnLeft() {
analogWrite(ENA, currentSpeed);
analogWrite(ENB, currentSpeed);
// Quay vi sai: Bánh trái lùi, bánh phải tiến để quay tại chỗ nhanh
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void turnRight() {
analogWrite(ENA, currentSpeed);
analogWrite(ENB, currentSpeed);
// Quay vi sai: Bánh trái tiến, bánh phải lùi
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void stopMotors() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
analogWrite(ENA, 0);
analogWrite(ENB, 0);
}
Testing và validation
Quá trình kiểm thử được thực hiện qua 50 chu kỳ gửi lệnh liên tục ở nhiều điều kiện cự ly và môi trường khác nhau:
| Khoảng cách thử nghiệm |
Môi trường thử nghiệm |
Tỷ lệ nhận lệnh thành công |
Độ trễ trung bình ($\text{ms}$) |
Trạng thái xe |
| $1\text{ m} - 3\text{ m}$ |
Trong phòng (Trống) |
$100%$ ($50/50$) |
$28\text{ ms}$ |
Phản hồi mượt mà, chuyển hướng tức thì |
| $5\text{ m} - 8\text{ m}$ |
Trong phòng (Có đồ đạc) |
$98%$ ($49/50$) |
$34\text{ ms}$ |
Vận hành ổn định, không mất gói tin |
| $10\text{ m} - 12\text{ m}$ |
Ngoài trời (Không vật cản) |
$94%$ ($47/50$) |
$46\text{ ms}$ |
Đáp ứng tốt, thỉnh thoảng trễ 1 khung hình |
| $> 15\text{ m}$ |
Ngoài trời / Có tường ngăn |
$72%$ ($36/50$) |
$85\text{ ms}$ |
Xuất hiện hiện tượng rớt kết nối Bluetooth |
Kiểm tra thông số tải dòng điện:
- Dòng tiêu thụ tĩnh (Arduino + HC-05 ở trạng thái chờ): $38\text{ mA}$.
- Dòng tiêu thụ khi xe chạy thẳng đều (Full load $7.4\text{V}$): $420\text{ mA}$.
- Dòng tiêu thụ đỉnh khi đảo chiều gấp (Peak current): $1.15\text{ A}$ (vẫn nằm trong ngưỡng an toàn $2\text{A}$ của IC L298N).
Kết quả đạt được
Dự án đã hoàn thiện $100%$ các mục tiêu kỹ thuật đề ra:
- Chế tạo thành công mô hình xe 4 bánh hoàn chỉnh với kết cấu khung mica 2 tầng cứng vững, chịu tải trọng bổ sung lên tới $650\text{g}$.
- Hệ thống thu phát Bluetooth giữa smartphone và module HC-05 hoạt động tin cậy trong phạm vi $\le 12\text{m}$.
- Thuật toán điều khiển vi sai (Differential Steering) giúp xe quay vòng linh hoạt với bán kính quay gần như bằng 0 khi xoay ngược chiều hai bên bánh xe.
- Thời lượng pin 18650 đạt $85\text{ phút}$ vận hành liên tục ở tốc độ trung bình ($PWM = 180$).
Đổi mới và đóng góp
- Tận dụng tối đa tài nguyên sẵn có của người dùng: Thay vì phải chế tạo mạch phát RF với nút bấm cơ học đắt tiền, đồ án biến chính chiếc smartphone thành bộ điều khiển thông minh với giao diện trực quan, có thể tùy biến qua phần mềm (nút ảo, joystick hoặc cảm biến con quay hồi chuyển Gyroscope trên điện thoại).
- Tối ưu hóa chi phí phần cứng: Tổng chi phí chế tạo hệ thống chỉ khoảng $280.000\text{ VNĐ}$, thấp hơn $60%$ so với việc mua các bộ xe điều khiển RC chuyên dụng trên thị trường.
- Cải tiến phương pháp triệt tiêu nhiễu: Việc áp dụng kết hợp tụ lọc cao tần và phân tách đường mass (Ground plane) giữa nguồn động lực và nguồn điều khiển giúp loại bỏ hoàn toàn hiện tượng reset vi điều khiển khi động cơ khởi động dòng lớn.
- Giá trị học thuật và đào tạo: Cung cấp tài liệu tham khảo chi tiết, rõ ràng về mặt cấu trúc cho sinh viên chuyên ngành Kỹ thuật máy tính, Điện tử và Tự động hóa tiếp cận với lập trình vi điều khiển, giao thức UART và điều khiển công suất.
Ứng dụng thực tế và triển khai
Hệ thống có khả năng ứng dụng rộng rãi và chuyển giao công nghệ vào nhiều mô hình thực tiễn:
+-----------------------------------------+
| HỆ THỐNG ĐIỀU KHIỂN BLUETOOTH |
+--------------------+--------------------+
|
+---------------------------------------+---------------------------------------+
| | |
v v v
+-----------------+ +-----------------+ +-----------------+
| Giáo dục STEM | | Xe thám hiểm / | | Nền tảng Robot |
| & Đào tạo nhúng | | Giám sát mini | | AGV công nghiệp |
+-----------------+ +-----------------+ +-----------------+
| Bộ Kit thực hành| | Khảo sát đường | | Chở hàng tự hành|
| cho sinh viên | | ống, vị trí hẹp | | trong nhà xưởng |
+-----------------+ +-----------------+ +-----------------+
- Giáo dục và Đào tạo STEM: Sử dụng làm bộ giáo cụ trực quan cho học sinh, sinh viên học tập nguyên lý vi điều khiển, kỹ thuật điều chế xung PWM và lập trình ứng dụng di động.
- Khảo sát môi trường và không gian hẹp: Lắp đặt thêm camera không dây và cảm biến khí gas/nhiệt độ để đưa xe vào các đường ống ngầm, hốc tường, khu vực nguy hiểm mà con người khó tiếp cận.
- Mô hình nghiên cứu AGV trong nhà máy thông minh: Mở rộng phần mềm để xe chạy theo lộ trình định sẵn, vận chuyển linh kiện nhỏ giữa các trạm làm việc trong phân xưởng sản xuất.
Chi phí và hiệu quả đầu tư (ROI):
- Chi phí sản xuất hàng loạt ước tính: $220.000\text{ VNĐ / kit}$.
- Khả năng thương mại hóa: Phù hợp đóng gói thành bộ Kit tự học DIY bán cho các trường học và trung tâm đào tạo lập trình nhúng với biên lợi nhuận kỳ vọng $> 35%$.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Phạm vi kết nối giới hạn: Chuẩn Bluetooth Classic (HC-05) chỉ duy trì kết nối tốt trong phạm vi dưới $15\text{m}$, không phù hợp cho điều khiển ngoài trời cự ly xa.
- Hiệu suất driver L298N chưa tối ưu: L298N sử dụng công nghệ Transistor lưỡng cực (BJT) nên tạo ra sụt áp lớn ($V_{drop} \approx 1.8\text{V} - 2.5\text{V}$) và sinh nhiệt cao khi chạy lâu, làm giảm hiệu suất chuyển đổi năng lượng của pin (hiệu suất thực tế chỉ đạt khoảng $70%$).
- Thiếu khả năng phản hồi cảm biến: Hệ thống hiện tại là hệ thống điều khiển vòng hở (Open-loop control), chưa có Encoder đo tốc độ bánh xe để điều khiển vị trí chính xác (PID).
Hướng phát triển trong tương lai
- Nâng cấp phần cứng điều khiển công suất: Thay thế module L298N bằng mạch driver sử dụng MOSFET thế hệ mới (như TB6612FNG hoặc DRV8833) giúp giảm tổn hao điện áp xuống dưới $0.2\text{V}$, tăng hiệu suất lên $> 92%$ và không cần tản nhiệt nhôm cồng kềnh.
- Nâng cấp vi điều khiển và truyền thông: Chuyển sang sử dụng vi điều khiển ESP32 tích hợp sẵn Wi-Fi và Bluetooth Low Energy (BLE 5.0) hoặc giao thức Wi-Fi UDP/WebSockets, giúp mở rộng cự ly điều khiển lên $> 100\text{m}$ và truyền hình ảnh thời gian thực (Real-time video streaming).
- Tích hợp cảm biến và điều khiển vòng kín: Gắn thêm Encoder quang học tại 4 bánh xe và cảm biến góc nghiêng IMU (MPU6050) để áp dụng thuật toán điều khiển PID, giúp xe giữ hướng chuyển động thẳng tuyệt đối và điều khiển chính xác góc quay.
Đối tượng hưởng lợi
- Học sinh, sinh viên ngành Kỹ thuật Điện - Điện tử, CNTT: Có được bộ tài liệu kỹ thuật hoàn chỉnh, mã nguồn chuẩn hóa để tự học, thực hành đồ án môn học Vi điều khiển và Hệ thống nhúng.
- Lập trình viên IoT và Robot: Nắm bắt được phương pháp giao tiếp UART ổn định giữa phần cứng vi điều khiển và ứng dụng di động, phương pháp chống nhiễu công suất động cơ.
- Giảng viên và các cơ sở giáo dục: Sở hữu một giáo án mô hình mẫu với chi phí linh kiện thấp, dễ dàng nhân rộng trong các phòng thí nghiệm và câu lạc bộ Robotics.
- Nhà nghiên cứu và phát triển sản phẩm: Có cơ sở nền tảng để phát triển các module xe tự hành AGV phức tạp hơn phục vụ công nghiệp.
Câu hỏi thường gặp
1. Tại sao cần kết nối chân RX của HC-05 qua mạch chia áp khi nối với Arduino Uno?
Arduino Uno R3 hoạt động ở mức điện áp logic $5\text{V}$, trong khi chân $RX$ của module Bluetooth HC-05 (chip BC417) chỉ chịu được mức điện áp logic tối đa là $3.3\text{V}$. Nếu nối trực tiếp chân $TX$ ($5\text{V}$) của Arduino vào chân $RX$ ($3.3\text{V}$) của HC-05 trong thời gian dài, module Bluetooth có thể bị quá nhiệt và hỏng mạch thu tín hiệu. Sử dụng cầu chia áp gồm 2 điện trở $1\text{k}\Omega$ và $2\text{k}\Omega$ sẽ hạ mức $5\text{V}$ xuống xấp xỉ $3.33\text{V}$, đảm bảo an toàn tuyệt đối.
2. Khi nạp chương trình (Upload Code) lên Arduino Uno, tại sao phải rút chân TX/RX của HC-05 ra?
Bo mạch Arduino Uno R3 sử dụng chung cổng Hardware Serial (chân Digital 0 và 1) cho cả chip nạp nạp chương trình ATmega16U2 (giao tiếp USB máy tính) và các chân cắm $TX/RX$ mở rộng. Nếu cắm module HC-05 trong lúc nạp, tín hiệu UART từ máy tính sẽ bị xung đột với tín hiệu từ module HC-05, gây ra lỗi avrdude: stk500_recv(): programmer is not responding.
3. Làm thế nào để khắc phục hiện tượng xe bị giật hoặc Arduino bị Reset khi động cơ khởi động?
Hiện tượng này xảy ra do dòng khởi động của động cơ DC rất lớn, kéo sụt áp toàn hệ thống nguồn hoặc do xung ngược điện từ từ cuộn cảm động cơ dội về mạch điều khiển. Cách khắc phục:
- Dùng 2 nguồn riêng biệt hoặc gắn tụ hóa dung lượng lớn ($1000\mu\text{F} - 2200\mu\text{F}$) song song với nguồn cấp pin.
- Hàn tụ gốm $100\text{nF}$ dập nhiễu vào 2 cực của từng động cơ.
- Đảm bảo nối chung Mass (GND) giữa Arduino và Driver L298N.
4. Hệ thống có thể điều khiển qua hệ điều hành iOS (iPhone) được không?
Module HC-05 sử dụng chuẩn Bluetooth 2.0/SPP (Serial Port Profile) cổ điển mà hệ điều hành iOS không hỗ trợ kết nối trực tiếp qua Bluetooth chuẩn nếu không có chip xác thực MFi của Apple. Để điều khiển được trên cả iOS và Android, cần thay thế module HC-05 bằng các module chuẩn BLE (Bluetooth Low Energy 4.0 trở lên) như HM-10 hoặc AT-09.
5. Dung lượng pin 18650 cho phép xe hoạt động trong bao lâu và thời gian sạc như thế nào?
Với bộ 2 cell pin 18650 dung lượng $2600\text{mAh}$ mắc nối tiếp và tổng dòng tiêu thụ trung bình khi xe chạy là khoảng $400\text{mA} - 500\text{mA}$, thời gian hoạt động liên tục lý thuyết là:
$$T = \frac{2600\text{ mAh}}{450\text{ mA}} \times 0.8 \approx 4.6\text{ giờ}$$
Khi tính toán tải thực tế và tổn hao trên driver L298N, thời gian chạy thực tế đạt từ $1.5 - 2.5\text{ giờ}$. Thời gian sạc đầy với mạch sạc $2S - 8.4\text{V} / 1\text{A}$ tiêu chuẩn là khoảng $2.5 - 3\text{ giờ}$.
Kết luận
Đồ án "Thiết Kế Xe Điều Khiển Từ Xa Bluetooth Bằng Smartphone" của nhóm sinh viên Trường Đại học Công nghệ Thông tin & Truyền thông Việt - Hàn đã hiện thực hóa thành công một hệ thống nhúng điều khiển hoàn chỉnh, kết hợp hài hòa giữa cơ khí chế tạo, phần cứng điện tử và phần mềm điều khiển thời gian thực. Bằng việc tận dụng nền tảng vi điều khiển mã nguồn mở Arduino Uno R3, công nghệ truyền thông Bluetooth HC-05 và mạch công suất L298N, dự án không chỉ mang lại một giải pháp kỹ thuật có độ tin cậy cao, chi phí tối ưu mà còn mở ra nền tảng vững chắc cho các nghiên cứu chuyên sâu hơn về Robot tự hành và Internet of Things (IoT) trong tương lai.