Digital kapasitansmåler krets ved hjelp av Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget skal vi konstruere en digital kapasitansmålerkrets ved hjelp av Arduino som kan måle kapasitans til kondensatorer fra 1 mikrofarad til 4000 mikrofarad med rimelig nøyaktighet.



Introduksjon

Vi måler verdien på kondensatorene når verdiene som er skrevet på kondensatorens kropp ikke er lesbare, eller for å finne verdien av aldringskondensatoren i kretsen vår som må byttes ut snart eller senere, og det er flere andre grunner til å måle kapasitansen.

For å finne kapasitansen kan vi enkelt måle ved hjelp av et digitalt multimeter, men ikke alle multimetre har kapasitansmålefunksjon, og bare de dyre multimetrene har denne funksjonaliteten.



Så her er en krets som enkelt kan konstrueres og brukes.

Vi fokuserer på kondensatorer med større verdi fra 1 mikrofarad til 4000 mikrofarad som er utsatt for å miste kapasitansen på grunn av aldring, spesielt elektrolytkondensatorer, som består av flytende elektrolytt.

Før vi går inn i kretsdetaljer, la oss se hvordan vi kan måle kapasitans med Arduino.

De fleste Arduino kapasitansmålere er avhengig av RC tidskonstant eiendom. Så hva er RC-tidskonstant?

Tidskonstanten til RC-kretsen kan defineres som det tar tid for kondensatoren å nå 63,2% av full ladning. Null volt er 0% ladning og 100% er kondensatorens fullspenningslading.

Produktet av verdien av motstanden i ohm og verdien av kondensatoren i farad gir tidskonstant.

T = R x C

T er tidskonstanten

Ved å omorganisere ligningen ovenfor får vi:

C = T / R

C er den ukjente kapasitansverdien.

T er tidskonstanten til RC-kretsen som er 63,2% av fulladet kondensator.

R er en kjent motstand.

Arduino kan registrere spenningen via analog pin, og den kjente motstandsverdien kan legges inn i programmet manuelt.

Ved å bruke ligningen C = T / R i programmet kan vi finne den ukjente kapasitansverdien.

Nå vil du ha en ide om hvordan vi kan finne verdien av ukjent kapasitans.

I dette innlegget har jeg foreslått to typer kapasitansmåler, en med LCD-skjerm og en annen med seriell skjerm.

Hvis du er hyppig bruker av denne kapasitansmåleren, er det bedre å bruke LCD-skjermdesign, og hvis du ikke er hyppig bruker, bør du gå med seriell skjermdesign fordi det sparer penger på LCD-skjermen.

La oss nå gå over til kretsskjemaet.

Seriell skjermbasert kapasitansmåler:



Som du kan se er kretsen veldig enkel, bare et par motstander er nødvendig for å finne den ukjente kapasitansen. 1K ohm er den kjente motstandsverdien og 220 ohm motstanden som brukes til å tømme kondensatoren mens måleprosessen foregår. stigende og synkende spenning på pin A0 som er koblet mellom motstandene 1K ohm og 220 ohm. Ta vare på polariteten hvis du bruker polariserte kondensatorer som elektrolytisk. 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------------------//

Last opp koden ovenfor til Arduino med fullført maskinvareoppsett, først koble ikke kondensatoren. Åpne seriell skjerm der det står “Vennligst koble kondensator”.

Koble nå en kondensator, dens kapasitans vises som illustrert nedenfor.

Det viser også tiden det tar å nå 63,2% av kondensatorens fulladede spenning, som vises som forløpt tid.

Digital kapasitansmåler ved bruk av Arduino

Kretsskjema for LCD-basert kapasitansmåler:

Ovenstående skjema er sammenheng mellom LCD-skjerm og Arduino. 10K potensiometeret er gitt for å justere kontrasten på skjermen. Resten av forbindelsene er selvforklarende.

Ovennevnte krets er nøyaktig den samme som seriell skjermbasert design, du trenger bare å koble til LCD-skjerm.

Program for LCD-basert kapasitansmåler:

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

Last opp ovennevnte kode med fullført maskinvareoppsett. Først må du ikke koble kondensatoren. Displayet viser “Please connect kondensator !!!” nå kobler du kondensatoren. Displayet viser kondensatorens verdi og forløpt tid det tar å nå 63,2% av fulladet kondensator.

Forfatterens prototype:




Forrige: Arduino turtellerkrets for presise målinger Neste: Hvordan kontrollere servomotor ved hjelp av styrespak