🔧 TÀI LIỆU LẮP RÁP HỆ THỐNG TƯỚI RAU TỰ ĐỘNG ESP32

Dự án: garden_1 · Kệ 3 tầng (12 khay) · Tưới + châm dinh dưỡng tự động Vật tư: xem vat-tu.md · Bản vẽ: simulate-smart-garden.md + .plan/plan3_final.md Nguồn chuẩn: .plan/plan1_final_1_final.md (Master Plan v2.0) · .project/architecture.md · .project/patterns.md

Nguyên tắc chung:


GIAI ĐOẠN 0 — CHUẨN BỊ

0.1. Kiểm tra linh kiện sống/chết

0.2. Bố trí tổng thể (theo bản vẽ)

            [Central Hub NGOÀI KỆ — hở bảo trì ≥ 200mm]
   Chai mẹ 2L ──(peristaltic)──► Thùng 50L ──► [Van 1 chiều] ──► [Lọc 120 mesh]
              [Bơm chìm sau-trái]·[Phao trước-phải]·[tee spare trên ống chính]
                                        │
                          Ống trục PE16 (riser sau-phải kệ)
                                        │
        T1 ─ Manifold PE16 mép sau ─ 12 béc 2L/h (van tiết lưu đỏ đầu vào)
        T2 ─ Manifold PE16 mép sau ─ 12 béc 3L/h (van tiết lưu đỏ đầu vào)
        T3 ─ Manifold PE16 mép sau ─ 12 béc 4L/h + [Anti-Siphon đỉnh T3]
   Hộp điện Sino (ESP32 + MOSFET + nguồn) gắn cạnh kệ gần Tầng 3

GIAI ĐOẠN 1 — KHUNG KỆ & KHAY

1.1. Dựng khung kệ

  1. Lắp kệ sắt V lỗ 3 tầng: cao ~1.6m, rộng ~1.3m, sâu ~0.5m.
  2. Gắn 4 chân đế cao su vào 4 góc đáy → chống trơn, chống ăn mòn sàn.

1.2. Đặt khay

  1. Đặt 12 khay nhựa (~40×60cm), 4 khay/tầng, canh đều 2 bên kệ.
  2. Đổ giá thể trồng vào khay, cao ~60mm, để lại thành khay.
  3. (Trồng sau khi hệ thống tưới hoạt động — không trồng trước khi test.)

Kiểm tra: Kệ vững, không lắc lư. Khay nằm phẳng, không nghiêng.


GIAI ĐOẠN 2 — CENTRAL HUB (THÙNG + BƠM + PHAO)

Hub đặt NGOÀI kệ, sát mép phải kệ, hở bảo trì ≥ 200mm so với khung (ADR-008 — để sau cấp chung nhiều kệ).

2.1. Thùng 50L

  1. Đặt thùng nhựa HDPE/PP tối màu ngoài kệ (sát mép phải).
  2. Vị trí tham chiếu bản vẽ: thùng từ x = rack_w + 200, thân 400×350×450mm.

2.2. Bơm chìm (góc sau-trái thùng)

  1. Đặt bơm chìm 12V 15W đáy thùng, góc sau-trái.
  2. Đấu dây nguồn bơm chạy lên miệng thùng → sau đi qua hộp điện.
  3. Ống ra bơm hướng lên (chuẩn bị nối van/lọc).

2.3. Phao ngắt cạn + lồng PVC (góc trước-phải thùng)

  1. Làm lồng bảo vệ: ống PVC Ø60mm, đục nhiều lỗ li ti quanh thân (chống rêu/lăng quăng kẹt phao).
  2. Luồng phao điện vào lồng, thả xuống thùng góc trước-phải — đối diện đầu hút bơm, không bị bơm hút kẹt.
  3. Đấu phao NỐI TIẾP trực tiếp dây +12V cấp cho bơm chìm:
    +12V nguồn ──► Phao điện ──► (+ cực Bơm chìm)
                     │ ngắt cạn
    

    🔒 AN TOÀN CỨNG (bắt buộc): phao ngắt cạn hoàn toàn độc lập MCU/code. Nước cạn → phao hạ → ngắt điện bơm ngay lập tức. TUYỆT ĐỐI không báo phao về GPIO để ngắt bằng phần mềm.

