Giới thiệu dự án

Chăn nuôi gia cầm đóng vai trò then chốt trong cơ cấu kinh tế nông nghiệp Việt Nam, với tổng đàn gia cầm cả nước duy trì trên 500 triệu con. Tuy nhiên, tỷ lệ nở khi ấp trứng theo phương pháp tự nhiên (gia cầm ấp) hoặc lò thủ công truyền thống chỉ dao động trong khoảng 60% – 70% do phụ thuộc nặng nề vào điều kiện thời tiết, kinh nghiệm người nuôi và sự mất ổn định của vi khí hậu. Việc áp dụng tự động hóa thông qua hệ thống nhúng điều khiển thông minh là giải pháp bắt buộc nhằm chuẩn hóa môi trường ấp, nâng cao tỷ lệ nở lên trên 85% – 90% và giảm thiểu tối đa hao hụt kinh tế.

Đồ án tốt nghiệp "Xây dựng mô hình lò ấp trứng" được thực hiện bởi sinh viên Mai Sơn (MSSV: 11119080), dưới sự hướng dẫn của ThS. Huỳnh Hoàng Hà tại Khoa Đào tạo Chất lượng cao – Trường Đại học Sư phạm Kỹ thuật TP.HCM (Chuyên ngành Công nghệ Kỹ thuật Máy tính). Đề tài tập trung giải quyết bài toán giám sát và điều khiển tự động hai đại lượng vật lý cốt lõi: nhiệt độ ($37.0^\circ\text{C} - 38.0^\circ\text{C}$) và độ ẩm không khí ($\ge 50%$) bên trong buồng ấp nhân tạo.

+-------------------------------------------------------------------------+
|                  HỆ THỐNG ĐIỀU KHIỂN LÒ ẤP TRỨNG TỰ ĐỘNG                |
+-------------------------------------------------------------------------+
|  [ Cảm biến DHT11 ] ----> [ PIC18F4550 MCU (48MHz) ]                   |
|                                |                                        |
|                                +---> [ Màn hình LCD 16x2 ]              |
|                                +---> [ Điều khiển góc kích Triac (Đèn)] |
|                                +---> [ Mạch đệm Transistor Relay (Quạt)]|
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Thiết kế phần cứng: Xây dựng bo mạch điều khiển trung tâm sử dụng vi điều khiển Microchip PIC18F4550 tốc độ cao, tích hợp khối nguồn ổn áp 5V DC, khối hiển thị LCD 16x2 và mạch công suất cách ly quang.
  2. Thu thập dữ liệu môi trường: Giao tiếp chuẩn 1-Wire với cảm biến số DHT11 để trích xuất giá trị nhiệt độ và độ ẩm thực tế với chu kỳ lấy mẫu liên tục.
  3. Thuật toán điều khiển vi khí hậu:
    • Điều tiết nhiệt độ thông qua phương pháp thay đổi góc kích dẫn điện của bóng đèn sợi đốt 220V AC (Phase Angle Control).
    • Tự động đóng ngắt động cơ quạt/tạo ẩm DC khi độ ẩm môi trường dưới ngưỡng $50%$.
  4. Giám sát trực quan: Hiển thị thông số $T$ (Nhiệt độ) và $RH$ (Độ ẩm tương đối) theo thời gian thực trên LCD 16x2.

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

  • Phạm vi nghiên cứu: Lập trình nhúng vi điều khiển trên trình biên dịch CCS C (PIC C Compiler), phân tích giao thức truyền dữ liệu 1-Wire, thiết kế mạch điện tử công suất điều khiển tải AC và DC.
  • Giới hạn thực nghiệm: Mô hình buồng ấp quy mô thực nghiệm phòng thí nghiệm (dung tích nhỏ), sử dụng cảm biến DHT11 dải đo nhiệt độ $0 - 50^\circ\text{C}$ ($\pm 2^\circ\text{C}$) và độ ẩm $20 - 90%$ RH ($\pm 5%$).

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

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

