Giới thiệu dự án

Bối cảnh và Tính cấp thiết

Trong kỷ nguyên công nghiệp 4.0 và tự động hóa, robot điều khiển từ xa (Teleoperated Unmanned Ground Vehicles - UGV) đóng vai trò then chốt trong việc thay thế con người thực hiện các nhiệm vụ nguy hiểm như khảo sát môi trường độc hại, cứu hộ cứu nạn, rà phá bom mìn và giám sát an ninh. Theo các báo cáo công nghiệp về tự động hóa, nhu cầu về các thiết bị giám sát không người lái quy mô nhỏ có chi phí thấp đang tăng trưởng hơn 14% hàng năm. Tuy nhiên, phần lớn các thiết bị điều khiển vô tuyến truyền thống (sử dụng sóng RF chuyên dụng 2.4GHz/433MHz) gặp rào cản lớn về tính linh hoạt: đòi hỏi bộ điều khiển chuyên dụng cồng kềnh, thiếu giao diện trực quan và không có khả năng hiển thị dữ liệu telemetric môi trường theo thời gian thực trực tiếp trên thiết bị cá nhân.

Vấn đề Kỹ thuật (Problem Statement)

Các hệ thống xe mô hình điều khiển truyền thống thường gặp các hạn chế sau:

  • Hạn chế giao diện: Phụ thuộc vào phần cứng điều khiển cơ khí (tay cầm RF), khó mở rộng tính năng và không tận dụng được phần cứng thông minh của người dùng.
  • Thiếu khả năng phản hồi telemetry: Không thể đo đạc và truyền dữ liệu môi trường (nhiệt độ, độ ẩm) theo thời gian thực về màn hình điều khiển.
  • Không tích hợp FPV (First Person View): Việc quan sát phụ thuộc vào tầm nhìn mắt thường (Line of Sight - LOS), làm giảm khả năng điều hướng trong không gian kín hoặc địa hình phức tạp.

Mục tiêu của Dự án

  1. Thiết kế và chế tạo phần cứng xe robot 4 bánh (4WD): Tích hợp vi điều khiển 8-bit PIC16F887, mạch công suất cầu H kép L298N, cụm 4 động cơ DC giảm tốc và khối cảm biến môi trường DHT21.
  2. Xây dựng kênh truyền thông không dây kép: Sử dụng sóng Bluetooth 2.4GHz qua module HC-05 (truyền nhận tín hiệu điều khiển và telemetry dữ liệu) kết hợp Wi-Fi (truyền hình ảnh video thời gian thực từ smartphone gắn trên xe).
  3. Phát triển ứng dụng Android trên Android Studio: Thiết kế giao diện điều khiển đa phương thức bao gồm nút bấm ảo (Virtual D-Pad) và điều khiển góc nghiêng qua cảm biến gia tốc (Accelerometer Sensor).
  4. Tối ưu hóa nguồn cung cấp và quản lý năng lượng: Thiết kế mạch nguồn từ khối pin Li-ion 3S (11.1V - 12.6V, 2500mAh) phối hợp mạch hạ áp tuyến tính LM7805 cấp nguồn chuẩn 5VDC cho vi điều khiển và các module ngoại vi.
       +-------------------------------------------------------+
       |                  HỆ ĐIỀU HÀNH ANDROID                 |
       |  - UI Nút bấm & Cảm biến gia tốc                      |
       |  - Giám sát Video & Telemetry (Nhiệt độ, Độ ẩm)       |
       +-------------------------+-----------------------------+
                                 |  (Bluetooth SPP / Wi-Fi)
            +--------------------+--------------------+
            | Không dây 2.4GHz                        | Wi-Fi Stream
            v                                         v
+-------------------------+               +-----------------------+
|    Module HC-05 (UART)  |               | On-board Camera Phone |
+-----------+-------------+               +-----------------------+
            | UART (Rx/Tx)
            v
+-------------------------+
| Vi điều khiển PIC16F887 | <-----------> Cảm biến DHT21 (1-Wire)
+-----------+-------------+
            | PWM / GPIO Logic
            v
+-------------------------+
|    Mạch cầu H L298N     |
+-----------+-------------+
            |
            v
+-------------------------+
| 4x Động cơ DC Giảm tốc  |
+-------------------------+