2.4. Chai dinh dưỡng mẹ (Option B — pha phân tay, đã chọn, ADR-011)

  1. Đặt chai mẹ 2L tối màu kề cạnh thùng (x ≈ tank_right_x + 80), cao ngang miệng thùng.
  2. Option B (đã chọn): KHÔNG lắp bơm peristaltic — chai mẹ là bình pha phân tay: pha dung dịch mẹ rồi đổ trực tiếp vào bồn (xem Giai đoạn 5.2).
  3. (Option A — nếu nâng cấp sau này) Lắp bơm peristaltic 12V lên miệng chai: ống hút PE6 xuống đáy chai, ống xả PE6 thả tự do vào thùng góc đối diện đầu hút bơm chìm (sau-trái → trước-phải).

Kiểm tra: Bơm chìm chạy trong nước không kêu lạ. Phao ngắt khi nâng/tụt. Peristaltic hút/xả đúng chiều.


GIAI ĐOẠN 3 — ĐƯỜNG ỐNG & VAN THỦY LỰC

Thứ tự bắt buộc trên cột đẩy: Bơm chìm → Van 1 chiềuLọc 120 mesh → Ống trục PE16 → manifold tầng.

3.1. Cột đẩy đầu ra bơm (trong cụm hub)

  1. Nối Van 1 chiều (Check Valve) PE16 ngay đầu ra bơm chìm — trước mọi đoạn ống ngang.
  2. Nối Lọc màng 120 Mesh ngay sau van 1 chiều.
    • Tham chiếu bản vẽ: van + lọc trên cột đứng z 470–590 (nổi trên miệng thùng).
  3. Nối ống trục PE16 lên khỏi miệng thùng, băng ngang ra ngoài thùng, đổ xuống sàn → nối riser.

3.2. Tee dự phòng Multi-Rack (spare outlet)

  1. Trên đoạn ống chính ngang (giữa hub và riser), gắn 1 tee PE16 + nắp bít đỏ hướng lên.
    • Mục đích: sau này cấp thêm kệ khác — KHÔNG dựng sẵn hệ nhiều kệ.
  2. Kiểm tra tham chiếu bản vẽ: spare_x nằm giữa cột đổ xuống và riser.

3.3. Trục chính + riser

  1. Đi ống PE16 dọc sát mép sau-phải kệ (riser) từ sàn lên đỉnh Tầng 3 (top_pipe_z ≈ 1570).
  2. Cố định ống bằng dây rút/kẹp vào thanh kệ mỗi tầng.

3.4. Ống phân phối thẳng (manifold) mép sau mỗi tầng — ADR-012

Mỗi tầng chạy 1 ống PE16 thẳng dọc mép sau (thay cho loop kín — tiết kiệm ~6m ống):

  1. Cắt 1 đoạn PE16 ≈ chiều rộng kệ lùi vào ~40mm mỗi đầu (≈1.22m).
  2. Nối đầu góc sau-phải vào riser (nhánh ngắn ~10mm); bịt kín đầu xa bằng nắp bít.
  3. Gắn van tiết lưu tay (đỏ) tại đầu vào (góc sau-phải):
    • Tầng 1: có van tiết lưu ✓
    • Tầng 2: có van tiết lưu ✓
    • Tầng 3: KHÔNG van (áp cao nhất — cấp đủ cho béc 4L/h)
  4. 12 béc/tầng trích TRỰC TIẾP lên ống này (xem 3.6); khi test chỉnh van tiết lưu cân lưu lượng từng tầng.

3.5. Van Anti-Siphon (đỉnh Tầng 3)

  1. Gắn Van Anti-Siphon tại điểm cao nhất của ống PE16 Tầng 3 (cuối manifold hoặc đỉnh riser).
  2. Khi ngắt bơm, van tự mở hút khí phá chân không → chặn xả dồn nước T3/T2 xuống T1.

3.6. Béc tưới

  1. Mỗi khay cắm 3 béc, chĩa xuống tâm khay:
    • Tầng 1: béc 2L/h (áp mạnh nhất → béc nhỏ)
    • Tầng 2: béc 3L/h
    • Tầng 3: béc 4L/h (áp yếu nhất → béc lớn bù lưu lượng)
  2. Nối béc với ống phân phối bằng nhánh PE6mm (cắm thẳng vào ống manifold hoặc qua đầu nối PE16→PE6).
  3. Tổng 36 béc: 12×2L/h + 12×3L/h + 12×4L/h.