Quá trình ấp nở trứng gia cầm đòi hỏi các chỉ số môi trường cực kỳ nghiêm ngặt:

  • Nhiệt độ chuẩn: $37.0^\circ\text{C} - 38.0^\circ\text{C}$. Nếu nhiệt độ $< 37.0^\circ\text{C}$, phôi phát triển chậm hoặc chết lưu; nếu $> 38.5^\circ\text{C}$, phôi bị sát nhiệt, tỷ lệ dị tật cao.
  • Độ ẩm tương đối: Giai đoạn ấp (ngày 1 – 18) cần $55% - 65%$; giai đoạn nở (ngày 19 – 21) cần $80% - 85%$ để tránh phôi dính vỏ.
Tiêu chí Lò ấp thủ công Lò bán tự động truyền thống Lò công nghiệp quy mô lớn Giải pháp mô hình đề tài
Cơ chế ổn nhiệt Bóng đèn bật/tắt thủ công Relay cơ khí On/Off PLC / PID công suất lớn Điều chế góc kích Triac mịn
Độ chính xác nhiệt Sai số $> \pm 2.0^\circ\text{C}$ Sai số $\pm 1.0^\circ\text{C}$ Sai số $\pm 0.1^\circ\text{C}$ Sai số $\pm 0.5^\circ\text{C}$
Giám sát thông số Nhiệt kế thủy ngân LED 7 đoạn đơn giản SCADA / HMI công nghiệp LCD 16x2 trực quan
Chi phí đầu tư Rất thấp ($< 200.000$ VNĐ) Trung bình ($1.5 - 3$ triệu) Rất cao ($> 20 - 100$ triệu) Thấp ($< 600.000$ VNĐ)
Khả năng mở rộng Không thể Hạn chế Cao Hỗ trợ mở rộng USB/IoT

Phân tích yêu cầu theo mô hình MoSCoW

  • Must Have (Bắt buộc): Đo đạc nhiệt độ/độ ẩm từ DHT11; hiển thị LCD 16x2; tự động hạ công suất gia nhiệt khi đạt $37^\circ\text{C} - 38^\circ\text{C}$; bật động cơ khi độ ẩm $< 50%$.
  • Should Have (Nên có): Cách ly quang hoàn toàn khối xử lý 5V và tải 220V AC thông qua Optocoupler PC817 và Opto-Triac MOC3021.
  • Could Have (Có thể có): Giao tiếp USB 2.0 SIE tích hợp sẵn trên PIC18F4550 để truyền dữ liệu lên máy tính giám sát.
  • Won't Have (Chưa thực hiện kỳ này): Cơ cấu khay đảo trứng tự động theo góc nghiêng $45^\circ$ và pin lưu điện dự phòng UPS khi mất điện lưới.

Thiết kế hệ thống

Hệ thống được tổ chức thành 5 khối chức năng liên kết chặt chẽ:

[ Khối Nguồn (220VAC -> 5VDC) ]

1. Khối xử lý trung tâm (PIC18F4550)

  • Kiến trúc Harvard RISC 8-bit, bộ nhớ Flash 32KB, RAM 2048 bytes.
  • Thiết lập xung nhịp: Thạch anh ngoài $20\text{ MHz} \xrightarrow{\text{PLLDIV chia 5}} 4\text{ MHz} \xrightarrow{\text{96 MHz PLL}} \xrightarrow{\text{Chia 2}} 48\text{ MHz}$ core clock, mang lại tốc độ thực thi lệnh lên tới 12 MIPS.
  • Tích hợp module USB SIE v2.0 và ngắt ngoài phần cứng INT_EXT (chân RB0) để đồng bộ pha điện áp xoay chiều.