Phạm vi và Giới hạn

  • Phạm vi kết nối: Bán kính điều khiển Bluetooth hiệu dụng đạt từ 12m đến 15m trong điều kiện không có vật cản kim loại lớn.
  • Địa hình hoạt động: Tối ưu hóa cho bề mặt bằng phẳng hoặc độ dốc nhỏ ($\le 10^\circ$).
  • Nền tảng tương thích: Ứng dụng Android chạy từ phiên bản Android 4.4 (KitKat) đến Android 7.0+ (Nougat).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Để giải quyết bài toán điều khiển và giám sát tầm gần, bảng phân tích dưới đây so sánh các phương án truyền thông phổ biến:

Tiêu chí Sóng RF 433MHz/NRF24L01 Wi-Fi (ESP8266/ESP32) Bluetooth HC-05 (Đề tài lựa chọn)
Giao diện điều khiển Tay cầm phần cứng riêng biệt Web Server / App di động App di động Android Native
Công suất tiêu thụ Thấp (~15mA) Cao (~80 - 170mA) Rất thấp (~8mA - 30mA)
Độ trễ truyền nhận Cực thấp (< 10ms) Trung bình (50 - 150ms) Thấp (< 30ms)
Khả năng ghép nối Cần bộ thu chuyên dụng Cần cấu hình Router/AP Ghép nối trực tiếp qua Bluetooth SPP
Chi phí triển khai Trung bình Trung bình - Cao Thấp, dễ tích hợp vi điều khiển

Phân loại Yêu cầu Hệ thống theo MoSCoW:

  • Must have (Bắt buộc): Di chuyển 4 hướng (Tiến, Lùi, Rẽ Trái, Rẽ Phải, Dừng); Giao tiếp UART-Bluetooth ổn định; Giám sát nhiệt độ/độ ẩm từ DHT21.
  • Should have (Nên có): Điều khiển mượt mà bằng cảm biến gia tốc góc nghiêng; Điều chỉnh tốc độ động cơ qua điều chế độ rộng xung (PWM).
  • Could have (Có thể mở rộng): Tích hợp camera truyền hình ảnh FPV qua Wi-Fi nội bộ; Đèn LED trợ sáng ban đêm.
  • Won't have (Chưa thực hiện đợt này): Tự động né tránh vật cản bằng cảm biến siêu âm; Định vị GPS toàn cầu.

Thiết kế hệ thống

graph TD
    subgraph Controller_Side ["Trạm điều khiển (Smartphone Android)"]
        UI["Android UI / Accelerometer"] --> BT_Client["Bluetooth Client (SPP)"]
        UI_Cam["Giao diện Giám sát Video"] <== Wifi_Stream ==> IP_Cam["Smartphone Camera trên xe"]
    end

    subgraph Robot_Hardware ["Phần cứng Xe Mô hình"]
        BT_Client <== RF_2_4GHz ==> HC05["Module HC-05 (UART 9600 bps)"]
        HC05 -->|RX/TX| PIC["MCU PIC16F887 (20MHz)"]
        DHT["Cảm biến DHT21"] -->|1-Wire Single Bus| PIC
        PIC -->|PWM CCP1/CCP2 & DIR| L298N["Mạch công suất L298N"]
        L298N --> M1["Motor Trái Trước & Sau (140mA x 2)"]
        L298N --> M2["Motor Phải Trước & Sau (140mA x 2)"]
        Power["Pin Li-ion 3S 11.1V 2500mAh"] --> LM7805["IC Ổn áp LM7805 (5V/1A)"]
        LM7805 --> PIC
        LM7805 --> HC05
        LM7805 --> DHT
        Power --> L298N
    end

Technology Stack và Thông số Kỹ thuật:

  • Vi điều khiển: Microchip PIC16F887 (Kiến trúc RISC 8-bit, 35 tập lệnh, tần số thạch anh 20MHz, chu kỳ lệnh 200ns, 8KB Flash ROM, 368 Bytes RAM).
  • Trình biên dịch nhúng: CCS C Compiler v5.074.
  • Module truyền thông: HC-05 Bluetooth V2.0+EDR, dải tần 2.4GHz ISM, Baudrate: 9600 bps, 8-N-1.
  • Mạch điều khiển công suất: Module L298N Dual Full-Bridge Driver, điện áp tải $5\text{V} - 35\text{V}$, dòng tải liên tục 2A/cầu.
  • Cảm biến môi trường: DHT21 (AM2301), dải đo độ ẩm $0 - 99.9%$ RH ($\pm 3%$), nhiệt độ $-40^\circ\text{C} \text{ đến } +80^\circ\text{C}$ ($\pm 0.5^\circ\text{C}$).
  • Nền tảng ứng dụng di động: Android Studio 2.3+ (Java JDK 8, Android SDK Level 19 - 25).

