Bỏ qua, đến nội dung chính
Nastrotek
Giải pháp IoTIoT SolutionsMới

Thiết bị báo nhiệt độ tủ lạnh, tủ đông khi mất điện

Ghi chú thiết kế một hộp đo nhiệt độ đặt ngoài tủ lạnh, dùng ESP32, hai đầu dò DS18B20 và Home Assistant để biết sớm khi ngăn đông ấm lên sau mất điện.

Chia sẻ

LinkedInFacebookX
DIY ESP32 fridge and freezer temperature alert device mounted beside a refrigerator during a power outage

Nếu bạn gặp cùng bài toán, mình khuyên kiểm tra luồng cảnh báo mất dữ liệu kỹ như cảnh báo quá nhiệt.

Có một kiểu sự cố rất khó chịu: mất điện vài tiếng, điện có lại, tủ lạnh lại kêu đều đều nên mình tưởng mọi thứ ổn. Đến lúc mở ngăn đông mới thấy đá hơi mềm, túi thực phẩm dính nước, còn mình thì không biết đoạn nhiệt độ xấu đã kéo dài bao lâu.

Bài này là ghi chú cho một bản prototype rất đời thường: một hộp nhỏ nằm ngoài tủ, hai đầu dò luồn vào trong, và một cảnh báo đủ chậm để không làm phiền mỗi lần mở cửa lấy đồ. Nó không biến tủ lạnh thành "smart fridge"; nó chỉ trả lời đúng hai câu hỏi mình cần: lúc này trong tủ đang bao nhiêu độ, và nhiệt độ xấu đã kéo dài đủ lâu để phải kiểm tra chưa.

Bản MVP nên làm gì?

Bản đầu tiên chỉ cần ba trạng thái:

Trạng tháiÝ nghĩa
Bình thườngNgăn mát dưới khoảng 8°C, ngăn đông dưới khoảng -12°C
Cần chú ýNhiệt độ vượt ngưỡng trong vài phút, có thể do mở cửa lâu hoặc vừa mất điện
Cần kiểm traNgăn đông ấm lên lâu, hoặc thiết bị mất kết nối quá lâu

Ngưỡng cụ thể nên chỉnh theo tủ thật. Với mình, điểm bắt đầu hợp lý là ngăn mát cảnh báo khi trên 8°C trong 15 phút, ngăn đông cảnh báo khi trên -12°C trong 20 phút. Đừng báo ngay khi vừa nhảy số, vì mỗi lần mở cửa tủ, nhiệt độ có thể tăng trong ngắn hạn.

Prototype thiết bị báo nhiệt độ tủ lạnh gồm board ESP32, pin dự phòng nhỏ, hộp in 3D và hai đầu dò DS18B20 chống nước đặt trên bàn làm việc.

Bản đầu tiên chỉ cần ESP32, hai đầu dò DS18B20 và nguồn dự phòng nhỏ để vẫn báo được khi mất điện.

Phần cứng đề xuất

Một bản dễ làm có thể gồm:

  • ESP32-C3 hoặc ESP32 thường.
  • Hai đầu dò DS18B20 chống nước: một cho ngăn mát, một cho ngăn đông.
  • Điện trở kéo lên 4.7 kΩ cho bus 1-Wire.
  • Hộp in 3D nhỏ hoặc hộp nhựa, đặt ngoài tủ.
  • Nguồn USB-C 5 V.
  • Pin dự phòng nhỏ hoặc mini UPS 5 V để thiết bị vẫn gửi cảnh báo khi mất điện.
  • LED amber để nhìn nhanh trạng thái cảnh báo.

Điểm quan trọng là không đặt ESP32 trong tủ lạnh. Độ ẩm, ngưng tụ và pin trong môi trường lạnh đều không vui vẻ gì. Chỉ nên đưa đầu dò vào trong, còn mạch để ngoài tủ.

Luồn đầu dò thế nào?

Cách ít rủi ro nhất là luồn dây qua mép gioăng cửa, chọn vị trí ít bị kẹp và không làm hở cửa. Với tủ đông, đầu dò nên nằm trong vùng gần thực phẩm, không áp sát dàn lạnh. Nếu đầu dò chạm trực tiếp vào thành tủ hoặc bị gió lạnh thổi thẳng vào, số đo có thể đẹp hơn thực tế.