2. Khối cảm biến môi trường (DHT11)

  • Giao tiếp đơn dây (Single-Wire Two-Way Data Bus) nối với chân dữ liệu vi điều khiển (RE1 / RD2).
  • Khung truyền 40-bit gồm 5 byte liên tiếp: $$\text{Byte}1 = \text{RH}{\text{int}}, \quad \text{Byte}2 = \text{RH}{\text{dec}}, \quad \text{Byte}3 = T{\text{int}}, \quad \text{Byte}4 = T{\text{dec}}, \quad \text{Byte}_5 = \text{Checksum}$$ Điều kiện toàn vẹn dữ liệu: $$\text{Checksum} = (\text{Byte}_1 + \text{Byte}_2 + \text{Byte}_3 + \text{Byte}_4) \ & \ \text{0xFF}$$

3. Khối nguồn và mạch chuyển đổi công suất

  • Nguồn hạ áp & ổn áp: Biến áp sắt từ $220\text{V AC} \rightarrow 12\text{V AC}$, qua cầu chỉnh lưu diode DB107 biến đổi thành điện áp một chiều nhấp nhô, lọc phẳng qua tụ $C_5, C_7 = 100\text{ nF}$ và đi vào IC ổn áp tuyến tính LM7805 tạo điện thế chuẩn $5.0\text{V DC} \pm 2%$.
  • Mạch đệm điều khiển Relay: Cuộn dây relay 5V tiêu thụ dòng $I_c = \frac{5\text{V}}{70\ \Omega} \approx 71.4\text{ mA}$. Sử dụng Transistor NPN C1815 có hệ số khuếch đại tối thiểu $\beta_{\min} = 25$.
    • Dòng cực bazơ yêu cầu: $I_b = \frac{I_c}{\beta_{\min}} = \frac{71.4\text{ mA}}{25} \approx 2.86\text{ mA}$.
    • Điện trở hạn dòng cực B: $$R_b = \frac{V_{OH} - V_{BE}}{I_b} = \frac{4.3\text{V} - 0.7\text{V}}{2.86\text{ mA}} \approx 1.25\text{ k}\Omega \quad (\text{Chọn } R_b = 1\text{ k}\Omega - 1.2\text{ k}\Omega)$$
    • Lắp kèm Diode 1N4007 mắc ngược song song cuộn dây relay để triệt tiêu suất điện động tự cảm (Flyback Diode).

Implementation và kết quả

Chi tiết giải thuật và mã nguồn triển khai

Hệ thống được lập trình bằng ngôn ngữ C trên nền tảng CCS C Compiler, tối ưu hóa các hàm trễ cỡ microsecond (delay_us) để khớp chính xác giản đồ xung của cảm biến DHT11 và điều khiển góc kích Triac.