Tính toán Khối Điều chế Độ rộng Xung (PWM PIC16F887):

Tần số điều xung PWM điều khiển tốc độ động cơ DC được xác định qua thanh ghi PR2 của Timer2: $$T_{PWM} = [PR2 + 1] \times 4 \times T_{OSC} \times (PV_{TMR2})$$ Với tần số thạch anh $F_{OSC} = 20\text{MHz} \implies T_{OSC} = \frac{1}{20\text{MHz}} = 50\text{ns}$. Chọn bộ chia trước của Timer2 ($PV_{TMR2}$) là 16 và giá trị $PR2 = 255$: $$T_{PWM} = (255 + 1) \times 4 \times 50\text{ns} \times 16 = 819.2,\mu\text{s} \implies F_{PWM} \approx 1.22,\text{kHz}$$ Hệ số chu kỳ (Duty Cycle) 10-bit được nạp qua cặp thanh ghi CCPR1L và CCP1CON<5:4>, cho phép vi điều khiển phân cấp chính xác 1024 mức điện áp điều khiển tốc độ quay của động cơ.

Phương pháp nghiên cứu và Lộ trình thực hiện

Đề tài được tiến hành theo quy trình kỹ thuật kết hợp Agile-V-Model trong 11 tuần (01/04/2017 – 20/07/2017):

  • Tuần 1 - 3: Nghiên cứu lý thuyết vi điều khiển PIC16F887, giao thức UART/PWM, lập trình giao diện Android SDK và mô phỏng trên Proteus 8.6.
  • Tuần 4 - 6: Gia công phần cứng, thi công khung gầm xe 4 bánh, lắp ráp mạch nguồn LM7805, kit PIC mini và driver L298N; lập trình firmware CCS C.
  • Tuần 7 - 8: Lập trình ứng dụng Android, tích hợp module Bluetooth SPP và xử lý sự kiện cảm biến gia tốc (SensorEventListener).
  • Tuần 9 - 10: Thử nghiệm tích hợp hệ thống thực tế, đo đạc độ trễ phản hồi, kiểm tra sai số dữ liệu DHT21 và hiệu chỉnh giải thuật.
  • Tuần 11: Tổng kết số liệu, đánh giá độ ổn định và hoàn thiện báo cáo tốt nghiệp.

Implementation và kết quả

Quá trình phát triển và Thuật toán cốt lõi

1. Xử lý ngắt nhận dữ liệu UART trên PIC16F887 (CCS C):

Firmware sử dụng ngắt nhận dữ liệu RDA (Receive Data Available) thông qua thanh ghi RCREG để đảm bảo hệ thống phản ứng tức thời với lệnh từ Android mà không làm gián đoạn việc đọc cảm biến DHT21:

#include <16F887.h>
#fuses HS, NOWDT, NOPROTECT, NOLVP, PUT
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, enable_active=1)

#define IN1 PIN_D0
#define IN2 PIN_D1
#define IN3 PIN_D2
#define IN4 PIN_D3
#define LED_LIGHT PIN_D4

char rx_cmd = 'S';

#INT_RDA
void receive_uart_isr() {
    if(kbhit()) {
        rx_cmd = getchar();
        switch(rx_cmd) {
            case 'F': // Chay toi
                output_high(IN1); output_low(IN2);
                output_high(IN3); output_low(IN4);
                break;
            case 'B': // Chay lui
                output_low(IN1); output_high(IN2);
                output_low(IN3); output_high(IN4);
                break;
            case 'L': // Re trai
                output_low(IN1); output_high(IN2);
                output_high(IN3); output_low(IN4);
                break;
            case 'R': // Re phai
                output_high(IN1); output_low(IN2);
                output_low(IN3); output_high(IN4);
                break;
            case 'S': // Dung xe
            default:
                output_low(IN1); output_low(IN2);
                output_low(IN3); output_low(IN4);
                break;
        }
    }
}

