Soil Moisture Automation ออกแบบอย่างไร? ใช้ค่าความชื้นดินสั่งรดน้ำโดยไม่หลงตัวเลข.
แนวทางใช้ Soil Moisture Sensor ใน Smart Farm ระดับระบบ ตั้งแต่ Zone, Calibration context, Hysteresis, stale data, multiple sensors, irrigation verification และ Manual/Fallback mode

บท Soil Moisture Sensor Guide อธิบายชนิด Sensor, corrosion, salinity, calibration และ placement แล้ว หน้านี้จึงโฟกัสคำถามอีกชั้นหนึ่ง:
เมื่อมีค่าความชื้นดินแล้ว จะใช้มันตัดสินใจรดน้ำอย่างไรโดยไม่ทำให้ Sensor ตัวเดียวกลายเป็น single point of failure?
อย่าเริ่มจากเปอร์เซ็นต์เดียว
ค่า 31% ไม่มีความหมายเพียงพอถ้าไม่รู้:
- sensor/zone ไหน
- calibration context อะไร
- อ่านเมื่อไร
- soil type ไหน
- ก่อนหรือหลัง irrigation
- trend กำลังขึ้นหรือลง
ดังนั้น control input ควรเป็น measurement พร้อม context ไม่ใช่เลขดิบอย่างเดียว
ใช้ Hysteresis
ถ้าเปิดน้ำเมื่อ <30% และปิดทันทีเมื่อ >=30% ระบบอาจสลับไปมาเมื่อค่าแกว่ง
แนวคิดที่ดีกว่า:
Start request below lower threshold
Stop / clear request above upper threshold
ระยะห่างระหว่าง threshold ต้องทดสอบกับพื้นที่จริง ไม่ใช่คัดลอกค่าจากตัวอย่างทั่วไป
ใช้หลาย Sensor อย่างมีเหตุผล
หลาย Sensor ไม่ได้แปลว่าเอาค่าเฉลี่ยทุกตัวเสมอไป
อาจใช้:
- median เพื่อลด outlier
- representative sensor ต่อ sub-zone
- min/max เพื่อ detect ความไม่สม่ำเสมอ
- sensor agreement check เพื่อหาอุปกรณ์ผิดปกติ
ถ้า Sensor ตัวหนึ่งแตกต่างจากกลุ่มมาก ควร flag health ก่อนนำไปควบคุม
Stale Data ต้อง fail explicit
Automation ต้องรู้ age ของ measurement
value: 31%
age: 2 min → usable
age: 6 hours → stale
เมื่อ stale ควรเข้าสถานะที่ออกแบบไว้ เช่น hold, conservative schedule หรือ manual-required ไม่ใช่ใช้ค่าล่าสุดไปเรื่อย ๆ
Soil Moisture เป็น request ไม่ใช่ permission ทั้งหมด
โครงที่ปลอดภัยกว่า:
Soil condition → Irrigation Request
Tank / Pump / Valve / Time Window / Lockout → Permission
Feedback → Verify Result
ดังนั้น Soil Sensor ไม่ควรสั่ง Pump โดยตรง
ตรวจผลหลังรดน้ำ
หลัง irrigation ควรมีช่วง soak/delay ก่อนประเมินผล เพราะน้ำต้องกระจายตัวในดิน
สิ่งที่ดูได้:
- moisture trend หลัง cycle
- flow/volume ที่จ่าย
- response ต่างกันระหว่าง sensor
- runtime ที่ใช้
ถ้ารดน้ำแล้วค่าทั้งโซนไม่เปลี่ยน อาจเป็น Sensor placement, flow, valve หรือ hydraulic problem
ใช้ Weather เป็นบริบท
Rain หรือ forecast อาจลด irrigation request แต่ไม่ควรลบ logic ทั้งหมด เพราะ source อาจล่าช้าหรือไม่ตรง microclimate ของพื้นที่
Manual Override
Operator ควร disable sensor-based decision ต่อ zone ได้เมื่อ:
- sensor maintenance
- calibration
- transplant/new crop phase
- hydraulic maintenance
แต่ Manual Mode ต้องยังอยู่ใต้ protection/fail-safe ที่จำเป็น
Data ที่ควรเก็บ
ต่อ Sensor/Zone:
- raw/normalized value ตามที่จำเป็น
- timestamp
- calibration version/context
- quality/status
- irrigation event history
- post-irrigation response
ข้อมูลนี้ช่วยแยก “ดินแห้งจริง” ออกจาก “Sensor drift” ได้ดีขึ้น
ตัวอย่าง Policy
IF data fresh
AND soil request = dry
AND rain hold = false
AND minimum interval passed
AND tank/pump permission = true
THEN request zone irrigation
During irrigation:
verify flow + enforce max runtime
After irrigation:
wait soak time → evaluate response
นี่คือ policy ระดับ application ไม่ใช่สูตร universal
อ่านระบบเต็มที่ Smart Irrigation System และ failure behavior ที่ Offline, Manual & Fail-safe
Soil Moisture Automation ที่ดีจึงใช้ Sensor เป็น หลักฐานประกอบการตัดสินใจ ไม่ใช่เชื่อเลขเปอร์เซ็นต์เดียวแบบไม่มีบริบท

