วงจร Digital Capacitance Meter โดยใช้ Arduino

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างวงจรมิเตอร์วัดความจุแบบดิจิตอลโดยใช้ Arduino ซึ่งสามารถวัดความจุของตัวเก็บประจุได้ตั้งแต่ 1 microfarad ถึง 4000 microfarad ด้วยความแม่นยำที่สมเหตุสมผล



บทนำ

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

ในการค้นหาความจุเราสามารถวัดได้อย่างง่ายดายโดยใช้มัลติมิเตอร์แบบดิจิตอล แต่มัลติมิเตอร์บางตัวเท่านั้นที่มีคุณสมบัติการวัดความจุและมีเพียงมัลติมิเตอร์ราคาแพงเท่านั้นที่มีฟังก์ชันนี้



นี่คือวงจรที่สามารถสร้างและใช้งานได้อย่างง่ายดาย

เรากำลังมุ่งเน้นไปที่ตัวเก็บประจุที่มีค่ามากขึ้นตั้งแต่ 1 microfarad ไปจนถึง 4000 microfarad ซึ่งมีแนวโน้มที่จะสูญเสียความจุเนื่องจากอายุมากขึ้นโดยเฉพาะ electrolytic capacitors ซึ่งประกอบด้วยอิเล็กโทรไลต์เหลว

ก่อนที่เราจะไปดูรายละเอียดวงจรมาดูกันว่าเราจะวัดความจุด้วย Arduino ได้อย่างไร

เครื่องวัดความจุ Arduino ส่วนใหญ่อาศัยคุณสมบัติคงที่ของเวลา RC เวลา RC คงที่คืออะไร?

ค่าคงที่เวลาของวงจร RC สามารถกำหนดเป็นเวลาที่ตัวเก็บประจุจะถึง 63.2% ของประจุไฟฟ้าเต็ม ศูนย์โวลต์คือประจุ 0% และ 100% คือประจุไฟฟ้าเต็มของตัวเก็บประจุ

ผลคูณของค่าของตัวต้านทานในหน่วยโอห์มและค่าของตัวเก็บประจุในฟารัดให้ค่าคงที่ของเวลา

T = R x C

T คือค่าคงที่ของเวลา

โดยการจัดเรียงสมการข้างต้นใหม่เราจะได้รับ:

C = T / R

C คือค่าความจุที่ไม่รู้จัก

T คือค่าคงที่เวลาของวงจร RC ซึ่งเท่ากับ 63.2% ของตัวเก็บประจุแบบประจุเต็ม

R คือความต้านทานที่รู้จัก

Arduino สามารถตรวจจับแรงดันไฟฟ้าผ่านพินอนาล็อกและสามารถป้อนค่าตัวต้านทานที่ทราบลงในโปรแกรมได้ด้วยตนเอง

ด้วยการใช้สมการ C = T / R ในโปรแกรมเราจะพบค่าความจุที่ไม่รู้จัก

ตอนนี้คุณคงพอจะทราบแล้วว่าเราจะหาค่าของความจุที่ไม่รู้จักได้อย่างไร

ในโพสต์นี้ฉันได้เสนอเครื่องวัดความจุสองชนิดแบบหนึ่งมีจอ LCD และอีกตัวใช้จอภาพอนุกรม

หากคุณเป็นผู้ใช้เครื่องวัดความจุนี้เป็นประจำควรใช้การออกแบบจอแสดงผล LCD และหากคุณไม่ใช่ผู้ใช้งานบ่อยควรใช้การออกแบบจอภาพแบบอนุกรมเพราะช่วยประหยัดเงินในการแสดงผล LCD

ตอนนี้เรามาดูแผนภาพวงจรกัน

เครื่องวัดความจุแบบ Serial Monitor:



