Arduino Kullanarak Dijital Kapasitans Ölçer Devresi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, 1 mikrofarad ile 4000 mikrofarad arasında değişen kapasitörlerin kapasitansını makul bir doğrulukla ölçebilen Arduino kullanarak bir dijital kapasite ölçer devresi inşa edeceğiz.



Giriş

Kapasitörün gövdesine yazılan değerler okunaklı olmadığında veya devremizdeki yaşlanma kapasitörünün er ya da geç değiştirilmesi gereken değerini bulmak için kapasitörlerin değerini ölçüyoruz ve kapasitansı ölçmek için başka birçok neden var.

Kapasitansı bulmak için dijital multimetre kullanarak kolayca ölçebiliriz, ancak tüm multimetreler kapasitans ölçme özelliğine sahip değildir ve yalnızca pahalı multimetreler bu işlevselliğe sahiptir.



İşte burada kolaylıkla kurulabilen ve kullanılabilen bir devre.

Sıvı elektrolitten oluşan elektrolitik kapasitörler başta olmak üzere yaşlanma nedeniyle kapasitansını kaybetme eğiliminde olan, 1 mikrofaraddan 4000 mikrofarad'a kadar daha büyük değere sahip kapasitörlere odaklanıyoruz.

Devre detaylarına girmeden önce, Arduino ile kapasitansı nasıl ölçebileceğimize bakalım.

Çoğu Arduino kapasitans ölçer, RC zaman sabiti özelliğine dayanır. Peki RC zaman sabiti nedir?

RC devresinin zaman sabiti, kapasitörün tam şarjın% 63,2'sine ulaşması için geçen süre olarak tanımlanabilir. Sıfır volt,% 0 şarj ve% 100, kapasitörün tam voltaj şarjıdır.

Direnç değerinin ohm cinsinden ve kondansatörün faraddaki değerinin çarpımı Zaman sabitini verir.

T = R x C

T, Zaman sabitidir

Yukarıdaki denklemi yeniden düzenleyerek şunu elde ederiz:

C = T / R

C, bilinmeyen kapasitans değeridir.

T, tam şarj kapasitörünün% 63,2'si olan RC devresinin zaman sabitidir.

R bilinen bir dirençtir.

Arduino analog pin üzerinden voltajı algılayabilir ve bilinen direnç değeri programa manuel olarak girilebilir.

Programda C = T / R denklemini uygulayarak bilinmeyen kapasitans değerini bulabiliriz.

Şimdiye kadar, bilinmeyen kapasitansın değerini nasıl bulabileceğimiz konusunda bir fikriniz olacaktı.

Bu yazıda, biri LCD ekranlı ve diğeri seri monitör kullanan iki tür kapasite ölçer önerdim.

Bu kapasitans ölçeri sık sık kullanıyorsanız, LCD ekran tasarımına gitmeniz daha iyidir ve sık kullanıcı değilseniz seri monitör tasarımına gidin çünkü LCD ekranda size biraz para kazandırır.

Şimdi devre şemasına geçelim.

Seri Monitör tabanlı kapasite ölçer:



Gördüğünüz gibi devre çok basittir, bilinmeyen kapasitansı bulmak için sadece birkaç direnç gerekir. 1K ohm bilinen direnç değeri ve ölçüm işlemi yapılırken kapasitörün deşarjı için kullanılan 220 ohm dirençtir. 1K ohm ile 220 ohm arasındaki dirençler arasına bağlanan A0 pininde yükselen ve azalan gerilim. Elektrolitik gibi polarize kondansatörler kullanıyorsanız lütfen polariteye dikkat ediniz. 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------------------//

Yukarıdaki kodu, tamamlanmış donanım kurulumuyla Arduino'ya yükleyin, başlangıçta kapasitörü bağlamayın. Seri monitörü açın, 'Lütfen kapasitör bağlayın' yazıyor.

Şimdi bir kapasitör bağlayın, kapasitansı aşağıda gösterildiği gibi görüntülenecektir.

Ayrıca, geçen süre olarak gösterilen kapasitörün tam şarj voltajının% 63,2'sine ulaşmak için geçen süreyi de gösterir.

Arduino Kullanarak Dijital Kapasitans Ölçer

LCD tabanlı kapasite ölçer için devre şeması:

Yukarıdaki şema, LCD ekran ve Arduino arasındaki bağlantıdır. Ekranın kontrastını ayarlamak için 10K potansiyometre sağlanmıştır. Bağlantıların geri kalanı kendinden açıklamalıdır.

Yukarıdaki devre, LCD ekran bağlamanız gereken seri monitör tabanlı tasarımla tamamen aynıdır.

LCD tabanlı kapasitans ölçer programı:

//-----------------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------------------//

Tamamlanan donanım kurulumu ile yukarıdaki kodu yükleyin. Başlangıçta kondansatörü bağlamayın. Ekranda 'Lütfen kondansatörü bağlayın !!!' şimdi kondansatörü bağlarsınız. Ekranda kapasitörün değeri ve tam şarj kapasitörünün% 63,2'sine ulaşmak için geçen süre gösterilir.

Yazarın Prototipi:




Önceki: Hassas Okumalar için Arduino Takometre Devresi Sonraki: Joystick Kullanarak Servo Motor Nasıl Kontrol Edilir