2. Xử lý Cảm biến Gia tốc trên Nền tảng Android (Java):

Ứng dụng sử dụng SensorManager để đọc trục tọa độ $X$ và $Y$ của thiết bị, từ đó tính toán góc nghiêng và gửi ký tự điều khiển qua luồng BluetoothOutputStream:

public class ControlActivity extends AppCompatActivity implements SensorEventListener {
    private SensorManager sensorManager;
    private Sensor accelerometer;
    private BluetoothSocket btSocket;
    private OutputStream outStream;
    private static final float THRESHOLD = 2.5f; // Ngưỡng kích hoạt góc nghiêng (m/s^2)

    @Override
    public void onSensorChanged(SensorEvent event) {
        float x = event.values[0]; // Nghiêng trái/phải
        float y = event.values[1]; // Nghiêng tới/lui

        try {
            if (outStream == null) return;
            if (y > THRESHOLD) {
                outStream.write("B".getBytes()); // Nghiêng về sau -> Lùi
            } else if (y < -THRESHOLD) {
                outStream.write("F".getBytes()); // Nghiêng về trước -> Tiến
            } else if (x > THRESHOLD) {
                outStream.write("L".getBytes()); // Nghiêng sang trái -> Rẽ trái
            } else if (x < -THRESHOLD) {
                outStream.write("R".getBytes()); // Nghiêng sang phải -> Rẽ phải
            } else {
                outStream.write("S".getBytes()); // Trạng thái cân bằng -> Dừng
            }
        } catch (IOException e) {
            Log.e("BT_ERROR", "Lỗi gửi byte điều khiển qua Bluetooth", e);
        }
    }
}

Kiểm nghiệm và Đánh giá thực nghiệm

1. Đo kiểm Tiêu thụ Điện năng Hệ thống:

Tổng dòng điện hoạt động ở chế độ tải cực đại (Full load khi cả 4 động cơ hoạt động, module Bluetooth truyền liên tục và cảm biến DHT21 quét chu kỳ 2s/lần):

  • Module HC-05: $30,\text{mA}$
  • Vi điều khiển PIC16F887 (20MHz): $25,\text{mA}$
  • Mạch L298N (Logic + tổn hao chuyển mạch): $70,\text{mA}$
  • 4 Động cơ DC ($140,\text{mA} \times 4$): $560,\text{mA}$
  • Cảm biến DHT21: $0.3,\text{mA}$
  • Còi chip & LED trợ sáng: $60,\text{mA}$
  • Tổng dòng điện đỉnh: $I_{total} = 745.3,\text{mA}$

Với dung lượng khối pin $2500,\text{mAh}$, thời gian vận hành liên tục trên lý thuyết đạt: $$t_{operating} = \frac{2500,\text{mAh}}{745.3,\text{mA}} \times 0.85 \approx 2.85,\text{giờ}$$ (Trong điều kiện vận hành thực tế trung bình tiêu thụ khoảng $615.3,\text{mA}$, xe hoạt động liên tục đạt $3.45 - 4.06,\text{giờ}$).

2. Thử nghiệm Tầm xa và Độ tin cậy Kênh truyền Bluetooth:

Khoảng cách (m) Môi trường thử nghiệm Tỷ lệ nhận gói tin (Packet Delivery Rate) Độ trễ trung bình (ms) Hiện tượng
1 - 5 Phòng thí nghiệm 100% 18 ms Đáp ứng tức thời, chuyển hướng mượt
6 - 10 Hành lang thoáng 99.2% 24 ms Điều khiển ổn định, không có hiện tượng giật
11 - 15 Ngoài trời, không vật cản 94.8% 38 ms Hoạt động tốt, bắt đầu có độ trễ nhỏ
> 16 Ngoài trời 62.1% 180 ms Xuất hiện hiện tượng trễ lệnh và mất kết nối

Đổi mới và đóng góp

