Giới thiệu dự án

Sự bùng nổ của xu hướng tự động hóa nhà thông minh (Smart Home) và nông nghiệp chính xác (Smart Agriculture) đang thúc đẩy nhu cầu chuyển dịch từ các cơ cấu vận hành thủ công sang hệ thống nhúng tự hành. Theo báo cáo từ Statista, thị trường thiết bị tự động hóa dân dụng đạt tốc độ tăng trưởng kép hàng năm (CAGR) trên 22.3% trong giai đoạn 2021–2026. Tại các khu vực khí hậu nhiệt đới gió mùa như Việt Nam, sự biến đổi thời tiết thất thường với những cơn mưa rào bất chợt hoặc nắng gắt cực đoan gây ảnh hưởng trực tiếp đến cây trồng sân vườn, khu vực phơi nông sản, và không gian sinh hoạt ngoài trời.

Hầu hết các hệ thống bạt và mái che hiện nay trên thị trường vẫn dựa vào cơ cấu tời kéo tay hoặc công tắc cơ khí cục bộ, đòi hỏi sự có mặt và can thiệp liên tục của con người. Các giải pháp tự động thương mại hiện hữu thường có chi phí đắt đỏ, đóng kín về mặt công nghệ (proprietary closed-source), và thiếu khả năng đồng bộ dữ liệu vi khí hậu theo thời gian thực về máy chủ đám mây. Đồ án "Thiết kế và thi công mô hình hệ thống mái che tự động" được nghiên cứu và phát triển bởi sinh viên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (HCMUTE) nhằm giải quyết triệt để bài toán tự động hóa thích ứng thời tiết với chi phí tối ưu.

                  +-----------------------------------+
                  |      KHỐI XỬ LÝ TRUNG TÂM         |
                  |        (ESP32-WROOM-32)           |
                  +--+------+------------------+---+--+
                     |      |                  |   |
      +--------------+      |                  |   +--------------+
      | (I2C: 21, 22)|      | (GPIO 34)        | (GPIO 26, 27)    | (WiFi 802.11)
      v              v      v                  v                  v
+-----------+  +----------+ +-----------+  +-----------+    +-------------+
| Cảm biến  |  | Màn hình | | Cảm biến  |  | Driver    |    |   Firebase  |
| ánh sáng  |  | LCD1602  | | mưa       |  | L298N &   |    |  Realtime   |
| BH1750    |  | + I2C    | | YL-83     |  | Động cơ DC|    |  Database   |
+-----------+  +----------+ +-----------+  +-----------+    +-------------+
                                                 ^
                                                 | (GPIO 12, 13)
                                           +-----+-----+
                                           | Công tắc  |
                                           | hành trình|
                                           | KW10-N    |
                                           +-----------+

Mục tiêu dự án

  1. Thiết kế phần cứng hệ thống nhúng: Tích hợp thành công vi điều khiển lõi kép ESP32-WROOM-32 với các module cảm biến môi trường (BH1750, YL-83), mạch công suất điều khiển động cơ cầu H (L298N) và hiển thị LCD1602.
  2. Xây dựng thuật toán dung hợp cảm biến (Sensor Fusion): Xử lý tín hiệu thời gian thực từ cảm biến mưa và cảm biến cường độ sáng theo ngưỡng kích hoạt để tự động điều khiển đóng/mở mái che chính xác.
  3. Hiện thực hóa điều khiển lai (Dual-mode Control): Vận hành trơn tru giữa chế độ tự động (Auto Mode) dựa trên cảm biến và chế độ thủ công (Manual Mode) thông qua hệ thống phím bấm cứng.
  4. Bảo vệ cơ khí qua giới hạn hành trình: Triển khai công tắc hành trình KW10-N để ngắt động cơ tức thì tại hai điểm cực hạn, triệt tiêu dòng quá tải kẹt động cơ (Stall Current).
  5. Đồng bộ hóa dữ liệu IoT (Internet of Things): Kết nối mạng Wi-Fi 802.11 b/g/n băng tần 2.4 GHz để truyền tham số môi trường và trạng thái động cơ lên Firebase Realtime Database.

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

  • Phạm vi: Mô hình hóa cơ chế truyền động tịnh tiến của mái che tỷ lệ nhỏ (mô hình thu nhỏ), phân tích thuật toán đọc cảm biến số/tương tự, tối ưu điện năng tiêu thụ và truyền dữ liệu đám mây.
  • Giới hạn: Hoạt động trong vùng phủ sóng mạng Wi-Fi cục bộ 2.4 GHz; động cơ bước/DC sử dụng cho mô hình thử nghiệm chịu tải trọng cơ khí giới hạn dưới 5 kg.

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

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

