กลับไปบทความทั้งหมด
EP.14 เลือกเซนเซอร์ให้ถูกงาน (2): เทียบเซนเซอร์อุณหภูมิ วิธีคาลิเบรต และเซนเซอร์ประตู
IoT

EP.14 เลือกเซนเซอร์ให้ถูกงาน (2): เทียบเซนเซอร์อุณหภูมิ วิธีคาลิเบรต และเซนเซอร์ประตู

SPV Tech Solutions10 พฤศจิกายน 25693 min
#iot-product-design#sensors#calibration#temperature

📘 ซีรีส์ออกแบบ IoT Product · EP.14/70 · บทที่ 2: พื้นฐานฮาร์ดแวร์และการเลือกชิ้นส่วน

ตอนนี้ตอบคำถามว่า เซนเซอร์อุณหภูมิแบบไหนเหมาะกับงานไหน และจะเช็กหรือแก้ค่าให้ตรงได้อย่างไรก่อนส่งของถึงมือลูกค้า ต่อจาก EP.13 ที่เราแยกความแม่นยำ ความละเอียด และสาเหตุที่ค่าเพี้ยนไว้แล้ว

เทียบเซนเซอร์อุณหภูมิ 4 แบบ

แบบจุดเด่นข้อควรรู้เหมาะกับ
ดิจิทัลหัวโพรบสายยาวต่อสายยาวได้ ได้ค่าเป็นตัวเลขเลยวัดอุณหภูมิอย่างเดียวตู้แช่ ถังน้ำ ห้องที่ไกลจากบอร์ด
เทอร์มิสเตอร์ NTCถูก เล็ก ตอบสนองเร็วค่าความต้านทานไม่เป็นเส้นตรง ความแม่นยำขึ้นกับตัวต้านทานคู่และ ADCสินค้าราคาประหยัดที่ช่วงใช้งานแคบ
RTD (PT100/PT1000)เสถียร ช่วงกว้าง มีมาตรฐานกลางต้องมีวงจรวัดเฉพาะ แพงกว่างานอุตสาหกรรม อาหาร ห้องเย็น
อุณหภูมิ+ความชื้น ในชิปเดียวได้ 2 ค่าจากจุดเดียวต้องให้อากาศผ่านถึงตัวชิป ระวังน้ำโรงเรือน ห้องเก็บของ

ตัวเลขที่ยืนยันจากผู้ผลิต: ตามหน้าผลิตภัณฑ์และ datasheet ของ Analog Devices เซนเซอร์ดิจิทัลยอดนิยม DS18B20 แม่น ±0.5°C ในช่วง -10 ถึง +85°C และกว้างขึ้นเป็น ±1°C และ ±2°C เมื่อออกนอกช่วงนั้น ส่วน RTD ใช้ มาตรฐาน IEC 60751 ที่แบ่งเกรดเป็นคลาส เช่น คลาส A คลาดได้ ±(0.15 + 0.002 × |t|) °C และคลาส B ±(0.3 + 0.005 × |t|) °C ที่ 0°C คลาส B คลาดได้ ±0.3°C ส่วนที่ 100°C กว้างขึ้นเป็น ±0.8°C

NTC ไม่มีตัวเลขกลางให้ยก ความแม่นยำขึ้นกับรุ่นและวงจรที่ต่อ ต้องดู datasheet ของรุ่นที่ซื้อจริง

คาลิเบรตแบบง่าย: 1 จุด หรือ 2 จุด

คาลิเบรต (calibration) คือเทียบค่าที่เซนเซอร์อ่านกับค่าอ้างอิงที่เชื่อถือได้ แล้วเก็บค่าแก้ไว้ในเครื่อง มี 2 ระดับ

  • 1 จุด วัดที่อุณหภูมิเดียว หาส่วนต่าง (offset) แล้วบวกลบทุกค่า ใช้ได้ดีเมื่อเครื่องทำงานใกล้จุดที่เทียบ
  • 2 จุด วัด 2 อุณหภูมิที่ห่างกัน ได้ทั้งส่วนต่างและความชัน แก้ได้ทั้งช่วง ถ้าเซนเซอร์ตอบสนองใกล้เส้นตรง
