Digitaalinen kapasitanssimittaripiiri Arduinolla

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä viestissä aiomme rakentaa digitaalisen kapasitanssimittaripiirin Arduinon avulla, joka pystyy mittaamaan kondensaattoreiden kapasitanssin välillä 1–4000 mikrofaradia kohtuullisella tarkkuudella.



Johdanto

Mitataan kondensaattoreiden arvo, kun kondensaattorin runkoon kirjoitetut arvot eivät ole luettavissa, tai löydämme piirissämme olevan ikääntyvän kondensaattorin arvon, joka on vaihdettava pian tai myöhemmin, ja kapasitanssin mittaamiseen on useita muita syitä.

Kapasitanssin löytämiseksi voimme helposti mitata käyttämällä digitaalista yleismittaria, mutta kaikilla yleismittareilla ei ole kapasitanssin mittaustoimintoa, ja vain kalliilla yleismittareilla on tämä toiminto.



Joten tässä on piiri, joka voidaan rakentaa ja käyttää helposti.

Keskitymme kondensaattoreihin, joiden arvo on 1 - 4 000 mikronia ja jotka ovat taipuvaisia ​​menettämään kapasitanssinsa ikääntymisen takia, erityisesti nestemäisestä elektrolyytistä koostuvat elektrolyyttikondensaattorit.

Ennen kuin ryhdymme piirin yksityiskohtiin, katsotaanpa, kuinka voimme mitata kapasitanssin Arduinolla.

Suurin osa Arduino-kapasitanssimittarista perustuu RC-aikavakio-ominaisuuteen. Joten mikä on RC-aikavakio?

RC-piirin aikavakio voidaan määritellä ajaksi, jonka kondensaattori saavuttaa 63,2% täydestä latauksesta. Nolla voltti on 0%: n varaus ja 100% on kondensaattorin täysi jännite.

Vastuksen arvon ohmina ja kondensaattorin arvon tulo faradissa antaa Aikavakion.

T = R x C

T on aikavakio

Järjestämällä yllä oleva yhtälö uudelleen saadaan:

C = T / R

C on tuntematon kapasitanssiarvo.

T on RC-piirin aikavakio, joka on 63,2% täydellisen varauksen kondensaattorista.

R on tunnettu resistenssi.

Arduino tunnistaa jännitteen analogisen nastan kautta ja tunnettu vastuksen arvo voidaan syöttää ohjelmaan manuaalisesti.

Soveltamalla yhtälöä C = T / R ohjelmassa voimme löytää tuntemattoman kapasitanssiarvon.

Sinulla olisi jo käsitys siitä, kuinka voimme löytää tuntemattoman kapasitanssin arvon.

Tässä viestissä olen ehdottanut kahdenlaisia ​​kapasitanssimittareita, yksi LCD-näytöllä ja toinen sarjamonitorilla.

Jos käytät usein tätä kapasitanssimittaria, on parempi mennä LCD-näytön suunnitteluun ja jos et ole usein käyttäjä, mene paremmin sarjakuvanäyttöön, koska se säästää joitain taaloja LCD-näytöllä.

Siirrytään nyt piirikaavioon.

Sarjamonitoriin perustuva kapasitanssimittari:



Kuten näette, piiri on hyvin yksinkertainen, vain pari vastusta tarvitaan tuntemattoman kapasitanssin löytämiseksi. 1K ohm on tunnettu vastuksen arvo ja 220 ohmin vastus, jota käytetään kondensaattorin purkamiseen mittauksen aikana. nouseva ja laskeva jännite nastassa A0, joka on kytketty 1K ohmin ja 220 ohmin vastusten väliin.Huolehdi napaisuudesta, jos käytät polarisoituja kondensaattoreita, kuten elektrolyyttisiä. Ohjelmoida:
//-----------------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------------------//

Lataa yllä oleva koodi Arduinoon, kun laitteiston asennus on valmis, älä aluksi kytke kondensaattoria. Avaa sarjamonitori, jossa lukee ”Liitä kondensaattori”.

Liitä nyt kondensaattori, sen kapasitanssi näkyy alla olevan kuvan mukaisesti.

Se näyttää myös ajan, joka kuluu 63,2%: n saavuttamiseen kondensaattorin täydestä latausjännitteestä, joka näkyy kuluneena aikana.

Digitaalinen kapasitanssimittari Arduinolla

LCD-pohjaisen kapasitanssimittarin kytkentäkaavio:

Yllä oleva kaavio on yhteys LCD-näytön ja Arduinon välillä. 10K-potentiometri on tarkoitettu näytön kontrastin säätämiseen. Muut yhteydet ovat itsestään selviä.

Yllä oleva piiri on täsmälleen sama kuin sarjavalvontapohjainen suunnittelu, sinun tarvitsee vain liittää LCD-näyttö.

LCD-pohjaisen kapasitanssimittarin ohjelma:

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

Kun laitteiston asennus on valmis, lataa yllä oleva koodi. Älä aluksi kytke kondensaattoria. Näytössä näkyy 'Liitä kondensaattori !!!' nyt kytket kondensaattorin. Näyttö näyttää kondensaattorin arvon ja kuluneen ajan, joka kuluu 63,2%: iin täyden varauksen kondensaattorista.

Kirjoittajan prototyyppi:




Edellinen: Arduino-kierroslukumittarin piiri tarkkoja lukemia varten Seuraava: Kuinka ohjata servomoottoria ohjaussauvalla