Trước khi tiến hành thiết kế hệ thống, nhóm nghiên cứu đã khảo sát và đối chiếu các giải pháp điều khiển mái che hiện có trên thị trường:

Tiêu chí kỹ thuật Mái che tời tay truyền thống Hệ thống dùng PIC16F887 / Timer Giải pháp đề xuất (ESP32 + IoT)
Mức độ tự động hóa 0% (Thủ công hoàn toàn) Bán tự động (Chỉ theo thời gian/mưa thô) 100% Tự động thích ứng đa thông số
Cảm biến môi trường Không có Cảm biến điện trở mưa đơn giản BH1750 (Lux) + YL-83 (Nước mưa)
Giao thức điều khiển Cơ khí cáp kéo Relay ngắt trực tiếp Cầu H L298N + PWM + Ngắt hành trình
Kết nối mạng & Giám sát Không hỗ trợ Không hỗ trợ Wi-Fi 2.4GHz + Cloud Firebase
Giao diện người dùng Tay quay cơ Không có / Đèn LED báo Màn hình LCD1602 I2C + Web Server/App
Chi phí lắp đặt & Linh kiện Rất thấp (~100.000 VNĐ) Trung bình (~400.000 VNĐ) Tối ưu (~550.000 VNĐ)

Ma trận ưu tiên yêu cầu kỹ thuật (Phương pháp MoSCoW)

  • Must have (Bắt buộc): Tự động mở mái khi trời mưa; đóng/mở theo ngưỡng sáng (Lux); có phím bấm chuyển đổi Auto/Manual; tự ngắt khi chạm công tắc hành trình.
  • Should have (Nên có): Hiển thị trạng thái hoạt động và giá trị cảm biến lên LCD1602 qua giao tiếp I2C; cập nhật dữ liệu vi khí hậu lên Firebase.
  • Could have (Có thể mở rộng): Bàn phím cảm ứng điện dung TTP229; điều khiển trực tiếp từ xa qua ứng dụng di động Flutter/Android.
  • Won't have (Chưa thực hiện ở giai đoạn này): Tích hợp camera AI nhận diện mây giông; sử dụng tấm pin năng lượng mặt trời tích hợp bộ sạc MPPT.

Thiết kế hệ thống và sơ đồ đấu nối phần cứng

Kiến trúc hệ thống được chia thành 6 khối chức năng cốt lõi, đảm bảo cách ly nguồn công suất và nguồn xử lý tín hiệu số:

+-------------------------------------------------------------------------+
|                            ESP32-WROOM-32                               |
|  - CPU: Dual-Core 32-bit Xtensa LX6 @ 240 MHz                           |
|  - Bộ nhớ: 520 KB SRAM, 4 MB Flash                                      |
|  - Wireless: Wi-Fi 802.11 b/g/n (2.4 GHz) + Bluetooth v4.2 BR/EDR & BLE |
+--------+------------------+------------------+-----------------+--------+
         | (I2C Bus)        | (GPIO)           | (Motor GPIO)    | (Limit)
         v                  v                  v                 v
+-----------------+  +--------------+  +---------------+  +---------------+
| SDA: GPIO 21    |  | DO: GPIO 34  |  | IN1: GPIO 27  |  | Limit 1:      |
| SCL: GPIO 22    |  | (YL-83 Rain) |  | IN2: GPIO 26  |  | GPIO 12       |
| -> BH1750 (Lux) |  +--------------+  +---------------+  | Limit 2:      |
| -> LCD1602 I2C  |  | K1: GPIO 02  |  | L298N Driver  |  | GPIO 13       |
|    (Addr: 0x27) |  | K2: GPIO 04  |  | Out: Motor DC |  +---------------+
+-----------------+  | K3: GPIO 05  |  +---------------+
                     +--------------+

