Giới thiệu dự án

Bối cảnh và cơ sở thực tiễn

Trong kỷ nguyên vươn mình của cuộc Cách mạng Công nghiệp 4.0 và làn sóng Vạn vật kết nối Internet (IoT - Internet of Things), khái niệm "Nhà thông minh" (Smart Home) đã chuyển dịch từ một giải pháp xa xỉ thành tiêu chuẩn thiết yếu cho không gian sống hiện đại. Theo thống kê từ các tổ chức nghiên cứu thị trường hàng đầu như Gartner và Statista, quy mô thị trường thiết bị nhà thông minh toàn cầu duy trì tốc độ tăng trưởng kép hàng năm (CAGR) vượt trên 22%. Tại Việt Nam, hàng loạt khu đô thị cao cấp như Phú Mỹ Hưng, Vinhomes Central Park, Ecopark hay Times City đã đồng loạt đưa công nghệ tự động hóa vào từng căn hộ.

Tuy nhiên, sự bùng nổ của các thiết bị điện tử gia dụng đặt ra thách thức nghiêm trọng về an ninh năng lượng và phát thải môi trường. Việc tiêu thụ điện lưới truyền thống (chủ yếu từ nhiệt điện than và thủy điện đang dần cạn kiệt) không chỉ làm tăng chi phí vận hành mà còn gây áp lực lớn lên hệ thống phân phối quốc gia. Việc kết hợp hệ thống tự động hóa điều khiển với nguồn năng lượng tái tạo tại chỗ – cụ thể là Năng lượng Mặt trời (Solar Energy) – trở thành xu hướng kỹ thuật cấp thiết.

                    ┌─────────────────────────┐
                    │    SMART HOME SYSTEM    │
                    │  (Năng lượng tái tạo)   │
                    └────────────┬────────────┘
                                 │
           ┌─────────────────────┴─────────────────────┐
           ▼                                           ▼
┌──────────────────────┐                   ┌──────────────────────┐
│  HẠ TẦNG NĂNG LƯỢNG  │                   │ HẠ TẦNG ĐIỀU KHIỂN   │
│ - Tấm Pin Quang Điện │                   │ - Kit NI myRIO-1900  │
│ - Mạch Sạc Pin V2    │◄─────────────────►│ - LabVIEW 2014 RT    │
│ - Ắc quy Lưu Trữ 12V │  (Nguồn 12V DC)   │ - NI Data Dashboard  │
│ - Mạch Chuyển Nguồn  │                   │ - Cảm Biến & Chấp Hại│
└──────────────────────┘                   └──────────────────────┘

Vấn đề nghiên cứu và các điểm nghẽn kỹ thuật (Pain Points)

Các hệ thống nhà thông minh phổ thông hiện nay đối mặt với nhiều bất cập:

  1. Phụ thuộc 100% vào nguồn điện lưới: Khi xảy ra sự cố mất điện, toàn bộ hệ thống an ninh, giám sát nhiệt độ, rò rỉ khí gas và điều khiển cửa tự động đều bị tê liệt.
  2. Kiến trúc phần cứng phân mảnh: Sử dụng các vi điều khiển 8-bit hoặc 32-bit đơn nhân thông thường (như ATmega328P, STM32F103) bị giới hạn về băng thông xử lý đồng thời đa tác vụ thời gian thực, thiếu khả năng tăng tốc phần cứng cho các thuật toán giám sát mở rộng.
  3. Môi trường lập trình văn bản truyền thống (Text-based): Lập trình nhúng truyền thống (C/C++) đòi hỏi thời gian phát triển dài, khó khăn trong việc xây dựng giao diện điều khiển HMI/SCADA trực quan và đồng bộ hóa biến mạng thời gian thực.

Mục tiêu nghiên cứu của đề tài

Đề tài "Xây dựng mô hình Smarthome sử dụng năng lượng mặt trời" do sinh viên Huỳnh Trí Mẫn thực hiện dưới sự hướng dẫn của ThS. Nguyễn Ngô Lâm tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh xác định các mục tiêu trọng tâm:

  1. Nghiên cứu kiến trúc phần cứng và làm chủ khả năng lập trình điều khiển trên kit nhúng cao cấp NI myRIO-1900 của hãng National Instruments.
  2. Ứng dụng ngôn ngữ lập trình đồ họa LabVIEW để thiết kế toàn bộ thuật toán điều khiển thời gian thực (Real-Time) và bộ điều khiển giao diện người dùng.
  3. Tích hợp trọn vẹn hệ thống cảm biến chuyên dụng (nhiệt độ PmodTMP3 qua giao thức $I^2C$, ánh sáng PmodALS qua giao thức SPI, rò rỉ khí gas MQ-2 qua ADC) và cơ cấu chấp hành (cầu H L298 điều khiển động cơ rèm/cửa, module Relay, còi báo Buzzer, màn hình LCD PmodCLS, bàn phím ma trận PmodKYPD).
  4. Thiết kế hệ thống thu hoạch và quản trị năng lượng mặt trời (Solar Harvesting System) gồm tấm panel quang điện, mạch sạc thông minh V2, ắc quy tích điện và mạch tự động chuyển đổi nguồn (Dual Power Switching).
  5. Xây dựng giao diện Web Server và ứng dụng giám sát/điều khiển không dây trên máy tính bảng thông qua nền tảng NI Data Dashboard qua mạng Wi-Fi nội bộ.

