L\C\ESR-Meter
Jedes Multimeter ist in der Lage, Widerstände zu vermessen, und einige haben auch eine Messfunktion für Kapazitäten. Für das Messen von Induktivitäten benötigt man jedoch meist ein eigenes Messgerät. Wenn man Schaltregler oder andere Schaltungen mit Spulen baut, kann es sehr nützlich sein, Induktivitäten direkt messen zu können. Mann kann auch den Wellenwiderstand einer Leitung bestimmen, wenn man ihren Kapazitäts- und Induktivitätsbelag messen kann, was sinvoll ist, wenn man bei einer Datenleitung den passenden Abschlusswiderstand sucht, um Reflexionen zu vermeiden.Eine weitere Messgröße, die sich nur mit speziellen Messgeräten ermitteln lässt, ist der Ersatzserienwiderstand (ESR) von Kondensatoren. Dieser Wert kann jedoch sehr aufschlussreich sein, da er viel über den Zustand eines Kondensators aussagt. Elektrolytkondensatoren sind eines der wenigen Bauteile, die eine physikalisch bedingte begrenzte Lebensdauer haben. Denn das Elektrolyt trocknet mit der Zeit aus, wodurch der Ersatzserienwiderstand stark ansteigt, was wiederum zu Störungen in der entsprechenden Schaltung führen kann. Die tatsächliche Lebensdauer hängt von der Temperatur und der Qualität der Kondensatoren ab. Gerade bei älteren Geräten, die plötzlich nicht mehr funktionieren, sind oft defekte ElKos die Ursache. Wer keine Möglichkeit hat, die Elkos zu vermessen, tauscht daher manchmal alle ElKos aus in der Hoffnung, den Fehler zu beheben. Die Möglichkeit, den Ersatzwiderstand direkt zu messen und das sogar, ohne dass man den Kondensator auslöten muss, kann die Fehlersuche jedoch enorm erleichtern. In diesem Projekt wurde ein kleines Handmessgerät entwickelt, dass sowohl Kapazitäten, Induktivitäten als auch den ESR von Kondensatoren messen kann.
L\C-Messung
Die Messung von Kapazitäten und Induktivitäten erfolgt mittels eines Schwingkreises, welcher seine Frequenz ändert, wenn man seine Kapazität oder Induktivität ändert. Das Prinzip habe ich mir nicht selbst ausgedacht, sondern es gibt zahlreiche Seiten, die solche Projekte beschreiben, weshalb ich hier nicht näher darauf eingehe. Bei sprut.de ist das Ganze erklärt und man findet auch die dazugehörigen Formeln. Besonders praktisch ist, dass die Genauigkeit in dieser Variante nur von der Genauigkeit eines Referenzkondensators abhängt, der zum Kalibrieren dem normalen Kondensator des Schwingkreises parallel geschaltet wird. Daher nimmt man dafür einen teuren, aber genauen Glimmerkondensator, der eine Toleranz von nur 1 Prozent aufweist, während normale Kondensatoren oft Toleranzen von 20 oder gar 50 Prozent haben. In den meisten ähnlichen Projekten wird der Referenzkondensator durch ein kleines Relais zugeschaltet. Ich habe mich hingegen für eine Lösung mit einem Taster entschieden. Wenn man diesen drückt, wird der Kondensator mit dem Schwingkreis verbunden und gleichzeitig ein Signal an den steuernden Mikrocontroller gegeben, damit dieser weiß, dass nun die Referenzkapazität zugeschaltet ist. Beim Kalibrieren fordert der Controller den Benutzer über das Display auf, den Taster zu drücken und eine Weile gedrückt zu halten, damit die Messung durchgeführt werden kann. Der Zustand des Tasters wird dabei ständig kontrolliert und die Kalibrierung abgebrochen, wenn er frühzeitig losgelassen wird.

Kurzanleitung Fließkommazahlen und AVR
Da sich die Rechnungen über große Wertebereiche erstrecken, wurde Fließkommaarithmetik verwendet. Diese ist zwar enorm rechenintensiv auf Mikrocontrollern, die dafür keine dedizierte Hardware haben, aber in diesem Fall mussten ja keine zeitkritischen Berechnungen durchgeführt werden. Dennoch gibt es ein paar Stolpersteine bei der Verwendung von Fließkommazahlen in Zusammenhang mit AVRs:Wenn man Fließkommavariablen (float) in einem AVR-Programm nutzt, sollte man im Linker die Bibliothek libm.a hinzufügen. Diese enthält Fließkommafunktionen, die speziell für die 8-Bit-AVRs optimiert wurden. Bindet man die Bibliothek nicht ein, wird eine Standard-C-Bibliothek verwendet und das Programm wird deutlich größer und langsamer.
Zum Einbinden muss im AVR-Studio unter Toolchain->Linker->Libraries der Eintrag "libm.a" hinzugefügt werden. Dafür einfach auf das Plus klicken, "libm.a" eingeben und dann auf Ok klicken. Wenn man dies macht, wird automatisch die Linkeroption "-lm" hinzugefügt, wie man auf dem Übersichtsreiter zum Linker sehen kann.
ESR-Messung

Auto-Off-Funktion
Das An- und Ausschalten des Geräts sollte nicht über einen Schalter geschehen, der die Stromversorgung unterbricht, sondern über einen Taster. Dafür wurde eine kleine Schaltung entworfen, deren Funktionsweise hier kurz beschrieben wird.
Wird der Schalter gedrückt, wird ein Pin des µCs auf Masse gezogen, so dass dieser das Drücken des Schalters registrieren kann. Dies kann er dann z. B. dafür nutzen, um sich selbst wieder auszuschalten. Die linke Diode sorgt dafür, dass der NPN-Transistor nicht diesen Eingangspin gegen Masse zieht. Die rechte Diode verhindert, dass im ausgeschalteten Zustand ein Strom aus der Batterie (9V) zu diesem Pin fließen kann.
Der Spannungsteiler dient dazu, die Batteriespannung zu messen, um bei niedriger Batteriespannung eine Warnung ausgeben zu können.
Ein kurzer Druck auf den Taster schaltet das Gerät ein und ein anschließender langer Druck schaltet es wieder aus. Man könnte auch leicht programmieren, dass das Gerät sich nach einiger Zeit von selbst ausschaltet, um zu verhindern, dass die Batterie leer wird, wenn man vergisst, es auszuschalten. Im ausgeschalteten Zustand fließt in der Schaltung quasi kein Strom, so dass die Batterie nicht belastet wird.
Bau des Messgeräts

Die Basis des Systems bildet ein ATmega88 und als Anzeige kommt ein 2x16 Textdisplay zum Einsatz. Die Zielsetzung war, ein Gerät zu bauen, dass halbwegs professionell wirkt. Daher wurde auch viel Zeit in die Wahl eines Gehäuses und des allgemeinen Aufbaus gesteckt. Als Frontfolie wurden wetterfeste Etiketten verwendet, die man mit einem Laserdrucker bedrucken kann. Die Firma HERMA war so freundlich, mir ein paar kostenlose Muster verschiedener Etikettentypen zu schicken. Wenn ich die mal getestet habe, kann ich hier berichten, welche sich besonders gut eignen.
Die Bauteilkosten beliefen sich auf 32 €, wobei 14 € auf die Platine entfallen. Da die meisten Schaltungen dieses Projekts ursprünglich von anderen Leuten entwickelt wurden, stelle ich diesmal keine Dateien zum Download zur Verfügung. Wer Fragen hat oder doch den einen oder anderen Schaltungsteil oder Quellcode sehen will, kann mich gerne kontaktieren.