Bảng thông số linh kiện và Technology Stack

Thành phần phần cứng / Phần mềm Tên mã / Phiên bản Thông số kỹ thuật chính Vai trò trong hệ thống
Vi điều khiển trung tâm ESP32-WROOM-32 Dual Core 240MHz, 4MB Flash, Wi-Fi 2.4GHz Xử lý thuật toán, giao tiếp I2C, IoT Client
Cảm biến cường độ sáng GY-302 BH1750FVI Giao tiếp I2C (0x23), đo 1 - 65535 Lux, ADC 16-bit Đo bức xạ ánh sáng mặt trời
Cảm biến lượng mưa YL-83 + LM393 Diện tích bề mặt 7.20 cm², ngõ ra Digital (DO) & Analog (AO) Phát hiện hạt mưa rơi trên bề mặt
Mạch công suất điều khiển Module L298N Cầu H kép, $V_{in}$ 5–35V, $I_{peak}$ 2A, công suất max 20W Đảo chiều quay và điều tốc động cơ DC
Động cơ chấp hành TT Motor DC V1 Điện áp 3–9VDC, dòng 110–140mA, tỷ số truyền 1:48 Kéo / thu trục cuốn mái che
Công tắc ngắt hành trình KW10-N Microswitch Tiếp điểm 1NO + 1NC, định mức 250VAC/1A Chống kẹt và định vị điểm dừng vật lý
Màn hình hiển thị LCD1602 + PCF8574 2 dòng x 16 ký tự, chuẩn giao tiếp I2C Hiển thị thông số thời gian thực
Nền tảng Cloud Database Firebase Realtime DB REST API over Websocket, JSON Data Model Lưu trữ và đồng bộ trạng thái hệ thống

Sơ đồ cấu trúc dữ liệu JSON lưu trữ trên Firebase

{
  "smart_awning_system": {
    "telemetry": {
      "light_intensity_lux": 18450.5,
      "rain_detected": false,
      "ambient_status": "SUNNY"
    },
    "actuator_state": {
      "roof_position": "EXTENDED",
      "motor_direction": "IDLE",
      "limit_open_hit": true,
      "limit_close_hit": false
    },
    "control_settings": {
      "system_mode": "AUTO",
      "light_threshold_lux": 10000.0,
      "last_updated_timestamp": 1714548920
    }
  }
}

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình phát triển hệ thống nhúng dạng V-Model kết hợp các chu kỳ lặp ngắn (Agile Iteration):

  • Phân tích yêu cầu & Thiết kế nguyên lý: Tính toán công suất tải và phân bổ đường cấp nguồn riêng biệt. Khối xử lý tín hiệu 5V tiêu thụ dòng tổng $I_{5V} = 352.5\text{ mA}$ (sử dụng Adapter 5VDC-1A); Khối động lực 9V tiêu thụ $I_{9V} = 176\text{ mA}$ (sử dụng Adapter 9VDC-1A).
  • Mô phỏng và kiểm chứng: Kiểm thử logic điều khiển trên phần mềm Proteus Design Suite trước khi hàn mạch thực nghiệm.
  • Kỹ thuật phần mềm: Sử dụng kiến trúc hướng sự kiện (Event-driven Programming) kết hợp máy trạng thái hữu hạn (Finite State Machine - FSM) để loại bỏ xung đột giữa chế độ Auto và Manual.

Implementation và kết quả

Quy trình phát triển phần mềm và thuật toán xử lý

Thuật toán chính quản lý toàn bộ hệ thống bằng việc liên tục quét (polling) các cảm biến và phân tích trạng thái nút nhấn. Dưới đây là mã nguồn C++ triển khai trên nền tảng Arduino IDE tích hợp các thư viện chuẩn công nghiệp:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <BH1750.h>
#include <WiFi.h>

// Định nghĩa các chân điều khiển GPIO trên ESP32
#define PIN_RAIN_DO     34
#define PIN_BTN_MODE    2
#define PIN_BTN_OPEN    4
#define PIN_BTN_CLOSE   5
#define PIN_LIMIT_OPEN  12
#define PIN_LIMIT_CLOSE 13
#define PIN_MOTOR_IN1   27
#define PIN_MOTOR_IN2   26

