Bối cảnh và vấn đề nghiên cứu

Đồ án tốt nghiệp "Điều khiển xe mô hình bằng ứng dụng Android trên điện thoại" được thực hiện bởi sinh viên Trần Duy Khang và Nguyễn Văn Dưỡng, dưới sự hướng dẫn của ThS. Nguyễn Thanh Nghĩa tại Bộ môn Điện tử Công nghiệp – Y sinh, Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa 2015 – 2017).

Xuất phát từ sự phát triển của các công nghệ không dây (Bluetooth, Wi-Fi), điện thoại thông minh cùng phong trào nghiên cứu robot học thuật tại trường (như robot dò line, robot tìm đường trong mê cung), nhóm tác giả định hướng ứng dụng kỹ thuật điều khiển nhúng để chế tạo xe mô hình tự hành có khả năng thay thế con người tiếp cận các khu vực nguy hiểm, phục vụ công tác cứu hộ, cứu nạn hoặc rà phá bom mìn.

Mục tiêu nghiên cứu tổng quát là xây dựng hoàn chỉnh một hệ thống xe mô hình điều khiển từ xa thông qua ứng dụng chạy trên hệ điều hành Android, tích hợp giám sát hình ảnh trực tiếp và đo đạc thông số môi trường. Đề tài đặt ra 5 nhiệm vụ nghiên cứu cụ thể:

  1. Thu thập và xử lý dữ liệu từ cảm biến gia tốc trên điện thoại Android.
  2. Thiết lập kênh truyền nhận dữ liệu không dây hai chiều giữa xe mô hình và điện thoại qua Bluetooth.
  3. Thiết kế, tính toán và thi công phần cứng xe mô hình (khung gầm, mạch công suất, khối xử lý trung tâm, khối nguồn).
  4. Lập trình giao diện điều khiển và giám sát người dùng trên môi trường Android Studio.
  5. Kiểm nghiệm, đo đạc và đánh giá kết quả hoạt động thực tế của toàn hệ thống.

Đối tượng nghiên cứu là hệ thống nhúng điều khiển xe 4 bánh sử dụng vi điều khiển PIC16F887, mạch cầu H L298N, module Bluetooth HC-05, cảm biến DHT21 và phần mềm điều khiển Android. Phạm vi nghiên cứu bị giới hạn trong bán kính điều khiển từ 12 đến 15 mét, hoạt động tối ưu trên địa hình bằng phẳng hoặc có độ dốc nhỏ, truyền tín hiệu điều khiển bằng sóng Bluetooth và truyền tín hiệu hình ảnh thông qua sóng Wi-Fi từ một điện thoại phụ gắn trên xe.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình kỹ thuật

Nghiên cứu dựa trên các nền tảng lý thuyết kỹ thuật điện tử, vi điều khiển và truyền thông không dây:

  • Kiến trúc vi điều khiển RISC: Khảo sát tập lệnh (35 lệnh đơn), hệ thống thanh ghi cấu hình, 3 kiểu định địa chỉ, cơ chế hoạt động của bộ đếm chương trình (PC), bộ nhớ ngăn xếp (Stack 8 cấp), bộ nhớ Flash ROM (8KB), EEPROM (256 Byte) và RAM của chip PIC16F887.
  • Kỹ thuật điều chế độ rộng xung (PWM): Nguyên lý điều khiển tốc độ động cơ DC thông qua việc thay đổi hệ số chu kỳ (Duty Cycle). Chu kỳ xung PWM được xác định theo biểu thức: $$T_{PWM} = [PR2 + 1] \times 4 \times T_{OSC} \times PV_{TMR2}$$ Hệ số chu kỳ được điều chỉnh qua thanh ghi 10-bit tạo bởi $CCPRxL$ và $CCPxCON\langle5:4\rangle$: $$\text{Duty Cycle} = (CCPRxL:CCPxCON\langle5:4\rangle) \times T_{OSC} \times PV_{TMR2}$$
  • Cơ chế ngắt và truyền thông nối tiếp EUSART: Phân tích hệ thống thanh ghi điều khiển ngắt ($INTCON$, $PIE1$, $PIR1$, $PIE2$, $PIR2$) cùng các thanh ghi truyền thông bất đồng bộ song công ($TXSTA$, $RCSTA$, $BAUDCTL$) để cấu hình tốc độ baud và nhận diện dữ liệu.
  • Hệ điều hành di động và giao thức truyền thông: Cấu trúc mã nguồn mở trên nền Linux của Android; nguyên lý truyền sóng vô tuyến tầm ngắn qua băng tần ISM (2,4 – 2,48 GHz) theo chuẩn Bluetooth v2.0 + EDR.