Giải pháp và kết quả kỳ vọng

Giải pháp cốt lõi là việc kết hợp chip tích hợp Xilinx Zynq-7010 SoC (kết hợp lõi kép ARM Cortex-A9 và FPGA) với hệ điều hành thời gian thực (NI Linux Real-Time), cho phép đọc xử lý tín hiệu cảm biến ở tần số cao với độ trễ thấp ($<50\text{ ms}$), đồng thời tận dụng bộ chia sẻ biến mạng (Network-Published Shared Variables) để trao đổi dữ liệu mượt mà giữa myRIO, PC và máy tính bảng.

Chỉ số kỳ vọng Mục tiêu định lượng Phương pháp đánh giá
Độ trễ truyền nhận Wi-Fi $< 100\text{ ms}$ Đo round-trip qua Data Dashboard
Tự chủ năng lượng ban ngày $100%$ cho hệ thống điều khiển Vận hành liên tục qua Ắc quy + Panel
Thời gian cảnh báo rò gas $< 1.5\text{ s}$ khi nồng độ vượt ngưỡng Kích hoạt còi Buzzer + Ngắt Relay
Độ chính xác đo nhiệt độ Sai số $\pm 0.5^\circ\text{C}$ Hiệu chuẩn so với nhiệt kế chuẩn

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

  • Phạm vi: Xây dựng mô hình vật lý hoàn chỉnh bằng vật liệu mica trong suốt, bố trí các phòng chức năng mô phỏng ngôi nhà thực tế; tích hợp các chuẩn giao tiếp công nghiệp cơ bản ($I^2C$, SPI, UART, PWM, ADC/DAC).
  • Giới hạn: Nguồn năng lượng mặt trời áp dụng ở mức điện áp thấp 12V DC cấp cho các tải chiếu sáng LED, động cơ DC và mạch điều khiển trung tâm; chưa tích hợp bộ nghịch lưu Inverter 220V AC công suất lớn cho thiết bị tải nặng.

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

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

So sánh các giải pháp phần cứng điều khiển nhúng

Để làm rõ tính ưu việt của kit NI myRIO-1900 trong nghiên cứu này, bảng so sánh kỹ thuật dưới đây đối chiếu với các nền tảng phổ biến:

Tiêu chí kỹ thuật Arduino Mega 2560 Raspberry Pi 3 Model B NI myRIO-1900 (Lựa chọn)
Vi xử lý trung tâm ATmega2560 8-bit @ 16MHz Broadcom BCM2837 64-bit Quad-ARM @ 1.2GHz Xilinx Zynq-7010 SoC (Dual ARM Cortex-A9 @ 667MHz + FPGA)
Tính tiền định thời gian thực Có (Hạn chế về hiệu năng) Không (HĐH Linux Non-Realtime) Cao (HĐH NI Linux Real-Time + FPGA cứng)
Kênh ADC tương tự 16 kênh 10-bit (tối đa 15 kS/s) Không có sẵn (Cần module rời) 10 kênh 12-bit (Tốc độ lấy mẫu 500 kS/s)
Kênh DAC xuất tương tự Không có (chỉ có PWM giả lập) Không có 6 kênh 12-bit (Tốc độ cập nhật 345 kS/s)
Khả năng kết nối không dây Không (Cần Shield ngoài) Wi-Fi 802.11n, Bluetooth 4.1 Wi-Fi 802.11 b/g/n tích hợp sẵn (AP/Client)
Môi trường phát triển Arduino IDE (C/C++) Python, C++, Node.js LabVIEW G-Code (Lập trình luồng dữ liệu)
Độ tin cậy công nghiệp Thấp (Dành cho DIY) Trung bình Rất cao (Chuẩn công nghiệp National Instruments)

Phân tích yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc phải có):
    • Giám sát nồng độ khí Gas (MQ-2), tự động ngắt thiết bị và phát còi báo động.
    • Tự động bật/tắt đèn chiếu sáng dựa trên cảm biến ánh sáng PmodALS.
    • Điều khiển đóng/mở cửa tự động bằng động cơ DC qua cầu H L298.
    • Chuyển mạch nguồn tự động giữa Pin mặt trời và nguồn Adapter dự phòng.
  • Should have (Nên có):
    • Đo và hiển thị nhiệt độ phòng liên tục lên màn hình LCD PmodCLS qua UART/SPI.
    • Điều khiển và giám sát toàn diện qua giao diện máy tính bảng (NI Data Dashboard).
    • Khóa bảo mật cửa bằng mật mã qua bàn phím ma trận PmodKYPD.
  • Could have (Có thể có):
    • Cập nhật thời gian thực RTC DS1307 đồng bộ với lịch trình sinh hoạt.
    • Lưu trữ lược sử thay đổi nhiệt độ và trạng thái thiết bị.
  • Won't have (Chưa thực hiện trong giai đoạn này):
    • Nhận diện khuôn mặt AI qua camera USB.
    • Điều khiển bằng giọng nói tiếng Việt tự nhiên.