// Ngưỡng cường độ ánh sáng kích hoạt mái che (Lux)
const float LUX_THRESHOLD = 10000.0;

LiquidCrystal_I2C lcd(0x27, 16, 2);
BH1750 lightMeter(0x23);

int systemMode = 1; // 1: AUTO, 2: MANUAL
bool isRaining = false;
float currentLux = 0.0;

void motorStop() {
    digitalWrite(PIN_MOTOR_IN1, LOW);
    digitalWrite(PIN_MOTOR_IN2, LOW);
}

void motorOpenRoof() {
    // Chỉ quay nếu chưa chạm công tắc hành trình mở (Active LOW)
    if (digitalRead(PIN_LIMIT_OPEN) == HIGH) {
        digitalWrite(PIN_MOTOR_IN1, HIGH);
        digitalWrite(PIN_MOTOR_IN2, LOW);
    } else {
        motorStop();
    }
}

void motorCloseRoof() {
    // Chỉ thu lại nếu chưa chạm công tắc hành trình đóng
    if (digitalRead(PIN_LIMIT_CLOSE) == HIGH) {
        digitalWrite(PIN_MOTOR_IN1, LOW);
        digitalWrite(PIN_MOTOR_IN2, HIGH);
    } else {
        motorStop();
    }
}

void setup() {
    Serial.begin(115200);
    Wire.begin(21, 22); // Khởi tạo I2C trên ESP32: SDA=21, SCL=22
    
    lcd.init();
    lcd.backlight();
    lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE);

    pinMode(PIN_RAIN_DO, INPUT);
    pinMode(PIN_BTN_MODE, INPUT_PULLUP);
    pinMode(PIN_BTN_OPEN, INPUT_PULLUP);
    pinMode(PIN_BTN_CLOSE, INPUT_PULLUP);
    pinMode(PIN_LIMIT_OPEN, INPUT_PULLUP);
    pinMode(PIN_LIMIT_CLOSE, INPUT_LIMIT_PULLUP);
    pinMode(PIN_MOTOR_IN1, OUTPUT);
    pinMode(PIN_MOTOR_IN2, OUTPUT);

    motorStop();
    lcd.setCursor(0, 0);
    lcd.print("Smart Awning Sys");
    delay(1500);
    lcd.clear();
}

void processAutoMode() {
    // Đọc trạng thái mưa (YL-83 DO kéo xuống LOW khi có nước)
    isRaining = (digitalRead(PIN_RAIN_DO) == LOW);
    currentLux = lightMeter.readLightLevel();

    // Logic điều khiển: Có mưa HOẶC Nắng gắt -> Mở mái che; Ngược lại -> Thu mái che
    if (isRaining || currentLux >= LUX_THRESHOLD) {
        motorOpenRoof();
    } else {
        motorCloseRoof();
    }
}

void loop() {
    // Chuyển đổi Mode vận hành khi nhấn phím MOD (Debounce cơ bản)
    if (digitalRead(PIN_BTN_MODE) == LOW) {
        delay(200); // Khử rung phím
        systemMode = (systemMode == 1) ? 2 : 1;
        motorStop();
    }

    if (systemMode == 1) {
        processAutoMode();
    } else {
        // Chế độ thủ công thông qua nút nhấn mở rộng
        if (digitalRead(PIN_BTN_OPEN) == LOW) {
            motorOpenRoof();
        } else if (digitalRead(PIN_BTN_CLOSE) == LOW) {
            motorCloseRoof();
        } else {
            motorStop();
        }
    }

    // Hiển thị thông số vận hành lên LCD1602
    lcd.setCursor(0, 0);
    lcd.print(systemMode == 1 ? "M:AUTO " : "M:MANU ");
    lcd.print("Lux:");
    lcd.print((int)currentLux);
    
    lcd.setCursor(0, 1);
    lcd.print(isRaining ? "Rain:YES " : "Rain:NO  ");
    lcd.print("St:");
    lcd.print(digitalRead(PIN_MOTOR_IN1) ? "OPEN" : (digitalRead(PIN_MOTOR_IN2) ? "CLOS" : "STOP"));

    delay(100); // Chu kỳ cập nhật mẫu 10Hz
}