Phương pháp nghiên cứu

  • Phương pháp tính toán và thiết kế kỹ thuật: Tính toán cân bằng công suất và dòng tiêu thụ tĩnh/động cho toàn bộ các khối phần cứng để lựa chọn nguồn pin và IC ổn áp phù hợp.
  • Phương pháp lập trình nhúng và phát triển ứng dụng: Sử dụng trình biên dịch CCS C để xây dựng firmware điều khiển cho PIC16F887 và Android Studio (ngôn ngữ Java/XML) để lập trình giao diện điều khiển di động.
  • Phương pháp thực nghiệm và kiểm thử chức năng: Lắp ráp mô hình thực tế, kiểm tra đáp ứng điều khiển của hệ thống truyền động qua 2 chế độ (nút bấm và cảm biến nghiêng), đo đạc độ chính xác truyền telemetry và độ trễ khung hình.

Nguồn dữ liệu

Nghiên cứu sử dụng dữ liệu từ tài liệu kỹ thuật (datasheet) của nhà sản xuất linh kiện (Microchip, Guangzhou HC Information Technology, Aosong Electronics), kết hợp số liệu đo kiểm thực nghiệm điện áp, dòng điện tiêu thụ và tầm hoạt động tại xưởng thực hành.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc module hóa phân tầng, kết nối mạch lạc giữa khối phần cứng trên xe và khối điều khiển di động.

[Điện thoại Android (App điều khiển)] <--- Bluetooth HC-05 ---> [PIC16F887] ---> [Mạch cầu H L298N] ---> [4 Động cơ DC]
                  ^                                                   ^
                  |--- Wi-Fi (Video) --- [Điện thoại quay camera]     |--- [Cảm biến DHT21]

1. Phân bổ công suất và tính toán khối nguồn

Nguồn cấp cho toàn hệ thống sử dụng pack pin Li-ion 3 cell 18650 mắc nối tiếp (điện áp định mức 11,1VDC - 12VDC, dung lượng 2500mAh). Điện áp nguồn được cấp trực tiếp cho mạch cầu H L298N để lái động cơ, đồng thời đưa qua IC ổn áp LM7805 nhằm tạo ra nguồn 5VDC (dòng ra tối đa 1A) cung cấp cho vi điều khiển và các module ngoại vi.

Thành phần linh kiện Điện áp hoạt động Dòng điện tiêu thụ Ghi chú
Module Bluetooth HC-05 5 VDC 30 mA Chuẩn giao tiếp UART, 9600 baud
Vi điều khiển PIC16F887 5 VDC 25 mA Hoạt động với thạch anh 20 MHz
Mạch công suất L298N (logic) 5 VDC 70 mA Mạch lái 2 cầu H tích hợp
4 Động cơ DC giảm tốc 11,1 – 12 VDC 560 mA 140 mA/động cơ ($140 \times 4$)
Còi báo hiệu (Buzzer) 5 VDC 30 mA Báo trạng thái cảnh báo
3 Đèn LED chiếu sáng 5 VDC 30 mA Chiếu sáng phía trước
Cảm biến DHT21 5 VDC 0,3 mA (300 µA) Chuẩn truyền dữ liệu 1-wire
Tổng dòng tiêu thụ toàn hệ thống — 615,3 mA Đảm bảo vận hành với nguồn pin 2500mAh