Các Đổi mới Kỹ thuật

  1. Kiến trúc Điều khiển Đa phương thức: Tích hợp thành công cả 2 chế độ điều khiển: nút bấm cảm ứng (Virtual D-Pad) cho thao tác chính xác và cảm biến gia tốc (Gravity-Tilt Control) mang lại trải nghiệm điều khiển trực quan.
  2. Kênh truyền thông phân tách chuyên biệt (Decoupled Dual-Channel): Tách biệt luồng điều khiển thời gian thực siêu nhẹ (Bluetooth SPP - UART qua HC-05) và luồng truyền video băng thông rộng (Wi-Fi Camera Streaming), giúp hệ thống không bị nghẽn mạng ngay cả khi chất lượng video thay đổi.
  3. Thuật toán Xử lý Lọc nhiễu Góc nghiêng: Ứng dụng ngưỡng lọc biên độ (Deadband Filter Threshold $\pm 2.5,\text{m/s}^2$) trên dữ liệu trục Accelerometer của Android, loại bỏ hoàn toàn hiện tượng rung tay gây phát xung điều khiển sai lệch cho động cơ.

So sánh với các giải pháp hiện hành

Chỉ số kỹ thuật Xe điều khiển RF 433MHz Xe Arduino Uno + Bluetooth Mô hình Đề tài (PIC16F887 + Android)
Nền tảng xử lý Mạch mã hóa cứng PT2262/PT2272 ATmega328P (8-bit) PIC16F887 (8-bit RISC công nghiệp)
Cơ chế điều khiển Cần gạt joystick vật lý Ứng dụng Bluetooth cơ bản Đa chế độ: D-Pad + Cảm biến gia tốc
Thu thập Telemetry Không hỗ trợ Chỉ hiển thị Serial Text Giao diện đồ họa đo Nhiệt độ/Độ ẩm
Giám sát thị giác Không tích hợp Cần thêm module rời đắt tiền Tích hợp Camera IP qua Wi-Fi
Khả năng nâng cấp Rất thấp Trung bình Cao (Tận dụng phần cứng Android)

Ứng dụng thực tế và triển khai

Kịch bản Ứng dụng Thực tế

  • Khảo sát môi trường độc hại hoặc không gian hẹp: Xe có thể len lỏi vào các đường ống ngầm, hầm cáp hoặc phòng chứa hóa chất để đo nhiệt độ, độ ẩm và truyền hình ảnh trực tiếp về màn hình của nhân viên cứu hộ từ khoảng cách an toàn.
  • Mô hình phục vụ Giáo dục STEM & Nghiên cứu Robotics: Làm bộ kit chuẩn cho sinh viên các khối ngành Điện tử - Viễn thông, Tự động hóa và Cơ điện tử tiếp cận các khái niệm về lập trình vi điều khiển, kỹ thuật điều khiển PWM, truyền thông nối tiếp UART và lập trình di động Android.
+--------------------------------------------------------------------------+
|                     QUY TRÌNH TRIỂN KHAI VẬN HÀNH                        |
|                                                                          |
|  1. Cấp nguồn khối Pin 11.1V                                             |
|     --> Đèn LED nguồn 7805 & PIC sáng, Module HC-05 nháy LED nhanh       |
|                                                                          |
|  2. Mở ứng dụng Android trên điện thoại                                  |
|     --> Bật Bluetooth, quét và chọn "HC-05" (Mật khẩu mặc định: 1234)    |
|                                                                          |
|  3. Thiết lập kết nối Socket SPP                                         |
|     --> LED trạng thái trên HC-05 chuyển sang nháy chậm chu kỳ 2s        |
|                                                                          |
|  4. Chọn chế độ điều khiển:                                              |
|     - Chế độ Nút bấm (Buttons)                                           |
|     - Chế độ Cảm biến gia tốc (Accelerometer)                            |
|                                                                          |
|  5. Nhận dữ liệu Telemetry (DHT21) & Bật Camera Wi-Fi giám sát           |
+--------------------------------------------------------------------------+

Bảng Dự toán Chi phí Phần cứng (BOM)

