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

Sự phát triển của khoa học và công nghệ mang lại nhiều cải thiện về điều kiện sống và phương tiện làm việc hiện đại. Tuy nhiên, sự gia tăng của các hoạt động sản xuất công nghiệp, thiết bị gia dụng đốt nhiên liệu, phương tiện giao thông và các hiện tượng tự nhiên như cháy rừng đã gây ra tình trạng ô nhiễm môi trường nghiêm trọng, trong đó ô nhiễm không khí là vấn đề nguy hại hàng đầu đối với sức khỏe con người. Theo dữ liệu từ Tổ chức Y tế Thế giới (WHO), gần 99% dân số toàn cầu phải hít thở không khí vượt quá giới hạn hướng dẫn về chất lượng không khí, trong đó các quốc gia có thu nhập thấp và trung bình chịu mức độ phơi nhiễm cao nhất. Khoảng 2,4 tỷ người tiếp xúc với mức độ ô nhiễm không khí nguy hại trong nhà bắt nguồn từ việc sử dụng các loại bếp nấu hở sử dụng nhiên liệu hóa thạch, sinh khối hoặc than đá.

Các chất gây ô nhiễm không khí chính bao gồm bụi mịn (PM), carbon monoxide (CO), ozone ($O_3$), nitrogen dioxide ($NO_2$) và sulfur dioxide ($SO_2$). Những hạt bụi siêu mịn và khí độc có khả năng xâm nhập sâu vào phổi, đi vào hệ tuần hoàn máu và lan truyền đến các cơ quan nội tạng, dẫn đến các bệnh về tim mạch, hen suyễn, ung thư phổi và viêm hệ thống. Trẻ em với hệ thống miễn dịch chưa hoàn thiện là đối tượng chịu tổn thương nặng nề nhất, ảnh hưởng trực tiếp đến quá trình phát triển thể chất. Do đó, việc giám sát các chỉ số chất lượng không khí là yêu cầu thiết thực để đưa ra các biện pháp bảo vệ sức khỏe con người.

Từ yêu cầu thực tế đó, đề tài "Thiết kế và xây dựng mô hình xe giám sát chất lượng môi trường từ xa" (Design and Construct a Model of a Vehicle to Monitor the Quality of the Environment Remotely) được thực hiện bởi nhóm sinh viên Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. Đề tài tập trung vào việc tạo ra một thiết bị có khả năng di chuyển vào các khu vực không gian hẹp, độc hại hoặc ngoài tầm quan sát trực tiếp của con người để thu thập dữ liệu môi trường và truyền phát hình ảnh trực tiếp qua Internet.

Mục tiêu và các nhiệm vụ nghiên cứu được xác định cụ thể trong văn bản:

  1. Nhiệm vụ 1: Nghiên cứu tổng quan và tìm hiểu các tài liệu, mô hình liên quan đến đề tài.
  2. Nhiệm vụ 2: Nghiên cứu và lựa chọn các linh kiện phần cứng, cảm biến và bộ điều khiển thích hợp.
  3. Nhiệm vụ 3: Xây dựng lưu đồ giải thuật; lập trình giao tiếp giữa vi điều khiển chính và các thiết bị ngoại vi.
  4. Nhiệm vụ 4: Thiết kế, lắp ráp hoàn chỉnh mô hình hệ thống; chạy thử nghiệm và hiệu chỉnh thông số hoạt động.
  5. Nhiệm vụ 5: Viết báo cáo tổng kết và chuẩn bị tài liệu bảo vệ đề tài tốt nghiệp.

Đối tượng nghiên cứu là mô hình xe robot giám sát môi trường tích hợp vi điều khiển Raspberry Pi 4B, Arduino Nano, các cảm biến nhiệt độ - độ ẩm (DHT11), cảm biến chất lượng không khí (MQ135), module camera và giao diện điều khiển web server. Phạm vi nghiên cứu tập trung vào việc điều khiển xe di chuyển qua mạng, truyền luồng video thời gian thực và ghi nhận dữ liệu môi trường đưa lên nền tảng đám mây IoT.

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