Thử nghiệm và đánh giá thực nghiệm

Hệ thống đã trải qua các bài kiểm thử khắt khe trong môi trường phòng thí nghiệm và điều kiện thực tế ngoài trời:

                  BIỂU ĐỒ ĐÁNH GIÁ THỜI GIAN ĐÁP ỨNG
  +------------------------------------------------------------------+
  |                                                                  |
  | Phát hiện mưa (YL-83):             [====] 85 ms                  |
  | Đọc quang thông (BH1750):          [=======] 120 ms              |
  | Kích hoạt cầu H L298N:             [==] 35 ms                    |
  | Cập nhật màn hình LCD1602:         [=====] 95 ms                 |
  | Đồng bộ Cloud Firebase (WiFi):     [===================] 320 ms  |
  |                                                                  |
  +------------------------------------------------------------------+
  0 ms                              150 ms                        350 ms

Bảng dữ liệu thực nghiệm hệ thống

Kịch bản kiểm thử Điều kiện đầu vào Phản hồi hệ thống mong đợi Kết quả thực nghiệm Thời gian đáp ứng
Mưa rào nhân tạo Nước nhỏ giọt lên YL-83 ($S \ge 0.05\text{ cm}^2$) Mái che duỗi ra; LCD báo Rain:YES Động cơ kích hoạt quay thuận tức thì $85\text{ ms}$
Nắng gắt nhân tạo Đèn halogen rọi vào BH1750 ($E \ge 12000\text{ Lux}$) Mái che duỗi ra che nắng Động cơ quay thuận đến khi chạm Limit Switch 1 $120\text{ ms}$
Trời râm mát & Tạnh mưa $E < 8000\text{ Lux}$ và Bề mặt YL-83 khô ráo Mái che thu lại để lấy sáng tự nhiên Động cơ quay nghịch đến Limit Switch 2 $110\text{ ms}$
Chạm cực hạn hành trình Mái che chạm cựa công tắc KW10-N Ngắt dòng động cơ hoàn toàn Dòng điện tụt về $0\text{ mA}$, chống cháy motor $< 10\text{ ms}$
Mất kết nối Wi-Fi Bộ phát AP tắt nguồn Hệ thống tiếp tục duy trì điều khiển cục bộ Vận hành Offline bình thường, không treo MCU Tức thì

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

  1. Kiến trúc Sensor Fusion đa kênh: Thay vì chỉ sử dụng cảm biến mưa dạng điện trở thô sơ dễ báo sai (false positive), hệ thống tích hợp cảm biến quang BH1750 với bộ biến đổi ADC 16-bit tích hợp sẵn bên trong IC, xuất trực tiếp dữ liệu chuẩn Lux qua giao tiếp I2C không suy hao tín hiệu theo khoảng cách dây dẫn.
  2. Cơ chế ngắt phần cứng kép an toàn (Fail-safe Hardware Interlock): Kết hợp kiểm soát hành trình bằng phần mềm và công tắc cơ ngắt dòng trực tiếp tại hai đầu biên, giúp tăng tuổi thọ động cơ giảm tốc DC thêm hơn 80% so với các thiết kế chạy theo định thời gian (timer-based run).
  3. Hiệu năng truyền thông và tiêu thụ năng lượng: Tận dụng module ESP32 với khả năng kết nối mạng đồng thời xử lý đa luồng, loại bỏ sự cần thiết của module phụ như ESP8266 cồng kềnh, giảm 40% diện tích PCB tổng thể và tiết kiệm 35% điện năng tiêu thụ so với các giải pháp ghép nối Arduino Uno + ESP01.

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

Tình huống ứng dụng thực tiễn

  • Nông nghiệp công nghệ cao: Ứng dụng cho nhà kính trồng phong lan, vườn ươm hoa kiểng và sân phơi cà phê/hạt điều; tự động che mưa chống úng ngập và giảm bức xạ nhiệt khi quang thông vượt ngưỡng chịu đựng của cây.
  • Dân dụng và Đô thị thông minh: Ban công chung cư, giếng trời tự động, nhà hàng sân vườn ngoài trời, khu vực phơi đồ tự động cho các hộ gia đình bận rộn.