Kiểm tra: Manifold kín 2 đầu (nắp bít đầu xa + đầu nối riser) không rò. 36 béc đủ, đúng lưu lượng từng tầng, chĩa xuống tâm khay. Van/lọc đúng thứ tự đầu ra bơm.


GIAI ĐOẠN 4 — MẠCH ĐIỆN & HỘP ĐIỀU KHIỂN

4.1. Đấu nối bên trong hộp điện Sino

  220V AC ──► Nguồn tổ ong 12V 5A
                  │ +12V Bus ──┬──► Tụ hóa 1000µF/25V (song song bus 12V)
                  │            │
                  │            ├──► Buck LM2596 ──► 5.0V ──► VIN ESP32
                  │            │
                  │            ├──► Phao ──► (+ Bơm chìm)         ← NẾU phao ngoài
                  │            └──► (+ Bơm phân)                    cụm bơm
                  └── GND ──────┴──► GND chung
  1. Đặt ESP32, 2× MOSFET, Buck LM2596, nguồn vào hộp điện Sino chống nước (gắn cạnh kệ gần Tầng 3).
  2. Tụ hóa 1000µF/25V hàn song song trực tiếp tại cọc bus 12V (chống sụt áp inrush khi bơm khởi động).

4.2. MOSFET #1 — Bơm chính (GPIO26)

Điểm Đấu
Gate GPIO26 + trở 10kΩ pull-down → GND
Drain Dây âm (−) bơm chìm 12V
Cọc bơm Diode 1N4007 song song ngược cực (Anode → dây âm, Cathode → dây dương)

4.3. MOSFET #2 — Bơm phân (GPIO27)

Option B (pha tay): bỏ MOSFET #2. | Điểm | Đấu | |---|---| | Gate | GPIO27 + trở 10kΩ pull-down → GND | | Drain | Dây âm (−) bơm peristaltic 12V | | Cọc bơm | Diode 1N4007 song song ngược cực |

4.4. Nút bấm & LED

  1. Nút bấm thủ công: giữa GPIO33GND (EXT0 wakeup, active LOW).
  2. LED trạng thái: GPIO2 (LED trên bo ESP32, không cần ngoài).

🔒 Bảo vệ bắt buộc (5 nguyên tắc):

  1. Phao ngắt cạn cứng nối tiếp +12V bơm chính (độc lập MCU).
  2. Trở 10k pull-down Gate→GND mỗi MOSFET — chống chớp bơm lúc boot/nạp code.
  3. Diode 1N4007 flyback tại cọc mỗi bơm — dập xung Back-EMF.
  4. Tụ 1000µF/25V bus 12V — chống sụt áp reset ESP32.
  5. Nguồn ra Buck = đúng 5.0V trước khi cắm ESP32.

Kiểm tra (quan trọng nhất):


GIAI ĐOẠN 5 — FIRMWARE & CALIBRATE DINH DƯỠNG

5.1. Nạp firmware v2.0

  1. Lấy mã nguồn C++ từ .project/modules/firmware.md (hoặc Master Plan §IV).
  2. Điền thông số:
    • ssid / password (Wi-Fi)
    • telegramBotToken / telegramChatID
    • thingspeakAPIKey — tạo channel miễn phí trên thingspeak.com → Tab API Keys → copy Write API Key (ADR-010, dashboard cloud 1 lần/ngày)
    • Option B (đã chọn): đặt NUTRI_PUMP_TIME_SEC = 0 → mọi ca tưới chỉ bơm nước sạch (bỏ châm phân tự động + mixing delay, ADR-011). Nâng cấp Option A sau: mua bơm peristaltic + MOSFET #2, đổi lại 8.
  3. Biên dịch + nạp bằng PlatformIO / Arduino IDE.
  4. Cấu hình mặc định chuẩn:
    • Ca tưới: 6h45 (T1 slot1) & 17h00 (slot2)
    • Bơm chính: 120s · Bơm phân: 8s (~15–20ml) · Mixing delay: 15s
    • Chủ Nhật: Flush 180s nước sạch không châm phân

