Chống đọng sương trong hộp thiết bị ngoài trời: van thông hơi, gel, sưởi

Vì sao hộp IP65 vẫn có nước và cách chống đọng sương hộp điện: tính điểm sương, chênh áp khi hộp nguội, mô phỏng 30 ngày so sánh van thông hơi, gói hút ẩm, sưởi, cách lắp van.

Hộp đạt IP65, gioăng còn tốt, nhưng sau vài tháng mở ra vẫn thấy nước ở đáy và mạch bị ăn mòn: đó thường là đọng sương, không phải nước mưa lọt thẳng vào. Bài này dùng phép tính điểm sương và một mô phỏng ẩm theo từng phút để so sánh các cách chống đọng sương hộp điện: van thông hơi, gói hút ẩm, sưởi, đóng nắp nơi khô. Kết quả có một điểm dễ hiểu sai: van thông hơi rất nên dùng, nhưng tự nó không ngăn được đọng sương.

1. Vì sao hộp kín vẫn có nước

Mặt cắt hộp: giọt nước trên vỏ lạnh rơi xuống mạch, gioăng chịu chênh áp, van thông hơi gắn thấp ở thành, ốc siết cáp ở đáy
Hai nguồn nước: hơi ẩm trong khí và nước bị hút qua gioăng.

Nước đọng khi một bề mặt lạnh hơn điểm sương của không khí quanh nó. Khí 30 °C, 80 % có điểm sương 26,2 °C và chứa 24,2 g/m³ hơi nước. Hộp 5 lít đóng nắp trong không khí đó chứa khoảng 0,12 g nước: ít, nhưng đủ để tạo một lớp ẩm trên chân IC.

Đường thứ hai quan trọng không kém. Khi hộp nóng nắng 60 °C gặp mưa rào và nguội còn 30 °C, áp suất trong hộp kín giảm khoảng 91 hPa, tương đương cột nước 0,93 m. Nước đang đọng trên mép gioăng bị hút vào theo chênh áp đó, trong khi phép thử IP65 chỉ phun nước, không tính chênh áp này.

2. Khi nào vỏ hộp lạnh hơn điểm sương

Đồ thị nhiệt độ vỏ hộp, không khí và điểm sương theo giờ: vỏ nóng vọt lên giữa trưa và thấp hơn điểm sương vào ban đêm
Vỏ hộp có thể nóng hơn không khí ban ngày và lạnh hơn không khí lúc gần sáng do bức xạ ra bầu trời.

Tính điểm sương bằng công thức Magnus:

γ = ln(RH/100) + 17,62 × T / (243,12 + T); Td = 243,12 × γ / (17,62 − γ)

3. So sánh các cách làm bằng mô phỏng

Script dưới đây tính cân bằng hơi nước trong hộp 5 lít theo từng phút, 30 ngày, ở hai kiểu thời tiết: nóng ẩm có nắng và mưa kéo dài. Nước đọng trên vỏ khi hơi vượt mức bão hòa ở nhiệt độ vỏ, bay hơi lại khi vỏ ấm lên. Một phút được tính là "ướt" khi còn trên 0,5 mg nước.

# PYWORLD.VN - Mô phỏng theo từng phút lượng nước đọng trong hộp thiết bị 5 lít ngoài trời, 30 ngày khí hậu nóng ẩm giả lập
# PYWORLD.VN - So sánh hộp kín tuyệt đối, hộp có khe rò, van thông hơi, van + sưởi, và gói hút ẩm; hàng ngày vỏ hộp lạnh hơn không khí lúc gần sáng
# PYWORLD.VN - Chạy: python mo_phong_dong_suong.py          (chỉ cần Python, không cần thư viện ngoài)
import math

THE_TICH = 0.005          # m³
PHUT = 60.0


def ap_bao_hoa(t: float) -> float:
    """Áp suất hơi bão hòa (hPa), công thức Magnus."""
    return 6.112 * math.exp(17.62 * t / (243.12 + t))


def am_tuyet_doi(t: float, rh: float) -> float:
    """g/m³ hơi nước ở nhiệt độ t, độ ẩm rh %."""
    return 216.7 * ap_bao_hoa(t) * rh / 100 / (273.15 + t)


def diem_suong(t: float, rh: float) -> float:
    g = math.log(rh / 100) + 17.62 * t / (243.12 + t)
    return 243.12 * g / (17.62 - g)


