Rangkaian Alat Ukur Kapasitansi Digital Menggunakan Arduino

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada postingan kali ini kita akan membuat rangkaian pengukur kapasitansi digital menggunakan Arduino yang dapat mengukur kapasitansi kapasitor mulai dari 1 mikrofarad hingga 4000 mikrofarad dengan akurasi yang wajar.



pengantar

Kami mengukur nilai kapasitor ketika nilai yang tertulis pada badan kapasitor tidak terbaca, atau untuk menemukan nilai kapasitor penuaan di sirkuit kami yang perlu diganti segera atau nanti dan ada beberapa alasan lain untuk mengukur kapasitansi.

Untuk mengetahui kapasitansi kita dapat dengan mudah mengukurnya menggunakan multimeter digital, namun tidak semua multimeter memiliki fitur pengukur kapasitansi dan hanya multimeter mahal yang memiliki fungsi ini.



Jadi inilah sirkuit yang dapat dibangun dan digunakan dengan mudah.

Kami memfokuskan pada kapasitor dengan nilai yang lebih besar dari 1 mikrofarad hingga 4000 mikrofarad yang rawan kehilangan kapasitansinya karena penuaan terutama kapasitor elektrolit yang terdiri dari elektrolit cair.

Sebelum kita membahas detail rangkaian, mari kita lihat bagaimana kita dapat mengukur kapasitansi dengan Arduino.

Kebanyakan pengukur kapasitansi Arduino mengandalkan properti konstanta waktu RC. Jadi apa yang dimaksud dengan konstanta waktu RC?

Konstanta waktu rangkaian RC dapat didefinisikan sebagai waktu yang dibutuhkan kapasitor untuk mencapai 63,2% dari muatan penuh. Volt nol adalah muatan 0% dan 100% adalah muatan tegangan penuh kapasitor.

Hasil kali dari nilai resistor dalam ohm dan nilai kapasitor dalam farad memberikan konstanta Waktu.

T = R x C.

T adalah konstanta Waktu

Dengan menyusun ulang persamaan di atas kita mendapatkan:

C = T / R

C adalah nilai kapasitansi yang tidak diketahui.

T adalah konstanta waktu rangkaian RC yaitu 63,2% dari kapasitor muatan penuh.

R adalah resistansi yang diketahui.

Arduino dapat merasakan tegangan melalui pin analog dan nilai resistor yang diketahui dapat dimasukkan ke dalam program secara manual.

Dengan menerapkan persamaan C = T / R dalam program tersebut kita dapat menemukan nilai kapasitansi yang tidak diketahui.

Sekarang Anda akan memiliki gambaran bagaimana kita dapat menemukan nilai kapasitansi yang tidak diketahui.

Dalam posting ini saya telah mengusulkan dua jenis pengukur kapasitansi, satu dengan layar LCD dan yang lainnya menggunakan monitor serial.

Jika Anda sering menggunakan pengukur kapasitansi ini, lebih baik menggunakan desain layar LCD dan jika Anda tidak sering menggunakan lebih baik gunakan desain monitor serial karena akan menghemat uang untuk layar LCD.

Sekarang mari beralih ke diagram sirkuit.

Pengukur kapasitansi berbasis Serial Monitor:



Seperti yang Anda lihat, rangkaian ini sangat sederhana hanya beberapa resistor diperlukan untuk menemukan kapasitansi yang tidak diketahui. 1K ohm adalah nilai resistor yang diketahui dan resistor 220 ohm digunakan untuk melepaskan kapasitor saat proses pengukuran berlangsung. naik dan turun tegangan pada pin A0 yang dihubungkan antara resistor 1K ohm dan 220 ohm. Harap jaga polaritasnya jika Anda menggunakan kapasitor terpolarisasi seperti elektrolitik. Program:
//-----------------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------------------//

Unggah kode di atas ke Arduino dengan penyiapan perangkat keras yang lengkap, awalnya jangan sambungkan kapasitor. Buka monitor serial yang bertuliskan 'Harap sambungkan kapasitor'.

Sekarang sambungkan kapasitor, kapasitansinya akan ditampilkan seperti yang diilustrasikan di bawah ini.

Ini juga menunjukkan waktu yang dibutuhkan untuk mencapai 63,2% dari tegangan muatan penuh kapasitor, yang ditampilkan sebagai waktu yang telah berlalu.

Pengukur Kapasitansi Digital Menggunakan Arduino

Diagram sirkuit untuk pengukur kapasitansi berbasis LCD:

Skema di atas adalah hubungan antara layar LCD dan Arduino. Potensiometer 10K disediakan untuk mengatur kontras tampilan. Koneksi lainnya cukup jelas.

Rangkaian di atas sama persis dengan desain berbasis monitor serial, Anda hanya perlu menghubungkan layar LCD.

Program untuk pengukur kapasitansi berbasis 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------------------//

Dengan pengaturan perangkat keras yang lengkap, unggah kode di atas. Awalnya jangan sambungkan kapasitor. Layar menunjukkan 'Harap sambungkan kapasitor !!!' sekarang Anda menghubungkan kapasitor. Layar akan menunjukkan nilai kapasitor dan waktu yang dibutuhkan untuk mencapai 63,2% dari kapasitor pengisian penuh.

Prototipe Penulis:




Sepasang: Sirkuit Tachometer Arduino untuk Pembacaan Yang Tepat Berikutnya: Cara Mengontrol Motor Servo Menggunakan Joystick