Thiết kế hệ thống

graph TD
    subgraph Power_Subsystem ["Hạ Tầng Cung Cấp Năng Lượng"]
        SolarPanel["Tấm Pin Năng Lượng Mặt Trời (Solar Panel)"] -->|Điện áp DC| SolarCharger["Mạch Sạc Pin Mặt Trời V2"]
        SolarCharger -->|Nạp dòng chuẩn| Battery["Ắc Quy Tích Điện 12V"]
        Grid["Điện Lưới 220V AC"] -->|Hạ áp| Adapter["Adapter 12V DC"]
        Battery --> AutoSwitch["Mạch Tự Động Chuyển Nguồn"]
        Adapter --> AutoSwitch
        AutoSwitch -->|Nguồn chính 12V| CentralController
    end

    subgraph CentralController ["Khối Xử Lý Trung Tâm: NI myRIO-1900"]
        FPGA["Khối Xilinx Artix-7 FPGA (Logic cứng)"]
        ARM["Bộ Vi Xử Lý Lõi Kép ARM Cortex-A9 (667MHz)"]
        SharedVar["Shared Variables Engine (SVE)"]
        FPGA <--> ARM
        ARM <--> SharedVar
    end

    subgraph Sensor_Layer ["Khối Cảm Biến Đầu Vào"]
        TMP["Cảm biến Nhiệt độ PmodTMP3 (I2C)"] -->|SDA/SCL| CentralController
        ALS["Cảm biến Ánh sáng PmodALS (SPI)"] -->|MOSI/MISO/SCK/CS| CentralController
        MQ2["Cảm biến Khí Gas MQ-2"] -->|Analog AI0 0-5V| CentralController
        RTC["Đồng hồ thời gian thực DS1307 (I2C)"] -->|SDA/SCL| CentralController
        KYPD["Bàn phím ma trận PmodKYPD"] -->|DIO Lines| CentralController
        Switch["Công tắc / Nút nhấn thủ công"] -->|DIO Lines| CentralController
    end

    subgraph Actuator_Layer ["Khối Chấp Hành Đầu Ra"]
        CentralController -->|PWM & DIO| L298["Driver Cầu H L298 (Động cơ rèm/cửa)"]
        CentralController -->|DIO Digital Out| Relay["Module Relay 1 Kênh (Hệ thống đèn)"]
        CentralController -->|DIO Digital Out| Buzzer["Module Còi Báo Động (Khí Gas)"]
        CentralController -->|UART Tx/Rx| LCD["Màn hình LCD PmodCLS"]
        CentralController -->|DIO Control| LED_Sys["Hệ thống LED chiếu sáng"]
    end

    subgraph User_Interface ["Tầng Giao Diện & Giám Sát"]
        SharedVar <-->|Wi-Fi 802.11 b/g/n| Tablet["Tablet Android / iOS (NI Data Dashboard)"]
        SharedVar <-->|TCP/IP - Cáp USB / Wi-Fi| PC["Máy tính PC (LabVIEW Front Panel)"]
    end

Ngăn xếp công nghệ (Technology Stack)

  • Hệ thống điều khiển nhúng: NI myRIO-1900 Embedded Hardware Target.
  • Môi trường phát triển tích hợp (IDE): National Instruments LabVIEW phiên bản 2014 (32-bit) kết hợp LabVIEW myRIO Module 2014 và LabVIEW Real-Time Module.
  • Công cụ cấu hình mạng & I/O: NI Measurement & Automation Explorer (NI MAX v14.0).
  • Giao diện di động (Mobile HMI): NI Data Dashboard Engine (v2.2 dành cho Android/iOS).
  • Giao thức truyền thông thiết bị:
    • $I^2C$ Bus (Standard Mode 100 kbps / Fast Mode 400 kbps) cho PmodTMP3 và RTC DS1307.
    • SPI Bus (Mode 0: $\text{CPOL}=0, \text{CPHA}=0$, tốc độ lên đến 4 MHz) cho PmodALS.
    • UART Bus (Baudrate 115200 bps, 8 Data bits, 1 Stop bit, No parity) cho PmodCLS.
    • PWM (Độ rộng xung $20\text{ ns}$, tần số $1\text{ kHz} - 100\text{ kHz}$) điều khiển động cơ DC.

Thiết kế cơ chế chia sẻ dữ liệu (Data Sharing Architecture)

Hệ thống không sử dụng các hệ quản trị cơ sở dữ liệu SQL nặng nề mà khai thác cơ chế Network-Published Shared Variables (NPSV) trực tiếp từ lõi NI Distributed System Manager. Các biến chia sẻ này vận hành trên giao thức truyền thông độc quyền NI-PSP (Publish-Subscribe Protocol) qua cổng TCP 2350 và 3580, mang lại hiệu năng cao và tính năng cập nhật đồng thời (Real-time Broadcast) cho cả PC và Tablet.