def thoi_tiet(gio: float) -> tuple[float, float, float]:
    """Trả về nhiệt độ không khí, độ ẩm, nhiệt độ vỏ hộp."""
    pha = math.cos(2 * math.pi * (gio - 14) / 24)
    t = 28 + 5 * pha
    rh = 76 - 18 * pha
    # Ban ngày nắng làm vỏ nóng hơn, gần sáng bức xạ làm vỏ lạnh hơn không khí 3 K.
    vo = t + (9 * max(0.0, math.sin(2 * math.pi * (gio - 6) / 24)) ** 1.5 if 6 <= gio < 18 else -3 * min(1.0, abs(math.sin(2 * math.pi * (gio - 18) / 24)) + 0.3))
    return t, rh, vo


def mua_keo_dai(gio: float) -> tuple[float, float, float]:
    """Mưa nhiều ngày: không có nắng, ẩm cao, vỏ luôn lạnh hơn không khí 1 K."""
    t = 26 + 1.5 * math.cos(2 * math.pi * (gio - 14) / 24)
    return t, 96.0, t - 1


def chay(ten: str, ro_lhr: float = 0.0, trao_doi_1h: float = 0.0, suoi_k: float = 0.0, hut_am_g: float = 0.0, ngay: int = 30,
         khi_hau=thoi_tiet, dong_hop: tuple[float, float] | None = None) -> dict:
    t0, rh0, vo0 = khi_hau(0)
    # dong_hop: nhiệt độ, độ ẩm của nơi đóng nắp; mặc định đóng ngay ngoài trời.
    hoi = am_tuyet_doi(*(dong_hop or (t0, rh0))) * THE_TICH      # g hơi nước trong không khí của hộp
    nuoc = 0.0                                 # g nước lỏng đọng trên vỏ
    con_hut = hut_am_g                         # gam gel còn hút được, tỉ lệ 25 % khối lượng
    trong = vo0
    gio_uot = 0
    dau_ngay = []
    cuc_dai = 0.0
    for phut in range(ngay * 1440):
        gio = (phut / 60) % 24
        t, rh, vo = khi_hau(gio)
        vo_hieu_dung = vo + suoi_k
        t_moi = vo_hieu_dung
        ngoai = am_tuyet_doi(t, rh) * THE_TICH
        # Hít vào khi nguội, đẩy ra khi nóng: lượng khí đổi theo nhiệt độ tuyệt đối.
        if ro_lhr:
            dv = (t_moi - trong) / (273.15 + trong)
            if dv < 0:
                hoi += -dv * ngoai
            else:
                hoi -= dv * hoi
        # Thở qua khe nhỏ và khuếch tán rất chậm.
        if ro_lhr:
            hoi += (ngoai - hoi) * ro_lhr / 60
        if trao_doi_1h:
            hoi += (ngoai - hoi) * (1 - math.exp(-trao_doi_1h / 60))
        trong = t_moi
        # Gel hút ẩm: giữ độ ẩm trong hộp gần 40 % khi còn sức.
        if con_hut > 0:
            muc = am_tuyet_doi(t_moi, 40) * THE_TICH
            lay = max(0.0, hoi - muc)
            lay = min(lay, con_hut * 0.25)
            hoi -= lay
            con_hut -= lay / 0.25
        bh = am_tuyet_doi(vo_hieu_dung, 100) * THE_TICH
        if hoi > bh:
            nuoc += hoi - bh
            hoi = bh
        elif nuoc > 0:
            bay = min(nuoc, (bh - hoi) * 0.2)     # bay hơi chậm hơn đọng
            nuoc -= bay
            hoi += bay
        if nuoc > 0.0005:
            gio_uot += 1
        cuc_dai = max(cuc_dai, nuoc)
        if phut % 1440 == 1439:
            dau_ngay.append(nuoc)
    return {"ten": ten, "gio_uot_ngay": gio_uot / 60 / ngay, "nuoc_cuoi_g": nuoc, "cuc_dai_g": cuc_dai, "gel_con_g": con_hut, "theo_ngay": dau_ngay}


TRUONG_HOP = [
    ("Kín, đóng ngoài trời", {}),
    ("Kín, đóng phòng lạnh", {"dong_hop": (25, 50)}),
    ("Khe rò ở gioăng", {"ro_lhr": 0.05}),
    ("Lỗ hở tự do", {"trao_doi_1h": 2.0}),
    ("Van thông hơi", {"trao_doi_1h": 0.5}),
    ("Van + sưởi 5 K", {"trao_doi_1h": 0.5, "suoi_k": 5}),
    ("Kín + 10 g gel", {"hut_am_g": 10}),
    ("Khe rò + 10 g gel", {"ro_lhr": 0.05, "hut_am_g": 10}),
]

