ADC ราคา $2.97 แย่ได้ขนาดไหน?
(excamera.substack.com)- โมดูล ADS1115 ADC ราคาถูกให้ความสามารถเกือบเหมือนสเปกทางการ
- ฟังก์ชัน programmable gain amplifier ช่วยให้วัดแรงดันช่วงเล็กมากได้อย่างแม่นยำสูง
- พบกรณีที่บอร์ดราคาถูกบางตัวมีความคลาดเคลื่อนด้าน ความเร็วในการวัด และ ความแม่นยำ
- เมื่อนำ อัลกอริทึมการคาลิเบรต แบบง่ายมาใช้ ก็ให้ผลลัพธ์ที่แม่นยำได้มาก
- ชิ้นส่วนราคาถูกอาจเป็น ของเสียจากกระบวนการผลิต หรือ ของก๊อบปี้ แต่โดยรวมก็ยังใช้งานพื้นฐานได้ไม่มีปัญหาใหญ่
การทดลองประสิทธิภาพจริงของ ADS1115 ADC ราคาถูก
ภาพรวม
- ในงาน embedded โดยทั่วไปมักใช้ ADC (ตัวแปลงสัญญาณแอนะล็อกเป็นดิจิทัล) ที่อยู่ภายในไมโครคอนโทรลเลอร์
- ADC แบบฝังตัวมีข้อดีคือราคาถูกและเร็ว แต่จำนวนบิตที่วัดได้จริง (ENOB) อยู่เพียงราว 8~9 บิต
- เมื่อไม่นานมานี้ได้ทดสอบโมดูล ADS1115 ของ Texas Instruments(TI)
- ADS1115 เป็น ADC ภายนอก ที่ให้ความแม่นยำได้สูงสุด 16 บิต
คุณสมบัติหลักของ ADS1115
- มีความสามารถในการขยาย dynamic range ทำให้การวัดแรงดันขนาดเล็กละเอียดขึ้นได้สูงสุด 20 เท่า
- ผ่าน programmable gain amplifier (PGA) จึงปรับช่วงการวัดทั้งหมดได้ตั้งแต่ ±6.144 V ถึง ±0.256 V
- LSB ต่ำสุดอยู่ที่ประมาณ 7.8 μV (0.256 V ÷ 32768) ทำให้ตรวจจับการเปลี่ยนแปลงที่เล็กมากได้
- เมื่อเทียบกับ ADC ในไมโครคอนโทรลเลอร์ทั่วไป (อ้างอิง 3.3V, 9 ENOB) ที่หนึ่งสเต็ปมีค่าประมาณ 6mV แล้ว ถือว่ามีความละเอียดสูงกว่ามาก
- ใช้ internal voltage reference จึงได้เปรียบเมื่อเทียบกับ MCU อย่าง RP2040 ที่ต้องใช้ external analog reference
ประเด็นด้านราคาและสภาพแวดล้อมการทดสอบ
- ADS1115 มีส่วนต่างราคามาก โดยที่ Digikey สำหรับจำนวน 1,000 ชิ้นอยู่ที่ราว $4 ขณะที่ LCSC อยู่ที่ $0.60
- ซื้อบอร์ด breakout ADS1115 จาก Amazon ในราคา $2.97 ต่อชิ้น (คาดว่าน่าจะใช้ชิ้นส่วนราคา $0.60)
- มีแผนซื้อบอร์ดราคาแพงกว่า (ของแท้) จาก Adafruit เพิ่มเติมเพื่อทดสอบเปรียบเทียบ
กระบวนการทดสอบจริง
-
ทดสอบบอร์ดราคาถูกด้วย I²CMini และแหล่งจ่ายแรงดัน DC ความแม่นยำสูง
-
จุดที่ตรวจสอบหลัก:
- ทำงานได้ตรงตามสเปกหรือไม่
- หรือมีการนำชิ้นส่วนที่ถูกกว่ามาขายโดยทำให้เข้าใจผิดว่าเป็น ADS1115
-
ผลการทดสอบ
- การทำงานพื้นฐาน รวมถึง เอาต์พุต 16 บิต, programmable gain amplifier, และ อัตราการสุ่มตัวอย่างหลายระดับ โดยรวมสอดคล้องกับ datasheet ของ TI
- ใน differential mode เมื่อต่ออินพุตเข้าด้วยกันจะวัดได้ 0 เสมอ, เมื่อป้อน 2.5V ก็วัดได้ถูกต้อง, และเมื่อกลับขั้วก็แสดงค่าตรงข้าม จึงไม่พบปัญหาในการทำงานพื้นฐาน
ความแม่นยำในการวัดและความคลาดเคลื่อน
- Data Rate (อัตราการสุ่มตัวอย่าง) : ตามสเปกของ TI อนุญาตให้คลาดเคลื่อนได้ภายใน ±10%
- ในโหมด 8 SPS บอร์ดสามตัวทำงานที่ 6.5~7 SPS ซึ่งช้ากว่าเล็กน้อย
- มีบอร์ดหนึ่งตัวทำงานด้วยจังหวะที่ผิดไปอย่างสิ้นเชิงที่ 300 SPS จึงถูกตัดออกจากการทดสอบหลังจากนั้น
- เมื่อวัดแรงดันแม่นยำ 2.50067V กลับแสดงผลเป็น 2.4883V เกิดความคลาดเคลื่อนประมาณ 12mV หรือ 0.5% (มากกว่าสเปกทางการของ TI)
- เมื่อนำ อัลกอริทึมการคาลิเบรตเชิงเส้น แบบง่ายไปใช้บนไมโครคอนโทรลเลอร์ ความคลาดเคลื่อนลดลงจนเหลือต่ำกว่า 10 μV
บทสรุป
- คาดว่าชิ้นส่วนที่มีตำหนิ หรือชิ้นส่วนที่สเปกต่ำกว่าของแท้ ได้ไหลเข้าสู่ช่องทางจำหน่ายราคาถูกสำหรับสายงานอดิเรก
- โดยพื้นฐานแล้วยังสามารถวัดได้ค่อนข้างแม่นยำ และหากชดเชยด้วยซอฟต์แวร์ก็ไม่มีปัญหาใหญ่ในการใช้งานจริง
- มีแผนจะนำบอร์ดราคาแพงของแท้มาเปรียบเทียบทดสอบใหม่ภายใต้เงื่อนไขเดียวกัน
ปิดท้าย
- ADS1115 ราคาถูกให้ความคุ้มค่าต่อราคาค่อนข้างโดดเด่น
- หากเพิ่ม การคาลิเบรตแบบง่าย ในระดับฮาร์ดแวร์/เฟิร์มแวร์ ก็สามารถทำให้ได้ความแม่นยำที่ใช้งานได้จริง
- ควรระวังเรื่องแหล่งซื้อและการควบคุมคุณภาพ เพื่อหลีกเลี่ยงปัญหาสินค้ามีตำหนิ
ยังไม่มีความคิดเห็น