Kondensatoren verlieren durch verschiedene Umstände ihre Nennkapazität. Wie viel sie tatsächlich noch mitbringen, klärt dieser Workshop.
Kondensatoren spielen in Schaltungen eine wichtige Rolle. Sie glätten als Pufferkondensatoren Stromspitzen, arbeiten als Bestandteil in Low- und Highpass-Filtern oder steuern Frequenzen, etwa im Zusammenhang mit Timer-Chips wie dem NE555. Bei Pufferkondensatoren spielt die genaue Kapazität keine große Rolle, bei den anderen Einsatzgebieten sieht das ganz anders aus. Allerdings fällt das Messen der Kapazität eher schwer, weswegen Ingenieure für exakte Messgeräte mitunter auch vierstellige Beträge ausgeben.
Im Heimbereich geht es eher um andere Probleme – zum Beispiel, ob der chinesische Online-Händler einen Fake-Kondensator liefert oder ob ein Exemplar überhaupt noch seinen Dienst tut. Denn Kondensatoren altern, und das Fundstück aus der Bastelkiste könnte schon längst seine angegebenen Werte nicht mehr halten. Beim Beantworten dieser Fragen helfen der im Folgenden beschriebene einfache Aufbau und ein Messprogramm in Python.
Theorie
Als Basis unserer Messung dient eine Schaltung aus einem Widerstand mit bekanntem Wert und einem unbekannten Kondensator (Abbildung 1). Beide hängen an einem GPIO. Steht der Pin auf High, lädt der Kondensator über den Widerstand; steht er auf Low, entlädt sich der Kondensator. Sowohl die Ladung als auch die Spannung folgen einer Exponentialkurve.
Abbildung 2 zeigt die Formel für die Spannung am Kondensator zum Zeitpunkt t. Dabei stellt Qmax die maximale Spannung dar, beim RasPi also 3,3 Volt. Der Faktor R*C heißt Zeitkonstante. Innerhalb dieser Zeit verliert ein Kondensator bei der Entladung die Hälfte seiner aktuell vorhandenen Ladung, beim Laden nimmt er entsprechend umgekehrt die Hälfte der noch fehlenden Ladung auf. Beim ähnlichen radioaktiven Zerfall spricht man von der Halbwertszeit.
Paart man einen 1-MOhm-Widerstand mit einem 100-nF-Kondensator, kommt man auf eine Zeitkonstante von 106*100*10-9), also 0,1 Sekunden. Setzt man die Zeitkonstante R*C in die Formel aus Abbildung 2 ein, dann kürzt sich die rechte Seite auf Qmax*0,6321 (letzte Zeile); beim RasPi entspricht das 2,086 Volt. Die Messschaltung misst also die Spannung während eines Ladevorgangs so lange, bis sie diesen Wert erreicht. Dann erhalten wir die Zeitkonstante. Der Wert des Kondensators ergibt sich durch Division mit dem Wert des Widerstands.
Messen
Das Messsystem weist aber einige Schwächen auf. Ein 1-MOhm-Widerstand besitzt selten genau diesen Wert. Beim Nachmessen mit einem digitalen Voltmeter spielt der Messfehler hinein, beim Autor betrug er 1,2 Prozent. Die Spannungsmessung selbst läuft dann über einen ADC-Baustein (Analog-to-Digital Converter), den der Raspberry Pi nicht mitbringt. Typische ADCs besitzen eine Auflösung von 10 Bit. Das heißt, dass er den gesamten Messbereich auf die Werte von 0 bis 1023 abbildet. Der Fehler liegt hier im Promillebereich, vorausgesetzt, der Messbereich geht von null bis Qmax.
Eine größere Rolle spielt die Zeit, die der ADC für die Spannungsmessung braucht. Im obigen Beispiel sollte bei einer Zeitkonstante von 0,1 Sekunden der Baustein samt RasPi eine zeitliche Auflösung von 100 bis 1000 Samples pro Sekunde aufweisen. Bei sehr kleinen Kondensatoren wählen Sie alternativ einen deutlich größeren Widerstand. Im µF-Bereich erweisen sich dagegen kleinere Widerstände als sinnvoll, andernfalls dauert die Messung zu lange.
Unabhängig von Messfehlern spielt die Toleranz des Kondensators eine wichtige Rolle für das Ergebnis. So hängt die Kapazität unter anderem von dessen Alter, der Lagerung und der Messtemperatur ab. Wenn die Messung also nicht das erwartete Ergebnis liefert, muss das nicht unbedingt an einer falschen Beschriftung liegen.
Feintuning
Aus messtechnischen Gründen fällt die Schaltung etwas komplizierter aus als die in Abbildung 1 gezeigte. Für die Messung soll der Kondensator langsam genug laden; das betrifft in der einfachen Schaltung aber auch das Entladen. Möchten Sie die Messung wiederholen, dauert das Entladen des Kondensators zu lange. Aus diesem Grund bekommt die Schaltung einen Entlade-Bypass (Abbildung 3). Das Entladen erfolgt jetzt über einen niederohmigen Widerstand in kurzer Zeit.
Das Messprogramm muss deshalb zwei GPIOs schalten, was das Programm aber nur unwesentlich verkompliziert. Für die Messung kommt ein IO-Expander von Pimoroni [1] zum Einsatz, der am I2C-Bus hängt. Die Wahl fiel hauptsächlich aus didaktischen Gründen auf diesen Baustein, weil er es erlaubt, das Programm einfach zu gestalten, und das Prinzip dahinter in den Vordergrund stellt.
Abbildung 4 zeigt den Aufbau. Die orangefarbenen Drähte dienen als Verbindung zum I2C-Anschluss des RasPi (physische Pins 3 und 5). Das kleine Breakout stellt 14 Pins bereit, die neben normalen IO-Funktionen auch die dem RasPi fehlende ADC-Funktion bereitstellen. Über den folgenden Befehl installieren Sie eine einfache Python-Bibliothek, die die notwendigen Vorarbeiten minimiert:
$ sudo pip3 install pimoroni-ioexpander
Das Programm aus Listing 1 konfiguriert am Anfang die verwendeten Pins und die Größe des Widerstands (Zeilen 16 bis 19). Danach folgen drei Methoden zum Initialisieren, Entladen und Messen. Ganz unten ab Zeile 60 befindet sich das Hauptprogramm, das in einer Endlosschleife das Entladen und Messen wiederholt. Sie beenden das Programm mittels [Strg]+-[C].