2. Thiết kế phần cứng và kết nối vi điều khiển

  • Khối xử lý trung tâm: Sử dụng Kit PIC mini tích hợp vi điều khiển PIC16F887 với thạch anh ngoài 20MHz (chu kỳ lệnh 200ns). Các chân xuất xung PWM ($RC1/CCP2$, $RC2/CCP1$) kết nối đến các chân kích hoạt ($ENA$, $ENB$) của mạch L298N; các chân xuất mức logic $RD0 - RD3$ nối với các ngõ vào $IN1 - IN4$ của L298N để đảo chiều quay động cơ.
  • Khối truyền thông: Module HC-05 giao tiếp bất đồng bộ qua 2 chân $TX/RX$ kết nối chéo với chân $RC7/RX$ và $RC6/TX$ của PIC16F887, cấu hình thông số mặc định: tốc độ baud 9600 bps, 8 bit dữ liệu, 1 bit stop, không có bit chẵn lẻ (no parity).
  • Khối cảm biến môi trường: Cảm biến DHT21 (dải đo độ ẩm 0 – 99,9% RH, sai số $\pm 3%$; nhiệt độ $-40^\circ\text{C} \text{ đến } 80^\circ\text{C}$, sai số $\pm 0,5^\circ\text{C}$) kết nối với vi điều khiển qua một chân dữ liệu duy nhất (giao thức 1-wire) kéo trở lên nguồn.

3. Thiết kế phần mềm và giải thuật điều khiển

  • Firmware trên PIC16F887 (CCS C): Chương trình chính khởi tạo các ngắt ngoại vi, cấu hình timer2 để phát xung PWM điều khiển tốc độ và cấu hình khối EUSART. Khi nhận tín hiệu điều khiển từ Bluetooth, chương trình phục vụ ngắt nhận dữ liệu ($RDA$) lập tức giải mã byte lệnh để xuất tín hiệu logic điều khiển chiều quay và mức điện áp điều tốc cho 4 động cơ; định kỳ kích hoạt đọc dữ liệu nhiệt độ - độ ẩm từ DHT21 và gửi chuỗi ký tự về điện thoại qua UART.
  • Ứng dụng di động (Android Studio): Cung cấp giao diện tương tác gồm các cụm chức năng: quét/kết nối Bluetooth, bảng điều khiển hướng (tiến, lùi, rẽ trái, rẽ phải, dừng), công tắc chuyển đổi chế độ cảm biến gia tốc (Accelerometer), khung hiển thị luồng video (nhận qua IP camera) và màn hình thông số nhiệt độ, độ ẩm.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương này phân tích tính cấp thiết của việc tự động hóa và ứng dụng công nghệ điều khiển từ xa trong đời sống thực tiễn. Tác giả xác định các yêu cầu kỹ thuật của đề tài, đặt ra 5 nội dung nghiên cứu trọng tâm, xác định phạm vi giới hạn về khoảng cách kết nối (12–15m), hệ điều hành hỗ trợ (Android) và lập kế hoạch tiến độ thực hiện đồ án trong 11 tuần (từ 01/04/2017 đến 08/07/2017).

Chương 2: Cơ sở lý thuyết

Tập trung trình bày chi tiết về cấu trúc phần cứng và tập lệnh của họ vi điều khiển PIC, đặc biệt là vi điều khiển PIC16F887 với kiến trúc bộ nhớ, các bộ định thời (Timer0, Timer1, Timer2), nguyên lý phát xung PWM và sơ đồ logic của 5 thanh ghi ngắt ($INTCON, PIE1, PIR1, PIE2, PIR2$). Đồng thời, chương này khảo sát toàn diện khối truyền thông EUSART thông qua các thanh ghi $TXSTA, RCSTA, BAUDCTL$, giới thiệu lịch sử phát triển, cấu trúc đa nhiệm của hệ điều hành Android và các phiên bản tiêu chuẩn Bluetooth từ 1.0 đến 5.0.

Chương 3: Thiết kế mô hình

