DIY Autoranging Condensatiemeter (10 pF–10 µF) – Simpele Arduino Bouw
Onderdelen en Benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino Nano R3 | 1 |
| Weerstand 10k ohm | 1 |
| Weerstand 1k ohm | 1 |
| Weerstand 1M ohm | 1 |
| Alfanumeriek LCD, 16 x 2 | 1 |
| Enkelvoudige draaipotentiometer - 10k ohm | 1 |
Benodigde Tools en Machines
| Solderbout (generiek) |
Apps en Online Diensten
| Arduino IDE |
Over dit Project
Eenvoudige digitale multimeters (DMM's) kunnen geen capaciteit meten. Om de capaciteit te bepalen, heb je of een geavanceerde, dure DMM nodig, of een speciale capaciteitsmodule.
In dit project bouw ik een eenvoudige Arduino Condensatiemeter met Auto-Ranging functie. Het kan capaciteit meten van 10 pF tot 10.000 µF. De meting gebeurt in automatische modus: het genoeg om de condensator aan de meetcontacten te koppelen. Het apparaat heeft twee bereiken: "nF" en "µF". Bij het meten wordt eerst het "nF"-bereik geactiveerd; is de capaciteit te groot, dan schakelt het over naar het "µF"-bereik.
Elke condensatiemeter heeft een RC-schakeling met bekende weerstandswaarden en een onbekende condensatorwaarde. De Arduino meet de spanning over de condensator en noteert de tijd die het duurt om een bepaald percentage van de maximale ladingsspanning te bereiken (de tijdconstante). Omdat de weerstand bekend is, kunnen we de formule in een programma gebruiken om de onbekende capaciteit te berekenen. De te testen condensator wordt geladen via één van de weerstanden. De Arduino initieert het laden volgens de capaciteit. In de condensatiemeter wordt bij elke inschakeling een nulkalibratie uitgevoerd; daarom mag er bij inschakeling geen condensator aan de meetcontacten zitten. Ook moeten alle condensatoren vooraf ontladen zijn.
De nauwkeurigheid is +/- een paar procent en hangt voornemelijk af van de tolerantie van de gebruikte weerstanden en de stabiliteit van de voedingsspanning.
Tot slot wordt het gehele apparaat in een geschikte behuizing geplaatst en is het een handig extra instrument in je lab.
Code
Arduino Code
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7
void setup() {
lcd.begin(16, 2); // LCD 16x2
pinMode(A0, INPUT);
}
unsigned long time0, time1, time2;
float c, null0;
byte kn, mk, i;
void loop() {
lcd.setCursor(15, 0);
lcd.print("*");
if (mk == 0) {
pinMode(8, OUTPUT);
pinMode(7, INPUT);
digitalWrite(8, HIGH);
}
if (mk == 1) {
pinMode(7, OUTPUT);
pinMode(8, INPUT);
digitalWrite(7, HIGH);
}
time0 = micros();
while (analogRead(A0) < 644) {
time2 = micros() - time0;
if (time2 >= 1000000 && mk == 0) {
mk = 1;
time0 = 100000000;
break;
}
}
time1 = micros() - time0;
while (analogRead(A0) > 0) {
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
if (mk == 1 && time1 < 1000) mk = 0;
lcd.setCursor(1, 0);
c = time1;
c = c / 1000 - null0;
c = abs(c);
if (time1 >= 10000000) {
lcd.setCursor(1, 0);
lcd.print(" TEST uF ");
} else {
lcd.print(c);
if (mk == 0) lcd.print(" nF ");
if (mk == 1) lcd.print(" uF ");
}
if (i == 0) { i++; null0 = c + 0.02; }
delay(100);
}
Schema's

Productieproces
- Slimme Plantenalarmer – DIY Sensor voor Optimale Hydratatie
- Bouw een 20 kHz Arduino Oscilloscoop op een Nokia 5110 LCD – Eenvoudige DIY Handleiding
- DIY ADXL335 Aardbevingendetector – Laag-vermogen 3-as Versnellingsmeter Project
- Bouw een Italiaanse Woordklok met Arduino Nano, NeoPixel, LCD en RTC
- Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
- Bouw een Betrouwbare Sigfox kWh Meter met Arduino MKR Fox 1200
- DIY Frequentiemeter – Meet tot 6,5 MHz met Arduino Nano
- Bluetooth Temperatuurmeter met Arduino Nano
- Contactloos Gebaarslot: Veilige toegang met APDS-9960 en Arduino
- Geïsoleerde analoge ingangsschakeling voor Arduino bouwen
- Precisie Reactietijd Test met Arduino UNO