if __name__ == "__main__":
    print("Bang diem suong")
    for t, rh in ((25, 60), (25, 80), (30, 60), (30, 80), (30, 95), (35, 70)):
        print(f"  {t} C {rh} %: diem suong {diem_suong(t, rh):.1f} C, {am_tuyet_doi(t, rh):.1f} g/m3")
    print("Khi tho khi nhiet do doi 30 K: the tich khi vao ra", round(30 / 303 * 100, 1), "%")
    for ten_kh, kh in (("Nang am, 30 ngay", thoi_tiet), ("Mua keo dai, 30 ngay", mua_keo_dai)):
        print(ten_kh)
        print(f"{'Truong hop':<24}{'gio uot/ngay':>13}{'nuoc cuoi g':>13}{'cuc dai g':>11}{'gel con g':>11}")
        for ten, ts in TRUONG_HOP:
            k = chay(ten, khi_hau=kh, **ts)
            print(f"{k['ten']:<24}{k['gio_uot_ngay']:>13.1f}{k['nuoc_cuoi_g']:>13.3f}{k['cuc_dai_g']:>11.3f}{k['gel_con_g']:>11.2f}")
    print("Chenh ap khi hop kin nguoi 30 K:", round(1013 * 30 / 333), "hPa, tuong duong cot nuoc", round(1013 * 30 / 333 / 98.1, 2), "m")
Bảng 30 ngày: hộp kín đóng ngoài trời ướt 6,2 giờ mỗi ngày, đóng trong phòng lạnh không ướt, van thông hơi ướt 8,7 giờ, mưa dài 23,8 giờ, van kèm sưởi và gel không ướt
Kết quả mô phỏng dùng để so sánh, không phải số đo trên hộp thật.
  • Nơi đóng nắp có tác dụng lớn nhất với hộp thực sự kín: đóng trong phòng máy lạnh 25 °C, 50 %, điểm sương còn khoảng 14 °C, hộp không ướt ngày nào.
  • Van thông hơi một mình không làm khô. Thời tiết nóng ẩm, hộp ướt 8,7 giờ mỗi ngày, nhiều hơn hộp kín. Mưa dài: gần cả ngày, tích tới 0,645 g.
  • Van kèm sưởi nhẹ cho kết quả tốt nhất trong các hộp có trao đổi khí: bề mặt ấm hơn 5 K là đủ trong mô phỏng này.
  • Gói hút ẩm tốt khi hộp kín: 10 g gel gần như chưa dùng sau 30 ngày. Nếu có khe rò, gel hết sức trong khoảng một tháng mưa.

Vậy van thông hơi dùng để làm gì? Để chặn đường thứ hai: áp suất trong và ngoài luôn bằng nhau, gioăng không bị hút nước vào, nắp không bị phồng ép. Đây là lý do nên lắp van cho hộp lớn hoặc hộp đổi nhiệt mạnh, kết hợp cách khác để giảm đọng sương.

4. Chọn và lắp van thông hơi

  • Van có màng ePTFE cho khí đi qua, chặn nước lỏng. Chọn van có cấp IP không thấp hơn hộp, ren theo lỗ đã khoan, thường M12.
  • Gắn ở thành bên phần thấp hoặc đáy, không gắn trên đỉnh, tránh hướng tia nước trực tiếp.
  • Không sơn hay phủ keo lên màng. Bụi nhiều thì thêm mái che, màng bị bít sẽ mất tác dụng.
  • Không thay van bằng một lỗ khoan trần: côn trùng, bụi và nước vào theo.

5. Chọn cách làm theo tình huống

Bảng chọn: hộp nhỏ dùng gel, hộp lớn dùng van và phủ bảo vệ, thiết bị tỏa nhiệt dùng van, tủ điện dùng sưởi có cảm biến ẩm, nước ở đáy dùng lỗ thoát
Thường cần kết hợp hai cách.
  • Tận dụng nhiệt của thiết bị: nguồn và mạch tỏa 3–5 W chạy liên tục đã làm bề mặt trong ấm hơn. Hộp nhựa 5 lít, diện tích khoảng 0,18 m², hệ số truyền nhiệt khoảng 5,5 W/m²·K, cần cỡ 5 W để ấm thêm 5 K. Thiết bị ngủ sâu dùng pin không có nguồn nhiệt này.
  • Bảo vệ lớp cuối: mạch có lớp phủ vẫn chịu được màng ẩm mỏng, xem bài cùng cụm về conformal coating.
  • Đặt mạch cách vỏ, không đặt ngay dưới mặt nắp. Dây vào từ dưới lên, có vòng nhỏ giọt.
  • Theo dõi: một cảm biến nhiệt độ, độ ẩm trong hộp cho biết sớm khi nào độ ẩm tăng cao, trước khi mạch hỏng.

