Selbstgemachter einfacher Autorange-Kapazitätsmesser (10pF-10000microF)
Komponenten und Verbrauchsmaterialien
 | | × | 1 | |
 | | × | 1 | |
 | | × | 1 | |
 | | × | 1 | |
 | Alphanumerisches LCD, 16 x 2 | | × | 1 | |
 | Single Turn Potentiometer - 10k Ohm | | × | 1 | |
Über dieses Projekt
Einfache Digitalmultimeter (DMMs) können die Kapazität nicht messen und um die Kapazität zu finden, müssen Sie entweder ein fortschrittliches, teures DMM kaufen oder ein dediziertes Kapazitätsmodul finden.
In diesem Projekt werde ich ein einfaches Arduino-Kapazitätsmesser mit Auto-Ranging-Funktion bauen. Es kann Kapazitäten von 10 pF bis 10.000 μF messen. Die Messung erfolgt im Automatikbetrieb, es genügt, den Kondensator an die Messkontakte anzuschließen. Das Gerät hat zwei Bereiche:„nF“ und „μF“. Bei der Messung eines Kondensators wird zunächst der „nF“-Bereich eingeschaltet, ist die Kapazität zu groß, dann erfolgt der Übergang in den „μF“-Bereich.
Jedes Kapazitätsmessgerät hat eine RC-Schaltung mit bekannten Widerstandswerten und einem unbekannten Kondensatorwert. Der Arduino misst die Spannung am Kondensator und zeichnet die Zeit auf, die benötigt wird, um bei voller Ladung einen bestimmten Prozentsatz seiner Spannung (die Zeitkonstante) zu erreichen. Da der Widerstandswert bereits bekannt ist, können wir die Formel in einem Programm verwenden, das die unbekannte Kapazität berechnet. Der zu prüfende Kondensator wird mit einem der Widerstände geladen. Der Arduino initiiert das Laden des Kondensators über einen Widerstand entsprechend seiner Kapazität. Beim Kapazitätsmesser wird bei jedem Einschalten ein Nullabgleich durchgeführt, daher sollte zum Zeitpunkt des Einschaltens kein Kondensator an die Messkontakte angeschlossen werden. Außerdem müssen alle Kondensatoren vorentladen werden.
Die Genauigkeit beträgt +/- einige Prozent und hängt in erster Linie von der Toleranz der verwendeten Widerstände sowie der Stabilität der Versorgungsspannung ab.
Schließlich befindet sich das gesamte Gerät in einer passenden Box und ist ein weiteres nützliches Werkzeug in Ihrem Labor.
Code
Arduino-CodeC/C++
#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// RS,E,D4,D5,D6,D7void setup(){ lcd.begin(16, 2 ); // LCD 16X2 PinMode (A0, INPUT);} vorzeichenlose lange Zeit0, Zeit1, Zeit2; float c,null0;byte kn,mk,i;void loop(){ lcd.setCursor(15,0); lcd.print("*"); if (mk ==0) { pinMode (8, OUTPUT); pinMode (7, EINGANG); digitalWrite (8, HOCH); aufrechtzuerhalten. Wenn (mk ==1) {pinMode (7, OUTPUT); pinMode (8, EINGANG); digitalWrite (7, HOCH); } time0=Mikros(); Während (analogRead (A0) <644) { time2 =micros () - time0; if(time2>=1000000 &&mk==0){ mk=1; Zeit0=100000000; brechen; } } time1=micros()-time0; Während (analogRead (A0)> 0) { PinMode (7, OUTPUT); PinMode (8, AUSGANG); digitalWrite(7,LOW); digitalWrite(8,LOW); } if(mk==1&&time1<1000){mk=0; } lcd.setCursor(1,0); c =Zeit1; c=c/1000-null0; c=abs(c); if(time1>=10000000){lcd.setCursor(1,0); lcd.print("TEST uF"); aufrechtzuerhalten. Sonst {lcd.print (c); if(mk==0) {lcd.print("nF"); } if (mk ==1) {lcd.print (" uF "); } } if (i ==0) { i ++; null0=c+0,02; } Verzögerung(100);}
Schaltpläne