// Trích đoạn thuật toán đọc dữ liệu 1-Wire từ cảm biến DHT11
unsigned int8 Read_Data() {
    unsigned int8 i, k, _data = 0;
    if(Time_out) return 0;
    for(i = 0; i < 8; i++) {
        k = 0;
        while(!Data_Pin) { // Đợi chân DATA chuyển lên mức cao
            k++;
            if (k > 254) { Time_out = 1; break; }
            delay_us(1);
        }
        delay_us(30); // Lấy mẫu sau 30us để phân biệt bit 0 (26-28us) và bit 1 (70us)
        if(!Data_Pin) {
            bit_clear(_data, (7 - i)); // Bit 0
        } else {
            bit_set(_data, (7 - i));   // Bit 1
            while(Data_Pin) {          // Chờ hết mức cao của bit 1
                k++;
                if (k > 254) { Time_out = 1; break; }
                delay_us(1);
            }
        }
    }
    return _data;
}
// Trích đoạn thuật toán điều khiển công suất nhiệt và độ ẩm trong vòng quét
if (CheckSum == ((RH_Byte1 + RH_Byte2 + T_Byte1 + T_Byte2) & 0xFF)) {
    // Cập nhật LCD
    message1[7] = T_Byte1/10 + 48;
    message1[8] = T_Byte1%10 + 48;
    message2[7] = RH_Byte1/10 + 48;
    message2[8] = RH_Byte1%10 + 48;
    
    // Thuật toán điều chỉnh góc trễ kích Triac (value) theo dải nhiệt độ
    if (T_Byte1 <= 27) {
        disable_interrupts(INT_EXT);
        output_high(out); // Bật 100% công suất sưởi
        stt_ = 0;
    } else if (T_Byte1 <= 38) {
        stt_ = 1;
        output_low(out);
        enable_interrupts(INT_EXT);
        value = (int16)(T_Byte1 - 27);
        if (value > 10) value = 10;
        value *= 900; // Tăng thời gian trễ góc mở -> Giảm độ sáng đèn
    } else {
        stt_ = 1;
        output_low(out);
        enable_interrupts(INT_EXT);
        if (T_Byte1 > 48) value = 5000;
        else {
            value = (int16)(T_Byte1 - 38);
            value = 9000 - 900 * value; // Giảm trễ khi quá nhiệt để ổn định
        }
    }
    
    // Điều khiển độ ẩm: Bật động cơ quạt/hơi nước nếu RH <= 50%
    if (RH_Byte1 <= 50) 
        output_high(DC);
    else 
        output_low(DC);
}
// Trình phục vụ ngắt ngoài bắt điểm Zero-Crossing để định thời kích Triac
#int_ext 
void ISR() {
    delay_us(value);    // Trễ theo góc kích đã tính toán
    output_high(out);   // Kích xung mở Triac
    delay_us(1000);     // Duy trì xung kích 1ms
    output_low(out);
    chu_ky++;
}

Kết quả kiểm nghiệm thực tế

Hệ thống được vận hành liên tục qua nhiều chu kỳ gia nhiệt để đánh giá khả năng phản hồi của cơ chế điều khiển:

[Trạng thái 1: T < 37°C, RH < 50%]

[Trạng thái 2: T = 37°C - 38°C, RH < 50%]

[Trạng thái 3: T = 37°C - 38°C, RH >= 50%]
Kịch bản kiểm thử Thông số đo ($T / RH$) Trạng thái đèn sưởi Trạng thái động cơ ẩm Đánh giá phản hồi
Khởi động nguội $25.0^\circ\text{C}\ /\ 42%$ Bật $100%$ công suất Quay liên tục Đạt $37^\circ\text{C}$ sau 8.5 phút
Ổn định nhiệt $37.4^\circ\text{C}\ /\ 48%$ Duy trì góc mở mức $20%$ Quay ngắt quãng Không có hiện tượng vọt lố
Độ ẩm đạt chuẩn $37.2^\circ\text{C}\ /\ 54%$ Duy trì góc mở mức $20%$ Ngừng quay ($0\text{ RPM}$) Độ ẩm dao động ổn định $52 - 55%$
Lỗi cảm biến No response / Timeout Ngắt nhiệt bảo vệ Ngắt tải Màn hình cảnh báo chính xác

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

  1. Phương pháp điều chế nhiệt không dao động đột ngột: Thay vì bật/tắt (On/Off) rơ-le cơ học gây sốc nhiệt cho phôi trứng và giảm tuổi thọ bóng đèn, đề tài ứng dụng kỹ thuật điều khiển góc mở pha Triac thông qua ngắt Zero-Crossing. Khi nhiệt độ tiến sát ngưỡng $37^\circ\text{C}$, công suất bóng đèn tự động giảm dần về mức duy trì $20%$, giúp ổn định nhiệt độ với độ gợn sóng nhiệt giảm hơn $40%$ so với phương pháp On/Off.
  2. Tối ưu hóa tài nguyên phần cứng: Sử dụng trực tiếp chân I/O số với cơ chế chuyển hướng động (Data_Pin_Direction = 0/1) để giao tiếp hoàn chỉnh giao thức 1-Wire thời gian thực trên vi điều khiển PIC mà không cần thêm IC giải mã phụ trợ.
  3. Cơ chế liên động nhiệt - ẩm tự động: Khí động học bên trong buồng ấp được luân chuyển bởi luồng gió động cơ, kết hợp hơi nước bốc lên khi độ ẩm $< 50%$, giúp nhiệt độ phân bố đều khắp không gian ấp mà không xuất hiện điểm chết nhiệt (dead zones).

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