Với cách chọn cấp IP và cách đưa dây vào hộp, xem Chuẩn IP67 là gì và đưa ESP32 vào hộp.

6. Xem thêm

  • Bài cùng cụm về hộp điện chống nước và ốc siết cáp.
  • Bài cùng cụm về đổ keo bảo vệ mạch và conformal coating.

Tin tức liên quan

Quy trình thiết kế kỹ thuật trong dự án STEM: 5 hoạt động, ví dụ làm cối xay gió nâng vật
Quy trình thiết kế kỹ thuật trong dự án STEM: 5 hoạt động, ví dụ làm cối xay gió nâng vật

Dự án STEM là gì và quy trình thiết kế kỹ thuật 8 bước, 5 hoạt động theo hướng dẫn của Bộ GD&ĐT, minh họa bằng dự án cối xay gió nâng vật với phiếu thử nghiệm công bằng.

Điện áp, dòng điện, điện trở và định luật Ohm: hiểu bằng ví dụ và đo bằng ESP32
Điện áp, dòng điện, điện trở và định luật Ohm: hiểu bằng ví dụ và đo bằng ESP32

Điện áp, dòng điện, điện trở là gì, đơn vị và tiền tố, định luật Ohm U = I × R với ví dụ, đường U–I của điện trở và LED, thí nghiệm kiểm chứng định luật Ohm bằng DAC và ADC của ESP32.

Modbus TCP/IP (phần 2): ESP32 làm máy khách và cổng chuyển đổi Modbus TCP sang RTU
Modbus TCP/IP (phần 2): ESP32 làm máy khách và cổng chuyển đổi Modbus TCP sang RTU

Hướng dẫn dùng ESP32 làm máy khách Modbus TCP đọc thanh ghi của một thiết bị trong mạng, và làm cổng chuyển đổi Modbus TCP sang Modbus RTU qua RS-485: cách đổi khung, mã thiết bị, thời gian chờ, mã lỗi 0x0B.

GRBL là gì: nạp GRBL cho Arduino, CNC shield, sơ đồ chân và nối động cơ
GRBL là gì: nạp GRBL cho Arduino, CNC shield, sơ đồ chân và nối động cơ

GRBL là firmware biến Arduino Uno, Nano thành bộ điều khiển máy CNC, laser: sơ đồ chân GRBL 1.1, CNC shield V3, năm bước nạp GRBL bằng Arduino IDE, kiểm tra và lỗi thường gặp.

ESP32 không nhận cổng COM, lỗi Failed to connect, phải giữ nút BOOT: nguyên nhân và cách sửa
ESP32 không nhận cổng COM, lỗi Failed to connect, phải giữ nút BOOT: nguyên nhân và cách sửa

Cách sửa ESP32 không nhận cổng COM, lỗi Failed to connect, Wrong boot mode, phải giữ nút BOOT, nạp xong không chạy: dây USB, driver, chân khởi động, tụ 10 µF ở chân EN, bảng tra thông báo lỗi.

Các loại vi xử lý: CPU, MCU, SoC, GPU, NPU, FPGA khác nhau thế nào, kiến trúc và cách chọn
Các loại vi xử lý: CPU, MCU, SoC, GPU, NPU, FPGA khác nhau thế nào, kiến trúc và cách chọn

Tổng quan các loại vi xử lý: khác gì vi điều khiển, phân loại theo công dụng, kiến trúc tập lệnh x86, ARM, RISC-V, độ rộng bit, bộ nhớ và cách chọn cho dự án.

boot.py và main.py trong MicroPython: chương trình tự chạy khi cấp nguồn, chế độ an toàn, ghi lỗi
boot.py và main.py trong MicroPython: chương trình tự chạy khi cấp nguồn, chế độ an toàn, ghi lỗi

boot.py và main.py trong MicroPython: thứ tự chạy khi khởi động, nên đặt gì vào mỗi file, chế độ an toàn bằng nút BOOT, bắt lỗi và ghi lỗi ra file, watchdog, chép file bằng Thonny, mpremote.

Jack Type-C đực: sơ đồ chân, điện trở CC và cách hàn dây
Jack Type-C đực: sơ đồ chân, điện trở CC và cách hàn dây

Jack Type-C đực (đầu cắm) chỉ có một chân CC ở A5 và một cặp D+ D−. Bài trình bày sơ đồ chân đầu đực, điện trở 56 kΩ hoặc 5,1 kΩ cần gắn ở chân CC cho từng kiểu dây và các bước hàn dây vào pad.


Bình luận
Đã thêm vào giỏ hàng