Khung lý thuyết của đề tài dựa trên nền tảng Internet of Things (IoT) và các giao thức truyền thông dữ liệu phần cứng:

  • Internet of Things (IoT): Khái niệm do Kevin Ashton đề xuất năm 1999 tại Viện Công nghệ Massachusetts (MIT), mô tả mạng lưới các đối tượng vật lý tích hợp cảm biến, bộ điều khiển và phần mềm nhằm trao đổi dữ liệu qua mạng với máy chủ đám mây.
  • Giao thức UART (Universal Asynchronous Receiver-Transmitter): Giao thức truyền thông nối tiếp bất đồng bộ. Dữ liệu nhị phân truyền nối tiếp theo khung bao gồm bit Start ('0'), chuỗi dữ liệu (LSB gửi trước), bit chẵn/lẻ (Parity bit: '0' ứng với chẵn, '1' ứng với lẻ) và bit Stop. Tốc độ truyền baud xác định độ trễ thời gian cho từng bit truyền (ví dụ: tốc độ 9600 baud tương ứng độ trễ 108 µs/bit).
  • Giao thức I2C (Inter-Integrated Circuit): Giao thức truyền thông đồng bộ hai dây sử dụng đường dữ liệu nối tiếp (SDA) và đường xung nhịp nối tiếp (SCL), hỗ trợ cấu hình Master - Slave với khả năng định địa chỉ tối đa 128 thiết bị ngoại vi trên cùng một bus.
  • Các chuẩn mạng không dây Wi-Fi (IEEE 802.11): Báo cáo tổng hợp các đặc tính kỹ thuật của các chuẩn mạng không dây từ năm 1999 đến 2019:
Chuẩn Wi-Fi Năm phát hành Tần số hoạt động Băng thông tối đa Đặc điểm chính
802.11 1997 2.4 GHz 2 Mbps Băng thông thấp, hạn chế truyền dữ liệu
802.11b 1999 2.4 GHz 11 Mbps Giá thành hợp lý, dễ bị nhiễu sóng băng tần 2.4 GHz
802.11a 1999 5 GHz 54 Mbps Tốc độ cao, tránh nhiễu, tầm phủ sóng hẹp hơn
802.11g 2003 2.4 GHz 54 Mbps Kết hợp chuẩn b và a, cự ly hoạt động rộng
802.11n 2009 2.4 GHz & 5 GHz 100 Mbps Sử dụng công nghệ đa ăng-ten MIMO
802.11ac 2013 5 GHz 1 Gbps Mở rộng chuẩn n, hỗ trợ tối đa 8 luồng dữ liệu MIMO
802.11ad - 60 GHz 70 Gbps Tần số 60 GHz bị hấp thụ bởi oxy, dùng cho điểm - điểm

Phương pháp nghiên cứu thực tế được triển khai bao gồm:

  • Phương pháp nghiên cứu tài liệu kỹ thuật, datasheet của vi điều khiển, cảm biến và IC điều khiển.
  • Phương pháp thiết kế hệ thống nhúng phối hợp: phân chia tác vụ xử lý giữa máy tính nhúng trung tâm (Raspberry Pi 4B) và vi điều khiển thu thập tín hiệu (Arduino Nano).
  • Phương pháp thực nghiệm mô hình hóa: xây dựng phần cứng thực tế trên khung xe AlphaBot2, lập trình điều khiển, đo đạc thử nghiệm khả năng vận hành và hiệu chỉnh dữ liệu cảm biến.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc gồm 8 khối chức năng liên kết với nhau:

1. Phần cứng và linh kiện sử dụng

Thông số kỹ thuật các thành phần phần cứng được tác giả tổng hợp chi tiết:

