การทดสอบวินิจฉัย: เครื่องวัดค่าความจุแบบปรับช่วงอัตโนมัติ
ตัวเก็บประจุมักจะฉลากหลุดหรือแห้งไปตามกาลเวลา ทำให้ค่าทางไฟฟ้าเปลี่ยนไป เครื่องวัดค่าความจุเชิงพาณิชย์มีราคาแพง เครื่องวัดค่าความจุแบบปรับช่วงอัตโนมัติ นี้จะเปลี่ยน Analog-to-Digital Converter ของ Arduino ให้เป็นเครื่องมือวัดที่มีความแม่นยำสูง โดยอาศัยหลักการทางคณิตศาสตร์ของค่าคงที่เวลาของ RC (Resistor-Capacitor) อย่างเต็มที่

ฟิสิกส์ของค่าคงที่เวลา (Tau)
คุณไม่สามารถทดสอบตัวเก็บประจุได้ทันที
- ตัวเก็บประจุจะชาร์จไฟเหมือนถังที่กำลังเติมน้ำ หากคุณจ่ายแรงดันไฟฟ้าผ่าน resistor ที่เฉพาะเจาะจง มันจะเติมช้าๆ
- กฎทางคณิตศาสตร์ระบุว่า: เวลาที่ตัวเก็บประจุใช้ในการเข้าถึง 63.2% ของแรงดันไฟฟ้าสูงสุดทั้งหมด จะเท่ากับ
Resistance x Capacitanceอย่างแม่นยำ - หากเรารู้ค่า Resistance อย่างแม่นยำ (เพราะเราใช้ resistor 10,000-ohm ที่มีค่าความคลาดเคลื่อน 1%) และ Arduino วัดค่า Time ที่ใช้ในการถึง 63.2% ของแรงดันไฟฟ้าได้อย่างแม่นยำ... เราก็สามารถหาค่า Capacitance ได้ด้วยพีชคณิต!
การทำงานของ Arduino
- Arduino จะออกคำสั่ง
digitalWrite(chargePin, HIGH) - มันจะเริ่มจับเวลา
micros()ทันที - มันจะอ่านค่า analog pin ที่เชื่อมต่อกับตัวเก็บประจุอย่างรวดเร็ว:
while(analogRead(A0) < 648) { }(648 คือ 63.2% ของ 1023) - ทันทีที่ loop หยุดทำงาน มันจะตรวจสอบ timer จากนั้นจะรันสมการ
C = T/Rและแสดงผล100.5 uF!
คุณสมบัติ Autorange
resistor ขนาด 10,000-ohm จะชาร์จตัวเก็บประจุ 100uF ได้อย่างสมบูรณ์แบบ แต่มันจะชาร์จตัวเก็บประจุขนาดเล็ก 10pF ได้เร็วมากจน Arduino ไม่สามารถจับเวลาได้ทัน
- Autorange: วงจรนี้ใช้ 3 pin ที่แตกต่างกัน ซึ่งเชื่อมต่อกับ 3 resistor ที่แตกต่างกัน (1M ohm, 10K ohm, 220 ohm)
- โค้ดจะลองใช้ resistor ค่าสูงก่อน หากชาร์จช้าเกินไป มันจะสลับ pin แบบไดนามิกจนกว่าจะพบความเร็วในการชาร์จที่เหมาะสมที่สุด!
ส่วนประกอบฮาร์ดแวร์
- Arduino Uno/Nano (ตัวจับเวลาที่มีความแม่นยำสูง)
- Resistor ที่มีค่าความคลาดเคลื่อนต่ำ (1% หรือดีกว่า): 1 MegOhm, 10 KiloOhm, 220 Ohm
- จอ I2C OLED สำหรับแสดงค่า pF, nF, หรือ uF สุดท้าย!