Phân tích chi phí và hiệu quả đầu tư (ROI)

Mô hình được thiết kế hướng đến khả năng nhân rộng cho các hộ gia đình và trang trại quy mô vừa và nhỏ:

BẢNG DỰ TOÁN CHI PHÍ LINH KIỆN (BOM)

Ước tính hiệu quả kinh tế:

  • Năng suất: Một buồng ấp thực nghiệm $50$ trứng gà giống/mẻ (21 ngày).
  • Tỷ lệ nở: Tăng từ $65%$ (ấp truyền thống) lên $86%$ (tăng thêm ~10 con giống khỏe mạnh/mẻ).
  • Thời gian hoàn vốn (Payback Period): Với giá con giống thương phẩm trung bình $15.000 - 20.000$ VNĐ/con, lợi nhuận gia tăng đạt $150.000 - 200.000$ VNĐ/mẻ $\rightarrow$ Hoàn vốn đầu tư chỉ sau 2 chu kỳ ấp (khoảng 42 ngày).

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

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

  • Độ phân giải cảm biến: Cảm biến DHT11 chỉ xuất giá trị số nguyên cho nhiệt độ ($\pm 2.0^\circ\text{C}$) và độ ẩm ($\pm 5%$), chưa phản ánh được các dao động nhỏ cỡ $0.1^\circ\text{C}$ vốn rất quan trọng trong ấp trứng cao cấp (như trứng đà điểu, chim trĩ).
  • Cơ chế đảo trứng: Chưa tích hợp khay đảo trứng tự động cơ khí (chu kỳ $2 - 4\text{ tiếng/lần}$) khiến người vận hành vẫn phải thao tác đảo thủ công.
  • Giám sát từ xa: Chưa khai thác hết module USB SIE phần cứng trên PIC18F4550 hoặc kết nối không dây để xuất dữ liệu lên máy tính/Internet.

Lộ trình nâng cấp đề xuất

  1. Nâng cấp cảm biến: Thay thế DHT11 bằng DHT22 (AM2302) hoặc SHT30 để đạt độ phân giải $0.1^\circ\text{C}$ và sai số cực thấp $\pm 0.3^\circ\text{C}$.
  2. Tích hợp khay đảo tự động: Bổ sung động cơ giảm tốc AC $220\text{V}\ 2.5\text{ RPM}$ gắn cảm biến hành trình giới hạn góc nghiêng $45^\circ$, điều khiển tự động bởi vi điều khiển.
  3. Mở rộng kết nối IoT: Thiết kế ứng dụng máy tính qua cổng USB giao tiếp với PIC18F4550 hoặc ghép nối module ESP8266/ESP32 để đẩy dữ liệu lên nền tảng IoT (Blynk / ThingsBoard), cảnh báo sự cố mất điện qua tin nhắn điện thoại.

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

  • Sinh viên & Kỹ sư nhúng: Cung cấp mã nguồn mẫu chuẩn xác về giao thức 1-Wire, kỹ thuật lập trình Timer/Ngắt ngoài bắt điểm Zero-Crossing, và phương pháp ghép nối ngoại vi với vi điều khiển Microchip dòng PIC18F.
  • Hộ chăn nuôi gia cầm: Tiếp cận giải pháp kỹ thuật tự động hóa chi phí thấp ($< 400.000$ VNĐ), vận hành bền bỉ, dễ chế tạo và nâng cao tỷ lệ ấp nở con giống.
  • Nhà nghiên cứu nông nghiệp: Nền tảng phần cứng cơ sở để thử nghiệm các thuật toán điều khiển mờ (Fuzzy Logic) hoặc PID thích nghi trong bài toán điều khiển vi khí hậu nhà kính, trang trại.

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

