กลับไปบทความทั้งหมด
EP.13 เลือกเซนเซอร์ให้ถูกงาน (1): ความแม่นยำ ความละเอียด ความเที่ยง และสิ่งที่ทำให้ค่าเพี้ยน
IoT

EP.13 เลือกเซนเซอร์ให้ถูกงาน (1): ความแม่นยำ ความละเอียด ความเที่ยง และสิ่งที่ทำให้ค่าเพี้ยน

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

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

ตอนนี้ตอบคำถามว่า อ่านสเปกเซนเซอร์อย่างไรไม่ให้หลงตัวเลข และอะไรทำให้ค่าที่วัดได้ไม่ตรงความจริง ต่อจาก EP.12 ที่เราเลือกโมดูล ESP32 เป็นสมองของเครื่องแล้ว

สามคำที่คนมักใช้ปนกัน

ลองนึกถึงเซนเซอร์ความชื้นที่แสดงค่า 95.37 %RH ตัวเลขนี้บอกเราได้แค่ว่ามัน ละเอียด ยังไม่ได้บอกว่ามัน แม่น

คำความหมายตัวอย่าง
ความแม่นยำ (accuracy)ค่าที่อ่านได้ห่างจากค่าจริงแค่ไหน±1.8 %RH = ค่าจริง 90% อาจอ่านได้ราว 88.2–91.8%
ความละเอียด (resolution)ขยับได้ทีละเท่าไร0.01 %RH = แสดงทศนิยม 2 ตำแหน่ง
ความเที่ยง (precision)วัดซ้ำในสภาพเดิมแล้วได้ค่าเกาะกลุ่มแค่ไหนอ่านซ้ำ 10 ครั้งได้ 90.1–90.2 แต่ค่าจริงคือ 92 = เที่ยงแต่ไม่แม่น

ความละเอียดสูงกว่าความแม่นยำเป็นร้อยเท่าเป็นเรื่องปกติ ทศนิยมสองตำแหน่งจึงมีประโยชน์แค่ดูแนวโน้มขึ้นลง ไม่ใช่บอกค่าจริง ส่วนความเที่ยงสำคัญกับการตั้งเกณฑ์แจ้งเตือน ถ้าค่าแกว่งไปมา ระบบจะเตือนแล้วหายสลับกันจนคนรำคาญ

ดิจิทัลหรืออนาล็อก และตัวแปรที่ต้องดูต่อ

เซนเซอร์อนาล็อก ส่งแรงดันออกมาให้ ADC ของ MCU แปลงเอง ความคลาดเคลื่อนจึงรวมทั้งตัวเซนเซอร์ แรงดันอ้างอิง ADC และสัญญาณรบกวนบนสาย ส่วน เซนเซอร์ดิจิทัล แปลงค่าในตัวแล้วส่งเป็นตัวเลขผ่านบัสอย่าง I2C ผู้ผลิตรับประกันความแม่นยำมาจากชิปเลย แต่ I2C ออกแบบมาสำหรับระยะสั้นบนบอร์ด สายยาวต้องระวัง (เทียบตัวเลือกเซนเซอร์ลงลึก EP.14)

ตัวแปรที่ต้องดูต่อในสเปก

  • เวลาตอบสนอง ค่าอ่านใช้เวลากี่วินาทีจึงตามสภาพจริงได้ 63% ตามเอกสารภาพรวมผลิตภัณฑ์ของ Sensirion ตระกูล SHT4x ฝั่งความชื้นราว 4 วินาที ฝั่งอุณหภูมิราว 2 วินาที แต่ในกล่องหรือฝาครอบจริงจะช้ากว่านี้มาก
  • ดริฟต์ (drift) ค่าที่เลื่อนไปตามอายุใช้งาน เอกสารเดียวกันระบุความชื้นเลื่อนน้อยกว่า 0.25 %RH ต่อปี อุณหภูมิน้อยกว่า 0.03°C ต่อปี ในสภาพปกติ
  • เงื่อนไขของตัวเลข ความแม่นยำ typical มักกำหนดในช่วงหนึ่งเท่านั้น เช่นเอกสารของ Sensirion ระบุ SHT40 ±1.8 %RH ที่ช่วง 30–70 %RH