+------------------+-----------------------------------------------------------+
| Tên Biến Mạng    | Kiểu Dữ Liệu & Phạm Vi                                    | Mô Tả Chức Năng                                          |
+------------------+-----------------------------------------------------------+
| Var_Temperature  | Double-precision Float [0.0 - 100.0]                     | Giá trị nhiệt độ đo từ cảm biến PmodTMP3 (°C)             |
| Var_LightLux     | Unsigned Integer 16-bit [0 - 255]                        | Giá trị cường độ ánh sáng từ cảm biến PmodALS (Lux)       |
| Var_GasDetected  | Boolean [True / False]                                   | Cờ báo nồng độ khí gas vượt ngưỡng nguy hiểm              |
| Var_DoorStatus   | Enum [0: Closed, 1: Opening, 2: Open, 3: Closing]         | Trạng thái cơ cấu cửa thông minh                         |
| Var_RelayLight   | Boolean [True / False]                                   | Tín hiệu điều khiển đóng ngắt đèn 220V qua Relay         |
| Var_PowerSource  | Enum [0: Solar/Battery, 1: Grid Adapter]                 | Trạng thái nguồn cấp hiện tại của hệ thống                |
+------------------+-----------------------------------------------------------+

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

Dự án áp dụng mô hình phát triển V-Model (Verification and Validation) kết hợp với phương pháp tạo mẫu nhanh (Iterative Prototyping) trong kỹ thuật cơ điện tử.

       Khảo sát yêu cầu (System Specs) ───────────────> Nghiệm thu toàn hệ thống (System Testing)
            │                                                      ▲
            ▼                                                      │
      Thiết kế kiến trúc (Architecture) ───────────> Kiểm thử tích hợp (Integration Test)
            │                                                      ▲
            ▼                                                      │
      Thiết kế module (Detailed Design) ──────> Kiểm thử đơn vị (Unit Test VIs)
            │                                                      ▲
            └───────────────> Triển khai Code & Mạch (Build) ───────┘

Tiến độ triển khai (Milestones)

Giai đoạn Nội dung công việc chính Sản phẩm bàn giao
Giai đoạn 1 (Tuần 1-4) Nghiên cứu datasheet myRIO-1900, cấu tạo tấm pin mặt trời và linh kiện ngoại vi Báo cáo cơ sở lý thuyết, sơ đồ nguyên lý mạch
Giai đoạn 2 (Tuần 5-9) Thiết lập giao tiếp phần cứng, viết các SubVI điều khiển từng module ($I^2C$, SPI, UART, PWM) Thư viện SubVI trên LabVIEW 2014
Giai đoạn 3 (Tuần 10-14) Lắp ráp mô hình nhà Mica, tích hợp mạch nguồn Solar V2 và ắc quy 12V Mô hình cơ khí & mạch điện hoàn chỉnh
Giai đoạn 4 (Tuần 15-18) Xây dựng Front Panel, cấu hình Shared Variables và thiết kế giao diện Data Dashboard Giao diện điều khiển PC & Máy tính bảng
Giai đoạn 5 (Tuần 19-22) Chạy thử nghiệm toàn hệ thống, tinh chỉnh sai số và viết báo cáo khóa luận Đồ án tốt nghiệp hoàn chỉnh

Implementation và kết quả

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

Cấu trúc chương trình trên LabVIEW

Chương trình chính (Main.vi) được thiết kế theo mô hình Producer-Consumer Design Pattern kết hợp với State Machine (Máy trạng thái hữu hạn) nhằm đảm bảo khả năng đáp ứng thời gian thực:

  • Luồng 1 (High-Priority Loop - 10ms): Thu thập dữ liệu cảm biến thô từ FPGA qua các cổng MXP/MSP, chuyển đổi tín hiệu tương tự sang số (ADC conversion), xử lý lọc số trung bình động (Moving Average Filter).
  • Luồng 2 (Medium-Priority Loop - 50ms): Thực thi logic điều khiển tự động (So sánh ngưỡng nhiệt độ, cường độ sáng, xử lý ma trận phím nhập mật mã, kích hoạt động cơ L298 và Relay).
  • Luồng 3 (Low-Priority Loop - 100ms): Ghi dữ liệu vào Shared Variables, cập nhật giao diện Front Panel và truyền dữ liệu qua giao diện Web/Dashboard.
                    ┌──────────────────────────────────────────────┐
                    │               MAIN CONTROLLER                │
                    │         (Producer-Consumer Pattern)          │
                    └──────────────────────┬───────────────────────┘
                                           │
         ┌─────────────────────────────────┼─────────────────────────────────┐
         ▼                                 ▼                                 ▼
┌──────────────────┐             ┌──────────────────┐              ┌──────────────────┐
│ LUỒNG THU THẬP   │             │ LUỒNG ĐIỀU KHIỂN │              │ LUỒNG MẠNG & HMI │
│ (Chu kỳ: 10ms)   │             │ (Chu kỳ: 50ms)   │              │ (Chu kỳ: 100ms)  │
│ - Đọc ADC/I2C/SPI│────Queue───►│ - Xử lý Logic    │─Shared Vars─►│ - Cập nhật Panel │
│ - Lọc nhiễu số   │             │ - Kích hoạt Động cơ│              │ - NI Dashboard   │
└──────────────────┘             └──────────────────┘              └──────────────────┘

Thuật toán giao tiếp cảm biến nhiệt độ PmodTMP3 ($I^2C$)

