Giới thiệu dự án
Trong ngành công nghệ thực phẩm và dinh dưỡng hiện đại, sữa chua (yaourt) là một trong những chế phẩm lên men sinh học phổ biến nhất nhờ cung cấp nguồn lợi khuẩn Probiotics, canxi và protein dồi dào. Theo các báo cáo thị trường thực phẩm lên men, nhu cầu tiêu thụ sữa chua sạch, không chất bảo quản tại quy mô hộ gia đình ("sữa chua nhà làm") đang tăng trưởng với tốc độ hơn 12% mỗi năm. Tuy nhiên, quá trình lên men sữa chua truyền thống (Set Yogurt) là một phản ứng sinh hóa vô cùng nhạy cảm với nhiệt độ, trong đó hai chủng vi khuẩn sinh acid lactic chính là Streptococcus salivarius subsp. thermophilus (ST) và Lactobacillus delbrueckii subsp. bulgaricus (LB) yêu cầu môi trường nhiệt độ ổn định nghiêm ngặt từ $42^\circ\text{C}$ đến $46^\circ\text{C}$.
Phương pháp ủ thủ công bằng thùng xốp, khăn ấm hoặc nồi cơm điện tồn tại nhiều hạn chế chí mạng: lượng nhiệt thất thoát lớn, không có cơ chế đo lường và phản hồi nhiệt độ thời gian thực, dẫn đến hiện tượng quá nhiệt làm chết men hoặc nhiệt độ thấp khiến vi khuẩn lactic không đủ điều kiện nhân sinh khối. Kết quả là cấu trúc sữa đông (coagulum) bị tách nước (wheying-off), độ chua không đồng đều và độ pH không đạt mức tiêu chuẩn ($4.2 - 4.5$). Bên cạnh đó, các thiết bị ủ thương mại giá rẻ trên thị trường đa phần sử dụng cơ chế đóng/ngắt Rơ-le (ON/OFF) thô sơ gây ra độ vọt lố nhiệt độ lớn ($\Delta T \ge \pm 4^\circ\text{C}$), làm suy giảm nghiêm trọng chất lượng vi sinh.
+-----------------------------------+
| Môi trường ủ sữa chua (46°C) |
+-----------------+-----------------+
|
+-------------------------+-------------------------+
| |
v v
+-----------------------+ +-------------------+
| Lên men tối ưu | | Mất kiểm soát |
| - ST & LB phát triển | | nhiệt độ |
| - Sinh Acid Lactic | | - >50°C: Men chết|
| - pH: 4.2 - 4.4 | | - <38°C: Lên men |
| - Gel đông mịn | | chậm, tách nước|
+-----------------------+ +-------------------+
Dự án "Thiết kế và thi công máy ủ sữa chua ổn định nhiệt độ dùng PID" được nghiên cứu và chế tạo nhằm giải quyết triệt để bài toán ổn định vi khí hậu nhiệt độ cho quá trình lên men, kết hợp kiểm soát động học sinh hóa thông qua giám sát độ pH.
Mục tiêu kỹ thuật cụ thể của đề tài:
- Thiết kế phần cứng điều khiển nhúng: Xây dựng bo mạch trung tâm dựa trên vi điều khiển Microchip PIC16F887 hoạt động ở tần số thạch anh $20\text{MHz}$, tích hợp mạch đo nhiệt độ analog qua ADC 10-bit và mạch truyền thông nối tiếp UART tốc độ $9600\text{ bps}$.
- Thiết kế khối công suất điều chế góc kích pha AC: Xây dựng mạch dò điểm không (Zero-crossing detector) cho lưới điện $220\text{VAC}/50\text{Hz}$ kết hợp linh kiện bán dẫn công suất Triac BTA41 và cách ly quang Opto PC817, MOC3021.
- Phát triển thuật toán PID rời rạc: Lập trình giải thuật điều khiển tỉ lệ - tích phân - vi phân (PID) số trên miền Z, sử dụng phương pháp tích phân hình thang và sai phân lùi để điều khiển độ rộng xung mở Triac với chu kỳ lấy mẫu $T = 1.5\text{s}$.
- Ổn định nhiệt độ chính xác: Duy trì nhiệt độ hơi nước đối lưu tự nhiên trong buồng ủ ở ngưỡng tối ưu $46^\circ\text{C}$ với sai số xác lập $e_{ss} \le \pm 0.5^\circ\text{C}$ (sai số $< 3%$) và triệt tiêu hoàn toàn vọt lố.
- Tối ưu hóa kết cấu cơ khí: Chế tạo buồng ủ thể tích hữu dụng 2 lít (kích thước $380 \times 320 \times 320\text{ mm}$), tích hợp khay gia nhiệt nước inox chống ăn mòn, vỉ xếp hũ thủy tinh chuyên dụng và vỏ cách nhiệt hạn chế thất thoát năng lượng.
- Kiểm chứng thực nghiệm vi sinh: Thực hiện ủ mẫu thực nghiệm theo các mốc thời gian $7.5\text{ giờ}$, đo đạc độ pH, đánh giá độ nhớt và kiểm chứng trạng thái đông tụ sản phẩm.
Phạm vi và giới hạn hệ thống:
- Hệ thống hoạt động với nguồn lưới $220\text{VAC}/50\text{Hz}$ và nguồn DC $5\text{V}$ hạ áp qua biến áp/nguồn xung tích hợp; không tích hợp bộ lưu điện dự phòng (UPS).
- Cảm biến nhiệt độ LM35 tiếp xúc trực tiếp với môi trường hơi ẩm buồng ủ, dải đo thiết lập từ $0^\circ\text{C} - 100^\circ\text{C}$.
- Dung tích dung dịch ủ cố định 2 lít sữa nguyên liệu (tương đương 12 hũ thủy tinh dung tích $160\text{ml}$).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát các giải pháp ủ sữa chua hiện hành trên thị trường cho thấy sự phân hóa rõ rệt giữa phân khúc giá rẻ và phân khúc cao cấp:
| Tiêu chí kỹ thuật |
Máy ủ Pensonic (PN-Y200) |
Máy ủ Misushia |
Máy ủ đa năng Kuvings |
Hệ thống máy ủ PID (Đề tài) |
| Dung tích ủ |
$1.4\text{ L}$ (6-8 hũ nhựa) |
$3.0\text{ L}$ (12 hũ) |
$2.0\text{ L}$ (Khay chuyên dụng) |
$2.0\text{ L}$ (12 hũ thủy tinh) |
| Cơ chế gia nhiệt |
PTC trở nhiệt thô |
PTC điện trở cố định |
Dây điện trở nhiệt đệm |
Thanh gia nhiệt ngâm nước (AC) |
| Thuật toán điều khiển |
ON/OFF bimetal (Lưỡng kim) |
ON/OFF Rơ-le cơ |
Vi điều khiển đơn giản |
PID rời rạc (Phase Angle Control) |
| Độ ổn định nhiệt độ |
Dao động $\pm 4^\circ\text{C} - 6^\circ\text{C}$ |
Dao động $\pm 3^\circ\text{C} - 5^\circ\text{C}$ |
Dao động $\pm 1.5^\circ\text{C}$ |
Chính xác $\pm 0.5^\circ\text{C}$ (Sai số $< 3%$) |
| Giao diện & Cài đặt |
Không có màn hình |
Không có định thời |
Nút bấm, màn hình LED |
LCD 20x4, Đếm ngược, UART Log |
| Chi phí chế tạo |
$\approx 300.000\text{ VNĐ}$ |
$\approx 500.000\text{ VNĐ}$ |
$\approx 2.000.000\text{ VNĐ}$ |
$\approx 650.000\text{ VNĐ}$ |
+-------------------------------------------------------------------------+
| Ma trận phân loại yêu cầu MoSCoW |
+-------------------------------------------------------------------------+
| MUST HAVE: |
| - Ổn định nhiệt độ buồng ủ ở 46°C (Sai số < 3%). |
| - Điều khiển công suất gia nhiệt bằng Triac & Zero-Crossing. |
| - Mạch cách ly quang bảo vệ điện áp 220VAC với MCU 5V. |
| - Định thời đếm ngược 7.5h và tự động ngắt tải + còi cảnh báo. |
+-------------------------------------------------------------------------+
| SHOULD HAVE: |
| - Giao tiếp UART truyền dữ liệu nhiệt độ và thời gian lên PC. |
| - Khay nước và vỉ để hũ tháo lắp linh hoạt để vệ sinh. |
+-------------------------------------------------------------------------+
| COULD HAVE: |
| - Vẽ đồ thị đáp ứng nhiệt độ thời gian thực bằng Python. |
| - Màn hình LCD 20x4 hiển thị đa thông số trực quan. |
+-------------------------------------------------------------------------+
| WON'T HAVE (Giai đoạn này): |
| - Cảm biến đo pH tự động nhúng sâu trong môi trường sữa. |
| - Kết nối Wi-Fi/Cloud IoT điều khiển qua Smartphone. |
+-------------------------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc phần cứng hệ thống là sự kết hợp đồng bộ giữa khối xử lý tín hiệu tương tự, khối xử lý số trung tâm và khối điều khiển công suất xoay chiều cao áp.
+--------------------+ +--------------------+
| Nguồn 220VAC |--------->| Mạch Dò Điểm 0 |
| Lưới điện 50Hz | | (Bridge + PC817) |
+---------+----------+ +---------+----------+
| | (Xung ngắt 100Hz)
| v
| +--------------------+
| | Vi điều khiển PIC |
| | 16F887 (20MHz) |
| +----+----------+----+
| (Công suất AC) | | (UART 9600)
v | v
+--------------------+ (Xung kích) | +--------------------+
| Mạch Kích Triac |<--------------+ | Giao tiếp PC/UART |
| (MOC3021+BTA41) | | (Python Data Log) |
+---------+----------+ +--------------------+
|
v
+--------------------+ +--------------------+
| Thanh Gia Nhiệt |--------->| Cảm biến nhiệt độ |
| (Nung nước ủ) | (Nhiệt) | LM35 + Lọc RC |
+--------------------+ +---------+----------+
| (Điện áp Analog)
v
+--------------------+
| Kênh ADC 10-bit AN0|
+--------------------+
1. Khối cảm biến nhiệt độ và biến đổi tín hiệu ADC
Hệ thống sử dụng cảm biến bán dẫn National Semiconductor LM35 với đặc tính điện áp ra tỉ lệ tuyến tính tuyệt đối với nhiệt độ: $V_{out}(T) = 10\text{ mV}/^\circ\text{C}$. Để triệt tiêu nhiễu cao tần từ lưới điện và mạch công suất, một mạch lọc tích cực thông thấp RC ($R = 75\Omega, C = 1\mu\text{F}$) được đấu nối tiếp tại chân $V_{out}$.
Tín hiệu điện áp analog được đưa vào kênh AN0 của bộ chuyển đổi ADC 10-bit tích hợp trên vi điều khiển PIC16F887. Sử dụng điện áp tham chiếu nội $V_{REF+} = 5\text{V}$, $V_{REF-} = 0\text{V}$, độ phân giải (Step Size) của bộ ADC được tính toán:
$$SS = \frac{V_{REF+} - V_{REF-}}{2^{10} - 1} = \frac{5.000\text{ mV}}{1023} \approx 4.887\text{ mV/step}$$
Do độ nhạy của LM35 là $10\text{ mV}/^\circ\text{C}$, hệ số tỉ lệ quy đổi giữa giá trị số ADC ($ADC_{val}$) và giá trị nhiệt độ thực tế ($T_{val}$) là:
$$\text{Tỉ lệ} = \frac{10\text{ mV}}{4.887\text{ mV}} \approx 2.046 \implies T_{val} (^\circ\text{C}) = \frac{ADC_{val}}{2.046}$$
Thuật toán lọc trung bình trượt 50 mẫu liên tiếp được áp dụng để triệt tiêu hoàn toàn sai số ngẫu nhiên trước khi đưa vào hàm tính toán PID:
$$ADC_{filtered} = \frac{1}{50} \sum_{i=1}^{50} ADC_{raw}[i]$$
2. Khối phát hiện điểm không (Zero-Crossing Detector)
Lưới điện xoay chiều $220\text{VAC}/50\text{Hz}$ có chu kỳ $T = 20\text{ms}$ (nửa chu kỳ bán kỳ dương và âm là $T_{half} = 10\text{ms}$). Để điều khiển công suất trên thanh gia nhiệt một cách trơn tru, vi điều khiển cần xác định chính xác thời điểm điện áp xoay chiều chuyển qua mức $0\text{V}$.
Điện áp xoay chiều sau khi qua cầu diode chỉnh lưu toàn phần có biên độ đỉnh:
$$V_{peak} = 220\sqrt{2} \approx 311.12\text{V}$$
Mạch sử dụng Opto cách ly quang PC817. Dòng kích định mức qua diode phát quang nội của PC817 là $I_F = 10\text{mA}$. Điện trở hạn dòng công suất $R_7$ được tính toán:
$$R_7 \approx \frac{V_{peak} - V_F}{I_F} = \frac{311.12\text{V} - 1.2\text{V}}{10\text{mA}} \approx 30.99\text{ k}\Omega \implies \text{Chọn } R = 33\text{k}\Omega / 1\text{W}$$
Khi điện áp xoay chiều khác $0\text{V}$, phototransistor dẫn bão hòa, chân ngõ ra kéo về mức logic $0$ ($0\text{V}$). Khi điện áp lưới đi qua điểm $0\text{V}$, diode tắt, ngõ ra được kéo lên mức logic $1$ ($5\text{V}$) thông qua điện trở kéo lên $4.7\text{k}\Omega$, tạo ra xung kích cạnh lên đưa thẳng vào chân ngắt ngoài RB0/INT của PIC16F887 với tần số $100\text{Hz}$.
Điện áp lưới (220VAC): ~~~\___/~~~~\___/~~~~\___/~~~
Điện áp sau cầu diode: /\_/\_/\_/\_/\_/\_/\_/\_/\_/\
Xung Zero-Crossing (RB0): |_|___|_|___|_|___|_|___|_|
0ms 10ms 20ms 30ms 40ms
3. Khối điều khiển công suất Triac và thanh nung
Khối gia nhiệt sử dụng thanh điện trở nung chìm công suất $300\text{W} - 220\text{VAC}$ đặt ngập trong khay nước đáy tủ. Phần tử đóng cắt công suất là Triac BTA41-600B (dòng định mức $40\text{A}$, điện áp ngược cực đại $600\text{V}$), được kích hoạt thông qua Opto-Triac cách ly quang MOC3021 (loại Non-Zero Cross, cho phép kích mở ở bất kỳ pha nào).
Bằng cách trễ một khoảng thời gian $t_{delay}$ ($0 \le t_{delay} \le 10\text{ms}$) tính từ thời điểm bắt được ngắt Zero-Crossing, góc kích pha $\alpha$ của Triac được biến thiên từ $0^\circ$ đến $180^\circ$, từ đó điều chỉnh chính xác điện áp hiệu dụng và công suất phát nhiệt $P_{eff}$ đặt lên thanh nung:
$$P_{eff} = P_{max} \left[ 1 - \frac{\alpha}{\pi} + \frac{\sin(2\alpha)}{2\pi} \right], \quad \text{với } \alpha = \frac{t_{delay}}{10\text{ms}} \times \pi$$
Phương pháp nghiên cứu và giải thuật điều khiển (Methodology)
Quá trình điều khiển sử dụng thuật toán PID rời rạc (Discrete PID Controller). Trong miền liên tục, tín hiệu điều khiển $u(t)$ từ sai số $e(t) = SP - PV$ (với điểm đặt $SP = 46.0^\circ\text{C}$ và giá trị đo $PV$) được biểu diễn bởi phương trình:
$$u(t) = K_p e(t) + K_i \int_0^t e(\tau) d\tau + K_d \frac{de(t)}{dt}$$
Để thực thi trên vi điều khiển 8-bit, phương trình vi tích phân liên tục được số hóa sang miền Z với chu kỳ trích mẫu $T = 1.5\text{s}$:
-
Khâu tích phân: Xấp xỉ tích phân hình thang (Tustin/Trapezoidal approximation):
$$I(z) = \frac{K_i T}{2} \frac{z + 1}{z - 1} E(z)$$
-
Khâu vi phân: Xấp xỉ sai phân lùi (Backward difference):
$$D(z) = K_d \frac{z - 1}{T \cdot z} E(z)$$
Tổng hợp hàm truyền đạt rời rạc của bộ điều khiển:
$$G_{PID}(z) = \frac{U(z)}{E(z)} = K_p + \frac{K_i T}{2} \frac{z + 1}{z - 1} + \frac{K_d}{T} \frac{z - 1}{z}$$
Quy đồng và biến đổi ngược về phương trình sai phân trong miền thời gian thực:
$$u(k) = \frac{\alpha \cdot e(k) + \beta \cdot e(k-1) + \gamma \cdot e(k-2) + \Delta \cdot u(k-1)}{\Delta}$$
Trong đó các hệ số hằng số được tiền tính toán dựa trên chu kỳ trích mẫu $T = 1.5\text{s}$:
- $\Delta = 2T = 3.0$
- $\alpha = 2 T K_p + T^2 K_i + 2 K_d$
- $\beta = T^2 K_i - 4 K_d - 2 T K_p$
- $\gamma = 2 K_d$
Tín hiệu đầu ra $u(k)$ được chuẩn hóa thành giá trị phần trăm điều chế công suất $Duty \in [0, 100]%$. Từ đó, thời gian trễ kích ngắt Triac $t_{delay}$ được tính toán ngược lại:
$$t_{delay} = 10\text{ms} \times \left( 1 - \frac{Duty}{100} \right)$$
+-------------------------------------------------------------------------+
| Tiến trình thực hiện dự án (15 Tuần) |
+-------------------------------------------------------------------------+
| Tuần 01 - 03: Nghiên cứu công nghệ vi sinh & Cơ sở lý thuyết PID. |
| Tuần 04 - 06: Thiết kế CAD cơ khí 3D & Lập trình mô phỏng Proteus. |
| Tuần 07 - 09: Chế tạo mạch PCB, thi công cơ khí & Kiểm thử Zero-Crossing.|
| Tuần 10 - 12: Tinh chỉnh thông số PID thực nghiệm (Kp, Ki, Kd) & UART. |
| Tuần 13 - 15: Chạy thử nghiệm ủ sữa chua 3 đợt, đo pH & Hoàn thiện. |
+-------------------------------------------------------------------------+
Implementation và kết quả
Quá trình phát triển và hiện thực hóa mã nguồn
Chương trình điều khiển nhúng trên PIC16F887 được biên dịch bằng trình biên dịch CCS C Compiler v5.08, kết hợp mã nguồn Python 3.9 trên máy tính để thu thập dữ liệu vi khí hậu và vẽ đặc tuyến đáp ứng nhiệt độ thời gian thực.
// =========================================================================
// Firmware PIC16F887: Module tính toán thuật toán PID rời rạc
// Tần số xung thạch anh: 20MHz | Chu kỳ trích mẫu T = 1.5s
// =========================================================================
#include <16F887.h>
#device ADC=10
#fuses HS, NOWDT, NOPROTECT, NOLVP
#use delay(crystal=20MHz)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, bits=8, parity=N)
float setpoint = 46.0; // Nhiệt độ tối ưu cài đặt (°C)
float Kp = 9.0, Ki = 0.01, Kd = 1.0;
float T = 1.5; // Thời gian lấy mẫu (giây)
float e_k = 0.0, e_k1 = 0.0, e_k2 = 0.0;
float u_k = 0.0, u_k1 = 0.0;
int16 duty_percent = 0;
int16 delay_us = 10000;
// Hàm tính toán đầu ra PID rời rạc
void tinh_toan_PID(float temp_pv) {
float alpha, beta, gamma, delta;
e_k = setpoint - temp_pv; // Tính sai số hiện tại
delta = 2.0 * T;
alpha = (2.0 * T * Kp) + (T * T * Ki) + (2.0 * Kd);
beta = (T * T * Ki) - (4.0 * Kd) - (2.0 * T * Kp);
gamma = 2.0 * Kd;
// Phương trình sai phân miền thời gian
u_k = (alpha * e_k + beta * e_k1 + gamma * e_k2 + delta * u_k1) / delta;
// Giới hạn giá trị công suất (Anti-windup Saturation)
if (u_k > 100.0) u_k = 100.0;
if (u_k < 0.0) u_k = 0.0;
duty_percent = (int16)u_k;
// Quy đổi Duty Cycle ra thời gian trễ kích pha Triac (Microseconds)
delay_us = (int16)((100.0 - u_k) * 100.0);
if (delay_us > 9500) delay_us = 9500; // Bảo vệ biên bán kỳ
if (delay_us < 500) delay_us = 500;
// Cập nhật trạng thái trễ cho chu kỳ lấy mẫu kế tiếp
e_k2 = e_k1;
e_k1 = e_k;
u_k1 = u_k;
}
// Ngắt ngoài RB0/INT: Bắt điểm không (Zero-crossing) của lưới 220VAC
#INT_EXT
void ext_isr(void) {
if (duty_percent > 0) {
delay_us(delay_us); // Chờ góc kích pha
output_high(PIN_D0); // Kích xung mở MOC3021 / Triac BTA41
delay_us(20); // Độ rộng xung kích 20us
output_low(PIN_D0);
}
}
Trên máy tính PC, kịch bản Python thu nhận chuỗi byte qua giao tiếp USB-UART PL2303 và thực hiện xử lý dữ liệu:
# =========================================================================
# Telemetry Script: Thu thập dữ liệu và biểu diễn đáp ứng nhiệt độ PID
# =========================================================================
import serial
import matplotlib.pyplot as plt
import csv
from datetime import datetime
ser = serial.Serial('COM3', 9600, timeout=1)
time_stamps, temperatures, duties = [], [], []
plt.ion()
fig, ax1 = plt.subplots(figsize=(10, 5))
with open('pid_telemetry.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Timestamp', 'Temperature_PV', 'Duty_Cycle'])
while True:
line = ser.readline().decode('utf-8').strip()
if line.startswith("DATA:"):
# Chuỗi định dạng: "DATA:PV=45.8,DUTY=35"
parts = line.split(',')
temp = float(parts[0].split('=')[1])
duty = float(parts[1].split('=')[1])
temperatures.append(temp)
duties.append(duty)
time_stamps.append(len(temperatures) * 1.5) # Chu kỳ 1.5s
writer.writerow([datetime.now().isoformat(), temp, duty])
# Cập nhật đồ thị
ax1.clear()
ax1.plot(time_stamps, temperatures, 'r-', label='Nhiệt độ buồng ủ (PV)')
ax1.axhline(y=46.0, color='b', linestyle='--', label='Điểm đặt Setpoint (46°C)')
ax1.set_ylabel('Nhiệt độ (°C)')
ax1.set_xlabel('Thời gian (giây)')
ax1.legend(loc='upper left')
plt.pause(0.05)
Quá trình kiểm thử và đánh giá động học (Testing & Validation)
Quá trình hiệu chỉnh bộ tham số PID thực nghiệm được tiến hành qua các bước khảo sát đáp ứng bước (Step Response):
- Khảo sát khâu tỉ lệ ($K_p$): Tăng dần $K_p$ từ $5.0 \to 7.0 \to 9.0 \to 10.0$ khi gán $K_i = 0, K_d = 0$. Tại $K_p = 9.0$, thời gian tăng trưởng ($t_r$) đạt $12\text{ phút}$, hệ thống xuất hiện dao động điều hòa quanh điểm đặt với biên độ $\pm 1.8^\circ\text{C}$.
- Khảo sát khâu vi phân ($K_d$): Cố định $K_p = 9.0$, tăng dần $K_d$ từ $1.0 \to 2.0 \to 5.0$. Tại $K_d = 1.0$, độ vọt lố ($%OS$) giảm từ $18.5%$ về $0%$, triệt tiêu quán tính nhiệt lớn của thanh nung và khối nước.
- Khảo sát khâu tích phân ($K_i$): Đưa thêm $K_i = 0.01$ nhằm loại bỏ sai số tĩnh xác lập. Hệ thống khóa nhiệt độ chính xác tại $46.0^\circ\text{C}$.
Nhiệt độ (°C)
50 | (Ngưỡng quá nhiệt chết men: 50°C)
|
46 |----------+--------------------------------------------- (Setpoint: 46°C)
| / \
| / \___________ Đáp ứng PID tối ưu: Kp=9, Kd=1, Ki=0.01
40 | / \ (Thời gian xác lập ts = 18 phút, Overshoot = 0%)
| /
30 | /
| /
20 |--/-----------------------------------------------------
+----+-----+-----+-----+-----+-----+-----+-----+---------> Thời gian (phút)
0 5 10 15 20 25 30 35 40
| Bộ thông số PID thử nghiệm |
Thời gian tăng ($t_r$) |
Thời gian xác lập ($t_s$) |
Độ vọt lố ($%OS$) |
Sai số xác lập ($e_{ss}$) |
Trạng thái ổn định |
| $K_p=7, K_i=0, K_d=0$ |
$22\text{ phút}$ |
Chưa xác lập |
$0%$ |
$+2.4^\circ\text{C}$ (Chưa tới) |
Ổn định chậm |
| $K_p=10, K_i=0, K_d=0$ |
$9\text{ phút}$ |
$45\text{ phút}$ |
$18.5%$ ($48.2^\circ\text{C}$) |
$\pm 1.2^\circ\text{C}$ |
Dao động lớn |
| $K_p=9, K_i=0, K_d=0$ |
$12\text{ phút}$ |
$35\text{ phút}$ |
$9.8%$ ($47.5^\circ\text{C}$) |
$\pm 0.8^\circ\text{C}$ |
Dao động nhẹ |
| $K_p=9, K_i=0, K_d=1$ |
$14\text{ phút}$ |
$20\text{ phút}$ |
$0.0%$ ($46.0^\circ\text{C}$) |
$+0.4^\circ\text{C}$ |
Rất tốt, không vọt lố |
| $K_p=9, K_i=0.01, K_d=1$ |
$14\text{ phút}$ |
$18\text{ phút}$ |
$0.0%$ ($46.0^\circ\text{C}$) |
$<\pm 0.2^\circ\text{C}$ |
Tối ưu tuyệt đối |
Đánh giá chất lượng thực nghiệm sữa chua thành phẩm
Nhóm tác giả tiến hành ủ 3 mẻ sữa chua thực nghiệm liên tiếp với cùng công thức chuẩn hóa: $1\text{ lít}$ sữa tươi không đường, $1\text{ lon}$ sữa đặc ($380\text{g}$) và $1\text{ hộp}$ sữa chua cái thương phẩm làm men mồi giống. Hỗn hợp được chia đều vào các hũ thủy tinh $160\text{ml}$ và ủ ở nhiệt độ $46^\circ\text{C}$ trong thời gian $7.5\text{ giờ}$.
Mẫu ủ thực nghiệm: [ Mẻ 1: 7.5h ] [ Mẻ 2: 7.5h ] [ Mẻ 3: 7.5h ]
Nhiệt độ buồng ủ: 46.0°C 46.0°C 46.0°C
Độ pH ban đầu: pH = 6.55 pH = 6.58 pH = 6.52
Độ pH thành phẩm: pH = 4.32 pH = 4.28 pH = 4.35
Trạng thái đông tụ: Gel dẻo, mịn Gel dẻo, mịn Gel dẻo, mịn
Độ tách nước: Không tách nước Không tách nước Không tách nước
Vị cảm quan: Chua thanh dịu Chua thanh dịu Chua thanh dịu
- Động học biến thiên độ pH: Độ pH ban đầu của hỗn hợp sữa dao động ở mức $6.55 \pm 0.05$. Sau $7.5\text{ giờ}$ ủ ở $46^\circ\text{C}$, acid lactic sinh ra làm giảm độ pH xuống ngưỡng $4.28 - 4.35$ (đạt chuẩn chất lượng sinh học của TCVN 7030:2009 cho sữa chua lên men).
- Cấu trúc gel và cảm quan: Protein casein đông tụ hoàn toàn tại điểm đẳng điện ($pI \approx 4.6$), bề mặt láng mịn, úp ngược hũ không bị chảy, không xuất hiện hiện tượng tách lớp huyết thanh sữa.
Đổi mới và đóng góp
- Phương pháp điều chế công suất pha liên tục thay thế Rơ-le cơ: Thay vì cơ chế đóng/ngắt ON/OFF thô sơ gây sốc nhiệt và hồ quang điện, hệ thống áp dụng kỹ thuật kích pha góc mở Triac đồng bộ với ngắt Zero-Crossing. Cải tiến này giúp giảm biên độ dao động nhiệt từ $\pm 4.5^\circ\text{C}$ xuống dưới $\pm 0.5^\circ\text{C}$ (giảm hơn $88%$ sai số dao động).
- Thuật toán PID số tối ưu hóa trên vi điều khiển 8-bit: Triển khai thành công mô hình toán rời rạc miền Z sử dụng tích phân hình thang và sai phân lùi. Bộ điều khiển xử lý mượt mà trên kiến trúc phần cứng hạn chế của PIC16F887 mà không cần sử dụng các bộ xử lý DSP/ARM đắt tiền.
- Cơ chế gia nhiệt bằng hơi nước đối lưu cưỡng bức thụ động: Thiết kế khay nung nước tạo hơi ẩm bão hòa giúp truyền nhiệt vào thành hũ thủy tinh đồng đều hơn $35%$ so với phương pháp truyền nhiệt khô qua thanh trở tiếp xúc thông thường.
- Hệ thống an toàn 3 lớp bảo vệ: Kết hợp cầu chì ngắt mạch nhanh $5\text{A}$, cách ly quang hoàn toàn giữa lưới điện $220\text{VAC}$ và vi điều khiển $5\text{VDC}$ qua PC817/MOC3021, cùng rơ-le nhiệt tự ngắt khi cạn nước.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế
Thiết bị được thiết kế theo quy trình vận hành tối giản 4 bước, phù hợp cho người dùng gia đình hoặc các hộ kinh doanh sữa chua thủ công:
- Bước 1: Đổ khoảng $300\text{ml}$ nước sạch vào khay gia nhiệt inox dưới đáy buồng ủ.
- Bước 2: Xếp các hũ sữa đã rót hỗn hợp vào vỉ chứa (tối đa 12 hũ thủy tinh). Đóng kín cửa tủ có khung nhìn trong suốt.
- Bước 3: Bật công tắc nguồn, chọn mốc thời gian ủ ($7.5\text{ giờ}$) thông qua phím bấm mềm. Màn hình LCD 20x4 hiển thị trạng thái
RUNNING, nhiệt độ tức thời và thời gian đếm ngược.
- Bước 4: Sau $7.5\text{ giờ}$, hệ thống phát còi buzzer báo động liên tục $10\text{ giây}$, tự động ngắt điện Triac để ngừng gia nhiệt hoàn toàn. Người dùng lấy thành phẩm bảo quản trong ngăn mát tủ lạnh ($4^\circ\text{C}-8^\circ\text{C}$).
+-------------------------------------------------------------------------+
| Bảng dự toán kinh phí sản xuất (BOM) |
+-------------------------------------------------------------------------+
| Linh kiện & Thiết bị | Số lượng | Đơn giá (VNĐ) |
+--------------------------------------+----------+-----------------------+
| Vi điều khiển PIC16F887 + Đế cắm DIP | 01 cái | 65.000 |
| Cảm biến nhiệt độ LM35 chính hãng | 01 cái | 25.000 |
| Triac BTA41-600B + Tản nhiệt nhôm | 01 cái | 35.000 |
| Màn hình LCD 20x4 + Module I2C | 01 cái | 70.000 |
| Opto PC817 + MOC3021 + Cầu Diode | 01 bộ | 20.000 |
| Thanh điện trở nhiệt đun nước 300W | 01 cái | 45.000 |
| Biến áp nguồn + Bo mạch PCB gia công | 01 bộ | 90.000 |
| Khung vỏ Mica/Alu cách nhiệt 3 lớp | 01 bộ | 220.000 |
| Phụ kiện (Dây cắm, ốc vít, cầu chì) | 01 gói | 40.000 |
+--------------------------------------+----------+-----------------------+
| TỔNG CHI PHÍ PHẦN CỨNG: | | 610.000 VNĐ |
+-------------------------------------------------------------------------+
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại:
- Cảm biến LM35 là cảm biến nhiệt độ Analog, dễ bị suy hao hoặc nhiễu điện từ khi kéo dây dài nếu mạch in không có lớp phủ mass (GND Plane) đạt chuẩn.
- Buồng ủ chỉ tích hợp cơ chế làm nóng (Heating), chưa có module sò nóng lạnh Peltier để làm mát cưỡng bức (Cooling) đưa nhiệt độ về $4^\circ\text{C}$ bảo quản lạnh tự động sau khi kết thúc chu trình lên men.
- Việc kiểm tra độ pH hiện vẫn dựa trên que đo hoặc máy đo pH cầm tay bên ngoài, chưa tích hợp điện cực đo pH liên tục trực tiếp trong môi trường sữa.
Hướng phát triển và nâng cấp:
- Nâng cấp sang cảm biến số DS18B20: Sử dụng giao thức 1-Wire chống nhiễu số tuyệt đối, có vỏ bọc inox chống nước đạt chuẩn IP68.
- Tích hợp module truyền thông không dây ESP32: Đẩy dữ liệu vi khí hậu lên nền tảng IoT Dashboard (Blynk / ThingsBoard), cho phép người dùng giám sát quá trình lên men và nhận cảnh báo qua điện thoại di động.
- Phát triển cơ chế ủ 2 chiều (Heat/Cool): Tích hợp hệ thống làm lạnh bán dẫn để tự động chuyển sang chế độ ủ lạnh ($4^\circ\text{C}$) ngay khi sữa chua đạt độ chua lý tưởng, ngăn chặn hiện tượng quá chua khi người dùng vắng nhà.
Đối tượng hưởng lợi
- Sinh viên ngành Kỹ thuật Điện tử - Tự động hóa: Tài liệu mẫu tham khảo thực tế về quy trình thiết kế mạch công suất AC, xử lý ngắt Zero-Crossing, lập trình ADC và hiện thực hóa thuật toán điều khiển PID rời rạc trên vi điều khiển 8-bit.
- Kỹ sư nhúng và Nhà phát triển sản phẩm: Bộ khung kiến trúc mã nguồn C kết hợp script giám sát dữ liệu thời gian thực Python qua cổng nối tiếp UART có khả năng tái sử dụng cao cho các lò sấy, buồng ấp trứng hoặc bể ổn nhiệt.
- Hộ gia đình và Cơ sở sản xuất thực phẩm thủ công: Giải pháp thiết bị ủ sữa chua năng suất cao (2 lít/mẻ), ổn định nhiệt độ tuyệt đối, giảm thiểu rủi ro hỏng mẻ ủ xuống dưới $1%$ với chi phí đầu tư thiết bị thấp hơn $65%$ so với máy nhập khẩu.
- Nhà nghiên cứu Công nghệ sinh học & Thực phẩm: Dữ liệu thực nghiệm chi tiết về động học pH và mối tương quan giữa nhiệt độ ổn định $46^\circ\text{C}$ đối với tốc độ đông tụ của chủng vi khuẩn lactic.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai và lắp đặt hệ thống là gì?
Hệ thống yêu cầu nguồn điện lưới gia dụng $220\text{VAC} \pm 10%$, tần số $50\text{Hz}$, công suất tiêu thụ đỉnh khoảng $300\text{W}$ (khi thanh nhiệt hoạt động 100% công suất) và trung bình chỉ khoảng $65\text{W}$ ở trạng thái duy trì ổn định PID. Vị trí đặt máy cần bằng phẳng, khô ráo, tránh quạt gió thổi trực tiếp vào cửa quan sát.
2. Giới hạn mở rộng dung tích buồng ủ của hệ thống là bao nhiêu?
Với thiết kế mạch công suất hiện tại sử dụng Triac BTA41 ($40\text{A}$), mạch có khả năng chịu tải lên tới $2000\text{W}$. Do đó, hệ thống hoàn toàn có thể mở rộng buồng ủ lên dung tích $10 - 20\text{ lít}$ phục vụ quy mô bán công nghiệp, chỉ cần thay đổi kích thước cơ khí thùng ủ và nâng công suất thanh nung mà không cần thiết kế lại bo mạch điều khiển trung tâm.
3. Tại sao hệ thống lại chọn nhiệt độ điểm đặt là $46^\circ\text{C}$ thay vì $37^\circ\text{C}$ hay $42^\circ\text{C}$?
Các nghiên cứu vi sinh thực nghiệm cho thấy tại $46^\circ\text{C}$, chủng vi khuẩn Lactobacillus bulgaricus phát triển tối ưu nhất, kích thích tốc độ sinh acid lactic nhanh gấp 1.6 lần so với ở $37^\circ\text{C}$. Điều này giúp rút ngắn thời gian ủ từ 12-14 giờ xuống chỉ còn 7.5 giờ, đồng thời tạo ra cấu trúc gel đông đặc có độ nhớt và độ chua hài hòa nhất.
4. Mạch dò điểm không (Zero-Crossing) đóng vai trò gì, nếu bỏ đi có điều khiển được không?
Mạch Zero-Crossing là bắt buộc để điều khiển công suất xoay chiều bằng phương pháp kích pha Triac. Nếu không có xung điểm không, vi điều khiển không thể đồng bộ thời gian mở với chu kỳ sóng hình sin của lưới điện $220\text{VAC}$, dẫn đến việc kích đóng cắt ngẫu nhiên gây xung dòng điện đột biến, tạo sóng hài nhiễu lưới và làm hỏng thanh điện trở.
5. Chi phí sản xuất và thời gian hoàn vốn (ROI) của thiết bị như thế nào?
Tổng chi phí linh kiện phần cứng gia công đơn chiếc là khoảng $610.000\text{ VNĐ}$ (sản xuất số lượng lớn có thể giảm xuống dưới $400.000\text{ VNĐ}$). So với việc mua sữa chua công nghiệp đóng hộp bán sẵn, việc tự ủ $2\text{ lít}$ sữa chua/tuần giúp tiết kiệm khoảng $150.000\text{ VNĐ/tuần}$. Thời gian hoàn vốn đầu tư thiết bị ước tính chỉ từ 1.0 đến 1.5 tháng.
Kết luận
Đề tài "Thiết kế và thi công máy ủ sữa chua ổn định nhiệt độ dùng PID" đã giải quyết trọn vẹn và xuất sắc mục tiêu đề ra từ lý thuyết đến chế tạo thực nghiệm. Bằng việc kết hợp vi điều khiển PIC16F887, mạch phát hiện điểm không chính xác và giải thuật PID rời rạc điều chế góc mở Triac, hệ thống đã duy trì môi trường nhiệt độ buồng ủ luôn đạt mức chuẩn xác $46.0^\circ\text{C}$ với sai số dưới $\pm 0.5^\circ\text{C}$ và triệt tiêu hoàn toàn hiện tượng vọt lố quán tính nhiệt.
Kết quả kiểm nghiệm chất lượng sản phẩm qua 3 mẻ ủ thực nghiệm cho thấy độ pH đạt chuẩn sinh học ($4.28 - 4.35$), khối sữa đông dẻo mịn, không tách nước và đạt độ thơm ngon vượt trội so với phương pháp thủ công truyền thống. Thiết bị có độ hoàn thiện cơ khí cao, chi phí sản xuất thấp, vận hành an toàn và mở ra tiềm năng thương mại hóa rộng rãi cho quy mô hộ gia đình cũng như các cơ sở sản xuất chế phẩm lên men sinh học hiện đại.