Khối chức năng Tên linh kiện / Thiết bị Thông số kỹ thuật chính
Khung xe robot Waveshare AlphaBot2 Tầng đế (AlphaBot2-Base): Cảm biến dò line 5 kênh, cảm biến hồng ngoại ST188, ITR20001/T, bộ so sánh LM393, LED WS2812B, 2 động cơ vi sai N20 (tỉ số truyền 1:30, 6V/600RPM), bánh xe cao su đường kính 42mm, khay pin 14500.
Tầng điều khiển (AlphaBot2-Pi): Mạch ổn áp LM2596 (5V), chip ADC TLC1543 10-bit, chip điều khiển servo PCA9685, mạch chuyển đổi USB-UART CP2102, còi Buzzer.
Điều khiển trung tâm Raspberry Pi 4 Model B Chip SoC Broadcom BCM2711 4 nhân Cortex-A72 64-bit @1.5GHz; Wi-Fi chuẩn 802.11ac, Bluetooth 5.0; 40 chân GPIO; cổng MIPI CSI cho camera; hệ điều hành Raspberry Pi OS.
Vi điều khiển phụ Arduino Nano Vi điều khiển ATmega328, điện áp 5V, bộ nhớ Flash 32KB (2KB bootloader), 2KB SRAM, 1KB EEPROM, xung nhịp 16MHz, 8 chân Analog in, 22 chân Digital I/O (6 kênh PWM).
Cảm biến nhiệt/ẩm DHT11 Điện áp 3.5V - 5.5V; truyền thông 1 dây (Single-bus); dải đo nhiệt độ 0°C đến 50°C (sai số ±2°C); dải đo độ ẩm 20% đến 90% (sai số ±5%).
Cảm biến khí gas MQ135 Phát hiện khí độc, khói, $NH_3$, Alcohol, $CO_2$; điện áp mạch $\le 24\text{V}$ DC; điện áp sấy $5.1\text{V}$; công suất sấy $\le 950\text{mW}$; ngõ ra Analog Output và Digital Output qua biến trở điều chỉnh ngưỡng.
Mạch lái động cơ TB6612FNG Driver cầu H kép điều khiển 2 động cơ DC, dòng định mức cao hơn và tản nhiệt ít hơn L298P; 4 chế độ hoạt động: quay thuận (CW), quay nghịch (CCW), phanh ngắn (Short brake) và dừng (Stop).
Động cơ servo SG90 Điện áp 5V; lực kéo $2.5\text{kg/cm}$; tốc độ $0.1\text{s}/60^\circ$; góc quay $0^\circ - 180^\circ$; điều khiển bằng xung PWM chu kỳ 20ms (50Hz), thời gian mức cao $1\text{ms} (0^\circ)$, $1.5\text{ms} (90^\circ)$, $2\text{ms} (180^\circ)$.
Camera Raspberry Pi Camera V1.3 Cảm biến OV5647 5MP (độ phân giải $2592 \times 1944$ pixels); hỗ trợ chế độ video 1080p30, 720p60, 640x480p60/90; góc nhìn $62.2^\circ$; kích thước $25 \times 24 \times 9\text{ mm}$, trọng lượng 3g.

2. Triển khai phần mềm và giao tiếp hệ thống

Hệ thống phần mềm được xây dựng qua các bước tích hợp:

  • Cài đặt môi trường: Sử dụng VNC Viewer kết nối Raspberry Pi qua địa chỉ IP cục bộ. Cài đặt Python 3, IDLE 3 và Arduino IDE trên hệ điều hành của Raspberry Pi.
  • Truyền luồng hình ảnh (Camera Streaming): Sử dụng gói phần mềm mjpg-streamer biên dịch từ mã nguồn mjpg-streamer-experimental qua CMake và GCC/G++. Luồng video định dạng JPEG được trích xuất từ camera module (input_raspicam.so) và phát ra cổng mạng HTTP (output_http.so) tại cổng 8080.
  • Xây dựng Web Server: Ứng dụng micro-framework Bottle trong môi trường Python trên Raspberry Pi để tạo máy chủ HTTP nhẹ phục vụ giao diện điều khiển robot và nhúng luồng camera cùng đồ thị dữ liệu.
  • Thu thập và đẩy dữ liệu môi trường: Arduino Nano đọc dữ liệu định kỳ từ cảm biến DHT11 và MQ135, truyền chuỗi dữ liệu nối tiếp qua giao tiếp UART đến Raspberry Pi. Mã nguồn Python trên Raspberry Pi nhận dữ liệu, xử lý và đẩy lên các kênh (Channel / Fields) của nền tảng ThingSpeak thông qua Write API Key.
  • Tạo mạng kết nối từ xa: Cài đặt phần mềm LogMeIn Hamachi nhằm tạo mạng riêng ảo (VPN) kết nối máy tính điều khiển và Raspberry Pi, cho phép vận hành xe từ xa qua mạng ngoài mà không bị giới hạn trong mạng LAN cục bộ.

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