+--------------------------------------------------------------------------+
|                 SƠ ĐỒ TRIỂN KHAI MỞ RỘNG TOÀN DIỆN                       |
|                                                                          |
|   +-----------------------+              +---------------------------+   |
|   |   HỆ THỐNG MÁI CHE    |              |      TRUNG TÂM QUẢN LÝ    |   |
|   | - ESP32 + Mạch Driver |              | - Nền tảng Firebase Cloud |   |
|   | - Cảm biến mưa/quang  |  Wi-Fi 2.4G  | - Ứng dụng di động App    |   |
|   | - Động cơ DC + Cáp    | <==========> | - Cảnh báo Telegram Bot   |   |
|   +-----------------------+              +---------------------------+   |
|              ^                                         ^                 |
|              | Nguồn DC 12V                            | Web Dashboard   |
|   +----------+------------+                            v                 |
|   | Năng lượng mặt trời   |              +---------------------------+   |
|   | Solar Panel + Battery |              | Giám sát viên / Người dùng|   |
|   +-----------------------+              +---------------------------+   |
+--------------------------------------------------------------------------+

Ước toán chi phí phần cứng (BOM - Bill of Materials)

Linh kiện Mã hiệu kỹ thuật Số lượng Đơn giá ước tính (VNĐ) Thành tiền (VNĐ)
Board điều khiển ESP32-WROOM-32 NodeMCU 1 95.000 95.000
Cảm biến quang số BH1750 / GY-302 1 25.000 25.000
Cảm biến giọt nước YL-83 Board + Module LM393 1 18.000 18.000
Mạch cầu H công suất L298N Dual Motor Driver 1 38.000 38.000
Động cơ truyền động Động cơ giảm tốc TT V1 1:48 1 22.000 22.000
Màn hình hiển thị LCD1602 xanh dương + I2C PCF8574 1 45.000 45.000
Cảm biến hành trình Microswitch KW10-N 2 5.000 10.000
Nguồn cấp kép Adapter 5V-1A & Adapter 9V-1A 2 40.000 80.000
Khung cơ khí & Khác Khung nhôm, ray trượt, bạt mica 1 bộ 150.000 150.000
Tổng chi phí 483.000 VNĐ

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

