Mäta kapacitans med Arduino (5 / 6 steg)
Steg 5: Ladda upp koden & Test
Efter allt fast ordentligt, ladda upp koden nedan till din Arduino. Koden är kommenterade för att låta för att lättare förstå processen bakom mätningen.
Initiera Pins
int analogPin = 0;
int chargePin = 13.
int dischargePin = 11; snabbar upp urladdning process, inte nödvändigt men
Initiera Resistor
int resistorValue = 10000;
Initiera Timer
osignerade långa startTime;
osignerade långa elapsedTime;
Initiera kapacitans variabler
float microFarads;
float nanoFarads;
void setup()
{
pinMode (chargePin, produktionen);
digitalWrite (chargePin, låg);
Serial.BEGIN(9600); Nödvändigt att skriva ut data till seriell övervaka via USB
}
void loop()
{
digitalWrite (chargePin, hög); Börjar ladda kondensatorn
startTime = millis(); Börjar timern
While(analogRead(analogPin) < 648)
{
Gör ingenting tills kondensator når 63,2% av den totala spänningen
}
elapsedTime = millis() - startTime; Bestämmer hur lång tid det tog för att ladda kondensatorn
microFarads = ((float) elapsedTime / resistorValue) * 1000;
Serial.Print(elapsedTime);
Serial.Print ("mS");
om (microFarads > 1) / / avgör om enheter bör micro eller nano och skriver därför
{
Serial.Print((Long)microFarads);
Serial.println ("microFarads");
}
annat
{
nanoFarads = microFarads * 1000.0;
Serial.Print((Long)nanoFarads);
Serial.println ("nanoFarads");
Delay(500);
}
digitalWrite (chargePin, låg); Hållplatser laddning kondensator
pinMode (dischargePin, produktionen);
digitalWrite (dischargePin, låg); Gör att kondensatorn att fullgöra
While(analogRead(analogPin) > 0)
{
Göra ingenting tills kondensator urladdas
}
pinMode (dischargePin, ingång); Förhindrar urladdning av kondensatorn
}
Efter koden görs uppladdning, öppna den Serial Monitor (Verktyg > Serial Monitor) Visa mätning av okänd kondensatorn.
Det första värdet är hur länge det tog kondensatorn till 63,2% av det totala kostnad. Det andra värdet är den beräknade kapacitansen i antingen "nano" eller "micro" farads.
Programmet kommer att upprepade gånger testa kondensatorn och värden kan variera något. Det är bäst att ta medelvärdet av dessa värden.
Obs: Denna sensor är mest exakta för kapacitans värden mellan 1 Μf till 3500 Μf.