Chương 1: Giới thiệu (Introduction)

Chương mở đầu phân tích bối cảnh ô nhiễm môi trường, sự cần thiết của việc giám sát các chỉ số không khí đối với sức khỏe cộng đồng và trẻ em. Tác giả trình bày mục tiêu xây dựng một mô hình xe robot điều khiển từ xa, xác định 5 nhiệm vụ triển khai, phương pháp nghiên cứu và nêu rõ 5 điểm hạn chế kỹ thuật của hệ thống.

Chương 2: Tổng quan tài liệu (Literature Review)

Chương 2 cung cấp kiến thức nền tảng về:

  • Phân loại mô hình điều khiển từ xa: điều khiển cự ly ngắn (bằng remote điều khiển trực tiếp, độ trễ thấp nhưng phạm vi hẹp) và điều khiển cự ly dài (thông qua môi trường mạng Internet và máy chủ web, phạm vi hoạt động rộng nhưng độ trễ phụ thuộc vào đường truyền mạng).
  • Bản chất mạng IoT và ứng dụng trong nông nghiệp, nhà thông minh, cảnh báo cháy và ngập lụt.
  • Nguyên lý định dạng khung truyền UART (Start bit, Data bits, Parity, Stop bit) và giao thức I2C (quan hệ Master - Slave, điều kiện Start/Stop, tín hiệu ACK).
  • Tổng quan tiến trình phát triển của các chuẩn mạng không dây IEEE 802.11 từ 802.11 gốc đến 802.11ad.
  • Cấu tạo phần cứng và sơ đồ chức năng của bộ kit robot AlphaBot2 (gồm module AlphaBot2-Base và AlphaBot2-Pi).

Chương 3: Phương pháp và thiết kế hệ thống (Methodology)

Chương 3 trình bày chi tiết sơ đồ khối hệ thống gồm 8 khối chức năng, nguyên lý hoạt động và việc lựa chọn thông số cho từng khối phần cứng. Tác giả xây dựng các lưu đồ thuật toán điều khiển tổng thể, lưu đồ điều khiển chuyển động xe (tiến, lùi, rẽ trái, rẽ phải, dừng) và lưu đồ điều khiển góc quay camera (lên, xuống, trái, phải). Chương này cũng hướng dẫn từng bước cài đặt phần mềm trên Raspberry Pi: cấu hình VNC, cài đặt mjpg-streamer, cấu hình kênh ThingSpeak, lập trình Python kết hợp framework Bottle và thiết lập mạng VPN qua LogMeIn Hamachi.

Chương 4: Kết quả thực nghiệm (Experiment Results)

Trình bày kết quả lắp ráp hoàn chỉnh mô hình thực tế của xe robot:

  • Hình ảnh bố trí các linh kiện trên thân xe: Arduino Nano, module MQ135, DHT11, module camera trên cơ cấu xoay servo và mạch Raspberry Pi 4B.
  • Giao diện người dùng trên web server được chia làm hai phần: nửa trên hiển thị khung hình ảnh trực tiếp từ camera cùng các nút điều hướng chuyển động của xe và góc quay camera; nửa dưới nhúng các biểu đồ đường thời gian thực (Line chart) từ ThingSpeak hiển thị nhiệt độ, độ ẩm và nồng độ chất lượng không khí/CO2.
  • Kết quả thử nghiệm độ nhạy của cảm biến MQ135 khi có nguồn kích thích (ngọn lửa/khí từ bật lửa) cho thấy đồ thị nồng độ tăng vọt rõ rệt so với trạng thái không khí bình thường.
  • Bảng so sánh dữ liệu đo đạc thực tế của hệ thống với các giá trị đối chứng.

Chương 5: Kết luận và hướng phát triển (Conclusions and Development)

Đánh giá mức độ hoàn thành nhiệm vụ theo tiến độ và mục tiêu đề ra; tổng kết các ưu điểm về khả năng tự chủ phần cứng, phần mềm và xác định các nội dung cần cải tiến cho giai đoạn tiếp theo.

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