Trình bày sơ đồ khối tổng thể của xe mô hình gồm 8 khối chức năng: khối nguồn, khối điều khiển, khối cảm biến, khối giao tiếp, khối công suất, khối động cơ DC, khối ghi nhận hình ảnh và khối thực thi điều khiển. Chương này cung cấp các bảng tính toán chi tiết về dòng tiêu thụ của từng linh kiện (tổng cộng 615,3mA), tính toán lựa chọn pin 3 cell 18650 (11,1V - 2500mAh) và IC hạ áp LM7805, đồng thời công bố sơ đồ chân và sơ đồ nguyên lý của Kit PIC mini, cảm biến DHT21, module Bluetooth HC-05 và mạch công suất cầu H kép L298N.

Chương 4: Thi công mô hình

Trình bày các bước hiện thực hóa phần cứng xe mô hình (khung gầm 4 bánh, giá đỡ điện thoại ghi hình, cách bố trí các board mạch). Mô tả chi tiết lưu đồ giải thuật của chương trình chính vi điều khiển, chương trình phục vụ ngắt nhận dữ liệu UART và lưu đồ thuật toán ứng dụng Android. Cung cấp quy trình từng bước cài đặt phần mềm Android Studio, trình biên dịch CCS C, các bước tạo project, lập trình giao diện người dùng (UI) và tài liệu hướng dẫn vận hành hệ thống.

Chương 5: Kết quả thực nghiệm

Ghi nhận kết quả thử nghiệm thực tế của xe mô hình qua các kịch bản hoạt động: điều khiển chuyển động bằng nút bấm ảo trên màn hình, điều khiển bằng cách nghiêng điện thoại thông qua cảm biến gia tốc, kiểm tra việc truyền nhận dữ liệu nhiệt độ - độ ẩm từ xe về điện thoại và kiểm tra độ trễ luồng hình ảnh truyền qua sóng Wi-Fi từ camera gắn trên xe.

Chương 6: Kết luận và hướng phát triển

Đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu so với mục tiêu đề ra ban đầu, tổng hợp các điểm hạn chế về mặt cơ khí và truyền thông của mô hình, đồng thời đề xuất các giải pháp kỹ thuật mở rộng cho các nghiên cứu tiếp theo.

Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  1. Chế tạo hoàn chỉnh phần cứng xe mô hình: Hệ thống khung gầm 4 bánh dẫn động độc lập bằng động cơ DC giảm tốc, tích hợp mạch cầu H L298N đáp ứng dòng tải an toàn (mỗi cầu H tải tối đa 2A trong khi mỗi động cơ tiêu thụ tối đa 140mA).
  2. Triển khai thành công 2 chế độ điều khiển:
    • Chế độ nút bấm: Điều khiển các trạng thái tiến, lùi, xoay trái, xoay phải và dừng xe một cách chính xác.
    • Chế độ cảm biến gia tốc: Chuyển đổi góc nghiêng của điện thoại thành lệnh điều khiển hướng chuyển động tương ứng.
  3. Giám sát môi trường và truyền hình ảnh:
    • Đọc và hiển thị chính xác giá trị nhiệt độ (sai số trong khoảng $\pm 0,5^\circ\text{C}$) và độ ẩm (sai số $\pm 3%$) từ cảm biến DHT21 qua giao thức 1-wire và UART.
    • Truyền phát hình ảnh trực tiếp từ camera của điện thoại gắn trên xe về điện thoại điều khiển thông qua kết nối mạng Wi-Fi nội bộ.
  4. Phạm vi và hiệu năng vận hành: Xe hoạt động ổn định trong bán kính từ 12 đến 15 mét trên bề mặt phẳng, tổng dòng tiêu thụ toàn tải đo được là 615,3mA, đảm bảo thời gian hoạt động liên tục với pack pin dung lượng 2500mAh.

Giải pháp kỹ thuật tác giả đề xuất

  • Kết hợp 2 động cơ mỗi bên mắc song song vào một nhánh cầu H của L298N để tối ưu hóa cổng xuất tín hiệu PWM của PIC16F887 mà vẫn đảm bảo lực kéo đồng đều cho 4 bánh xe.
  • Tách biệt kênh truyền điều khiển (sử dụng Bluetooth v2.0 nhằm tiết kiệm năng lượng, độ trễ thấp) và kênh truyền dữ liệu hình ảnh (sử dụng Wi-Fi băng thông cao) để tránh hiện tượng nghẽn mạng trên vi điều khiển 8-bit.