1. Tại sao đề tài sử dụng phương pháp điều khiển góc kích Triac thay vì bật/tắt Relay truyền thống?

Relay cơ học có số lần đóng cắt hữu hạn (thường dưới $100.000$ lần) và tạo ra dao động nhiệt dạng sóng vuông biên độ lớn ($35.5^\circ\text{C} \leftrightarrow 39.0^\circ\text{C}$), dễ làm hỏng phôi non. Điều khiển góc kích Triac cho phép điều biến công suất nhiệt mịn từ $0%$ đến $100%$, duy trì ổn định nhiệt độ buồng ấp ở mức $37^\circ\text{C} - 38^\circ\text{C}$ liên tục mà không gây mòn tiếp điểm.

2. Tần số hoạt động 48MHz của PIC18F4550 được cấu hình như thế nào từ thạch anh 20MHz?

PIC18F4550 tích hợp khối nhân tần số PLL nội. Khi cấp thạch anh ngoài $20\text{ MHz}$, cấu hình thanh ghi PLLDIV chia 5 để đưa về tần số chuẩn $4\text{ MHz}$. Tần số này qua bộ nhân tần 96MHz PLL, sau đó được chia đôi qua bộ chia CPUDIV để cung cấp xung nhịp hệ thống $48\text{ MHz}$ cho CPU.

3. Giao thức đọc dữ liệu từ DHT11 xử lý lỗi Timeout như thế nào?

Trong hàm Read_Data(), các vòng lặp chờ chân tín hiệu đổi trạng thái (while(!Data_Pin)while(Data_Pin)) đều được gài biến đếm $k$. Nếu $k > 254$ (tương đương vượt quá thời gian tối đa của một xung dữ liệu chuẩn), cờ Time_out = 1 được kích hoạt và hàm lập tức thoát vòng lặp, ngăn chặn hiện tượng treo vi điều khiển khi đường truyền bị đứt.

4. Hệ thống có khả năng giữ ẩm khi độ ẩm buồng ấp vượt quá mức cho phép không?

Ở thiết kế hiện tại, hệ thống tập trung vào bài toán cấp ẩm chủ động (khi $RH \le 50%$, động cơ quạt thổi khí ẩm hoạt động). Khi $RH > 50%$, động cơ tự động ngắt. Độ ẩm dư thừa được cân bằng tự nhiên thông qua hệ thống lỗ thông gió đối lưu của buồng ấp.

5. Yêu cầu nguồn cấp và giải pháp an toàn điện cho hệ thống là gì?

Hệ thống sử dụng đồng thời nguồn $220\text{V AC}$ cho đèn nhiệt và $5\text{V DC}$ cho mạch điều khiển. Để đảm bảo an toàn tuyệt đối, khối xử lý vi điều khiển được cách ly quang hoàn toàn với khối công suất AC thông qua linh kiện Optocoupler MOC3021 và bộ cách ly quang PC817.


Kết luận

Đồ án tốt nghiệp "Xây dựng mô hình lò ấp trứng" đã giải quyết trọn vẹn mục tiêu nghiên cứu: từ khảo sát lý thuyết vi khí hậu ấp nở gia cầm, tính toán thiết kế phần cứng ổn áp, giao tiếp cảm biến số, đến triển khai thuật toán điều khiển công suất nhiệt thời gian thực trên vi điều khiển PIC18F4550. Kết quả thực nghiệm khẳng định mạch hoạt động ổn định, duy trì dải nhiệt độ lý tưởng $37.0^\circ\text{C} - 38.0^\circ\text{C}$ và độ ẩm $\ge 50%$, hiển thị trực quan thông số trên LCD 16x2. Đây là tiền đề kỹ thuật vững chắc để phát triển thành sản phẩm thương mại hoàn chỉnh ứng dụng rộng rãi trong nông nghiệp công nghệ cao.