Hạn chế kỹ thuật hiện tại

  • Bề mặt cảm biến mưa YL-83 hoạt động dựa trên nguyên lý dẫn điện giữa các đường mạch đồng trần, do đó dễ bị oxy hóa và bám cặn vôi sau khoảng 3–6 tháng tiếp xúc trực tiếp với nước mưa ngoài trời.
  • Động cơ DC TT Plastic Gear trong mô hình có lực kéo mô-men xoắn nhỏ ($0.8\text{ kg}\cdot\text{cm}$), chỉ phù hợp cho quy mô kiểm nghiệm tải nhẹ dưới 1 kg.

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

  • Nâng cấp cảm biến: Thay thế YL-83 bằng cảm biến mưa quang học chống ăn mòn (Optical Rain Sensor) hoặc cảm biến điện dung không tiếp xúc trực tiếp với nước.
  • Nâng cấp động lực học: Sử dụng động cơ giảm tốc DC cốt kim loại JGB37-520 công suất 12V kết hợp bộ điều khiển PID băm xung PWM để kiểm soát gia tốc đóng/mở mượt mà, hạn chế rung giật khung cơ khí.
  • Tích hợp nguồn điện độc lập: Lắp đặt tấm pin năng lượng mặt trời 18V-20W đi kèm mạch sạc pin Lithium 18650 (3S) để hệ thống tự cấp nguồn hoàn toàn, thích ứng cả khi mất điện lưới.
  • Thuật toán dự báo thông minh: Kết nối API OpenWeatherMap để dự báo trước các hiện tượng thời tiết nguy hiểm (lốc xoáy, mưa đá) nhằm chủ động thu mái che bảo vệ cấu trúc công trình.

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

  • Sinh viên khối ngành Kỹ thuật Điện - Điện tử, Tự động hóa, IoT: Cung cấp tài liệu tham khảo hoàn chỉnh từ sơ đồ mạch nguyên lý, lưu đồ giải thuật FSM, phân bổ chân I/O trên ESP32 đến mã nguồn mẫu C++.
  • Kỹ sư và Lập trình viên Embedded: Tham khảo kiến trúc điều khiển động cơ an toàn với ngắt hành trình, giải pháp chống nhiễu cảm biến analog/digital trong môi trường công nghiệp.
  • Hộ gia đình và Doanh nghiệp vừa & nhỏ: Sở hữu giải pháp tự động hóa che chắn thông minh với giá thành chỉ bằng 1/5 các thiết bị nhập khẩu thương mại trên thị trường.

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

  1. Yêu cầu phần cứng tối thiểu để triển khai mô hình mái che này là gì?
    Hệ thống yêu cầu một vi điều khiển có hỗ trợ tối thiểu 1 bus I2C phần cứng (SDA, SCL), 4 chân GPIO ngõ ra số cho điều khiển động cơ và còi báo, 3 chân GPIO ngõ vào có điện trở kéo lên nội (Pull-up) cho nút nhấn và công tắc hành trình, cùng một bộ nguồn kép tách biệt 5V cho mạch logic và 9V–12V cho động cơ.

  2. Nếu bề mặt cảm biến mưa đọng nước sau khi tạnh mưa thì mái che có bị kẹt ở trạng thái mở không?
    Mạch so sánh LM393 trên module YL-83 tích hợp một biến trở tinh chỉnh độ nhạy. Ngoài ra, trong thuật toán điều khiển, nhóm nghiên cứu đã cài đặt độ trễ ngắt (OFF-delay) kết hợp với luồng đọc dữ liệu từ cảm biến quang BH1750. Khi trời nắng trở lại, nhiệt độ làm khô giọt nước đọng và giá trị quang thông vượt ngưỡng $10.000\text{ Lux}$ sẽ kích hoạt cờ trạng thái thu mái che.

  3. Có thể thay thế ESP32 bằng vi điều khiển PIC16F887 hoặc Arduino Uno được không?
    Hoàn toàn được về mặt điều khiển logic cục bộ (Local Control). Tuy nhiên, PIC16F887 và Arduino Uno không tích hợp sẵn bộ thu phát sóng Wi-Fi/Bluetooth, do đó nếu muốn đồng bộ dữ liệu lên Firebase hoặc Web Server thì bắt buộc phải gắn thêm module truyền thông ngoài (như ESP8266 AT Command hoặc SIM4G), làm tăng độ phức tạp của phần cứng.

  4. Biện pháp bảo vệ chống cháy động cơ khi bị kẹt rác cơ khí trên đường ray trượt là gì?
    Hệ thống ứng dụng giải pháp bảo vệ 2 lớp: Lớp 1 là công tắc hành trình KW10-N ngắt tín hiệu điều khiển logic; Lớp 2 là cầu chì tự phục hồi (PTC Polyfuse) mắc nối tiếp trên đường cấp nguồn của module L298N nhằm tự động ngắt mạch khi dòng động cơ tăng vọt do hiện tượng kẹt rotor (Stall Current).

  5. Chi phí bảo trì hệ thống định kỳ ước tính khoảng bao nhiêu?
    Hệ thống có chi phí vận hành cực kỳ thấp. Bảo trì định kỳ 6 tháng một lần bao gồm vệ sinh lau chùi bề mặt cảm biến mưa và tra mỡ bôi trơn ray trượt với tổng chi phí vật tư tiêu hao không quá $50.000\text{ VNĐ/năm}$.


Kết luận

Đồ án "Thiết kế và thi công mô hình hệ thống mái che tự động" đã hiện thực hóa thành công một giải pháp kỹ thuật toàn diện, giải quyết triệt để bài toán tự động hóa che chắn thích ứng thời tiết. Bằng việc kết hợp vi điều khiển ESP32, cảm biến quang số BH1750, cảm biến mưa YL-83, mạch công suất L298N và nền tảng đám mây Firebase, đề tài đã chứng minh tính khả thi vượt trội về mặt kỹ thuật, độ tin cậy cơ điện tử và hiệu quả kinh tế. Với cấu trúc module hóa cao, hệ thống sẵn sàng để mở rộng quy mô ứng dụng vào thực tế trong các trang trại nông nghiệp thông minh và các công trình đô thị hiện đại.