Giới thiệu dự án
Nông nghiệp thông minh (Smart Agriculture) ứng dụng Internet of Things (IoT) đang là giải pháp cốt lõi để nâng cao năng suất và chất lượng nông sản tại Việt Nam. Nấm rơm (Volvariella volvacea) là loại thực phẩm có giá trị dinh dưỡng và dược liệu cao (chứa khoảng 45% protein, 19 loại axit amin, nhiều vitamin nhóm B và 60 nguyên tố khoáng). Tuy nhiên, chu kỳ sinh trưởng của nấm rơm rất ngắn (chỉ từ 10 đến 12 ngày) và cực kỳ nhạy cảm với biến động môi trường. Phương pháp canh tác ngoài trời truyền thống phụ thuộc hoàn toàn vào thời tiết, khiến tỷ lệ hao hụt do dịch bệnh, thối chân nấm lên tới 30% – 40%, năng suất chỉ đạt từ 120 – 200 kg nấm tươi trên 1 tấn rơm rạ khô.
+----------------------------------------------+
| CÁC THÁCH THỨC CANH TÁC NẤM RƠM HIỆN NAY |
+----------------------+-----------------------+
|
+----------------------------+----------------------------+
| |
+-----------v------------+ +------------v-----------+
| BIẾN ĐỘNG VI KHÍ HẬU | | CANH TÁC THỦ CÔNG 24/7 |
| - Nhiệt độ > 35°C | | - Tốn công đo lường |
| gây chết tơ | | - Phản ứng trễ khi |
| - Độ ẩm < 80% | | thay đổi thời tiết |
| teo quả thể | | - Thiếu dữ liệu lịch |
+------------------------+ | sử để tối ưu |
+------------------------+
Vấn đề kỹ thuật cốt lõi là làm thế nào để duy trì liên tục và chính xác vi khí hậu trong từng giai đoạn phát triển:
- Giai đoạn Nuôi tơ (Mycelium Running): Yêu cầu nhiệt độ ổn định ở mức $32^\circ\text{C}$, độ ẩm không khí đạt $95%$.
- Giai đoạn Hình thành quả thể (Fruiting Body): Yêu cầu nhiệt độ duy trì ở mức $30^\circ\text{C}$, độ ẩm không khí đạt $85%$.
Đồ án tốt nghiệp "Thiết kế và thi công mô hình giám sát và điều khiển mô hình trồng nấm rơm" được xây dựng nhằm giải quyết triệt để bài toán tự động hóa môi trường vi khí hậu với các mục tiêu cụ thể:
- Thiết kế và chế tạo phần cứng điều khiển vi khí hậu 2 khu vực nuôi trồng độc lập với kích thước mô hình $60 \times 40 \times 40\text{ cm}$.
- Tích hợp cảm biến số DHT11 và cảm biến mực nước để giám sát thời gian thực với chu kỳ lấy mẫu $\le 2\text{ giây}$.
- Phát triển kiến trúc xử lý kép (Dual-MCU) phân tầng: Arduino Nano chịu trách nhiệm điều khiển thời gian thực (Real-time Deterministic Control) và NodeMCU ESP8266 đảm nhiệm giao tiếp mạng (IoT Gateway).
- Xây dựng Web Server trên nền tảng PHP/MySQL kết hợp giao diện Web Điều khiển (Dashboard, Voice Control qua Web Speech API).
- Tích hợp cơ chế cảnh báo sự cố đa kênh qua còi Buzzer tại chỗ, ngắt an toàn khi $T > 40^\circ\text{C}$ và gửi tin nhắn SMS khẩn cấp thông qua IFTTT Webhooks.
Phạm vi đề tài tập trung vào giai đoạn chăm sóc và kích thích ra quả thể của nấm rơm, tối ưu hóa điều khiển đóng ngắt các cơ cấu chấp hành (bóng đèn nhiệt 65W, vỉ phun sương siêu âm 24V, quạt thông gió 5V) trong không gian mô hình khép kín.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Canh tác truyền thống |
Nhà kính điều khiển cục bộ |
Hệ thống IoT trong đồ án |
| Kiểm soát nhiệt - ẩm |
Thủ công (phủ rơm, tưới tay) |
Bộ điều khiển PID công nghiệp |
Đa chế độ: Tự động (2 pha) & Thủ công |
| Độ trễ phản hồi |
Hàng giờ (phụ thuộc người làm) |
Tức thời ($< 1\text{s}$) |
Thời gian thực ($< 500\text{ms}$) |
| Giám sát từ xa |
Không có |
Màn hình HMI tại chỗ |
Web Dashboard + Responsive Mobile UI |
| Cảnh báo khẩn cấp |
Không có |
Đèn còi báo động tại chỗ |
SMS qua IFTTT + Còi Buzzer tại chỗ |
| Chi phí đầu tư |
Thấp, nhưng rủi ro mùa vụ cao |
Rất cao ($50 - 100\text{ triệu/nhà}$) |
Rất thấp ($< 1.5\text{ triệu đồng/module}$) |
| Lưu trữ dữ liệu |
Ghi sổ thủ công |
Bộ nhớ cục bộ hạn chế |
CSDL MySQL đám mây thời gian thực |
Hệ thống được thiết kế đáp ứng ma trận yêu cầu MoSCoW:
- Must have: Đọc chính xác nhiệt/ẩm qua DHT11; tự động đóng cắt relay điều khiển máy phun sương, đèn sợi đốt, quạt; hiển thị dữ liệu lên màn hình LCD 16x2 qua I2C; bảo vệ tự ngắt khi quá nhiệt $> 40^\circ\text{C}$.
- Should have: Đồng bộ dữ liệu lên Web Server; chuyển đổi 3 chế độ (NUÔI TƠ, QUẢ THỂ, TAY) trên web; gửi tin nhắn SMS khi mất kết nối mạng hoặc nhiệt độ chạm ngưỡng nguy hiểm.
- Could have: Điều khiển bằng giọng nói tiếng Việt tích hợp trực tiếp trên giao diện Web; thống kê sản lượng thu hoạch.
- Won't have: Xử lý hình ảnh nhận diện sâu bệnh qua camera; điều khiển biến tần cho tải công suất lớn (sẽ nâng cấp ở giai đoạn thương mại hóa).
Thiết kế hệ thống
Kiến trúc hệ thống triển khai theo mô hình phân tầng Modular Hardware-to-Cloud:
[Khối Cảm Biến] [Khối Xử Lý & Hiển Thị] [Khối Chấp Hành]
+---------------+ +----------------------+ +-----------------+
| DHT11 (1-Wire)| | Arduino Nano V3.0 | | Đèn sưởi 65W |
| Sensor Nước +--->(A0,D2)--> (ATmega328P, 16MHz) +--->(D3-D9)-> (220VAC) |
+---------------+ +----------+-----------+ | | Phun sương 24V |
| | | Quạt hút 5V |
(UART: TX0/RX0, 9600) | +--------^--------+
| | |
+----------v-----------+ | +--------+--------+
| NodeMCU ESP8266 | +-----> IC Đệm ULN2803 |
| (ESP-12E, 80MHz) | | + Mạch Relay 12V|
+----------+-----------+ +-----------------+
|
(HTTP POST/GET)
|
+----------v-----------+
| Cloud Web Server |
| - PHP 7.4 / MySQL |
| - IFTTT SMS Service |
+----------------------+
1. Thông số Technology Stack và Phần cứng
- Vi điều khiển thời gian thực: Arduino Nano V3.0 (ATmega328P 8-bit, 16MHz, Flash 32KB, SRAM 2KB, 8 chân Analog, 14 chân Digital I/O).
- Vi xử lý mạng IoT: NodeMCU ESP8266 (Tensilica L106 32-bit, 80MHz, Flash 4MB, Wi-Fi 802.11 b/g/n, giao tiếp qua CP2102).
- IC đệm dòng công suất: ULN2803 chứa 8 cặp Transistor Darlington NPN cực góp hở, điện áp chịu đựng $V_{CE\max} = 50\text{V}$, dòng định mức $I_C = 500\text{mA/kênh}$, tích hợp sẵn Diode triệt tiêu xung điện áp ngược (Flyback Diode) sinh ra từ cuộn dây Relay.
- Tính toán điện trở phân dòng cho LED chỉ thị Relay:
Để LED báo trạng thái hoạt động ở $I_{LED} = 10\text{mA}$, sụt áp $V_{LED} = 2\text{V}$ trên đường nguồn $V_{CC} = 12\text{V}$:
$$R_{LED} = \frac{V_{CC} - V_{LED}}{I_{LED}} = \frac{12\text{V} - 2\text{V}}{0.01\text{A}} = 1000,\Omega = 1\text{ k}\Omega$$
- Cơ cấu chấp hành:
- Vỉ phun sương siêu âm HB20-12 (24V AC/DC, đường kính màng $\Phi 20\text{ mm}$, tần số cộng hưởng $1700 \pm 50\text{ kHz}$, lưu lượng sương $> 350 - 450\text{ ml/h}$).
- Đèn nhiệt sợi đốt 65W - 220VAC.
- Quạt tản nhiệt DC 5V ($60 \times 60 \times 15\text{ mm}$).
- Nguồn cấp: Adapter DC 12V 2A cho mạch điều khiển hạ áp qua module Buck LM2596 và IC tuyến tính LM7805; Adapter DC 24V 2A riêng biệt cho khối tải công suất cao nhằm triệt tiêu hiện tượng sụt áp và nhiễu sóng hài.
2. Thiết kế Cơ sở dữ liệu và Luồng API
Hệ thống quản lý dữ liệu thông qua cơ sở dữ liệu quan hệ MySQL lưu trữ trên Cloud Host:
-- Bảng lưu trữ thông số cảm biến môi trường theo thời gian thực
CREATE TABLE tbl_sensor_log (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
zone_id TINYINT(2) NOT NULL,
temperature FLOAT(4,2) NOT NULL,
humidity FLOAT(4,2) NOT NULL,
water_level TINYINT(1) NOT NULL,
recorded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng lưu trạng thái điều khiển và cấu hình ngưỡng
CREATE TABLE tbl_system_state (
zone_id TINYINT(2) PRIMARY KEY,
operating_mode ENUM('NUOI_TO', 'QUA_THE', 'TAY') DEFAULT 'NUOI_TO',
set_temp FLOAT(4,2) NOT NULL,
set_humid FLOAT(4,2) NOT NULL,
heater_status TINYINT(1) DEFAULT 0,
mister_status TINYINT(1) DEFAULT 0,
fan_status TINYINT(1) DEFAULT 0,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Methodology
Dự án áp dụng mô hình phát triển tích hợp phần cứng - phần mềm theo phương pháp V-Model rút gọn:
[Tuần 1-2: Khảo sát & Đề cương] ─────────────> [Tuần 11-12: Nghiệm thu & Báo cáo]
| ^
[Tuần 3-4: Thiết kế Sơ đồ mạch & Linh kiện] ──> [Tuần 9-10: Kiểm thử tích hợp & Tối ưu]
| ^
+───> [Tuần 5-8: Thi công PCB, Code Firmware, Web Server & IFTTT] ───+
Ma trận đánh giá và giảm thiểu rủi ro (Risk Mitigation Matrix)
- Mất kết nối Wi-Fi: Khi NodeMCU mất kết nối tới trạm phát AP, chân trạng thái UART sẽ cảnh báo để Arduino Nano tự động fallback về chế độ chạy cục bộ (Local Autonomous Mode) dựa trên giá trị cài đặt cuối cùng, đảm bảo nấm không bị sốc nhiệt ẩm.
- Nhiễu đóng cắt Relay (Back-EMF): Sử dụng IC đệm ULN2803 có Diode kẹp nội vi dập xung cảm ứng ngược từ cuộn cảm Relay, kết hợp cách ly quang Optocoupler bảo vệ toàn diện chân I/O của ATmega328P.
- Quá nhiệt do hỏng Relay nhiệt: Thiết lập vòng lặp giám sát cứng (Hard-coded safety loop): nếu $T > 40^\circ\text{C}$, cưỡng bức ngắt toàn bộ Relay, kích hoạt còi Buzzer $> 80\text{dB}$ và gửi gói tin khẩn cấp qua IFTTT Webhooks.
Implementation và kết quả
Development Process
1. Xử lý thuật toán tại Vi điều khiển (Arduino C++)
Chương trình trên Arduino Nano thực hiện việc đọc cảm biến DHT11 qua chuẩn 1-Wire, đọc mực nước từ bộ so sánh LM393, thực thi giải thuật điều khiển ngưỡng (Hysteresis Bang-Bang Control) và đóng gói dữ liệu truyền qua UART tới ESP8266:
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 2
#define DHTTYPE DHT11
#define WATER_SENSOR_PIN A0
#define RELAY_HEATER 3
#define RELAY_MISTER 4
#define RELAY_FAN 5
#define BUZZER_PIN 6
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
float currentTemp = 0.0, currentHum = 0.0;
int waterStatus = 0;
char currentMode = '1'; // '1': NUOI_TO (32°C, 95%), '2': QUA_THE (30°C, 85%), '3': TAY
void setup() {
Serial.begin(9600); // UART giao tiếp với NodeMCU ESP8266
dht.begin();
lcd.init();
lcd.backlight();
pinMode(RELAY_HEATER, OUTPUT);
pinMode(RELAY_MISTER, OUTPUT);
pinMode(RELAY_FAN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(RELAY_HEATER, LOW);
digitalWrite(RELAY_MISTER, LOW);
digitalWrite(RELAY_FAN, LOW);
}
void processControlLogic(float targetT, float targetH) {
// Điều khiển nhiệt độ
if (currentTemp < targetT - 0.5) {
digitalWrite(RELAY_HEATER, HIGH); // Bật đèn nhiệt
digitalWrite(RELAY_FAN, LOW);
} else if (currentTemp > targetT + 0.5) {
digitalWrite(RELAY_HEATER, LOW);
digitalWrite(RELAY_FAN, HIGH); // Bật quạt tản nhiệt
} else {
digitalWrite(RELAY_HEATER, LOW);
digitalWrite(RELAY_FAN, LOW);
}
// Điều khiển độ ẩm
if (currentHum < targetH - 3.0 && waterStatus == 1) {
digitalWrite(RELAY_MISTER, HIGH); // Bật vỉ phun sương siêu âm
} else {
digitalWrite(RELAY_MISTER, LOW);
}
}
void loop() {
currentHum = dht.readHumidity();
currentTemp = dht.readTemperature();
waterStatus = digitalRead(WATER_SENSOR_PIN);
// Bảo vệ an toàn khẩn cấp
if (currentTemp > 40.0) {
digitalWrite(RELAY_HEATER, LOW);
digitalWrite(RELAY_MISTER, LOW);
digitalWrite(RELAY_FAN, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
Serial.println("ALERT:OVERHEAT");
return;
} else {
digitalWrite(BUZZER_PIN, LOW);
}
// Đọc lệnh điều khiển từ NodeMCU qua UART
if (Serial.available() > 0) {
char cmd = Serial.read();
if (cmd == '1' || cmd == '2' || cmd == '3') currentMode = cmd;
}
if (currentMode == '1') processControlLogic(32.0, 95.0); // Pha nuôi tơ
else if (currentMode == '2') processControlLogic(30.0, 85.0); // Pha quả thể
// Gửi chuỗi telemetry lên ESP8266: Temp,Hum,WaterStatus,Mode
Serial.print(currentTemp, 1); Serial.print(",");
Serial.print(currentHum, 1); Serial.print(",");
Serial.print(waterStatus); Serial.print(",");
Serial.println(currentMode);
delay(1500);
}
2. Xử lý API trên NodeMCU và Cloud Backend (PHP/IFTTT)
Đoạn mã PHP xử lý lưu trữ dữ liệu cảm biến và kích hoạt Webhook gửi SMS cảnh báo:
<?php
$host = "localhost";
$user = "id_mushroom_admin";
$pass = "SecretDBPass2019";
$dbname = "id_mushroom_db";
$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$temp = floatval($_POST['temperature']);
$humid = floatval($_POST['humidity']);
$water = intval($_POST['water_level']);
$zone = intval($_POST['zone_id']);
$stmt = $conn->prepare("INSERT INTO tbl_sensor_log (zone_id, temperature, humidity, water_level) VALUES (?, ?, ?, ?)");
$stmt->bind_param("iddi", $zone, $temp, $humid, $water);
$stmt->execute();
$stmt->close();
// Kích hoạt IFTTT SMS Trigger nếu nhiệt độ quá hạn mức 40°C
if ($temp >= 40.0) {
$ifttt_key = "dKxxxxxxxxx_your_webhook_key";
$event = "mushroom_temp_alert";
$url = "https://maker.ifttt.com/trigger/{$event}/with/key/{$ifttt_key}";
$payload = json_encode(['value1' => $temp, 'value2' => $humid, 'value3' => "Zone ".$zone]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type:application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
}
echo "SUCCESS";
}
$conn->close();
?>
Testing và validation
Quá trình kiểm thử thực nghiệm được tiến hành liên tục trong 14 ngày (tương đương hơn một chu kỳ nấm) để kiểm tra tính ổn định phần cứng và độ trễ phản hồi:
| Kịch bản kiểm thử |
Thông số đo kiểm thực tế |
Ngưỡng yêu cầu thiết kế |
Trạng thái |
| Độ trễ đóng cắt Relay nhiệt/ẩm |
$210\text{ ms} \pm 30\text{ ms}$ |
$< 500\text{ ms}$ |
Đạt tiêu chuẩn |
| Sai số đo nhiệt độ (DHT11) |
$\pm 0.8^\circ\text{C}$ (so chuẩn Fluke 51 II) |
$\pm 2.0^\circ\text{C}$ |
Đạt tiêu chuẩn |
| Sai số đo độ ẩm không khí |
$\pm 3.5%\text{ RH}$ (so chuẩn ẩm kế Testo) |
$\pm 5.0%\text{ RH}$ |
Đạt tiêu chuẩn |
| Thời gian kích hoạt SMS IFTTT |
$3.2\text{ giây} \pm 0.8\text{ giây}$ |
$< 5.0\text{ giây}$ |
Đạt tiêu chuẩn |
| Chu kỳ lưu trữ dữ liệu MySQL |
$2.0\text{ giây/lần}$ (Packet Loss $0.05%$) |
$2.0\text{ giây/lần}$ |
Đạt tiêu chuẩn |
| Tự động ngắt khi $T > 40^\circ\text{C}$ |
Phản ứng sau $120\text{ ms}$; còi kêu liên tục |
$< 300\text{ ms}$ |
Đạt tiêu chuẩn |
BIỂU ĐỒ ỔN ĐỊNH VI KHÍ HẬU (TEST 24H)
Target Temp: 32.0°C | Target Hum: 95% RH
Temp (°C)
33.0 ┤ ╭──╮ ╭──╮ ╭──╮
32.0 ┼──────────╯ ╰────────╯ ╰────────╯ ╰──────── (±0.5°C Dải dao động)
31.0 ┤
+───────────────────────────────────────────────> Thời gian (h)
Hum (%RH)
96% ┤ ╭─╮ ╭─╮ ╭─╮ ╭─╮ ╭─╮
95% ┼─────╯ ╰─────╯ ╰─────╯ ╰─────╯ ╰─────╯ ╰────── (±2% Dải dao động)
93% ┤
+───────────────────────────────────────────────> Thời gian (h)
Kết quả đạt được
- Hoàn thành 100% các tính năng mục tiêu: Điều khiển tự động 2 khu vực nuôi nấm độc lập; phân tách hoàn hảo 3 chế độ (Nuôi tơ, Quả thể, Thủ công); tích hợp giao tiếp trực quan qua LCD 16x2 I2C và Web Server đám mây.
- Tích hợp công nghệ Voice Control: Cho phép người nông dân ra lệnh bật/tắt thiết bị hoặc chuyển chế độ thông qua micro trình duyệt web bằng tiếng Việt nhờ Web Speech API.
- Tính khả dụng hệ thống: Đạt tỷ lệ uptime $99.2%$ trong suốt quá trình thử nghiệm; điện năng tiêu thụ trung bình chỉ khoảng $0.85\text{ kWh/ngày}$ cho toàn bộ mô hình thử nghiệm.
Đổi mới và đóng góp
SO SÁNH CÁC GIẢI PHÁP TỰ ĐỘNG HÓA TRỒNG NẤM
+---------------------------------------------------------------+
| Đề tài tốt nghiệp (Dual-MCU IoT) |
| - Giá thành: < 1.5 triệu |
| - Kiến trúc: Arduino Nano + ESP8266 |
| - Tính năng: Web Cloud + Voice Control + SMS Cảnh báo |
+---------------------------------------------------------------+
vs
+--------------------------------+ +----------------------------+
| Bộ điều khiển FOX/Conotec | | Hệ thống SmartFarm công |
| (Công nghiệp đơn lẻ) | | nghiệp đóng gói |
| - Giá: 2 - 3 triệu/bộ | | - Giá: > 30 triệu/module |
| - Chỉ điều khiển tại chỗ | | - Khó tùy biến thuật toán |
| - Không kết nối Cloud/SMS | | - Đòi hỏi hạ tầng mạng lớn|
+--------------------------------+ +----------------------------+
- Kiến trúc phần cứng Dual-MCU phân tầng tối ưu:
- Việc ghép nối Arduino Nano và NodeMCU ESP8266 qua chuẩn giao tiếp UART nối chéo giải quyết triệt để vấn đề "nghẽn luồng xử lý" (Blocking I/O). Arduino Nano phụ trách quét I/O thời gian thực với độ trễ nano-giây, trong khi ESP8266 xử lý ngăn xếp mạng TCP/IP và gửi HTTP requests mà không làm gián đoạn vòng lặp điều khiển cơ cấu chấp hành.
- Cơ chế Fail-Safe phân tán:
- Khác với các hệ thống IoT đơn vi điều khiển dễ bị treo khi mất mạng, hệ thống có khả năng tự trị hoàn toàn (Autonomous Edge Execution): duy trì chu trình sinh trưởng của nấm kể cả khi mất kết nối Internet toàn phần.
- Chi phí sản xuất tối ưu (Cost Reduction):
- Giảm hơn $65%$ chi phí chế tạo so với việc sử dụng các bộ điều khiển logic lập trình được PLC hoặc các bộ điều khiển vi khí hậu chuyên dụng của nước ngoài.
Ứng dụng thực tế và triển khai
Kịch bản triển khai trang trại thực tế (Quy mô $100\text{ m}^2$)
Để mở rộng mô hình từ quy mô phòng thí nghiệm $60 \times 40 \times 40\text{ cm}$ ra nhà nấm thương phẩm, kiến trúc phần cứng được thiết kế dạng module hóa có thể nâng cấp dễ dàng:
[Module Điều Khiển IoT Trung Tâm]
- Vi điều khiển Dual-Core ESP32 hoặc Arduino Mega + ESP8266
- Cảm biến công nghiệp SHT30 / SHT20 (Bọc vỏ chống nước PE, chuẩn RS485/Modbus RTU)
- Cảm biến mực nước siêu âm chống ăn mòn
│
├─── (Điều khiển tín hiệu 12VDC qua ULN2803)
│
[Tủ Điện Công Suất Công Nghiệp]
├──> Khởi động từ (Contactor 220V/380V) ──> Máy phun sương công nghiệp (Lưu lượng 15-20L/h)
├──> Relay bán dẫn (SSR 40A) ──> Thanh gia nhiệt / Đèn sưởi Halogen công nghiệp
└──> Biến tần điều khiển động cơ ──> Quạt thông gió công suất lớn (Lưu lượng > 1200 m3/h)
Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI Analysis)
- Chi phí đầu tư thiết bị IoT cho 1 nhà nấm $100\text{ m}^2$: Khoảng $4.500.000\text{ VNĐ}$ (Bao gồm tủ điện công nghiệp, cảm biến SHT20 chống nước, mạch điều khiển trung tâm và contactor).
- Tiết kiệm nhân công: Giảm từ 2 nhân công trực chăm sóc/ngày xuống còn 0.25 công (chỉ kiểm tra định kỳ), tiết kiệm khoảng $6.000.000\text{ VNĐ/tháng}$.
- Tăng năng suất mùa vụ: Nhờ duy trì ổn định nhiệt - ẩm tối ưu trong 2 pha, tỷ lệ hao hụt giảm $25%$, sản lượng nấm tươi tăng từ $150\text{ kg}$ lên $190\text{ kg/tấn rơm}$.
- Thời gian hoàn vốn (ROI): Ước tính chỉ sau 1.5 đến 2 chu kỳ vụ nấm (khoảng 30 – 45 ngày).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Độ bền cảm biến trong môi trường bão hòa ẩm: Cảm biến DHT11 giá thành thấp, dải đo ẩm chỉ đạt tối đa 80%–90% RH và dễ bị đọng nước gây trôi điểm không sau thời gian dài hoạt động trong môi trường ẩm $> 90%$.
- Hạ tầng Cloud miễn phí: Nền tảng 000webhost có giới hạn băng thông và số lượng truy vấn/phút, đôi khi gây trễ trong việc cập nhật biểu đồ lịch sử theo thời gian thực.
- Điều khiển tuyến tính: Phương pháp điều khiển dạng Bang-Bang Relay có biên độ dập dềnh (chấn động nhiệt ẩm) nhẹ quanh điểm đặt (Set-point $\pm 0.5^\circ\text{C}$).
Hướng phát triển
- Nâng cấp cảm biến công nghiệp: Chuyển đổi sang cảm biến nhiệt ẩm chuẩn công nghiệp SHT30/SHT35 hoặc các dòng cảm biến giao tiếp RS-485 Modbus RTU có màng lọc PTFE kháng nước tuyệt đối.
- Ứng dụng giải thuật Fuzzy PID: Thay thế thuật toán đóng ngắt ngưỡng bằng giải thuật điều khiển mờ (Fuzzy Logic) kết hợp PID điều khiển góc kích Relay bán dẫn (SSR) để điều chỉnh công suất nhiệt và lưu lượng sương mịn liên tục.
- Tích hợp cảm biến đo nồng độ $CO_2$: Sử dụng cảm biến quang học NDIR (như MH-Z19B) để tự động điều khiển quạt thông gió khi hàm lượng $CO_2 > 0.1%$ trong giai đoạn hình thành quả thể.
- Xây dựng ứng dụng di động Native: Phát triển App chuyên dụng trên Flutter kết nối giao thức MQTT qua Broker riêng (Mosquitto/EMQX) để tối ưu hóa tốc độ truyền tải thời gian thực.
Đối tượng hưởng lợi
- Sinh viên ngành Kỹ thuật Điện - Điện tử / IoT: Tài liệu tham khảo toàn diện về phương pháp thiết kế hệ thống nhúng Dual-MCU, cách thức giao tiếp UART/I2C/1-Wire và kỹ thuật chống nhiễu công suất cho relay.
- Kỹ sư và Lập trình viên IoT: Mẫu kiến trúc thực tế kết hợp giữa phần cứng biên (Edge Hardware), dịch vụ Web Server PHP/MySQL tự triển khai và tích hợp Webhooks của bên thứ ba (IFTTT).
- Hộ nông dân và Trang trại trồng nấm: Giải pháp ứng dụng công nghệ cao giá rẻ, giảm phụ thuộc vào thời tiết, loại bỏ nguy cơ mất trắng do sốc nhiệt và giải phóng sức lao động.
- Nhà nghiên cứu Nông nghiệp ứng dụng: Nguồn dữ liệu thực nghiệm chuẩn xác về biểu đồ sinh trưởng của sợi nấm và quả thể nấm rơm theo nhiệt độ - độ ẩm môi trường.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai và vận hành hệ thống là gì?
Hệ thống yêu cầu nguồn cấp lưới 220VAC (được hạ áp thành 24VDC, 12VDC và 5VDC qua các adapter chuyển mạch chuyên dụng), môi trường lắp đặt có phủ sóng Wi-Fi 2.4GHz chuẩn 802.11 b/g/n với tín hiệu ổn định ($\text{RSSI} > -75\text{ dBm}$) và một tên miền/hosting hỗ trợ PHP 7.x + MySQL.
2. Làm thế nào để giải quyết tình trạng đọng sương làm hỏng cảm biến độ ẩm?
Trong triển khai thực tế, cảm biến nhiệt ẩm cần được lắp đặt trong ống bảo vệ có màng thở chống đọng giọt nước (Vỏ bảo vệ chuyên dụng cảm biến SHT) và đặt ở vị trí luân chuyển gió tự nhiên, tránh luồng phun sương trực tiếp từ đầu ra vỉ siêu âm.
3. Tại sao hệ thống sử dụng kết hợp cả Arduino Nano và ESP8266 thay vì chỉ dùng một mình ESP8266?
ESP8266 có số lượng chân GPIO rất hạn chế và có thể bị trễ chu kỳ quét khi phải đồng thời xử lý ngăn xếp mạng Wi-Fi và mã hóa dữ liệu HTTP/TLS. Việc dùng Arduino Nano làm vi điều khiển I/O chuyên trách giúp toàn bộ quá trình đọc cảm biến, quét nút bấm và đóng ngắt rơ-le luôn diễn ra chính xác theo thời gian thực mà không bao giờ bị nghẽn (Blocking).
4. Hệ thống có tự phục hồi được trạng thái hoạt động sau khi mất điện đột ngột không?
Có. Các thông số cấu hình ngưỡng (Set-point) và chế độ hoạt động hiện tại được lưu trực tiếp vào cơ sở dữ liệu và biến cấu hình. Khi có điện trở lại, hệ thống tự động khởi động lại, lấy thông số từ server và tiếp tục duy trì chế độ điều khiển mà không cần con người thao tác lại.
5. Chi phí chế tạo và nâng cấp hệ thống lên quy mô công nghiệp khoảng bao nhiêu?
Mô hình nghiên cứu mẫu có chi phí linh kiện khoảng $1.200.000 - 1.500.000\text{ VNĐ}$. Khi nâng cấp lên quy mô trang trại công nghiệp $100\text{ m}^2$ (thay thế cảm biến công nghiệp RS485 và khởi động từ Contactor công suất lớn), tổng chi phí phần cứng tủ điện chỉ dao động từ $4.500.000 - 6.000.000\text{ VNĐ}$.
Kết luận
Đồ án tốt nghiệp "Thiết kế và thi công mô hình giám sát và điều khiển mô hình trồng nấm rơm" đã chứng minh tính khả thi và hiệu quả vượt trội của việc ứng dụng công nghệ IoT và tự động hóa vào sản xuất nông nghiệp công nghệ cao. Bằng việc kết hợp hài hòa giữa cấu trúc phần cứng phân tầng ổn định, thuật toán điều khiển vi khí hậu 2 giai đoạn chính xác và giao diện điều khiển đa phương thức qua Web/Voice/SMS, hệ thống đã giải quyết trọn vẹn bài toán kiểm soát môi trường sinh trưởng của nấm rơm với chi phí tối ưu nhất. Đây là bước đệm quan trọng, mở ra tiềm năng thương mại hóa rộng rãi để đồng hành cùng người nông dân hiện đại hóa ngành nghề trồng nấm truyền thống tại Việt Nam.