READY.
Eine LCR-Meßbrücke ist – zumindest für den Heimanwender – meist ein recht hochpreisiges Instrument. Dagegen sind Digitalosziloskop und Frequenzgenerator im Hobbylabor oft schon vorhanden. Das kleine Kommandozeilenprogramm HMlcr ermöglicht es, mit einem Digitaloszilloskop (HM1507, HM407 oder HM307 von Hameg) die Impedanz eines beliebigen Zweipols zu messen. Da es sich dabei wohl meistens um Spulen oder Kondensatoren handelt, wird die komplexe Impedanz auch gleich als Kapazität oder Induktivität angegeben. HMlcr läuft auf Linux-Systemen und steht unter der GPL zur Verfügung.
Das Programm kann hier heruntergeladen werden.
Zur Bestimmung der Impedanz Z wird der Prüfling mit einer Wechselspannung beaufschlagt. Mit dem Oszilloskop wird an Kanal 1 die Spannung am Bauteil gemessen und Kanal 2 mißt den Strom als Spannung über einen in Reihe geschalteten Shuntwiderstand. Die Masseleitung des Oszilloskops wird zwischen Prüfling und Strommeßwiderstand angeschlossen. Da die meisten Signalquellen wie z. B. ein Funktionsgenerator nicht potentialfrei sind, sondern das Signal bezogen auf Masse ausgeben, wird die Signalquelle Ugen durch einen Trenntrafo von der eigentlichen Meßschaltung getrennt (siehe Schaltplan).
Um eine möglichst große Meßgenauigkeit zu erzielen, ist es sinnvoll, den Widerstand R etwa so groß zu wählen wie der zu erwartende Blindwiderstand des zu messenden Bauteils. Es bietet sich an, den Widerstand z. B. in Dekadenschritten schaltbar zu machen. Um die Meßgenauigkeit weiter zu erhöhen, können Parasitärkapazitäten des Meßaufbaus nach einer Kalibrierung herausgerechnet werden; mehr dazu weiter unten. Dazu ist ein Referenzwiderstand nötig, der genau so groß ist wie der Meßwiderstand und anstelle des Prüflings angeschlossen wird. In der Schaltung oben steht ein entsprechender Referenzwiderstand am Pin „ref“ zur Verfügung.
Die folgenden Bilder zeigen meinen Aufbau des Impedanzmeßnetzwerks. Der Prüfling wird an die beiden Kroko-Klemmen angeschlossen. Die drei BNC-Buchsen führen die Signale U, -IR und Ugen. Der Referenzwiderstand kann an einer isoliert befestigten Schraube abgegriffen werden.
Im geöffneten Gehäuse sind die umschaltbaren Widerstände und der Trenntrafo zu sehen. Den Trafo habe ich auf einem Ringkern selbst gewickelt. Er ist eignetlich für Frequenzen ab 1 MHz dimensioniert, funktioniert aber auch bei 100 kHz noch zuverlässig. Er hat für Primär- und Sekundarwicklung je acht Windungen, parallel gewickelt auf einem Ferrit-Ringkern (von Amidon, Material 77 (0,5 MHz bis 50 MHz), AL = 1275 nH). Damit ergibt sich eine Induktivität von etwa 82 μH und bei 1 MHz ein Blindwiderstand von gut 500 Ω, was deutlich größer als der Ausgangswiderstand von 50 Ω eines üblichen Funktionsgenerators ist.
Wenn der Quellcode aus dem .tar.gz-Archiv entpackt ist, kann HMlcr mit make kompiliert werden. Das ausfürhrbare Programm kann dann entweder nach ~/bin/ oder als root nach /usr/local/bin/ kopiert werden. Fertig.
Das Oszilloskop wird an die serielle Schnittstelle /dev/ttyS1 angeschlossen. Soll eine andere Schnittstelle benutzt werden, so kann das mit -s angegeben werden oder in hmlcr.c der Standardwert verändert werden.
Das Programm kann sowohl eine Einzelmessung mit festen Parametern
durchführen als auch interaktiv bedient werden. Hilfe zur Bedienung bekommt
man an der Kommandozeile mit hmlcr -h. Meistens wird man es wohl im
interaktiven Modus benutzen, etwa so: hmlcr -i -s /dev/ttyUSB0
.
Die Ausgabe sieht bei der Benutzung z. B. so aus:
test condition: f = 99.7 kHz R = 0.6 kOhm G = 0.1 µS X = -72.0 kOhm B = 13.9 µS Z = 72.0 kOhm Y = 13.9 µS phi= -89.5 ° Q = 114.3 d = 0.01 C = 22.2 pF display : [Human] |eXponential| calibrate : Open(x) rEference(x) Clear measurement: [Autoscale] R = 10.0 kOhm F = auto Quit <-'measure
Das Beispiel zeigt die Messung an einem 22 pF Kondensator. Im oberen
Bereich werden die Meßergebnisse angezeigt. Der untere Bereich zeigt das Menü
zur Bedienung. Großbuchstaben kennzeichnen die Tasten, die die entsprechende
Funktion auslösen. Der Meßwiderstand muß explizit angegeben werden, entweder
hier oder als mit -r an der Kommandozeile. Die Meßfrequenz kann angegeben
werden. Wird ein Wert von null angegeben, wird die Frequenz aus den Oszidaten
bestimmt (auto). Im Beispiel oben waren 100 kHz eingestellt, die als 99,7 kHz
erkannt wurden. Bei der Eingabe von Frequenzen und Widerständen im
interaktiven Modus dürfen die üblichen SI-Einheitenpräfixe angegeben werden,
also z. B. 10k
für 10 kΩ. Mit RETURN wird die Messung ausgelöst.
Für kleine Spulen und Kondensatoren ist es sinnvoll, Parasitärkapazitäten aus dem Meßaufbau von der Messung abzuziehen. Dazu müssen zwei Kalibrationsmessungen durchgeführt werden, eine bei offenen Anschlüssen (Open) und eine mit der ohmschen Impedanz R, wobei R dem eingestellten Strommeßwiderstand entspricht (rEference). Für jede der beiden Kalibriermessungen wird ein x gesetzt, nachdem sie druchgeführt wurden. Wenn sie beide vorhanden sind (also beide x gesetzt wie im Beispiel oben), dann wird die Kalibrierung berücksichtigt. Es muß damit gerechnet werden, daß die Kalibrierung für einen anderen Strommeßwiderstand oder eine andere Meßfrequenz nicht mehr hinreichend genau ist. Die Kalibrierwerte können mit Clear gelöscht werden.
Da ich selbst natürlich nur ein Digitaloszilloskop besitze, bin ich beim Test der Software auf anderen Geräten auf die Rückmeldung von (hofffentlich) zufriedenen Benutzern angewiesen. Über Rückmeldungen unter formica bei Opppf Punkt de würde ich mich freuen. Es interessiert mich neben der Typenbezeichnugn auch die Firmwareversion, die man mit hmlcr -v /dev/ttyS1 erhält.
Typ | getestet |
---|---|
HM 305-x | — |
HM 407-x | — |
HM 1507 | FC1.01 DG1.03 |
HM 1507-x | — |
Der dominierende Fehler in der Impedanzmessung entsteht durch das Abgreifen der Spannungen am Prüfling Z und am Strommeßwiderstand R. Diesen beiden Impedanzen ist jeweils die Eingangsimpedanz des Oszilloskops mitsamt der Kabelkapazität (und Verlusten) parallelgeschaltet. Im Impedanzmodell werden daher die Parallelimpedanzen Zp und Rp eingeführt.
Die gesuchte Impedanz Z ergibt sich jetzt aus der Formel
Die beiden unbekannten Parallelimpedanzen Zp und Rp können durch zwei Kalibriermessungen bestimmt werden. Die erste Messung wird mit offener Prüfimpedanz Z gemacht, also 1/Z = 0. Die zweite Messung wird mit der Prüfimpedanz Z = R durchgeführt. Dadurch entstehen die beiden Gleichungen
und
Darin sind neben dem gewählten Wert für R auch die beiden mit a und b indizierten Klammerausdrücke aus den beiden Kalibriermessungen bekannt. Damit können aus den beiden Gleichungen die beiden unbekannten Zp und Rp bestimmt werden.