5.2. Calibrate nồng độ dinh dưỡng (Option B — pha tay)

  1. Pha dung dịch mẹ đậm đặc ~100× vào chai 1.5–2L tối màu.
  2. Đổ trực tiếp một lượng nhỏ dung dịch mẹ vào bồn 50L đầy nước (bắt đầu ~15–20ml = tương đương 8s bơm của Option A).
  3. Bật bơm chính ~1–2 phút (hoặc khuấy tay) cho tan đều, nhúng bút TDS/EC đo — đạt EC 1.2–1.6 mS/cm (700–1000 ppm).
  4. Ghi lại số ml dùng cho bồn 50L → lần sau pha đúng tỷ lệ đó (lịch bù phân: quy-trinh §6.2).

5.3. Test 3 chế độ

Kiểm tra cúp điện (quan trọng):


GIAI ĐOẠN 6 — CHẠY THỬ TOÀN HỆ THỐNG

6.1. Test tĩnh (chưa trồng)

  1. Đổ đầy nước sạch thùng 50L.
  2. Chạy 1 ca tưới thủ công /water (Option B — nước sạch, không châm phân):
    • Quan sát bơm chìm hút, nước lên van/lọc → riser → 3 manifold mép sau.
    • 36 béc nhỏ giọt chảy đều, mỗi tầng đúng lưu lượng (T3 phải ra nước không bị nghẹt áp).
    • Bơm tắt → không xả dồn nước tầng cao xuống tầng thấp (anti-siphon hoạt động).
  3. Chạy /flush — nước sạch 180s, không châm phân.
  4. Test phao: múc cạn nước → bơm ngắt ngay khi phao hạ (không cần MCU).

6.2. Test ngắt cạn + mất điện

6.3. Trồng rau & vận hành

  1. Sau khi test đạt → trồng rau vào 12 khay.
  2. Theo dõi độ ẩm giá thể 2–3 ngày đầu; chỉnh thời gian tưới/van tiết lưu nếu cần.

GIAI ĐOẠN 7 — BẢO TRÌ ĐỊNH KỲ

Chu kỳ Việc cần làm
2 tuần Bù nước đầy thùng 50L, kiểm tra chai mẹ
1 tháng Tháo lọc 120 mesh xịt rửa sạch cặn rêu
Hàng tuần Tự động Flush nước sạch 3 phút sáng Chủ Nhật (không cần làm gì)
Sửa chữa Giữ nút >5s lúc cắm nguồn → Maintenance Mode (WebServer vĩnh viễn)
Nghẹt béc Thay béc Non-PC (rẻ ~1.5k), không gắn van anti-drain từng béc

XỬ LÝ SỰ CỐ THƯỜNG GẶP

Triệu chứng Nguyên nhân khả dĩ Xử lý
Bơm chính không chạy Phao ngắt cạn hạ / chưa bấm đúng / MOSFET hỏng Kiểm tra phao, đo Gate MOSFET
Bơm chớp lúc khởi động Thiếu pull-down 10k Hàn trở 10k Gate→GND
ESP32 reset khi bơm bật Sụt áp 12V (thiếu tụ) Hàn tụ 1000µF/25V bus 12V
Tầng 3 yếu/nghẹt Lọc bẩn / béc sai lưu lượng / áp thấp Xịt lọc, kiểm tra béc 4L/h, van tiết lưu T1/T2
Tưới lặp sau cúp điện NVS chưa ghi / lastSlot sai Kiểm tra prefs.putInt sau mỗi ca
Không nhận Telegram Sai token/chatID, thiếu Wi-Fi Kiểm tra cấu hình, WebServer / xem IP
Nước dồn T1 sau khi tắt bơm Anti-siphon hỏng/bịt Kiểm tra van đỉnh Tầng 3

Tài liệu lắp ráp tương thích Master Plan v2.0 + bản vẽ 3D plan3_final (ADR-008) + telemetry cloud ThingSpeak (ADR-010) + ống phân phối thẳng manifold (ADR-012). Mọi thay đổi mạch/thủy lực phải đối chiếu lại ADR trước khi sửa.

JotBird Logo
Published with JotBird