// 2-point linear correction
float correct(float raw, float rawLow, float rawHigh,
              float refLow, float refHigh) {
  float gain = (refHigh - refLow) / (rawHigh - rawLow);
  return refLow + (raw - rawLow) * gain;
}

จุดอ้างอิงที่ทำเองง่ายที่สุดคือ น้ำผสมน้ำแข็งบด ซึ่งอยู่ที่ประมาณ 0°C แต่มีข้อจำกัดที่ต้องรู้

  • ต้องใช้ น้ำแข็งบดละเอียดอัดแน่น เติมน้ำแค่พอท่วมช่องว่าง แล้วคนและรอให้นิ่ง ถ้าน้ำเยอะเกิน น้ำส่วนบนจะอุ่นกว่า 0°C
  • น้ำที่ไม่บริสุทธิ์ทำให้จุดหลอมเหลวขยับ จึงเป็น "ประมาณ 0°C" ไม่ใช่ค่าที่ใช้อ้างอิงทางมาตรวิทยา
  • จุ่มได้เฉพาะโพรบกันน้ำ เซนเซอร์ความชื้นห้ามจุ่ม และ 0°C ห่างจากช่วงใช้งานจริงของโรงเห็ดมาก

ทางที่ใช้กับสินค้าได้จริงคือ เทียบกับเครื่องอ้างอิงที่มีใบรับรองการสอบเทียบ วางคู่กันในจุดเดียวกันจนค่านิ่ง ที่อุณหภูมิใกล้ช่วงใช้งาน

เซนเซอร์ประตู: ตัวช่วยลดการแจ้งเตือนผิด

เวลาคนงานเปิดประตูเก็บเห็ด ความชื้นจะร่วงชั่วคราว ถ้าระบบไม่รู้ว่าประตูเปิด ก็จะส่ง LINE เตือนทั้งที่ไม่มีอะไรผิดปกติ

ตัวช่วยราคาไม่แพงคือ เซนเซอร์ประตูแม่เหล็ก มี 2 แบบ

  • รีดสวิตช์ (reed switch) หน้าสัมผัสในหลอดแก้วที่ปิดเมื่อแม่เหล็กเข้าใกล้ ไม่ต้องใช้ไฟเลี้ยง แต่ระวังแรงกระแทก
  • ฮอลล์เซนเซอร์ (hall sensor) วัดสนามแม่เหล็กแบบไม่มีหน้าสัมผัส ทนกว่า แต่ต้องใช้ไฟเลี้ยง

ใช้งานแบบ ประตูเปิดอยู่ = พักการเตือนความชื้นชั่วคราว และถ้าเปิดค้างนานเกินที่ตั้งไว้ค่อยเตือนว่า "ประตูเปิดค้าง" แทน (นโยบายแจ้งเตือนบนคลาวด์ลงลึก EP.36)

ลองใช้กับโปรเจกต์ตัวอย่าง: ตัวเฝ้าโรงเห็ด

การตัดสินใจ: ใช้เซนเซอร์อุณหภูมิ+ความชื้นในชิปเดียว ที่ มีฮีตเตอร์ในตัว บรรจุในหัววัดที่มี ฝาครอบกันหยดน้ำและแผ่นกรอง ต่อสายเข้าโรงเรือน เหตุผลจาก datasheet ของ Sensirion ตระกูล SHT4x

  • รุ่นเกรดสูง SHT45 ระบุความแม่นยำ typical ±1.0 %RH และ ±0.1°C (ค่าความชื้นกำหนดที่ 25°C, 50 %RH ส่วนค่าสูงสุดดูกราฟใน datasheet)
  • ช่วงใช้งานแนะนำคือ 5–60°C และ 20–80 %RH ผู้ผลิตเตือนว่าอยู่ความชื้นเกิน 80% นาน ๆ ค่าอาจเลื่อนชั่วคราว เช่น +3 %RH หลังอยู่เกิน 80 %RH นาน 60 ชั่วโมง และกลับเข้าสเปกเมื่อสภาพกลับปกติ
  • เมื่อมีน้ำควบแน่นเกาะผิวเซนเซอร์ ชิปจะ ไม่ตอบสนองต่อความชื้นในอากาศ จนกว่าน้ำแห้ง ฮีตเตอร์ในตัว (ปรับได้ 20, 110, 200mW นาน 0.1 หรือ 1 วินาที) มีไว้ไล่น้ำนี้ แต่ ระหว่างเปิดฮีตเตอร์สเปกใช้ไม่ได้ และต้องเปิดไม่เกิน 10% ของเวลา