Đóng góp của đề tài

Đồ án đã tổng hợp và hiện thực hóa thành công mô hình nhúng kết hợp giữa vi điều khiển PIC16F887 và thiết bị thông minh chạy Android; xây dựng được quy trình thiết kế, giải thuật điều khiển và sơ đồ đấu nối chi tiết, cung cấp tài liệu kỹ thuật hoàn chỉnh cho việc phát triển các mô hình robot giám sát môi trường cỡ nhỏ.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Nền tảng phần mềm: Ứng dụng điều khiển mới chỉ được xây dựng riêng cho hệ điều hành Android, chưa hỗ trợ các hệ điều hành di động khác.
  • Khả năng thích ứng địa hình: Xe mô hình chỉ vận hành tốt trên bề mặt phẳng hoặc độ dốc nhỏ; chưa có hệ thống giảm xóc và bánh xe chuyên dụng cho địa hình gồ ghề.
  • Phạm vi truyền thông: Tầm điều khiển bị giới hạn trong khoảng 12 – 15m do đặc tính suy hao tín hiệu của chuẩn Bluetooth HC-05 khi có vật cản.
  • Cấu trúc phần cứng giám sát: Việc truyền hình ảnh còn phụ thuộc vào một chiếc điện thoại thông minh thứ hai gắn trên thân xe thay vì tích hợp camera module trực tiếp vào board mạch điều khiển.

Hướng phát triển tiếp theo

  • Nghiên cứu nâng cấp phần cứng, tích hợp camera trực tiếp (như module camera IP hoặc xử lý ảnh trên Raspberry Pi/ESP32) để giảm kích thước và chi phí phần cứng.
  • Trang bị thêm các cảm biến chống va chạm (cảm biến siêu âm SRF04/HC-SR04, cảm biến hồng ngoại) để hỗ trợ xe tự động phát hiện và tránh vật cản.
  • Mở rộng phạm vi điều khiển bằng cách chuyển đổi phương thức truyền thông từ Bluetooth sang mạng Internet (IoT, 3G/4G/Wi-Fi) để điều khiển xe không giới hạn khoảng cách.
  • Nâng cấp cơ cấu cơ khí, sử dụng động cơ có moment xoắn lớn hơn và hệ thống bánh xích hoặc bánh xe địa hình để xe di chuyển được trên nhiều dạng bề mặt phức tạp.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực nghiệm giá trị cho sinh viên và kỹ sư thuộc các chuyên ngành Kỹ thuật Điện - Điện tử, Điện tử Viễn thông, Tự động hóa, Cơ điện tử và Kỹ thuật Phần mềm Nhúng:

  • Tham khảo thiết kế phần cứng: Cung cấp phương pháp tính toán cân bằng dòng tải cho hệ thống nhúng dùng pin, nguyên lý kết nối module Bluetooth HC-05, IC hạ áp LM7805 và mạch cầu H L298N điều khiển động cơ DC qua PWM.
  • Tham khảo lập trình vi điều khiển: Nguồn tài liệu chi tiết về cấu hình thanh ghi truyền thông UART, cấu hình chu kỳ và Duty Cycle của khối PWM, cơ chế xử lý ngắt nhận dữ liệu ($RDA$) trên vi điều khiển PIC16F887 bằng trình biên dịch CCS C.
  • Tham khảo lập trình Android: Hướng dẫn từng bước xây dựng ứng dụng Android giao tiếp Bluetooth qua RFCOMM/SPP, cách đọc dữ liệu cảm biến gia tốc từ phần cứng điện thoại và nhúng luồng stream video vào giao diện người dùng.

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

