กลับไปหน้ารวมไฟล์
how-to-make-simplest-possible-autorange-capacitance-meter-99f067.md

ฟังก์ชันการวัดความจุไฟฟ้านี่นะน้อง มักจะมีแต่ในมัลติมิเตอร์ราคาแพงๆ เท่านั้นแหละ เลยเป็นไอเดียเจ๋งๆ ที่เราจะทำเครื่องวัดนี้ขึ้นมาใช้เอง โดยเฉพาะถ้ามันทำง่ายโคตรๆ และต้นทุนถูกอีกต่างหาก

และเจ้าเครื่องที่พี่จะอธิบายต่อไปนี้แหละ ที่ตอบโจทย์ทุกอย่างเป๊ะๆ ค่าที่วัดได้จะแสดงบนจอใหญ่ อ่านง่ายชัดเจน และช่วงการวัดก็กว้างตั้งแต่ 1 pF ไปจนถึง 99 µF ซึ่งก็คือช่วงค่าที่เราใช้กันบ่อยที่สุดนั่นเอง

ที่บอกว่าทำเครื่องวัดความจุนี้ได้ด้วยแค่ชิ้นส่วนสองอย่างเนี่ย ฟังดูเหลือเชื่อแต่จริงๆ นะน้อง! นั่นก็คือบอร์ดไมโครคอนโทรลเลอร์ กับจอ LCD

สำหรับโปรเจกต์นี้พี่เลือกใช้บอร์ด Arduino Nano กับจอ LCD 128x64 จุด ที่ใช้ไดรเวอร์ชิป ST7565 นะ

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

ความง่ายของอุปกรณ์ชิ้นนี้ อยู่ที่ไลบรารี "capacitor" สำหรับ Arduino ที่เขียนขึ้นมาเฉพาะทางเลย ซึ่งพี่แนะนำให้โหลดมาใช้ได้เลย

ฟิสิกส์เบื้องหลังค่าคงที่เวลา (Tau)

การทดสอบตัวเก็บประจุมันไม่ได้วัดค่าได้ในทันทีหรอกน้อง

  1. ตัวเก็บประจุจะค่อยๆ ชาร์จประจุ เหมือนถังน้ำที่ค่อยๆ เติม ถ้าเราให้แรงดันไฟฟ้าผ่านตัวต้านทานค่าหนึ่ง มันก็จะชาร์จช้าๆ
  2. กฎทางคณิตศาสตร์บอกไว้ว่า: เวลาที่ตัวเก็บประจุใช้เพื่อไปถึง 63.2% ของแรงดันไฟฟ้าสูงสุด นั้น เท่ากับ ความต้านทาน x ความจุไฟฟ้า พอดี
  3. ถ้าเรารู้ค่าความต้านทาน (Resistance) แม่นๆ และให้ Arduino จับเวลา (Time) ที่ใช้เพื่อไปถึง 63.2% ของแรงดัน... เราก็สามารถแก้สมการหาค่าความจุไฟฟ้า (Capacitance) ออกมาได้แล้วไง! ง่ายๆ แบบคณิตศาสตร์ม.ต้นเลย

การทำงานของ Arduino

  • Arduino สั่ง digitalWrite(chargePin, HIGH).
  • มันจะเริ่มจับเวลา micros() ทันทีเลย
  • จากนั้นก็อ่านค่าจากขาแอนะล็อกที่ต่อกับตัวเก็บประจุแบบเร็วสุดๆ: while(analogRead(A0) < 648) { } (648 คือ 63.2% ของ 1023 นะตัวนี้)
  • ทันทีที่ลูปนี้หลุดออกมา มันก็จะเช็คเวลาที่จับไว้ แล้วก็คำนวณสมการ C = T/R แล้วส่งค่าออกมาเลย! ง่ายมั้ยล่ะ

ฟีเจอร์ Autorange

ตัวต้านทาน 10,000 โอห์ม จะชาร์จตัวเก็บประจุ 100uF ได้พอดีเป๊ะ แต่ถ้าเอาไปชาร์จตัวเก็บประจุจิ๋ว 10pF ล่ะก็ มันจะเร็วจน Arduino จับเวลาไม่ทันเลย

  • Autorange: วงจรนี้ใช้ขาต่างๆ ที่ต่อกับตัวต้านทานค่าต่างกัน (เช่น 1M โอห์ม, 10K โอห์ม, 220 โอห์ม)
  • โค้ดจะลองใช้ตัวต้านทานค่าสูงก่อน ถ้ามันชาร์จช้าเกินไป มันก็จะสลับขาไปเรื่อยๆ จนกว่าจะเจอความเร็วชาร์จที่พอดีเป๊ะ! ฉลาดสุดๆ

มาดูกันดีกว่าว่าเครื่องมือเจ๋งๆ ตัวนี้ทำงานยังไงในโลกจริงบ้าง สำหรับการทดสอบนี้พี่จะใช้ตัวเก็บประจุหลายแบบ ค่าต่างกัน เริ่มแรกที่หน้าจอจะแสดงค่าประมาณ 1 pF ซึ่งจริงๆ แล้วคือความจุระหว่างสายไฟกับขาต่อ ซึ่งน้อยมากและไม่ส่งผลต่อการวัดค่า

จากที่เห็นในภาพ ความแม่นยำและความเร็วในการวัดก็ใช้ได้เลยทีเดียว

และสุดท้ายก็สรุปสั้นๆ ง่ายๆ นี่คือเครื่องวัดความจุแบบสแตนด์อโลนที่เรียบง่ายที่สุดเท่าที่จะทำได้ โดยใช้อุปกรณ์อิเล็กทรอนิกส์แค่สองชิ้นเท่านั้น หรือจะง่ายกว่านั้นอีก ถ้าน้องใช้มันบนคอมพีซี ก็แค่ใช้ไมโครคอนโทรลเลอร์ตัวเดียว แล้วอ่านผลจาก Serial Monitor ใน Arduino IDE ได้เลย แน่นอนว่าถ้าจะให้ดีควรใส่ลงในกล่องที่เหมาะสมพร้อมช่องเสียบ จะได้วัดค่าได้สะดวกขึ้น งานนี้จัดไปวัยรุ่น! สู้งานนะน้อง

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "mircemk"
category: "Tools & Equipment"
components:
  - "1x Graphic LCD 128x64 STN LED Backlight"
  - "1x Soldering kit"
  - "1x Arduino Nano R3"
description: "Test your components! Build a diagnostic tool capable of automatically calculating the Farad rating of unknown capacitors by measuring their charge and discharge RC time constants."
difficulty: "Advanced"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX18w0VqPpOU5Sf5Ba/BYxXOGluf2HVmAbQp/VUfto/UEBtnnStx+eZhCldgEEFNHHzlT3B1PcwNTA34UuvZFyyGTi+v1pNvw5C8="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/how-to-make-simplest-possible-autorange-capacitance-meter-99f067_cover.jpg"
lang: "en"
likes: 2
passwordHash: "d037d112eb504c1f67392134a85fd8720345f5febe3edf05bfa2af82bc2d28fb"
price: 870
seoDescription: "Build the simplest autorange Capacitance meter with only two electronic components. An easy standalone Arduino project for makers."
tags:
  - "Tools"
  - "Data Collection"
  - "Debugging Tools"
title: "How to make simplest possible autorange Capacitance meter"
tools: []
videoLinks:
  - "https://youtu.be/UoUdRIj8kXc"
views: 6890