แผ่นกรองทำให้ตอบสนองช้าลง แต่รับได้เพราะอากาศในโรงเห็ดเปลี่ยนเป็นนาที

วิธีทดสอบก่อนใช้จริง วางหัววัดทุกตัวคู่กับเครื่องอ้างอิงที่มีใบรับรองในห้องปิดลมจนค่านิ่ง จดส่วนต่างทั้งสองค่า ตัวที่เกินเกณฑ์ให้คัดออก ไม่แก้ค่าเอง เพราะอาจเป็นตัวเสีย

ประตูโรงเรือน ใช้ รีดสวิตช์ ต่อสายเส้นเดียวกับหัววัด เพราะไม่ต้องใช้ไฟและเฟิร์มแวร์อ่านเป็นขา GPIO ธรรมดา

กับดักที่เจอบ่อย: คาลิเบรตเซนเซอร์ความชื้นโดยแก้ส่วนต่างจากการเทียบจุดเดียวกับไฮโกรมิเตอร์ที่ไม่รู้ความแม่นยำ ผลคือ "แก้" เซนเซอร์ที่ดีกว่าให้เพี้ยนตามเครื่องอ้างอิงที่แย่กว่า

เช็กลิสต์ก่อนไปตอนถัดไป

  1. เลือกแบบเซนเซอร์จากตาราง แล้วจดความแม่นยำ ในช่วงอุณหภูมิที่งานคุณใช้ จาก datasheet
  2. ตัดสินใจว่าจะคาลิเบรต 1 จุด 2 จุด หรือแค่คัดกรอง และเก็บค่าแก้ไว้ในหน่วยความจำของเครื่อง
  3. หาเครื่องอ้างอิงที่มีใบรับรองการสอบเทียบ ก่อนทดสอบล็อตแรก
  4. ลิสต์เหตุการณ์ที่ทำให้ค่ากระโดดแบบไม่ผิดปกติ เช่น เปิดประตู แล้วหาเซนเซอร์เสริมมาบอกระบบ
สรุปสำคัญ

เลือกเซนเซอร์จากช่วงใช้งานจริงและสภาพแวดล้อม ไม่ใช่ตัวเลขหน้าแรก และการคาลิเบรตจะดีได้ไม่เกินเครื่องอ้างอิงที่ใช้เทียบ

ตอนต่อไป — EP.15: ให้ IoT สั่งงานได้อย่างปลอดภัย: รีเลย์ MOSFET มอเตอร์ และ Fail-safe

อยากได้คนช่วยเลือกเซนเซอร์และวางขั้นตอนทดสอบก่อนผลิต ดูบริการออกแบบอุปกรณ์ IoT เฉพาะงานที่ /iot หรือปรึกษาฟรีที่ /consult · ทัก LINE @spvtech

ถ้าบทความนี้มีประโยชน์ แชร์ให้เพื่อนๆ ด้วยนะ

ยังไม่แน่ใจว่าธุรกิจคุณควรเริ่มใช้ AI ตรงไหน?

เช็กฟรีใน 2 นาที → รู้คะแนนโอกาสใช้ AI + 3 ขั้นแรกที่ควรทำ ไม่ต้องสมัคร

เช็กสุขภาพธุรกิจฟรี