1. Kết quả thực nghiệm chính

  • Xây dựng thành công mô hình phần cứng xe robot tích hợp hoàn chỉnh khối điều khiển trung tâm Raspberry Pi 4B, vi điều khiển phụ Arduino Nano và các cơ cấu cảm biến, camera, động cơ.
  • Thiết lập luồng truyền phát video trực tiếp ổn định từ camera OV5647 qua mjpg-streamer đến máy chủ web.
  • Vận hành cơ cấu xoay 2 trục của camera thông qua 2 động cơ servo SG90 nhận lệnh điều khiển từ giao diện web, mở rộng góc quan sát của người dùng.
  • Thu thập chính xác dữ liệu nhiệt độ, độ ẩm từ DHT11 và phát hiện sự thay đổi nồng độ khí từ cảm biến MQ135, truyền tải dữ liệu thành công qua giao thức UART lên Raspberry Pi và tự động cập nhật lên nền tảng ThingSpeak dưới dạng đồ thị trực quan.
  • Kết nối thành công hệ thống qua mạng diện rộng thông qua VPN LogMeIn Hamachi, cho phép vận hành xe ngoài mạng nội bộ.
  • Đồ án được giảng viên hướng dẫn đánh giá hoàn thành đúng tiến độ, đáp ứng đúng mục đích sử dụng và đạt mức điểm 6.5 (Xếp loại Khá/Good).

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

  • Đưa ra giải pháp tích hợp phần cứng kết hợp linh hoạt giữa máy tính nhúng Raspberry Pi 4B (đảm nhiệm xử lý mạng, truyền hình ảnh, máy chủ web) và vi điều khiển Arduino Nano (chuyên trách đọc tín hiệu cảm biến thời gian thực), giúp tối ưu hóa tài nguyên phần cứng.
  • Cung cấp tài liệu quy trình từng bước về cấu hình và kết hợp các công cụ mã nguồn mở (mjpg-streamer, Bottle, ThingSpeak, Hamachi) trong các ứng dụng robot giám sát môi trường không dây.

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

1. Hạn chế kỹ thuật được tác giả xác định

  • Tốc độ truyền tín hiệu: Phụ thuộc hoàn toàn vào băng thông và chất lượng của đường truyền kết nối Internet.
  • Khả năng chịu thời tiết: Khung xe và mạch điện không có vỏ bọc chống nước, không thể vận hành trong điều kiện trời mưa hoặc ẩm ướt cao.
  • Chất lượng truyền hình ảnh: Do sử dụng module camera chi phí thấp nên hình ảnh chụp và phát trực tiếp còn tồn tại độ trễ (delay-time).
  • Quản lý năng lượng: Hệ thống chưa trang bị mạch giám sát dung lượng pin theo thời gian thực, khiến người điều khiển không dự đoán được thời điểm xe cạn pin.
  • Định vị không gian: Xe chưa được tích hợp module định vị toàn cầu (GPS), gây khó khăn cho người điều khiển trong việc xác định vị trí thực tế của xe trong không gian rộng.

2. Hướng nghiên cứu và phát triển tiếp theo

  • Thiết kế bổ sung vỏ bọc kín kháng nước và chống bụi cho toàn bộ khung xe và mạch điện tử.
  • Tích hợp module GPS để cung cấp tọa độ địa lý của xe trên bản đồ giao diện điều khiển.
  • Lắp đặt mạch đo và cảnh báo mức điện áp pin về máy chủ web.
  • Nâng cấp module camera chất lượng cao hơn và tối ưu hóa giải thuật nén luồng video nhằm giảm thiểu độ trễ truyền dữ liệu.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực tế cho sinh viên và người nghiên cứu thuộc các chuyên ngành Kỹ thuật Điện tử - Truyền thông, Kỹ thuật Máy tính, Cơ điện tử và Kỹ thuật Điều khiển - Tự động hóa:

  • Tham khảo thiết kế hệ thống nhúng phối hợp: Cách thức thiết kế mạch kết nối, phân bổ nhiệm vụ xử lý giữa Raspberry Pi và Arduino qua giao thức truyền thông nối tiếp UART.
  • Tham khảo cấu hình phần mềm nhúng: Toàn bộ tập lệnh cài đặt và cấu hình thư viện mjpg-streamer, framework Bottle, API ThingSpeak và mạng VPN Hamachi.
  • Tham khảo giao tiếp cảm biến và điều khiển động cơ: Sơ đồ kết nối và thuật toán điều khiển động cơ DC qua driver TB6612FNG, điều khiển góc quay servo SG90 bằng xung PWM và đọc dữ liệu từ cảm biến DHT11, MQ135.

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