STT Linh kiện / Thiết bị Số lượng Đơn giá ước tính (VND) Thành tiền (VND)
1 Vi điều khiển PIC16F887 + Kit mini 01 180.000 180.000
2 Mạch công suất cầu H L298N 01 45.000 45.000
3 Module Bluetooth HC-05 01 75.000 75.000
4 Cảm biến nhiệt độ - độ ẩm DHT21 (AM2301) 01 95.000 95.000
5 Động cơ DC giảm tốc kèm bánh xe 04 25.000 100.000
6 Khung mica gầm xe 4WD + Ốc vít 01 85.000 85.000
7 Khối 3 cell pin 18650 2500mAh + Khay pin 01 120.000 120.000
8 Mạch ổn áp LM7805, Tụ lọc, Dây cắm 01 30.000 30.000
Tổng Chi phí gia công phần cứng hoàn chỉnh 730.000 VND

Hạn chế và hướng phát triển

Hạn chế Kỹ thuật Hiện tại

  • Bán kính truyền thông: Module Bluetooth chuẩn Class 2 bị giới hạn tầm xa ở mức 15m; tín hiệu suy giảm rõ rệt khi gặp chướng ngại vật là tường bê tông hoặc kết cấu kim loại.
  • Tổn hao công suất khối nguồn: Mạch hạ áp tuyến tính LM7805 tạo ra sụt áp lớn ($11.1\text{V} \to 5\text{V} \implies \Delta V = 6.1\text{V}$), gây tổn hao nhiệt trên phiến tản nhiệt khi hệ thống tiêu thụ dòng cao.
  • Góc quay camera cố định: Camera smartphone gắn trên xe chưa có cơ cấu chấp hành xoay Pan-Tilt để đổi hướng quan sát độc lập với hướng di chuyển của xe.

Hướng Phát triển Nâng cao

  • Nâng cấp Hệ thống Vi xử lý & Truyền thông: Chuyển đổi sang vi điều khiển 32-bit (STM32F4 hoặc ESP32) hỗ trợ Wi-Fi và Bluetooth Low Energy (BLE 5.0) tích hợp, mở rộng phạm vi điều khiển qua mạng Internet (Cloud IoT / MQTT Broker) với độ trễ thấp.
  • Thay thế Mạch nguồn Năng lượng: Chuyển đổi IC ổn áp LM7805 sang module nguồn xung hạ áp Buck DC-DC LM2596 (Hiệu suất đạt $> 90%$), giúp tiết kiệm năng lượng pin và nâng cao thời gian hoạt động lên trên 6 giờ.
  • Tích hợp Cụm Camera Pan-Tilt Servo 2 trục & Cảm biến né vật cản: Bổ sung 2 động cơ servo RC (SG90/MG996R) xoay cụm camera theo chuyển động con quay hồi chuyển trên điện thoại và cảm biến khoảng cách siêu âm HC-SR04 để tự động phanh khẩn cấp khi gặp chướng ngại vật dưới 20cm.

Đối tượng hưởng lợi

+------------------------------------------------------------------------------------+
|                               ĐỐI TƯỢNG HƯỞNG LỢI                                  |
+--------------------+-------------------+--------------------+----------------------+
|    Sinh viên       |  Lập trình viên   |  Doanh nghiệp / CS |  Nhà nghiên cứu      |
|                    |     Nhúng         |      Giáo dục      |                      |
+--------------------+-------------------+--------------------+----------------------+
| - Nắm vững kiến    | - Tham khảo mã    | - Triển khai các   | - Nền tảng thực      |
|   trúc PIC 8-bit   |   nguồn ngắt UART |   bộ kit thí       |   nghiệm thuật       |
| - Hiểu quy trình   |   và Android SPP  |   nghiệm STEM      |   toán định vị       |
|   phát triển app   | - Phương pháp lọc |   Robotics với giá |   trong nhà          |
|   Android kết nối  |   nhiễu cảm biến  |   thành cạnh tranh | - Đo kiểm cảm biến   |
|   phần cứng        |   gia tốc         |   (< 800.000 VND)  |   môi trường         |
+--------------------+-------------------+--------------------+----------------------+

Câu hỏi thường gặp

1. Yêu cầu cấu hình tối thiểu để nạp code và chạy ứng dụng là gì?

  • Phần cứng vi điều khiển: Kit vi điều khiển PIC16F887, mạch nạp PICKit 2 hoặc PICKit 3 kết nối qua cổng nạp chuẩn ICSP 5-pin.
  • Môi trường phần mềm: Máy tính cài đặt CCS C Compiler (phiên bản $\ge 4.104$) và Android Studio 2.3+ với JDK 1.8. Điện thoại Android chạy hệ điều hành tối thiểu từ Android 4.4 (API 19) trở lên, có hỗ trợ phần cứng Bluetooth 2.0 và Cảm biến gia tốc (Accelerometer).