Mình sẽ cố định đầu dò bằng băng keo chịu lạnh hoặc kẹp nhựa nhỏ. Không khoan tủ nếu chưa thật sự hiểu đường ống gas/dàn lạnh nằm ở đâu.

Đầu dò nhiệt độ được luồn vào ngăn đông, thiết bị IoT bên ngoài tủ sáng đèn cảnh báo và điện thoại nhận thông báo nhiệt độ tăng.

Chỉ đưa đầu dò vào trong tủ; phần ESP32 và pin nên để bên ngoài để tránh ẩm và ngưng tụ.

Logic cảnh báo

Logic nên chậm và ít phiền:

Nếu ngăn mát > 8°C trong 15 phút:
  gửi cảnh báo nhẹ

Nếu ngăn đông > -12°C trong 20 phút:
  Gửi cảnh báo kiểm tra tủ đông

Nếu thiết bị mất kết nối quá 30 phút:
  gửi cảnh báo mất dữ liệu

Nếu nhiệt độ quay lại vùng an toàn trong 10 phút:
  tự clear trạng thái

Mất kết nối cũng quan trọng như nhiệt độ cao. Nếu mất điện cả nhà, router và Home Assistant có thể cũng tắt. Khi đó có hai hướng: dùng UPS nhỏ cho router/Home Assistant, hoặc để ESP32 gửi cảnh báo qua mạng di động là một bài khác. Với bản gia đình đơn giản, mình sẽ ưu tiên UPS nhỏ cho router trước.

Cấu hình ESPHome mẫu

Đây là khung cấu hình tối giản, chưa phải file hoàn chỉnh để copy chạy ngay:

one_wire:
  - platform: gpio
    pin: GPIO4

sensor:
  - platform: dallas_temp
    name: "Fridge Temperature"
    update_interval: 60s

  - platform: dallas_temp
    name: "Freezer Temperature"
    update_interval: 60s

Khi có nhiều DS18B20 trên cùng bus, nên scan địa chỉ từng cảm biến rồi khai báo address rõ ràng. Nếu không, sau khi tháo lắp dây, thứ tự cảm biến có thể gây nhầm ngăn mát với ngăn đông.

Những lỗi dễ gặp

Đầu dò chống nước rẻ tiền không phải lúc nào cũng kín tuyệt đối. Trước khi dùng lâu dài, nên ngâm thử phần đầu inox trong nước đá vài giờ và xem số đo có bất thường không.

Không nên cảnh báo bằng một ngưỡng duy nhất. Tủ vừa mở cửa xong có thể tăng nhanh rồi giảm lại. Cần có thời gian trễ và hysteresis để tránh báo linh tinh.

Đừng quên kiểm tra nguồn. Thiết bị báo mất điện mà chính nó tắt theo điện lưới thì hơi buồn cười. Một pin dự phòng nhỏ chạy được vài giờ đã đủ làm bản đầu tiên hữu ích hơn nhiều.

Mình sẽ thử bản đầu tiên như sau

Mình sẽ bắt đầu bằng ESP32-C3, hai DS18B20, ESPHome và Home Assistant. Chưa cần màn hình. Chỉ cần LED nhỏ trên hộp và notification trên điện thoại.

Checklist thử nghiệm:

  • Đo baseline của tủ trong 24 giờ khi mọi thứ bình thường.
  • Mở cửa tủ 1-2 phút để xem nhiệt độ tăng và hồi lại ra sao.
  • Rút điện tủ 15-30 phút trong điều kiện có kiểm soát, không để hỏng thực phẩm.
  • Kiểm tra cảnh báo khi ESP32 mất Wi-Fi hoặc mất nguồn.
  • Chỉnh lại ngưỡng theo tủ thật, không dùng ngưỡng mặc định một cách mù quáng.

Nếu bản này chạy ổn, thước đo thành công của nó khá đơn giản: có một lần mất điện dài mà mình biết sớm để kiểm tra ngăn đông, thay vì chỉ phát hiện khi mở tủ ra. Với thiết bị kiểu này, vậy là đủ đáng để làm tiếp bản vỏ và PCB gọn hơn.

Nguồn tham khảo

Chia sẻ

LinkedInFacebookX

Tiếp tục khám phá

Đọc tiếp

Bài viết liên quan

Xem thêm trong Giải pháp IoT

Nastrotek sử dụng cookie để phân tích truy cập và cá nhân hóa quảng cáo, giúp hiểu cách website được sử dụng. Bạn có thể chấp nhận hoặc từ chối các cookie không thiết yếu.