1. Vai trò của vi điều khiển phụ Arduino Nano trong hệ thống là gì?

Arduino Nano đóng vai trò là khối xử lý phụ (Sub-control unit block), nhận nhiệm vụ đọc các tín hiệu số từ cảm biến nhiệt độ - độ ẩm DHT11 và tín hiệu tương tự/số từ cảm biến chất lượng không khí MQ135. Sau đó, Arduino đóng gói và gửi dữ liệu môi trường này sang vi điều khiển trung tâm Raspberry Pi 4B thông qua giao tiếp nối tiếp UART (chân TX/RX).

2. Động cơ servo SG90 điều khiển góc quay camera được cấu hình tín hiệu như thế nào?

Động cơ servo SG90 được cấp nguồn 5V và điều khiển bằng phương pháp điều chế độ rộng xung (PWM) với tần số 50Hz (chu kỳ 20ms). Góc quay từ $0^\circ$ đến $180^\circ$ tương ứng với độ rộng xung mức cao (On-Time) từ 1ms đến 2ms (trong đó 1ms tương ứng $0^\circ$, 1.5ms tương ứng $90^\circ$ và 2ms tương ứng $180^\circ$).

3. Vì sao tác giả lựa chọn mạch lái động cơ TB6612FNG thay vì dòng IC L298P truyền thống?

Theo phân tích phần cứng trong văn bản, IC điều khiển động cơ cầu H kép TB6612FNG được tích hợp sẵn trên đế AlphaBot2-Base mang lại hiệu suất làm việc cao hơn, kích thước nhỏ gọn hơn và tỏa nhiệt ít hơn đáng kể so với mạch điều khiển sử dụng IC L298P.

4. Dữ liệu môi trường được lưu trữ và hiển thị trên giao diện người dùng bằng công nghệ nào?

Dữ liệu nhiệt độ, độ ẩm và nồng độ khí độc được Raspberry Pi gửi lên nền tảng đám mây ThingSpeak thông qua Write API Key. Sau đó, các biểu đồ đường (Line chart) từ các Channel Fields của ThingSpeak được trích xuất mã nhúng iframe để hiển thị trực tiếp trên giao diện web server viết bằng Python framework Bottle.

5. Giải pháp nào được sử dụng để điều khiển xe từ xa qua mạng diện rộng ngoài mạng LAN?

Nhóm tác giả sử dụng phần mềm tạo mạng riêng ảo LogMeIn Hamachi được cài đặt trên Raspberry Pi và thiết bị người dùng. Hamachi tạo ra một đường truyền VPN an toàn qua Internet, cho phép máy tính điều khiển truy cập vào địa chỉ IP nội bộ của Raspberry Pi từ bất kỳ vị trí địa lý nào có kết nối Internet.

Kết luận

Đồ án tốt nghiệp "Thiết kế và xây dựng mô hình xe giám sát chất lượng môi trường từ xa" đã hoàn thành việc thiết kế, chế tạo và vận hành thử nghiệm thành công một mô hình robot di động dựa trên nền tảng Raspberry Pi 4B, Arduino Nano và kit Waveshare AlphaBot2. Hệ thống thực hiện đầy đủ các chức năng điều khiển chuyển động, truyền hình ảnh trực tiếp, xoay camera đa hướng và quan trắc các thông số nhiệt độ, độ ẩm, chất lượng không khí qua giao diện máy chủ web. Kết quả nghiên cứu là nền tảng kỹ thuật hữu ích để tiếp tục hoàn thiện các thiết bị giám sát môi trường tự hành hoạt động tại các khu vực nguy hiểm trong thực tế.