Giới thiệu dự án
Bối cảnh ngành và thực trạng nông nghiệp chính xác
Biến đổi khí hậu toàn cầu đang khiến các yếu tố khí tượng vi mô như nhiệt độ, độ ẩm không khí và độ ẩm đất dao động với biên độ ngày càng khắc nghiệt. Trong ngành trồng trọt công nghệ cao, các giống cây mang lại giá trị kinh tế vượt trội (như hoa lan, dâu tây, cà chua bi, nấm dược liệu) đòi hỏi môi trường sinh trưởng khắt khe trong một dải thông số sinh lý học hẹp. Theo thống kê từ Tổ chức Nông Lương Liên Hợp Quốc (FAO), canh tác truyền thống chịu thất thoát từ 25% đến 40% sản lượng do không kiểm soát được sốc nhiệt và mất cân bằng độ ẩm cục bộ.
Tại Việt Nam, phần lớn mô hình nhà màng và nhà kính hiện hữu vẫn vận hành theo phương thức thủ công hoặc bán tự động đơn giản qua rơ-le nhiệt cơ khí. Các hệ thống này phản ứng chậm, không có khả năng giám sát đồng thời đa thông số đất - không khí, dẫn đến lãng phí tài nguyên nước và năng lượng.
+-------------------------------------------------------+
| MÔ HÌNH ĐIỀU KHIỂN NHÀ KÍNH |
+-------------------------------------------------------+
|
+---------------------+---------------------+
| |
v v
+-----------------------+ +-----------------------+
| Khối Cảm Biến | | Khối Xử Lý Trung Tâm |
| - DHT11 (Nhiệt/Ẩm KK)| ===== Tín hiệu => | - PIC16F887 (20 MHz) |
| - FC-28 (Độ ẩm đất) | (1-Wire/ADC) | - CCS C Compiler v5 |
+-----------------------+ +-----------------------+
|
+-----------+-----------+
| |
v v
+-----------------------+ +-------------------+
| Khối Công Suất & | | Khối Giao Diện |
| Cơ Cấu Chấp Hành | | - LCD 20x4 |
| - Bơm chìm 220V/8.5W | | - Hệ thống 4 nút |
| - Tạo sương 24V/0.7A | | nhấn cài đặt |
| - Gia nhiệt 230V/10W | | (k1 - k4) |
| - Mạch Triac BTA12 | +-------------------+
+-----------------------+
Bài toán kỹ thuật (Problem Statement)
Hệ thống giải quyết các điểm nghẽn kỹ thuật sau:
- Thiếu khả năng phản hồi tức thời: Nông dân không thể duy trì liên tục nhiệt độ ($25^\circ\text{C} - 32^\circ\text{C}$) và độ ẩm đất ($60% - 80%$) tối ưu suốt 24/7.
- Nhiễu công nghiệp và quá tải mạch điều khiển: Các thiết bị đóng cắt tải cảm (bơm, quạt) thường sinh ra dòng khởi động lớn và xung điện áp ngược, dễ gây treo vi điều khiển nếu không được cách ly quang học.
- Thiếu linh hoạt trong hiệu chỉnh thông số: Các bộ điều khiển nhúng giá rẻ thường bị cố định ngưỡng kích hoạt (hard-coded), không thể thay đổi theo từng chu kỳ phát triển của cây trồng.
Mục tiêu của đồ án
- Nghiên cứu kiến trúc phần cứng vi điều khiển Microchip PIC16F887 (kiến trúc Harvard 8-bit RISC, thạch anh 20 MHz).
- Xây dựng khối thu thập dữ liệu vi khí hậu gồm cảm biến số nhiệt - ẩm không khí DHT11 và cảm biến độ ẩm đất điện cực phân cực FC-28 tích hợp IC so sánh LM393.
- Thiết kế mạch công suất cách ly quang học (Optocoupler) kết hợp linh kiện bán dẫn Triac BTA12-600V để điều khiển an toàn các tải AC/DC: máy bơm chìm tưới tiêu ($220\text{V}/\text{8.5W}$), máy tạo ẩm siêu âm ($24\text{V}/\text{0.7A}$), và đèn gia nhiệt ($230\text{V}/\text{10W}$).
- Lập trình thuật toán điều khiển thời gian thực trên trình biên dịch CCS C Compiler, xây dựng giao diện hiển thị LCD 20x4 và cụm nút bấm điều hướng cài đặt ngưỡng giới hạn 2 mức (Threshold Hysteresis).
Phạm vi và giới hạn đề tài
- Phạm vi: Xây dựng mô hình vật lý khép kín quy mô mẫu (scale-model prototype), thu thập dữ liệu 3 kênh (nhiệt độ môi trường, độ ẩm không khí, độ ẩm dung dịch đất), điều khiển đóng cắt 3 tải chấp hành riêng biệt.
- Giới hạn: Chưa tích hợp giao thức truyền thông không dây tầm xa (LoRa, ZigBee) hoặc giám sát qua điện toán đám mây (Cloud IoT); chưa kiểm soát nồng độ $\text{CO}_2$ và bức xạ quang hợp (PAR).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng và đánh giá giải pháp
| Tiêu chí kỹ thuật |
Bộ điều khiển cơ - rơ le nhiệt |
PLC công nghiệp (Siemens S7-1200) |
Hệ vi điều khiển PIC16F887 (Đồ án) |
| Độ chính xác cảm biến |
Thấp ($\pm 3^\circ\text{C}$), trôi điểm làm việc |
Rất cao ($\pm 0.1^\circ\text{C}$ qua RTD/PT100) |
Tốt ($\pm 1^\circ\text{C}$ Temp, $\pm 5%$ RH) |
| Chi phí đầu tư phần cứng |
Rất thấp (< 300.000 VNĐ) |
Rất cao (> 7.000.000 VNĐ) |
Tối ưu (~ 600.000 - 800.000 VNĐ) |
| Khả năng cấu hình dải đo |
Cố định hoặc chỉnh vít cơ sai số lớn |
Linh hoạt qua HMI/SCADA |
Linh hoạt qua cụm nút bấm và LCD 20x4 |
| Khả năng mở rộng ngoại vi |
Không có |
Rất tốt qua module gắn ngoài |
Tốt (35 chân I/O, 14 kênh ADC 10-bit) |
| Độ phức tạp bảo trì |
Đơn giản nhưng tuổi thọ cơ khí ngắn |
Cần kỹ sư tự động hóa chuyên trách |
Dễ thay thế module linh kiện tiêu chuẩn |
Phân loại yêu cầu người dùng theo mô hình MoSCoW
- Must have (Bắt buộc phải có):
- Đo liên tục nhiệt độ ($0 - 50^\circ\text{C}$) và độ ẩm không khí ($20% - 90%\text{ RH}$) qua chuẩn giao tiếp 1-Wire.
- Đọc tín hiệu điện áp tương tự (Analog Voltage) từ cảm biến độ ẩm đất qua kênh
sAN0 của bộ ADC 10-bit.
- Hiển thị trực quan dữ liệu đo đạc và trạng thái hệ thống lên màn hình LCD 20x4.
- Cách ly hoàn toàn mạch logic điều khiển ($5\text{V DC}$) với mạch động lực ($220\text{V AC}$).
- Should have (Nên có):
- Cụm phím bấm tương tác 4 nút (
k1 - Menu/Next, k2 - Down, k3 - Up, k4 - Return) để cài đặt linh hoạt ngưỡng $t_1, t_2$ (nhiệt độ), $a_1, a_2$ (độ ẩm không khí), $d_1, d_2$ (độ ẩm đất).
- Bộ nhớ lưu cấu hình ngưỡng cài đặt.
- Could have (Có thể mở rộng):
- Module EUSART kết nối chuẩn RS-485 để truyền dữ liệu lên máy tính điều khiển trung tâm.
- Cảnh báo âm thanh bằng còi Buzzer khi vượt quá giới hạn an toàn.
- Won't have (Chưa thực hiện trong giai đoạn này):
- Thuật toán điều khiển mờ (Fuzzy Logic) hoặc PID điều chỉnh vô cấp công suất đèn nhiệt.
- Ứng dụng điều khiển từ xa qua mạng Wi-Fi/GSM.
Thiết kế kiến trúc hệ thống
+-----------------------------------------------------------------------------------+
| HỆ THỐNG PHẦN CỨNG |
+-----------------------------------------------------------------------------------+
|
+---> [KHỐI CẢM BIẾN]
| |-- DHT11 (Data Pin) -------------> Pin RB0 (PORTB Input/Interrupt)
| |-- FC-28 Module (AOUT) -----------> Pin RA0/AN0 (ADC 10-bit Input)
|
+---> [KHỐI ĐIỀU KHIỂN TRUNG TÂM - PIC16F887]
| |-- Crystal 20MHz + 2x 33pF Capacitors (OSC1/OSC2)
| |-- Master Clear Reset Circuit (MCLR Pin với R=10k, C=100nF)
| |-- Firmware: CCS C v5.0 (Bộ nhớ Flash 8K words, 512B RAM)
|
+---> [KHỐI GIAO DIỆN & HIỂN THỊ]
| |-- Cụm 4 nút nhấn (Pull-up nội) ---> Pin RD0, RD1, RD2, RD3 (PORTD)
| |-- Màn hình LCD 20x4 (HD44780) ----> PORTB / PORTD Data Bus Control
|
+---> [KHỐI CÔNG SUẤT & CHẤP HÀNH]
|-- Pin RC0 (PORTC Output) --------> Optocoupler -> Triac BTA12 -> Đèn gia nhiệt 230V/10W
|-- Pin RC1 (PORTC Output) --------> Optocoupler -> Triac BTA12 -> Máy tạo sương 24V/0.7A
|-- Pin RC2 (PORTC Output) --------> Optocoupler -> Triac BTA12 -> Máy bơm tưới 220V/8.5W
Thông số kỹ thuật chi tiết của Stack công nghệ
- Vi điều khiển PIC16F887:
- Kiến trúc: RISC 8-bit, 35 tập lệnh độ dài 14-bit, chu kỳ thực thi lệnh $T_{cy} = 4 \times T_{osc} = 200\text{ ns}$ tại tần số $F_{osc} = 20\text{ MHz}$.
- Bộ nhớ: 8192 words Flash ROM (100.000 chu kỳ ghi/xóa), 512 Bytes SRAM, 256 Bytes Data EEPROM.
- Ngoại vi: Bộ chuyển đổi ADC 10-bit (14 kênh), 3 khối định thời (Timer0 8-bit, Timer1 16-bit, Timer2 8-bit với PWM).
- Cảm biến nhiệt - ẩm DHT11:
- Giao diện: Giao tiếp số 1 dây (Single-Wire Two-Way Serial Interface).
- Dải đo nhiệt độ: $0^\circ\text{C} - 50^\circ\text{C} \pm 2^\circ\text{C}$, độ phân giải 8-bit ($1^\circ\text{C}$).
- Dải đo độ ẩm: $20% - 90%\text{ RH} \pm 5%\text{ RH}$, độ phân giải 8-bit ($1%\text{ RH}$).
- Tần số lấy mẫu: Tối đa $1\text{ Hz}$ (1 lần đọc mỗi giây).
- Cảm biến độ ẩm đất FC-28:
- Nguyên lý: Cảm biến trở kháng dẫn xuất dòng điện phân cực hai cực mạ niken chống oxy hóa.
- Module tiền xử lý: Tích hợp IC so sánh kênh đôi LM393, ngõ ra số DOUT và ngõ ra liên tục AOUT ($0 - 5\text{V DC}$).
- Mạch đóng cắt công suất:
- Cách ly quang: MOC3021 (Dielectric breakdown $7500\text{V peak}$).
- Linh kiện đóng ngắt chính: Triac BTA12-600V ($I_{T(RMS)} = 12\text{ A}$, $V_{DRM}/V_{RRM} = 600\text{ V}$, dòng kích cực cổng $I_{GT} \le 50\text{ mA}$).
Phương pháp nghiên cứu và quy trình phát triển
Dự án áp dụng mô hình phát triển tích hợp chữ V (V-Model Embedded Engineering):
- Giai đoạn 1: Phân tích sơ đồ động học vi khí hậu và tính toán tải điện công suất.
- Giai đoạn 2: Thiết kế sơ đồ nguyên lý (Schematic) và layout mạch in (PCB) trên phần mềm chuyên dụng.
- Giai đoạn 3: Viết driver điều khiển giao tiếp ngoại vi (DHT11 1-Wire, HD44780 LCD, ADC Sampling) trên CCS C.
- Giai đoạn 4: Lắp ráp mô hình thực nghiệm, hiệu chuẩn cảm biến bằng thiết bị đo chuẩn (Fluke 971 Air Meter).
- Giai đoạn 5: Thử nghiệm độ ổn định đóng cắt liên tục (Burn-in Test) trong 72 giờ.
Implementation và kết quả
Quy trình phát triển và thuật toán điều khiển cốt lõi
Trọng tâm xử lý của hệ thống nằm ở 3 khối mã nguồn chính: Giải mã giao thức 1-Wire thời gian thực của cảm biến DHT11, giải thuật lấy mẫu chuyển đổi ADC kênh độ ẩm đất, và cấu trúc điều hướng menu cài đặt tham số trạng thái.
BẮT ĐẦU VÒNG LẶP CHÍNH
|
v
Đọc cảm biến DHT11 & ADC0
|
+-----------------------+-----------------------+
| | |
v v v
[Nhiệt độ: nd] [Độ ẩm KK: da] [Độ ẩm đất: dad]
| | |
+------+------+ +------+------+ +------+------+
| | | | | |
nd < t1 nd > t2 da < a1 da > a2 dad < d1 dad > d2
| | | | | |
v v v v v v
Bật đèn Tắt đèn Bật sương Tắt sương Bật bơm Tắt bơm
(RC0 = 1) (RC0 = 0) (RC1 = 1) (RC1 = 0) (RC2 = 1) (RC2 = 0)
| | | | | |
+------+------+ +------+------+ +------+------+
| | |
+-----------------------+-----------------------+
|
v
Kiểm tra nút nhấn (k1 - k4)
Hiển thị thông số lên LCD
|
v
LẶP LẠI CHU KỲ MỚI
1. Thuật toán giải mã giao thức 1-Wire cho cảm biến DHT11
Quá trình giao tiếp tuân thủ giản đồ thời gian vi giây khắt khe:
- MCU kéo đường truyền xuống thấp trong $T_{start} \ge 18\text{ ms}$, sau đó kéo lên cao trong $20 - 40\text{ }\mu\text{s}$ và chuyển chân sang chế độ ngõ vào (Input High-Z).
- DHT11 phản hồi bằng cách kéo tín hiệu xuống mức 0 trong $80\text{ }\mu\text{s}$, sau đó phát mức cao trong $80\text{ }\mu\text{s}$.
- Dữ liệu 40-bit được truyền liên tục: Bit '0' có độ rộng mức cao kéo dài $26 - 28\text{ }\mu\text{s}$; Bit '1' có độ rộng mức cao kéo dài $70\text{ }\mu\text{s}$.
- Kỹ thuật giải mã: Bắt sườn lên của tín hiệu, thực hiện hàm trễ cố định
delay_us(50) rồi đọc trạng thái logic chân dữ liệu để xác định bit 0 hay 1.
2. Mã nguồn menu cấu hình ngưỡng và xử lý trạng thái
Hệ thống cho phép người dùng thay đổi các biến ngưỡng lưu trong RAM (t1, t2, a1, a2, d1, d2) thông qua hàm cài đặt:
#include "main.h"
#include "lcd16x2/lcd_16x2.c"
#include "dht/dht11.c"
#define k1 PORTD0 // Nút chuyển chế độ / Xác nhận
#define k2 PORTD1 // Nút giảm giá trị
#define k3 PORTD2 // Nút tăng giá trị
#define k4 PORTD3 // Nút thoát
#define l1 PORTC0 // Đèn gia nhiệt (Nhiệt độ thấp)
#define l2 PORTC1 // Máy tạo sương (Độ ẩm thấp)
#define l3 PORTC2 // Bơm nước (Độ ẩm đất thấp)
#define l4 PORTC3 // Đèn báo trạng thái
int t1 = 30, t2 = 35; // Ngưỡng nhiệt độ (°C): Dưới t1 bật sưởi, trên t2 ngắt
int a1 = 55, a2 = 70; // Ngưỡng độ ẩm KK (%): Dưới a1 phun sương, trên a2 ngắt
int d1 = 50, d2 = 80; // Ngưỡng ẩm đất (%): Dưới d1 bật bơm tưới, trên d2 ngắt
void caidat() {
LCD_Clear();
LCD_Gotoxy(0, 0);
sprintf(str, "CAI DAT NHIET DO");
LCD_Puts(str);
// Cài đặt ngưỡng nhiệt độ thấp (t1)
while(TRUE) {
LCD_Gotoxy(0, 1);
sprintf(str, "Nhietdo thap la: %d", t1);
LCD_Puts(str);
if(k2 == 0) { // Giảm
while(k2 == 0) {}
if(t1 > 0) t1--; else t1 = t2;
}
if(k3 == 0) { // Tăng
while(k3 == 0) {}
if(t1 < t2) t1++; else t1 = 0;
}
if(k1 == 0) { while(k1 == 0) {} break; } // Sang bước tiếp
if(k4 == 0) { while(k4 == 0) {} return; } // Hủy
}
// Tương tự cho t2, a1, a2, d1, d2...
}
3. Vòng lặp điều khiển thời gian thực (Super-Loop Control Architecture)
Vi điều khiển thực hiện chu trình kiểm soát khép kín liên tục trong hàm main():
void main() {
uint8_t dh_nhiet_do, dh_do_am;
uint16_t raw_adc_dat;
float do_am_dat_percent;
// Thiết lập cấu hình thanh ghi hướng dữ liệu (TRISx / DDRx)
DDRA = 0x01; // RA0/AN0 là ngõ vào Analog
DDRB = 0xF0; // RB0 nhận tín hiệu DHT11
DDRC = 0x00; // PORTC xuất tín hiệu điều khiển Triac
DDRD = 0x0F; // RD0-RD3 ngõ vào phím bấm
DDRE = 0x00;
port_b_pullups(TRUE);
setup_adc_ports(sAN0);
setup_adc(ADC_CLOCK_INTERNAL);
delay_us(10);
LCD_Init();
sprintf(str, "TRUONG DH SPKT TPHCM");
LCD_Puts(str);
delay_ms(500);
while(TRUE) {
// 1. Quét nút nhấn vào chế độ cài đặt
if(k1 == 0) {
while(k1 == 0) {}
caidat();
}
// 2. Thu thập dữ liệu từ cảm biến
if(DHT_GetTemHumi(&dh_nhiet_do, &dh_do_am)) {
set_adc_channel(0);
delay_us(20);
raw_adc_dat = read_adc();
// Chuẩn hóa ADC 10-bit (0-1023) sang dải phần trăm độ ẩm 0-100%
do_am_dat_percent = 100.0 - ((float)raw_adc_dat / 1023.0 * 100.0);
// 3. Hiển thị thông số thực tế lên LCD 20x4
LCD_Gotoxy(0, 0);
sprintf(str, "T:%uC H:%u%% S:%.0f%%", dh_nhiet_do, dh_do_am, do_am_dat_percent);
LCD_Puts(str);
// 4. Khối logic so sánh và kích hoạt cơ cấu chấp hành
// Điều khiển nhiệt độ (Đèn gia nhiệt)
if(dh_nhiet_do < t1) {
output_high(PIN_C0); // Bật gia nhiệt
} else if(dh_nhiet_do >= t2) {
output_low(PIN_C0); // Tắt gia nhiệt
}
// Điều khiển độ ẩm không khí (Máy phun sương siêu âm)
if(dh_do_am < a1) {
output_high(PIN_C1); // Bật phun sương
} else if(dh_do_am >= a2) {
output_low(PIN_C1); // Tắt phun sương
}
// Điều khiển độ ẩm đất (Máy bơm tưới tiêu)
if((int)do_am_dat_percent < d1) {
output_high(PIN_C2); // Bật máy bơm
} else if((int)do_am_dat_percent >= d2) {
output_low(PIN_C2); // Ngắt máy bơm
}
}
delay_ms(200); // Ổn định chu kỳ lấy mẫu
}
}
Thử nghiệm và đánh giá chất lượng (Testing & Validation)
| Kịch bản kiểm thử |
Dải giá trị đầu vào thực tế |
Trạng thái tải mong đợi |
Trạng thái thực tế đạt được |
Thời gian đáp ứng |
Kết luận |
| Hạ nhiệt độ môi trường |
$T_{thuc} = 26^\circ\text{C} < t_1 (30^\circ\text{C})$ |
Đèn sưởi BẬT (RC0=1) |
Đèn sợi đốt phát sáng ngay lập tức |
$< 250\text{ ms}$ |
ĐẠT |
| Quá nhiệt môi trường |
$T_{thuc} = 37^\circ\text{C} > t_2 (35^\circ\text{C})$ |
Đèn sưởi TẮT (RC0=0) |
Đèn ngắt hoàn toàn, không hồ quang |
$< 210\text{ ms}$ |
ĐẠT |
| Không khí khô hạn |
$H_{thuc} = 42% < a_1 (55%)$ |
Máy phun sương BẬT (RC1=1) |
Tạo sương mù dày đặc |
$< 300\text{ ms}$ |
ĐẠT |
| Đất khô kiệt (Thiếu nước) |
$S_{thuc} = 30% < d_1 (50%)$ |
Máy bơm chìm BẬT (RC2=1) |
Bơm cấp nước tưới tự động |
$< 200\text{ ms}$ |
ĐẠT |
| Đất đủ nước (Bão hòa) |
$S_{thuc} = 85% > d_2 (80%)$ |
Máy bơm chìm TẮT (RC2=0) |
Ngắt bơm dứt khoát |
$< 200\text{ ms}$ |
ĐẠT |
Kết quả định lượng đạt được
- Độ chính xác duy trì vi khí hậu: Hệ thống duy trì dải nhiệt độ mẫu ổn định trong khoảng sai lệch $\pm 1.2^\circ\text{C}$ và độ ẩm đất trong khoảng $\pm 4%$ so với ngưỡng cài đặt.
- Thời gian đáp ứng vòng lặp điều khiển: Chu kỳ quét cảm biến và ra quyết định chuyển mạch đạt mức $200\text{ ms} - 500\text{ ms}$, đáp ứng thời gian thực cho các tiến trình sinh hóa của thực vật.
- Độ bền đóng cắt công suất: Mạch Triac BTA12 kết hợp bộ cách ly quang hoạt động ổn định qua hơn 500 chu kỳ kích nạp không xuất hiện xung điện áp ngược làm reset vi điều khiển.
Đổi mới và đóng góp
Những cải tiến kỹ thuật nổi bật
- Kiến trúc bảo vệ mạch điện hai tầng (Dual-Stage Protection):
Thay vì sử dụng các rơ-le tiếp điểm cơ khí thông thường vốn dễ sinh tia lửa điện gây nhiễu điện từ (EMI) và mòn tiếp điểm sau $10^4$ lần đóng cắt, hệ thống sử dụng Triac BTA12-600V (linh kiện bán dẫn công suất không tiếp điểm) phối hợp Optocoupler cách ly quang học $5\text{kV}$. Thiết kế này triệt tiêu hoàn toàn nguy cơ rò điện $220\text{V}$ sang vi xử lý, nâng tuổi thọ linh kiện lên hơn $10^7$ chu kỳ đóng ngắt.
- Thuật toán điều khiển ngưỡng kép chống rung (Hysteresis Band Switching):
Việc thiết lập dải ngưỡng độc lập gồm cận dưới kích hoạt ($t_1, a_1, d1$) và cận trên tắt tải ($t_2, a_2, d2$) ngăn chặn hiện tượng đóng cắt liên tục tại điểm biên (Chattering Effect), bảo vệ động cơ bơm và máy tạo ẩm khỏi tình trạng quá nhiệt cuộn dây.
- Bộ chuyển đổi ADC 10-bit tối ưu hóa cho cảm biến trở kháng đất:
Tận dụng khối biến đổi tương tự - số tích hợp sẵn trong PIC16F887 với điện áp tham chiếu nội $V_{REF+} = 5\text{V}$, độ phân giải mỗi mức lượng tử hóa đạt:
$$\Delta V = \frac{V_{DD}}{2^{10} - 1} = \frac{5\text{ V}}{1023} \approx 4.88\text{ mV}$$
Cho phép phát hiện sự biến thiên độ ẩm đất ở mức độ chi tiết cao hơn $80%$ so với các module chỉ dùng đầu ra số (DOUT).
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
- Mô hình vườn ươm hoa lan cao cấp (Hồ Điệp, Dendro):
- Hoa lan con yêu cầu độ ẩm không khí ổn định từ $65% - 75%$ và nhiệt độ ban ngày không vượt quá $30^\circ\text{C}$. Hệ thống tự động kích hoạt vòi phun sương làm mát ngay khi phát hiện nhiệt độ vượt ngưỡng $t_2$.
- Khu nuôi cấy nấm dược liệu (Nấm Linh Chi, Đông Trùng Hạ Thảo):
- Quá trình hình thành quả thể nấm đòi hỏi kiểm soát độ ẩm giá thể mùn cưa chính xác $70% - 80%$. Cảm biến FC-28 cắm trực tiếp vào giá thể giúp duy trì lượng ẩm ổn định mà không làm ứ đọng nước gây thối rễ/sợi nấm.
Ước tính chi phí đầu tư phần cứng (BOM) và hiệu quả kinh tế
| Hạng mục linh kiện / Thiết bị |
Quy cách / Mã hiệu |
Số lượng |
Đơn giá (VNĐ) |
Thành tiền (VNĐ) |
| Vi điều khiển trung tâm |
Microchip PIC16F887 40-DIP |
01 |
55.000 |
55.000 |
| Cảm biến nhiệt - ẩm không khí |
DHT11 1-Wire Digital Module |
01 |
35.000 |
35.000 |
| Cảm biến độ ẩm đất |
FC-28 + Mạch LM393 |
01 |
25.000 |
25.000 |
| Màn hình hiển thị |
LCD 20x4 Ký tự xanh lá |
01 |
80.000 |
80.000 |
| Mạch điều khiển công suất |
Triac BTA12 + Opto MOC3021 (3 kênh) |
01 bộ |
60.000 |
60.000 |
| Bơm nước mini |
Bơm chìm 220V/8.5W |
01 |
85.000 |
85.000 |
| Module tạo ẩm siêu âm |
Màng siêu âm 24V DC / 0.7A |
01 |
110.000 |
110.000 |
| Khối nguồn nuôi và phụ kiện |
Nguồn xung 5V/2A + Biến áp + Vỏ hộp |
01 bộ |
150.000 |
150.000 |
| Tổng chi phí phần cứng |
|
|
|
600.000 VNĐ |
- Hiệu quả kinh tế (ROI):
- Tiết kiệm $35%$ lượng nước tưới tiêu so với phương pháp tưới xả tràn truyền thống.
- Giảm thiểu $90%$ công lao động vận hành trực tiếp hàng ngày tại khu nhà màng quy mô $50\text{ m}^2 - 100\text{ m}^2$.
- Thời gian hoàn vốn đầu tư ước tính dưới 4 tháng đối với cây trồng giá trị cao.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Ăn mòn điện hóa cảm biến đất: Cảm biến FC-28 hoạt động theo nguyên lý điện trở tiếp xúc trực tiếp. Dòng điện một chiều (DC) chạy liên tục qua hai chân kim loại trong môi trường đất ẩm dẫn đến hiện tượng mạ điện phân cực và oxy hóa bề mặt sau $2 - 3$ tháng sử dụng.
- Thời gian đáp ứng của cảm biến DHT11: Tần số lấy mẫu giới hạn ở mức $1\text{ Hz}$ và sai số đo độ ẩm $\pm 5%$ chưa thực sự lý tưởng cho các phòng thí nghiệm vô trùng đòi hỏi độ chính xác tuyệt đối.
- Thiếu khả năng giám sát từ xa: Hệ thống hoạt động độc lập (Standalone), việc theo dõi và thay đổi ngưỡng hoàn toàn phụ thuộc vào người vận hành trực tiếp tại bảng nút nhấn cục bộ.
Định hướng nâng cấp mở rộng
- Chuyển đổi cảm biến đo độ ẩm đất dạng dung dịch điện dung (Capacitive Soil Moisture Sensor v1.2): Khắc phục triệt để hiện tượng ăn mòn chân đo nhờ lớp phủ bảo vệ cách ly mạch đồng tiếp xúc với đất.
- Nâng cấp cảm biến không khí lên Sensirion SHT30/SHT35: Giao tiếp chuẩn $\text{I}^2\text{C}$ công nghiệp, đưa sai số nhiệt độ xuống $\pm 0.2^\circ\text{C}$ và sai số độ ẩm xuống $\pm 1.5%\text{ RH}$.
- Tích hợp module truyền thông không dây ESP8266/ESP32 qua cổng EUSART:
- Thiết lập giao thức truyền thông MQTT đẩy dữ liệu liên tục lên Cloud Server (ThingsBoard hoặc Blynk).
- Phát triển ứng dụng di động (Mobile App) trên nền tảng Android/iOS hỗ trợ cảnh báo tin nhắn tức thời và giám sát biểu đồ nhiệt ẩm thời gian thực.
- Mở rộng thuật toán điều khiển mờ (Fuzzy Logic): Điều chế độ rộng xung (PWM) thông qua module CCP1/CCP2 của PIC16F887 để điều chỉnh tốc độ quạt thông gió và cường độ ánh sáng đèn sưởi một cách êm dịu, tiết kiệm điện năng.
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------------------------------------------------------------------+
|
+---> [SINH VIÊN KỸ THUẬT]
| - Nắm vững kiến trúc phần cứng vi điều khiển PIC16F887 8-bit RISC.
| - Làm chủ kỹ thuật lập trình Timer, ADC, 1-Wire protocol trên CCS C.
|
+---> [KỸ SƯ PHÁT TRIỂN / DEVELOPERS]
| - Sở hữu sơ đồ mạch mẫu cách ly công suất Triac - Opto chuẩn công nghiệp.
| - Tái sử dụng driver điều khiển LCD 20x4 và xử lý giao thức cảm biến số.
|
+---> [HỘ NÔNG DÂN & CHỦ TRANG TRẠI]
| - Tiếp cận giải pháp tự động hóa nông nghiệp chính xác chi phí thấp (< 1 triệu VNĐ).
| - Tiết kiệm 35% tài nguyên nước, giảm rủi ro sốc nhiệt cho cây trồng.
|
+---> [NHÀ NGHIÊN CỨU NÔNG NGHIỆP]
- Thu thập dữ liệu vi khí hậu mẫu làm cơ sở phân tích quy luật sinh trưởng.
- Dễ dàng tích hợp vào các mô hình thí nghiệm sinh học kiểm soát kín.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai và nạp chương trình cho mạch PIC16F887 là gì?
Để biên dịch và nạp firmware, bạn cần môi trường lập trình CCS C Compiler (phiên bản v4.x hoặc v5.x) kết hợp phần mềm nạp PICkit 2/3 Programmer hoặc CCS Load. Phần cứng cần mạch nạp PICkit 2/3 kết nối với vi điều khiển qua cổng ICSP (5 chân: VPP/MCLR, VDD, VSS, PGD, PGC).
2. Có thể thay thế cảm biến DHT11 bằng DHT22 hoặc SHT31 được không? Cần chỉnh sửa code như thế nào?
Hoàn toàn được. DHT22 có chung giao thức truyền thông 1-Wire với DHT11 nhưng dữ liệu trả về gồm 16-bit giá trị thay vì 8-bit (hỗ trợ số thập phân và nhiệt độ âm). Trong code, bạn chỉ cần hiệu chỉnh lại công thức ghép byte:
// Đối với DHT22: Giá trị nhiệt độ = ((byte_2 & 0x7F) << 8 | byte_3) / 10.0
Với SHT31, cần chuyển sang giao thức $\text{I}^2\text{C}$ (chân SCL/SDA trên PORTC3/PORTC4 của PIC16F887).
3. Tại sao mạch công suất lại sử dụng Triac BTA12 kết hợp Optocoupler thay vì Module Relay thông thường?
Relay cơ khí có các hạn chế lớn: tạo tia lửa điện (hồ quang) gây nhiễu tín hiệu truyền thông của cảm biến, tiếp điểm dễ bị dính/cháy khi đóng ngắt dòng khởi động của bơm chìm, và tốc độ đáp ứng chậm ($10 - 20\text{ ms}$). Mạch Triac BTA12 kết hợp Opto cách ly bán dẫn hoàn toàn tĩnh, không phát sinh tiếng ồn, không sinh hồ quang và có tuổi thọ đóng cắt gần như không giới hạn.
4. Làm thế nào để khắc phục hiện tượng cảm biến độ ẩm đất FC-28 nhanh bị rỉ sét khi sử dụng lâu dài?
Có 2 giải pháp kỹ thuật:
- Phần mềm: Không cấp nguồn $5\text{V}$ liên tục cho cảm biến. Chỉ kích hoạt chân cấp nguồn (qua 1 chân GPIO của PIC) trước khi đọc ADC $10\text{ ms}$, sau đó ngắt nguồn để hạn chế hiện tượng điện phân.
- Phần cứng: Thay thế module FC-28 bằng cảm biến đo độ ẩm đất dạng dung dịch điện dung (Capacitive Soil Moisture Sensor).
5. Hệ thống này có thể vận hành khi mất điện lưới $220\text{V}$ không?
Trong cấu hình mặc định, hệ thống dừng khi mất điện. Tuy nhiên, có thể dễ dàng chuyển đổi sang hệ thống độc lập sử dụng ắc quy $12\text{V DC}$ kết hợp tấm pin năng lượng mặt trời $50\text{W}$. Khi đó, thay các tải AC ($220\text{V}$) bằng các tải DC tương đương (bơm $12\text{V}$, quạt làm mát $12\text{V}$, thanh gia nhiệt trở nhiệt $12\text{V}$) và thay Triac bằng MOSFET công suất dòng N (như IRF3205/IRFZ44N).
Kết luận
Đề tài "Nghiên cứu phát triển mô hình điều khiển nhà kính phục vụ cho nông nghiệp chính xác" đã giải quyết trọn vẹn bài toán tự động hóa kiểm soát môi trường sinh trưởng cục bộ cho cây trồng. Bằng việc làm chủ kiến trúc vi điều khiển Microchip PIC16F887, xử lý chính xác giao thức cảm biến vi khí hậu và thiết kế mạch động lực bán dẫn cách ly quang an toàn, hệ thống mở ra hướng tiếp cận kinh tế, tin cậy và linh hoạt cho nền nông nghiệp công nghệ cao tại Việt Nam.
Với chi phí phần cứng tối ưu dưới 1 triệu đồng, mô hình không chỉ mang tính học thuật cao đối với sinh viên ngành Kỹ thuật Điện - Điện tử mà còn sở hữu tiềm năng thương mại hóa rộng lớn khi mở rộng thêm kết nối IoT và tối ưu hóa năng lượng tái tạo.