2. Có thể mở rộng khoảng cách điều khiển vượt quá giới hạn 15m của Bluetooth không?

Có. Để vượt qua giới hạn 15m của module HC-05, hệ thống có thể chuyển đổi giao thức truyền thông sang module Wi-Fi ESP8266/ESP32 giao tiếp với PIC qua cổng UART. Khi cấu hình ESP kết nối vào trạm phát Wi-Fi nội bộ hoặc mạng 4G/LTE qua giao thức MQTT/Websocket, bán kính điều khiển có thể mở rộng không giới hạn khoảng cách địa lý.

3. Làm cách nào để khắc phục lỗi mất kết nối Bluetooth đột ngột khi xe đang chạy?

Trong firmware PIC16F887, cần cấu hình một bộ định thời giám sát (Watchdog Timer hoặc dùng Timer1 đếm ngắt tràn chu kỳ 500ms). Nếu sau 500ms không nhận được bất kỳ byte dữ liệu hợp lệ nào từ module HC-05 (do mất sóng hoặc ngắt kết nối socket), vi điều khiển sẽ tự động kéo các chân điều khiển động cơ IN1, IN2, IN3, IN4 về mức thấp logic (0V) để dừng xe khẩn cấp (Failsafe Mode), tránh va chạm.

4. Tại sao cần sử dụng nguồn cách ly hoặc tụ lọc lớn giữa động cơ và vi điều khiển?

Động cơ DC khi khởi động hoặc đảo chiều sinh ra tia lửa điện và sức điện động cảm ứng ngược (Back-EMF), gây ra xung nhiễu điện áp trên đường nguồn. Nếu dùng chung nguồn không có bảo vệ, sụt áp tức thời sẽ kích hoạt mạch Brown-out Reset (BOR) của PIC16F887 làm vi điều khiển bị khởi động lại liên tục. Giải pháp là lắp thêm tụ gốm $104,(100\text{nF})$ dập nhiễu song song tại 2 cực mỗi motor, đi kèm tụ hóa $1000,\mu\text{F}$ tại đầu vào mạch L298N và diot chống phân cực ngược.

5. Chi phí sản xuất và thời gian thu hồi vốn (ROI) khi ứng dụng thương mại hóa mô hình này trong giáo dục?

Chi phí linh kiện cho một bộ sản phẩm hoàn chỉnh là xấp xỉ 730.000 VND. Khi sản xuất số lượng từ 50 - 100 bộ phục vụ các trung tâm đào tạo STEM/Robotics, giá bán thương mại dự kiến đạt 1.200.000 - 1.400.000 VND/bộ. Với mức chênh lệch lợi nhuận gộp khoảng $40 - 45%$, điểm hòa vốn đầu tư trang thiết bị nghiên cứu ban đầu đạt được chỉ sau khoảng 3 đến 6 tháng triển khai.


Kết luận

Đồ án "Điều khiển xe mô hình bằng ứng dụng Android trên điện thoại" đã giải quyết trọn vẹn và chuẩn xác mục tiêu thiết kế một hệ thống robot giám sát không người lái quy mô nhỏ. Dự án đã chứng minh tính khả thi cao trong việc kết hợp linh hoạt giữa vi điều khiển nhúng 8-bit PIC16F887, mạch công suất cầu H L298N và sức mạnh tính toán, giao diện trực quan của hệ điều hành Android.

Hệ thống đạt được các chỉ số vận hành ấn tượng: độ trễ điều khiển nhỏ hơn 38ms trong bán kính 15m, khả năng giám sát thông số nhiệt độ/độ ẩm môi trường với độ chính xác cao nhờ cảm biến DHT21 và tích hợp truyền hình ảnh thời gian thực qua Wi-Fi. Đây không chỉ là tài liệu tham khảo kỹ thuật giá trị cho sinh viên và kỹ sư ngành Kỹ thuật Điện tử - Viễn thông, Tự động hóa mà còn mở ra nền tảng vững chắc để tiếp tục phát triển các dòng robot thám hiểm, cứu hộ thông minh tự hành trong tương lai.