1. Khối nguồn của xe mô hình được thiết kế và tính toán như thế nào để đảm bảo tải? Hệ thống sử dụng pack pin 3 cell 18650 mắc nối tiếp, cung cấp điện áp 11,1V - 12VDC và dung lượng 2500mAh. Nguồn này cấp trực tiếp cho 4 động cơ DC qua mạch L298N (tiêu thụ tối đa $140\text{mA} \times 4 = 560\text{mA}$) và qua IC ổn áp LM7805 để tạo nguồn 5VDC cấp cho PIC16F887 (25mA), Bluetooth HC-05 (30mA), L298N logic (70mA), còi (30mA), 3 LED (30mA) và DHT21 (0,3mA). Tổng dòng tiêu thụ toàn tải là 615,3mA, nhỏ hơn rất nhiều so với dung lượng 2500mA của pin, đảm bảo an toàn và thời gian vận hành ổn định.

2. Vi điều khiển PIC16F887 điều khiển hướng và tốc độ động cơ thông qua những chân nào? PIC16F887 xuất 2 kênh xung PWM tại chân $RC1/CCP2$ và $RC2/CCP1$ đưa vào chân $ENA, ENB$ của module L298N để điều chỉnh tốc độ cho 2 cặp động cơ hai bên. Chiều quay của động cơ được điều khiển thông qua 4 chân logic $RD0, RD1, RD2, RD3$ nối trực tiếp vào các ngõ vào $IN1, IN2, IN3, IN4$ của mạch cầu H L298N.

3. Hai chế độ điều khiển trên ứng dụng Android hoạt động như thế nào? Ứng dụng cung cấp 2 cơ chế điều khiển: (1) Chế độ nút nhấn với các phím ảo (Tiến, Lùi, Trái, Phải, Stop) trên màn hình cảm ứng để gửi trực tiếp các ký tự mã lệnh qua Bluetooth; (2) Chế độ cảm biến gia tốc sử dụng cảm biến góc nghiêng tích hợp trên điện thoại, khi người dùng nghiêng thiết bị theo các hướng, ứng dụng sẽ tính toán tọa độ trục gia tốc để tự động gửi mã lệnh điều khiển xe di chuyển tương ứng.

4. Cơ chế truyền nhận hình ảnh và thông số cảm biến môi trường được phân chia ra sao? Hệ thống sử dụng cơ chế truyền thông kép: Dữ liệu điều khiển chuyển động và thông số nhiệt độ - độ ẩm từ cảm biến DHT21 được truyền nhận hai chiều giữa xe và điện thoại qua sóng Bluetooth (module HC-05 kết nối UART với PIC16F887). Dữ liệu hình ảnh được truyền phát độc lập bằng sóng Wi-Fi từ camera của một điện thoại phụ gắn trên xe về điện thoại của người điều khiển để tối ưu băng thông và giảm tải xử lý cho vi điều khiển.

5. Module Bluetooth HC-05 được thiết lập với các thông số mặc định nào trong đồ án? Module Bluetooth HC-05 hoạt động ở dải điện áp 3,3V – 5VDC, dòng truyền nhận 8mA (tối đa 30mA), chuẩn Bluetooth v2.0 + EDR trên băng tần 2,4GHz. Module được cấu hình mặc định ở tốc độ Baudrate 9600 bps, cấu hình khung truyền N, 8, 1 (No parity, 8 data bits, 1 stop bit) và mật khẩu ghép nối mặc định là "1234".

Kết luận

Đồ án tốt nghiệp "Điều khiển xe mô hình bằng ứng dụng Android trên điện thoại" của nhóm tác giả Trần Duy Khang và Nguyễn Văn Dưỡng đã thiết kế và chế tạo thành công một hệ thống xe mô hình 4 bánh tích hợp giám sát hoàn chỉnh. Nghiên cứu giải quyết tốt các bài toán kỹ thuật từ tính toán cân bằng công suất nguồn, lập trình nhúng điều khiển động cơ qua PWM trên PIC16F887, đến xây dựng ứng dụng di động Android hỗ trợ đa chế độ điều khiển và giám sát môi trường. Mặc dù còn hạn chế về địa hình di chuyển và sự phụ thuộc vào thiết bị ghi hình phụ, kết quả đạt được có tính ứng dụng thực tiễn cao và cung cấp tài liệu kỹ thuật có giá trị cho các nghiên cứu phát triển robot nhúng tiếp theo.