ศัตรูของค่าที่วัดได้: ความร้อนของบอร์ดเองและตำแหน่งติดตั้ง

ความชื้นสัมพัทธ์ขึ้นกับอุณหภูมิ ถ้าเซนเซอร์ร้อนกว่าอากาศรอบตัว มันจะอ่านความชื้นต่ำกว่าจริง ตัวอย่างคำนวณจากความดันไอน้ำอิ่มตัว ที่อากาศ 25°C ความชื้นจริง 95% ถ้าตัวเซนเซอร์อุ่นขึ้นแค่ 1°C จะอ่านได้ราว 89–90% ความร้อนแค่ 1°C ทำให้ความชื้นเพี้ยนราว 5 เปอร์เซ็นต์ มากกว่าสเปกความแม่นยำหลายเท่า

ความร้อนนี้มาจากใกล้ตัวกว่าที่คิด ทั้งตัวควบคุมแรงดัน โมดูล Wi-Fi ตอนส่งข้อมูล และ MCU เอง การวางเซนเซอร์ไว้ในกล่องเดียวกับบอร์ดหลักจึงเป็นสาเหตุอันดับต้น ๆ ของค่าที่ "ต่ำผิดปกติแต่สม่ำเสมอ"

ทดสอบง่าย ๆ ให้เครื่องส่ง Wi-Fi ถี่ ๆ 30 นาที เทียบกับตอนส่งห่าง ๆ ถ้าค่าอุณหภูมิขยับตาม แปลว่าเซนเซอร์ได้ความร้อนจากบอร์ด

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

โรงเห็ดอยู่ช่วงความชื้นสูงเกือบตลอดเวลา (ช่วงที่เห็ดแต่ละชนิดต้องการให้ดูจากคู่มือเพาะเห็ดของหน่วยงานเกษตร) ซึ่งเป็น ช่วงที่สเปกเซนเซอร์อ่อนที่สุด สิ่งที่ยืนยันได้จากเอกสารของ Sensirion มีดังนี้

  • ตัวเลข typical ±1.8 %RH ของ SHT40 กำหนดที่ 30–70 %RH ส่วนความคลาดเคลื่อนสูงสุดในช่วง 80–100 %RH ต้องเปิดกราฟ tolerance ใน datasheet ฉบับล่าสุดของผู้ผลิตตรวจเอง เรายังไม่ได้ยืนยันตัวเลขช่วงนี้
  • ตามเอกสาร Application Note เรื่อง creep ของ SHT4x การอยู่นอกช่วงแนะนำ (5–60°C, 20–80 %RH) นาน ๆ โดยเฉพาะเกิน 90 %RH ทำให้ค่าเลื่อนขึ้น (creep) แบบชั่วคราว กลับมาเองเมื่อสภาพปกติ
  • ผู้ผลิตแนะนำใช้ ฮีตเตอร์ในตัว ไล่ความชื้นออกจากชั้นเซนเซอร์ ในการทดสอบของผู้ผลิตที่ 90 %RH การเปิดฮีตเตอร์ 200mW นาน 1 วินาที ทุก 1 นาที แล้วรอ 1 นาทีก่อนอ่าน ชดเชย creep ได้เกือบทั้งหมด แต่ค่าความชื้นระหว่างเปิดฮีตเตอร์ใช้ไม่ได้ และกินไฟเพิ่ม

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

  • สูงจากพื้นระดับชั้นวางก้อนเห็ด ไม่ติดพื้นแฉะ ที่ไอน้ำขึ้นตลอด
  • ไม่อยู่ใต้หัวพ่นหมอก ละอองน้ำโดนตรงจะอ่านค่าใกล้ 100% จนกว่าจะแห้ง
  • ไม่ชิดหลังคาหรือผนังที่โดนแดด อากาศตรงนั้นร้อนกว่าระดับก้อนเห็ด
  • หัวหันลงหรือมีฝาครอบกันหยดน้ำ แต่ยังให้อากาศไหลผ่าน

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

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

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

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

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

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

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

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

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

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