Cảm biến PmodTMP3 sử dụng chip đo nhiệt độ tương thích ADT7420/TMP121 với độ phân giải 13-bit ($0.0625^\circ\text{C}/\text{LSB}$) kết nối qua bus $I^2C$ (địa chỉ mặc định 0x48 hoặc 0x4B trên cổng MXP A/B). Dữ liệu nhiệt độ được biểu diễn dưới dạng số bù 2 (2's Complement 16-bit).

Logic giải thuật trong LabVIEW (chuyển thể mã giả):

// Khởi tạo kênh I2C trên cổng NI myRIO MXP A (Chân DIO14=SCL, DIO15=SDA)
I2C_Open(Channel := "myRIO1900/I2CA", Address := 0x48, Speed := 400000); // 400kHz Fast Mode

// Đọc 2 byte dữ liệu nhiệt độ từ thanh ghi Temperature Register (0x00)
Raw_Bytes := I2C_Read(BytesToRead := 2);

// Chuyển đổi 2 byte thành số nguyên 16-bit
Raw_Word := (Raw_Bytes[0] << 8) OR Raw_Bytes[1];

// Dịch bit lấy 13-bit dữ liệu (loại bỏ cờ trạng thái ở 3 bit thấp)
Temperature_Counts := Raw_Word >> 3;

// Kiểm tra bit dấu (Sign bit) cho nhiệt độ âm
IF (Temperature_Counts AND 0x1000) != 0 THEN
    Actual_Temperature := (Temperature_Counts - 8192) * 0.0625;
ELSE
    Actual_Temperature := Temperature_Counts * 0.0625;
END_IF;

// Cập nhật giá trị vào biến chia sẻ
Set_Shared_Variable("Var_Temperature", Actual_Temperature);

Thuật toán điều khiển động cơ rèm/cửa qua Driver cầu H L298 (PWM & Direction)

Driver L298 sử dụng 2 chân kỹ thuật số chọn chiều (IN1, IN2) và 1 chân điều chế độ rộng xung PWM (ENA) nối với chân PWM0 (Pin 27 - MXP A) của myRIO.

// Mã giả điều khiển động cơ cửa thông minh với bảo vệ hành trình
void Control_Smart_Door(int command_state, float speed_percentage) {
    // command_state: 0 = STOP, 1 = OPEN (FORWARD), 2 = CLOSE (REVERSE)
    // speed_percentage: 0.0 to 100.0 %
    
    float duty_cycle = speed_percentage / 100.0f;
    
    switch(command_state) {
        case 1: // Mở cửa
            DIO_Write("MXPA/DIO0", HIGH); // IN1
            DIO_Write("MXPA/DIO1", LOW);  // IN2
            PWM_SetDutyCycle("MXPA/PWM0", duty_cycle, 10000); // 10kHz Frequency
            break;
            
        case 2: // Đóng cửa
            DIO_Write("MXPA/DIO0", LOW);  // IN1
            DIO_Write("MXPA/DIO1", HIGH); // IN2
            PWM_SetDutyCycle("MXPA/PWM0", duty_cycle, 10000);
            break;
            
        default: // Dừng khẩn cấp / Hết hành trình
            DIO_Write("MXPA/DIO0", LOW);
            DIO_Write("MXPA/DIO1", LOW);
            PWM_SetDutyCycle("MXPA/PWM0", 0.0f, 10000);
            break;
    }
}

Thử nghiệm và kiểm chuẩn (Testing & Validation)

                            KẾT QUẢ THỬ NGHIỆM HỆ THỐNG
┌────────────────────────────────────────────────────────────────────────────┐
│ 1. Cảm biến PmodTMP3 : [========================================] 99.2%   │
│ 2. Cảm biến PmodALS  : [======================================  ] 96.5%   │
│ 3. Khí Gas MQ-2      : [========================================] 100.0%  │
│ 4. Độ trễ Wi-Fi      : [===================================     ] 89.0%   │
│    (Độ trễ trung bình: 38ms | CPU Load myRIO: 21.4%)                       │
└────────────────────────────────────────────────────────────────────────────┘

Ma trận kịch bản thử nghiệm

Hệ thống đã trải qua 5 nhóm kịch bản kiểm thử tích hợp phần cứng - phần mềm:

STT Kịch bản kiểm thử Dữ liệu đầu vào / Điều kiện Kết quả thực tế Tỷ lệ thành công
01 Đọc nhiệt độ môi trường Gia nhiệt từ $25^\circ\text{C}$ lên $50^\circ\text{C}$ Giá trị hiển thị tuyến tính, sai số $\pm 0.35^\circ\text{C}$ $100%$
02 Bật đèn tự động theo ánh sáng Che tối cảm biến PmodALS ($< 30\text{ Lux}$) Relay đóng đèn trong $42\text{ ms}$; mở lại khi sáng $98.5%$
03 Báo động rò rỉ khí gas Phun khí nồng độ $> 400\text{ ppm}$ vào MQ-2 Còi Buzzer kêu sau $0.8\text{ s}$, LED cảnh báo đỏ $100%$
04 Đóng/mở cửa qua mật khẩu Nhập mã "1234" trên PmodKYPD Động cơ quay thuận 5s, hiển thị "ACCESS GRANTED" $100%$
05 Mất nguồn mặt trời Ngắt kết nối tấm Solar ban ngày Chuyển mạch sang Ắc quy/Adapter không gây sập myRIO $100%$

Số liệu hiệu năng hệ thống (Benchmarks)

  • Tải vi xử lý (CPU Utilization): Trung bình đạt $21.4%$ khi chạy đồng thời tất cả các vòng lặp Real-Time và Shared Variables.
  • Chiếm dụng bộ nhớ RAM (Memory Footprint): $64.2\text{ MB} / 512\text{ MB DDR3}$ khả dụng (tương đương $12.5%$).
  • Thời gian đáp ứng mạng không dây (Wi-Fi Round-trip Latency): Đo được từ Tablet qua Router Wi-Fi 2.4GHz: dao động từ $28\text{ ms} - 52\text{ ms}$ (Trung bình: $38.4\text{ ms}$).

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

Các cải tiến kỹ thuật nổi bật

  1. Ứng dụng mô hình tính toán dị thể (Heterogeneous Computing): Kết hợp lõi xử lý nhúng Real-Time ARM và logic FPGA trên nền Zynq-7010. Các tác vụ PWM tốc độ cao và lọc dữ liệu SPI/I2C được xử lý song song phần cứng, giải phóng hoàn toàn tài nguyên cho vi xử lý thực thi ứng dụng Web và truyền thông mạng.
  2. Hệ thống cấp nguồn lai quang điện tự thích ứng (Hybrid Self-sustaining Power): Sử dụng mạch sạc năng lượng mặt trời V2 bảo vệ quá áp/quá dòng cho ắc quy tích trữ, phối hợp với diode chuyển mạch thông minh chống đảo dòng, đảm bảo ngôi nhà hoạt động liên tục 24/7.
  3. Môi trường giám sát không dây NI Data Dashboard: Cho phép lập trình giao diện trực tiếp bằng cách liên kết trực quan (Binding) các widget (đồng hồ đo, nút nhấn, đồ thị) với biến Shared Variables trên myRIO, tiết kiệm hơn $60%$ thời gian so với việc phát triển ứng dụng di động Android/iOS thuần qua Java hay Swift.

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

Đặc tính kỹ thuật Giải pháp truyền thống (Arduino + Relay) Giải pháp vi tính nhúng (Raspberry Pi + Node-RED) Mô hình đề tài (NI myRIO + LabVIEW)
Độ trễ xử lý điều khiển $150 - 300\text{ ms}$ $100 - 200\text{ ms}$ $< 40\text{ ms}$ (Tối ưu bởi FPGA)
Khả năng mở rộng ngoại vi Kém (Hạn chế chân I/O và timer) Trung bình (Không có chân Analog) Rất lớn (2 cổng MXP + 1 cổng MSP, 34 DIO, 10 AI, 6 AO)
Tính an toàn & ổn định Trung bình (Dễ tràn RAM) Kém tin cậy với nguồn chập chờn (Hỏng thẻ SD) Rất cao (Bộ nhớ flash công nghiệp + RTOS)
Thời gian phát triển giao diện Tốn kém (Phải viết app ngoài) Trung bình (Web UI qua Node-RED) Cực nhanh (Kéo thả trực tiếp LabVIEW/Dashboard)

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

Tình huống ứng dụng thực tế

  • Hộ gia đình xanh tự chủ năng lượng (Off-grid & Grid-tied Eco-Homes): Lắp đặt tại các biệt thự, nhà vườn hoặc khu vực ngoại ô nơi có số giờ nắng cao trong năm, giảm tải hóa đơn tiền điện sinh hoạt từ $30% - 50%$.
  • Trạm quan trắc nhà kính nông nghiệp thông minh: Giám sát nhiệt độ, ánh sáng và điều khiển tưới tiêu tự động hoàn toàn bằng năng lượng mặt trời tại các nông trại xa lưới điện.
  • Phòng thí nghiệm & Đào tạo kỹ thuật cao: Làm nền tảng chuẩn mực cho các trường đại học đào tạo chuyên ngành Kỹ thuật Điện tử - Truyền thông, Tự động hóa và Cơ điện tử về lập trình nhúng Real-Time với LabVIEW.
┌────────────────────────────────────────────────────────────────────────────┐
│                    KẾ HOẠCH BÀN GIAO & TRIỂN KHAI THỰC TẾ                  │
├─────────────────┬─────────────────┬──────────────────┬─────────────────────┤
│ 1. KHẢO SÁT     │ 2. LẮP ĐẶT      │ 3. CẤU HÌNH      │ 4. VẬN HÀNH         │
│ - Đo bức xạ mặt │ - Gắn Panel     │ - Nạp code RT    │ - Bàn giao tablet   │
│   trời tại chỗ  │ - Đấu nối ắc quy│ - Đồng bộ Wi-Fi  │ - Hướng dẫn quản trị│
│ - Tính toán tải │ - Gắn cảm biến  │ - Gán biến mạng  │ - Bảo dưỡng 6 tháng │
└─────────────────┴─────────────────┴──────────────────┴─────────────────────┘

Đánh giá hiệu quả kinh tế và thời gian hoàn vốn (ROI)

  • Chi phí dự toán hệ thống quy mô hộ gia đình (ước tính):
    • Tấm pin quang điện mono 450W: ~3.000.000 VNĐ.
    • Bộ điều khiển sạc thông minh MPPT & Ắc quy lưu trữ LiFePO4: ~6.500.000 VNĐ.
    • Bộ điều khiển trung tâm & Mạng cảm biến: ~5.000.000 VNĐ.
    • Phụ kiện & Thi công: ~2.500.000 VNĐ.
    • Tổng mức đầu tư: ~17.000.000 VNĐ.
  • Lợi ích tài chính: Tiết kiệm trung bình 350.000 VNĐ/tháng tiền điện sinh hoạt và hạn chế tối đa rủi ro thiệt hại cháy nổ nhờ hệ thống cảnh báo sớm rò khí gas. Thời gian hoàn vốn đầu tư (Payback Period) ước tính đạt 3.8 - 4.2 năm.

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

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

  • Kit NI myRIO-1900 có giá thành thương mại tương đối cao, thích hợp hơn cho giai đoạn nghiên cứu (R&D) và tạo mẫu nhanh hơn là sản xuất thương mại hàng loạt giá rẻ.
  • Tấm pin năng lượng mặt trời trong mô hình thực nghiệm có kích thước nhỏ, công suất sinh điện chỉ đủ phục vụ cho các tải DC mô phỏng, chưa tích hợp biến tần hòa lưới (Grid-tie Inverter).
  • Cơ chế bảo mật mạng Wi-Fi hiện tại sử dụng WPA2 nội bộ tiêu chuẩn, chưa bổ sung lớp mã hóa TLS/SSL cho luồng dữ liệu Shared Variables khi truy cập từ mạng Internet bên ngoài.

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

  • Tích hợp thuật toán MPPT (Maximum Power Point Tracking) trực tiếp vào khối logic FPGA của myRIO để tối ưu hóa hiệu suất hấp thụ quang năng lên thêm $15-20%$ trong điều kiện thời tiết thay đổi.
  • Chuyển đổi giao thức truyền thông sang MQTT / HTTPS Restful API, tích hợp hệ thống lên các nền tảng đám mây lớn (Cloud IoT) như AWS IoT Core hoặc Microsoft Azure IoT Hub để quản lý dữ liệu lớn (Big Data) và phân tích hành vi người dùng.
  • Nghiên cứu ứng dụng Trí tuệ nhân tạo (AI at the Edge): Tận dụng tài nguyên FPGA của Zynq SoC để chạy các mô hình mạng nơ-ron tích chập (CNN) nhận diện cử chỉ hoặc khuôn mặt chủ nhà thông qua camera USB kết nối trực tiếp vào myRIO.

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

                               ĐỐI TƯỢNG HƯỞNG LỢI
                                        │
     ┌──────────────────┬───────────────┴───────────────┬──────────────────┐
     ▼                  ▼                               ▼                  ▼
┌──────────────┐ ┌──────────────┐              ┌──────────────┐ ┌──────────────┐
│  SINH VIÊN   │ │ KỸ SƯ NHÚNG  │              │ DOANH NGHIỆP │ │  NHÀ KHOA HỌC│
│- Học LabVIEW │ │- Mẫu thiết kế│              │- Giải pháp   │ │- Dữ liệu thử │
│- Tiếp cận SoC│ │  FPGA + ARM  │              │  PoC năng    │ │  nghiệm hệ   │
│  công nghiệp │ │- Chuẩn I2C/  │              │  lượng sạch  │ │  thống Hybrid│
│              │ │  SPI công    │              │  khả thi cao │ │              │
│              │ │  nghiệp      │              │              │ │              │
└──────────────┘ └──────────────┘              └──────────────┘ └──────────────┘
  • Sinh viên ngành Kỹ thuật Điện tử - Viễn thông & Tự động hóa: Cung cấp tài liệu mẫu hoàn chỉnh về phương pháp lập trình đồ họa LabVIEW trên phần cứng chuyên dụng NI myRIO, từ lý thuyết giao thức truyền thông ($I^2C$, SPI, UART) đến ứng dụng điều khiển thực tế.
  • Kỹ sư phát triển phần mềm nhúng (Embedded Developers): Nắm bắt kiến trúc tích hợp hệ thống giữa logic FPGA và vi xử lý thời gian thực, kỹ thuật quản lý bộ nhớ và đồng bộ hóa biến mạng tốc độ cao qua Wi-Fi.
  • Doanh nghiệp tích hợp giải pháp Smarthome: Tiếp cận mô hình chứng minh tính khả thi (Proof-of-Concept) trong việc tích hợp năng lượng xanh vào các trạm điều khiển thông minh tự chủ.
  • Cộng đồng nghiên cứu năng lượng tái tạo: Cung cấp số liệu thực nghiệm về mức độ tiêu thụ điện của các node cảm biến IoT và hiệu quả phối hợp nguồn pin mặt trời - ắc quy đệm.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai và chạy chương trình của đề tài là gì?

  • Phần cứng: 01 Kit NI myRIO-1900, máy tính cá nhân (RAM tối thiểu 4GB, CPU Core i3 trở lên), máy tính bảng Android/iOS có kết nối Wi-Fi, bộ cảm biến Pmod (TMP3, ALS, CLS, KYPD), cảm biến MQ-2, mạch cầu H L298 và nguồn năng lượng mặt trời (Panel + Mạch sạc V2 + Ắc quy 12V).
  • Phần mềm: Hệ điều hành Windows 7/8/10 (32-bit hoặc 64-bit), NI LabVIEW 2014, NI LabVIEW Real-Time Module 2014, NI LabVIEW myRIO Module 2014, NI MAX 14.0 và ứng dụng NI Data Dashboard (tải từ Google Play Store hoặc Apple App Store).

2. Kit NI myRIO-1900 có thể mở rộng tối đa bao nhiêu thiết bị ngoại vi?

NI myRIO-1900 cung cấp tổng cộng 40 đường I/O kỹ thuật số (DIO), 10 kênh đầu vào tương tự (AI), 6 kênh đầu ra tương tự (AO) phân bổ trên 2 cổng mở rộng MXP (A, B) và 1 cổng MSP (C). Người dùng có thể sử dụng thêm bo mạch cắm mở rộng MXP Breadboard để mở rộng kết nối song song hàng chục cảm biến và cơ cấu chấp hành mà không gây xung đột địa chỉ bus nhờ tính linh hoạt trong cấu hình chân của khối FPGA.

3. Hệ thống có thể tích hợp với các nền tảng Smarthome thương mại khác (như Home Assistant, Apple HomeKit) không?

Hoàn toàn khả thi. Bằng cách xây dựng thêm một Web Service (RESTful API) trên nền LabVIEW Real-Time của myRIO, hệ thống có thể xuất dữ liệu cảm biến và tiếp nhận lệnh điều khiển dưới định dạng JSON qua các HTTP Request (GET/POST). Từ đó, máy chủ Home Assistant có thể tích hợp myRIO như một trạm điều khiển trung gian thông qua chuẩn tích hợp Generic HTTP hoặc MQTT Client.

4. Quy trình bảo dưỡng hệ thống pin mặt trời và ắc quy tích điện như thế nào?

  • Định kỳ 1-2 tháng cần vệ sinh bề mặt kính của tấm pin năng lượng mặt trời để loại bỏ bụi bẩn, lá cây nhằm duy trì hiệu suất quang điện tối ưu.
  • Kiểm tra điện áp định danh của ắc quy tích trữ: không để ắc quy xả sâu dưới mức $10.5\text{V}$ (mạch sạc V2 đã tích hợp bảo vệ tự ngắt). Nếu sử dụng ắc quy axit chì kín khí (AGM/GEL), tuổi thọ trung bình đạt 3-5 năm trước khi cần thay mới.

5. Chi phí đầu tư thử nghiệm mô hình này là bao nhiêu và thời gian hoàn vốn thực tế ra sao?

Trong phạm vi mô hình đồ án nghiên cứu, tổng chi phí vật tư linh kiện và gia công cơ khí mica dao động khoảng 6.000.000 - 8.000.000 VNĐ (chưa bao gồm kit myRIO do nhà trường tài trợ). Khi chuyển giao sang quy mô hộ gia đình với tấm pin công suất lớn (1kWp) và hệ thống lưu trữ chuẩn, chi phí trọn gói khoảng 20.000.000 VNĐ với thời gian hoàn vốn từ 4 năm thông qua việc tiết kiệm điện lưới và gia tăng an toàn phòng hộ cháy nổ.


Kết luận

Đồ án tốt nghiệp "Xây dựng mô hình Smarthome sử dụng năng lượng mặt trời" do sinh viên Huỳnh Trí Mẫn thực hiện đã hoàn thành xuất sắc các mục tiêu nghiên cứu đề ra:

  • Về mặt kỹ thuật: Làm chủ hoàn toàn công nghệ lập trình đồ họa LabVIEW trên nền tảng phần cứng nhúng cao cấp NI myRIO-1900; giải quyết triệt để bài toán tích hợp đa giao thức truyền thông ($I^2C$, SPI, UART, PWM, ADC); hiện thực hóa hệ thống thu hoạch và chuyển mạch năng lượng mặt trời tự động.
  • Về tính ứng dụng: Xây dựng mô hình nhà thông minh vật lý trực quan, có khả năng vận hành ổn định, phản hồi thời gian thực và cho phép điều khiển linh hoạt không dây qua máy tính bảng thông qua ứng dụng NI Data Dashboard.
  • Về giá trị thực tiễn: Đóng góp một giải pháp tham khảo giá trị cho xu hướng phát triển công trình xanh, tự chủ năng lượng và an toàn tại Việt Nam.

Hệ thống mở ra nền tảng vững chắc để tiếp tục mở rộng các nghiên cứu chuyên sâu về thuật toán MPPT tối ưu quang điện trên FPGA, trí tuệ nhân tạo nhận diện biên mạng (Edge AI) và kết nối điện toán đám mây Cloud IoT trong tương lai.