อย่างที่คุณเห็นวงจรนั้นง่ายมากเพียงแค่ต้องใช้ตัวต้านทานสองตัวเพื่อค้นหาความจุที่ไม่รู้จัก 1K โอห์มคือค่าตัวต้านทานที่รู้จักและตัวต้านทาน 220 โอห์มที่ใช้สำหรับการปล่อยตัวเก็บประจุในขณะที่กระบวนการวัดเกิดขึ้น Arduino รับรู้ถึง แรงดันไฟฟ้าที่เพิ่มขึ้นและลดลงบนพิน A0 ซึ่งเชื่อมต่อระหว่างตัวต้านทาน 1K โอห์มและ 220 โอห์มโปรดดูแลขั้วหากคุณใช้ตัวเก็บประจุแบบโพลาไรซ์เช่นอิเล็กโทรไลต์ โปรแกรม:
//-----------------Program developed by R.Girish------------------//
const int analogPin = A0
const int chargePin = 7
const int dischargePin = 6
float resistorValue = 1000 // Value of known resistor in ohm
unsigned long startTime
unsigned long elapsedTime
float microFarads
void setup()
{
Serial.begin(9600)
pinMode(chargePin, OUTPUT)
digitalWrite(chargePin, LOW)
}
void loop()
{
digitalWrite(chargePin, HIGH)
startTime = millis()
while(analogRead(analogPin) <648){}
elapsedTime = millis() - startTime
microFarads = ((float)elapsedTime / resistorValue) * 1000
if (microFarads > 1)
{
Serial.print('Value = ')
Serial.print((long)microFarads)
Serial.println(' microFarads')
Serial.print('Elapsed Time = ')
Serial.print(elapsedTime)
Serial.println('mS')
Serial.println('--------------------------------')
}
else
{
Serial.println('Please connect Capacitor!')
delay(1000)
}
digitalWrite(chargePin, LOW)
pinMode(dischargePin, OUTPUT)
digitalWrite(dischargePin, LOW)
while(analogRead(analogPin) > 0) {}
pinMode(dischargePin, INPUT)
}
//-----------------Program developed by R.Girish------------------//

อัปโหลดรหัสด้านบนไปยัง Arduino พร้อมกับการตั้งค่าฮาร์ดแวร์ที่เสร็จสมบูรณ์ในขั้นต้นอย่าเชื่อมต่อตัวเก็บประจุ เปิดมอนิเตอร์แบบอนุกรมที่ระบุว่า“ Please connect capacitor”

ตอนนี้เชื่อมต่อตัวเก็บประจุความจุจะแสดงดังภาพประกอบด้านล่าง

นอกจากนี้ยังแสดงเวลาที่ใช้ในการถึง 63.2% ของแรงดันประจุไฟฟ้าเต็มของตัวเก็บประจุซึ่งแสดงเป็นเวลาที่ผ่านไป

Digital Capacitance Meter โดยใช้ Arduino

แผนภาพวงจรสำหรับเครื่องวัดความจุแบบ LCD:

แผนผังข้างต้นเป็นการเชื่อมต่อระหว่างจอแสดงผล LCD และ Arduino โพเทนชิออมิเตอร์ 10K มีไว้สำหรับปรับความคมชัดของจอแสดงผล การเชื่อมต่อที่เหลือสามารถอธิบายได้ด้วยตนเอง

วงจรข้างต้นเหมือนกับการออกแบบตามจอภาพอนุกรมคุณเพียงแค่ต้องเชื่อมต่อจอ LCD

โปรแกรมสำหรับเครื่องวัดความจุแบบ LCD:

//-----------------Program developed by R.Girish------------------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
const int analogPin = A0
const int chargePin = 7
const int dischargePin = 6
float resistorValue = 1000 // Value of known resistor in ohm
unsigned long startTime
unsigned long elapsedTime
float microFarads
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(chargePin, OUTPUT)
digitalWrite(chargePin, LOW)
lcd.clear()
lcd.setCursor(0,0)
lcd.print(' CAPACITANCE')
lcd.setCursor(0,1)
lcd.print(' METER')
delay(1000)
}
void loop()
{
digitalWrite(chargePin, HIGH)
startTime = millis()
while(analogRead(analogPin) <648){}
elapsedTime = millis() - startTime
microFarads = ((float)elapsedTime / resistorValue) * 1000
if (microFarads > 1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Value = ')
lcd.print((long)microFarads)
lcd.print(' uF')
lcd.setCursor(0,1)
lcd.print('Elapsed:')
lcd.print(elapsedTime)
lcd.print(' mS')
delay(100)
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Please connect')
lcd.setCursor(0,1)
lcd.print('capacitor !!!')
delay(500)
}
digitalWrite(chargePin, LOW)
pinMode(dischargePin, OUTPUT)
digitalWrite(dischargePin, LOW)
while(analogRead(analogPin) > 0) {}
pinMode(dischargePin, INPUT)
}
//-----------------Program developed by R.Girish------------------//

เมื่อติดตั้งฮาร์ดแวร์เสร็จแล้วอัปโหลดโค้ดด้านบน ในขั้นต้นอย่าเชื่อมต่อตัวเก็บประจุ หน้าจอแสดงข้อความ“ Please connect capacitor !!!” ตอนนี้คุณเชื่อมต่อตัวเก็บประจุ จอแสดงผลจะแสดงค่าของตัวเก็บประจุและเวลาที่ผ่านไปซึ่งใช้ไปถึง 63.2% ของตัวเก็บประจุแบบประจุเต็ม

ต้นแบบของผู้แต่ง:




คู่ของ: Arduino Tachometer Circuit สำหรับการอ่านที่แม่นยำ ถัดไป: วิธีควบคุมเซอร์โวมอเตอร์โดยใช้จอยสติ๊ก