Dieser Artikel beschreibt einen Prototyp eines LC-Meters und vor allem die dahinter stehende Theorie. Eine praktische Bauanleitung incl. Platine und Stückliste ist im neueren Artikel LC-meter 2.0 beschrieben.
Vor einiger Zeit hat mich die Frage eingeholt, wie groß denn wohl die Induktivität einer unbekannten Spule ist. Oder etwas genauer gefragt: wie groß ist der Kopplungsfaktor zweier Wicklungen auf einem Ringkern, den ich als Balun von 50 Ohm unsymmetrisch auf 50 Ohm symmetrisch benutzen wollte.
Dazu kann man die zwei Wicklungen auf dem Ringkern (im Bild sind es tatsächlich drei Wicklungen; die gerade nicht betrachtete Wicklung kann jeweils ignoriert werden) wie die zwei Wicklungen eines Transformators betrachten. Ich nenne sie daher auch Primär- und Sekundärwicklung. Selbst dann, wenn wie in meinem Fall, Primär- und Sekundärwicklung gleichartig aufgebaut sind, und sie vertauschbar sind.
Um nun den Kopplungsfaktor zwischen zwei Wicklungen, die sich auf einem Wickelkörper befinden, zu bestimmen, lautet eine mögliche Meßvorschrift wie folgt:
Messe die Induktivität, wenn die Primärwicklung und die Sekundärwicklung in Reihe
geschaltet sind. Diesen Wert nennen wir Lx. Das heißt, der Anfang der Primärwicklung wird mit dem einen Anschluß
des Induktivitätsmeßgerätes verbunden. Das Ende der Primärwicklung wird mit dem Anfang
der Sekundärwicklung verbunden. Das verbliebene Ende der Sekundärwicklung verbindet man
mit dem anderen Pol des Meßgerätes. Wenn Primär und Sekundärwicklung gleichartig
aufgebaut sind, so ist die Induktivität der Reihenschaltung etwa das vierfache einer
einzelnen Wicklung, da die Induktivität proportional zum Quadrat der Windungszahl
ist: Doppelte Windungszahl, vierfache Induktivität; dreifache Windungszahl, neunfache
Induktivität; usw. Diese Aussage gilt natürlich nur bei starker Kopplung, wie sie in
Transformatoren und auf meinem Ringkern zu erwarten ist. Bei sehr schwacher Kopplung
würden sich die Induktivitäten der beiden Wicklungen einfach addieren. Das wäre
beispielsweise bei zwei Festinduktivitäten oder bei zwei Spulen, die genügend weit
voneinander entfernt sind, der Fall. In der Praxis wird man viele Fälle finden, bei
denen die Gesamtinduktivität zwischen der doppelten (keine Kopplung) und der vierfachen
Induktivität (perfekte Kopplung) liegt.
Messe die Induktivität, wenn gegenüber der ersten Messung eine der beiden Wicklungen
umgepolt wird. Diesen Wert nennen wir Ly. Bei starker Kopplung und ansonsten gleichartigen Wicklungen erhält man
das, was man eine bifilar gewickelte Spule bezeichnet. Die Konsequenz ist, daß die
resultierende Induktivität nahe bei Null liegt. Zumindest ist sie sehr klein verglichen
mit den Induktivitäten der einzelnen Wicklungen. Wenn gar keine Kopplung vorliegt,
dann addieren sich ebenfalls die einzelnen Induktivitäten. Genauso, als ob man zwei
Festinduktivitäten auf dem Labortisch liegen hat, die in Reihe geschaltet sind, und von
denen man eine umpolt. Die Gesamtinduktivität ändert sich nicht.
Aus der Messung der Induktivität für die Serienschaltung Lx und der Induktivität für die 'Anti-Serienschaltung' Ly sowie der Messung der einzelnen Induktivitäten L1 und L2 kann der Kopplungsfaktor k wie folgt ermittelt werden:
Kennt man übrigens den Kopplungsfaktor k, so läßt sich die Gegeninduktivität M wie folgt berechnen:
Wenn man zwei Induktivitäten hat, für die L1=L2 ist und die nicht gekoppelt sind (z.b. jede Induktivität auf einem eigenen Ringkern), dann ist Lx=Ly und somit k=0 und M=0. Befinden sich dagegen diese zwei gleichen Induktivitäten gemeinsam auf einem Ringkern - was eine sehr starke Kopplung bewirkt - dann ist Lx=4L1=4L2 und Ly=0. Durch einsetzen in die erste Gleichung erhält man k=1 und somit M=L1=L2. Je nach Konstruktion kann man losere Kopplungen (zwei Luftspulen ein einem gewissen Abstand) oder festere Kopplungen (ein Netztransformator) erhalten. Man kann die Kopplung als ein Maß verstehen, das angibt, wie stark das Magnetfeld der einen Induktivität das Innere der jeweils anderen Induktivität durchdringt.
Weitere Anwendungen zum LC-Meter werden hier vorgestellt.
Da ich gerade kein Induktivitätsmeßgerät zur Hand hatte, habe ich mir eins gebaut. Na ja ... es ist ein kleines Projekt draus geworden. Im Web findet man natürlich immer Anregungen. Und letztlich unterscheidet sich meine Lösung nicht fundamental von der Lösung in [1].
Grundsätzlich wird (zumindest in meinem Projekt) die Bestimmung der Induktivität L auf die Frequenzmessung eines freischwingenden Oszillators zurückgeführt, wobei die Thomsonsche Schwingungsformel
die Frequenz f oder die Kreisfrequenz ω mit der unbekannten Induktivität L und der bekannten Kapazität C des Schwingkreises verknüpft.
Eine alternativer Ansatz besteht aus einem Oszillator, der lose an den Schwingkreis gekoppelt ist, der wiederum die zu messende Induktivität L enthält. Gemessen wird die Spannung U(f) über dem Schwingkreis in Abhängigkeit von der Frequenz f. Stimmt die Frequenz des Oszillators mit der Eigenfrequenz des Schwingkreises überein, so ist die Spannung maximal. Die Induktivität wird auch hier über die Thomsonsche Schwingungsformel errechnet. Letzten Endes handelt es sich hier direkt um die Aufnahme der Resonanzkurve.
Eine dritte Variante beruht auf der Wheatstone'schen Wechselstrom-Brücke. Ich möchte sie hier nicht weiter betrachten.
Aus diesen Vorbemerkungen ergeben sich folgende Anforderunge
Das LC-Meßgerät besteht aus folgenden Baublöcken:
Die wesentliche Baugruppe ist der freischwingende LC-Oszillator. Sein frequenzbestimmender Schwingkreis besteht aus der zu messenden Induktivität L und der Kapazität C, die als bekannt angenommen wird. Als aktives Bauelement findet der Komparator LM311 Verwendung.
Nicht minder wichtig ist der Micro-Controller ATMega163 von Atmel. Der ATMega163 ist zwar mittlerweile veraltet und kann leicht durch einen ATMega16 oder, falls nötig, durch den größeren ATMega32 oder deren Nachfolger ersetzt werden. Ich hatte einen 163er noch in der Schublade gehabt und wollte ihn in diesem Projekt einem sinnvollen Verwendungszweck zuführen. Der ATMega163 enthält eine Reihe verschiedener peripherer Komponenten, von denen neben den klassischen I/O-Ports die drei kombinierten Timer und Counter für das LC-Meter mit die wichtigsten sind.
Das LC-Display dient als Ausgabemedium. Im Prototyp wir ein vierzeiliges Exemplar eingesetzt. Für die tägliche Anwendung dürfte wohl ein zweizeiliges Display vollkommen ausreichen.
Bedient wird das LC-Meter mittels einiger weniger Taster. Neben einem Taster, der die Hintergrundbeleuchtung des LCD schaltet, gibt es einen weiteren, der den Meßmodus (L-Messung, C-Messung über den Oszillator, C-Messung mit dem NE555) bestimmt.
Abschließend gibt es noch den monostabilen Multivibrator, der mit einem NE555 aufgebaut ist. Er dient dazu, die Kapazität über die Zeit, die benötigt wird, einen Kondensator über einen Widerstand aufzuladen, zu ermitteln. Hier steht die Idee im Vordergrund, die Kapazitätsmessung, wie eingangs gefordert, auf eine Widerstandsmessung zurückzuführen.
Die folgenden Bilder zeigen den Schaltplan, der auf vier Seiten verteilt ist, sowie das Layout der Platine. Schaltplan und Platine liegen auch als Eagle-Files vor ([3],[4]).
![]() |
![]() |
![]() |
![]() |
![]() |
Auf den ersten Blick mag dieses Kapitel überflüssig erscheinen. Was gibt es schon großartiges über Induktivitäten zu bemerken? Eine Induktivität ist durch ihren Wert, angegeben in μH, mH oder gar H doch ausreichend charakterisiert? Daß dem nicht so ist, sieht man allein schon daran, daß eine Induktivität aus Draht aufgebaut ist. Drähte, auch Kupferdrähte, haben einen nicht verschwindenden Widerstand. Beispielsweise hat eine handelsübliche Festinduktivität für 1 mH einen Widerstand von 14 Ω. Widerstände sind ein Maß für Verluste. Auch das Kernmaterial wird für Verluste sorgen und so für eine weitere Erhöhung der ohmschen Anteile. Weiterhin haben Induktivitäten Anschlußdrähte. Diese, und seien sie auch noch so klein (SMD), haben eine nichtverschwindende Kapazität. Auch abhängig vom Spulenaufbau können weitere kapazitive Anteile hinzukommen. Man könnte das Spiel sogar noch weiter treiben und jedem Paar aus benachbarten Windungen eine Kapazität zuschreiben. Abschließend sei bemerkt, daß vor allem die parasitären Beiträge auch noch frequenzabhängig sein können. Vor allem die Eigenschaften des verwendeten Kernmaterials können eine Ursache dafür sein. Oder auch der Skin-Effekt, der bei zunehmender Frequenz den Strom nur noch in der Nähe der Oberfläche des Drahtes fließen läßt, ist naturgemäß frequenzabhängig.
Wenn man ein Induktivitätsmeßgerät baut, dann muß man sich selbst darüber im klaren sein, welche parasitären Anteile der Spule man bei der Messung neben der primär zu messenden Induktivität darüber hinaus noch berücksichtigen will. Im einfachsten Fall würde man sowohl die ohmschen Verlustwiderstände als auch jegliche Form der Parallelkapazitäten vernachlässigen. Des weiteren würde man alle Größen als frequenzunabhängig annehmen. Eine etwas realistischere Betrachtung wäre, daß man zusätzlich zur Induktivität die Parallelkapazität versucht zu ermitteln. Dieser Weg soll im weiteren Verlauf auch beschrieben werden.
Übrigens für Kapazitäten kann man analoge Betrachtungen durchführen. Die Zuleitungen liefern einen Beitrag zur Serieninduktivität und die endliche Leitfähigkeit sowie (frequenzabhängige) Verluste im Dielektrikum tragen zu einem Verlustwiderstand bei.
Wie bereits in der Einführung angedeutet, beruht die Messung einer Induktivität L auf der Messung der Frequenz f bzw der Kreisfrequenz ω eines Schwingkreises bestehend aus L und C. Die Thomsonschen Schwingungsformel verknüpft diese Größen gemäß:
Sind zwei Größen der Gleichung bekannt, so kann die dritte daraus berechnet werden. Für ein Induktivitätsmessgerät wäre ein gängiges Vorgehen, die Frequenz f zu messen und die Kapazität C als bekannt vorauszusetzen. Beispielsweise könnte man einen Kondensator mit genügend genau bekannter Kapazität in den Schwingkreis einbauen. Dann kann L leicht gemäß
berechnet werden. In dem hier diskutierten Induktivitätsmeßgerät wird prinzipiell genau so vorgegangen. In der Praxis hat man jedoch mit verschiedenen Schwierigkeiten zu rechnen:
Anhand des folgenden Schaltbildes, das ein Auszug aus dem Schaltplan - Teil 2 (LC-Oszillator) ist, werden die weiteren Einzelheiten diskutiert.
Die unbekannte Induktivität Lx wird an die Klemmen X3 und X4 angeschlossen. Damit ist sie in Serie zu L3 angeordnet. C13 ergänzt die Schaltung zu einem vollständigen Schwingkreis. Hinweis: Der Schalter K1 dient hier zur Überbrückung von L3, während er im Schaltplan noch dazu dient, den 330 pF Kondensator zu schalten. Dieser Kondensator wird jetzt über K2 geschaltet. K8 wird nicht weiter berücksichtigt.
Um die hohen Frequenzen zu vermeiden, die sich aus sehr kleinen zu messenden Induktivitäten ergeben, kann man einerseits die Kreiskapazität erhöhen oder andererseits die Induktivität erhöhen, indem man eine weitere Induktivität L3 zur unbekannten und zu messenden Induktivität Lx in Reihe schaltet: L = L3 + Lx. Generell gilt als Daumenregel, daß das Verhältnis aus L und C eher groß als klein sein soll. Es ist also ratsamer L zu vergrößern statt C. Wie ein Blick auf den Schaltplan beweist, wurde genau diese zweite Möglichkeit realisiert - genauso wie in der Vorlage ([1]). Ist Lx = 0 (oder zumindest sehr viel kleiner als L3) so hat der Schwingkreis, der jetzt nur noch aus L3 und C13 besteht, eine Eigenfrequenz von rund 1 MHz. Selbst ein sehr kleines Lx kann die Frequenz nur noch erniedrigen.
Zunächst wollen wir L3 nicht berücksichtigen und es mittels K1 kurzschließen, was zur Konsequenz hat, daß Lx nicht wesentlich kleiner als 50 μH sein darf, damit die obere Frequenzgrenze des Oszillators und des ATMega163 nicht überschritten wird. Weiterhin wollen wir annehmen, daß Lx eine parasitäre Parallelkapazität haben kann. Schließlich müssen wir sogar annehmen, daß der Schaltungsaufbau selber einen weiteren unbekannten kapazitiven Beitrag zum gesamten Schwingkreis liefern wird. Diese parasitäre Kapazität von Lx und die Kapazität aus dem Schaltungsaufbau fassen wir unter Cy zusammen. Man sieht sofort, daß zwei Größen zu bestimmen sind: primär Lx und als Dreingabe Cy. Da liegt einem doch sofort der Satz "zwei Gleichungen - zwei Unbekannte" auf der Zunge. Welches sind nun die zwei Gleichungen? Da wir Schwingkreise betrachten, müssen die beiden Gleichungen, die wir benötigen, auf die Thomsonsche Schwingungsformel zurückzuführen sein. Wir können leicht dadurch zwei Gleichungen erzielen, indem wir zwei Messungen durchführen und bei der zweiten Messung ein Bauteil in den Schwingkreis einführen, dessen Wert wir genau kennen. C13 bietet sich sofort an, weil dieser Kondensator über K2 zugeschaltet werden kann.
Messung von | Dabei wirksame Komponenten |
---|---|
f1 | Lx, C13, Cy |
f2 | Lx, C13, Cy, C15 |
Die Herleitung ist hier noch ein wenig detaillierter dargestellt. Die Formeln sind nicht zu komplex und lassen sich leicht auch für einen Microcontroller realisieren. Im folgenden werden ein paar Meßergebnisse gezeigt, die die prinzipielle Tauglichkeit dieses Ansatzes belegen.
Messung | nomineller Wert | gemessener Wert | Cy | Bemerkungen |
---|---|---|---|---|
1 | 2,4 mH | 2,41 mH | 46,9 pF | Festinduktivität |
4 | unbekannt | 12,1 mH | 332 pF | Trafo 230V/15 V auf Sekundärseite gemessen |
5 | unbekannt | 127 μH | 34,1 pF | Einlagige Zylinderspule |
6 | 47 μH | 47,3 μH | 45,4 pF | Festinduktivität |
7 | unbekannt | 4,18 mH | 37,1 pF | LW-Spule auf Ferritstab |
8 | 47 μH || 470 pF | 47,3 μH | 522 pF | Festinduktivität mit Parallelkapazität |
Die Nummern, zu denen es keine Messungen gibt, konnten hier noch nicht durchgeführt werden, weil die Induktivitäten mit wenigen 10 μH zu gering waren. Der Oszillator ist garnicht erst angeschwungen. Was man erkennt, ist, daß die Werte der bekannten Induktivitäten sich gut reproduzieren lassen. Die Kapazität der gesamten Meßanodnung dürfte bei rund 30 pF liegen, wie die Messung der einlagigen Zylinderspule, die von hause aus kapazitätsarm ist, belegt. Eine Zusatzkapazität von 470 pF wird auch ziemlich korrekt ermittelt (Messungen 6 und 8). Die Langwellenspule ist ebenfalls recht kapazitätsarm, während der Trafo eine schon recht hohe Kapazität aufweist.
Als Schmankerl sei noch folgendes erwähnt: Selektiert man aus einer größeren Menge von Festinduktivitäten zwei Stück, deren gemessene Induktivitäten Lx und gemessene Kapazitäten Cy möglichst gleich sind, so kann man beide Induktivitäten dann in Reihe schalten und erneut messen. Die gemessene Induktivität wird sich dann verdoppeln während der gemessene Wert von Cy sinken wird, weil die parasitären Kapazitäten der beiden Induktivitäten jetz in Reihe geschaltet sind und sie sich somit halbieren. Das doppelte der Differenz der beiden Cy-Werte ist die parasitäre Kapazität einer Induktivität. Der Versuch, dies mit der 47 μH-Festinduktivität durchzuführen ergab eine parasitäre Kapazität von etwa 15 pF. Das heißt, in Messung 6 gehen 15 von den 45,4 pF auf das Konto der Induktivität und rund 30 pF stammen vom Schaltungsaufbau. Auch das ist im Einklang mit den Ergebnissen der kapazitätsarmen Spulen.
Jetzt möchten wir auch kleine Induktivitäten messen und dazu ist es notwendig L3 der unbekannten Induktivität Lx in Reihe zu schalten. Daraus ergibt sich die einfachste Meßvorschrift: Der Schwingkreis besteht nur aus Lx, L3 und C13. Die Bauteile werden als ideal betrachtet, die Bauteilewerte von L3 und C13 werden als exakt angenommen, die Einflüsse der Leiterbahnen werden vernachlässigt und der Einfluß des LM311 auf die Schwingfrequenz wird ebenfalls vernachlässigt. Cy ist also null. Dann läßt sich Lx aus der gemessenen Frequenz f1, deren Meßfehler ebenfalls vernachlässigt werden kann, wie folgt berechnen:
Messung von | Dabei wirksame Komponenten |
---|---|
f1 | Lx, L3, C13 |
Ein Anfang ist gemacht. Aber diese Lösung ernsthaft weiter zu vefolgen, lohnt nicht. Unter realen Bedingungen werden zumindest die Werte der verwendeten Bauteile C13 und L3 eine nichtverschwindende Toleranz aufweisen. Leicht (für den Bastler) beschaffbare Kondensatoren lassen sich bis auf weinige Prozent genau fertigen; bei Induktivitäten liegen die Toleranzen kaum unter 10%. Ganz grob kann man daraus schließen, daß gemessene Induktivitäten von 5 μH oder weniger einen Fehler von mindestens 100% aufweisen werden. Die Messung ist dann praktisch wertlos. Je kleiner also Lx ist, desto größer ist der Einfluß des Fehlers von L3 auf den Meßwert. Der Fehler von C13 spielt dann nur noch eine untergeordnete Rolle. Umgekehrt - je größer Lx ist desto geringer ist der Einfluß von L3 auf das Meßergebnis. Dann dominiert nur noch der Fehler von C13. Da Cy hier nicht berücksichtigt wird, wollen wir uns mit dieser Meßvorschrift nicht weiter befassen und uns gleich der nächste Meßvorschrift zuwenden, die zeigt, wie man zunächst den Fehler von L3 eliminieren kann.
Diese Meßvorschrift eliminiert die Toleranz der Induktivität L3, indem zwei Messungen durchgeführt werden wobei im einen Fall Lx am Schwingkreis beteiligt ist während im anderen Fall Lx kurzgeschlossen ist und damit 0 ist. Der Schalter K7 dient dazu, die unbekannte Induktivität Lx zu überbrücken. Die erste Messung wird also gemäß der Meßvorschrift 2 durchgeführt wobei K7 offen ist. Sie lefert die Frequenz f1 die zum Schwingkreis bestehend aus Lx, L3 und C13 gehört. Die zweite Messung liefert die Frequenz f2, die zu einem Schwingkreis gehört, der nur aus L3 und C13 besteht. Daraus kann L3 leicht berechnet werden. Dieser Schwingkreis hat natürlich eine höhere Resonanzfrequenz als derjenige, der bei der Messung von f1 benutzt wurde. Also f2 > f1.
Messung von | Dabei wirksame Komponenten |
---|---|
f1 | Lx, L3, C13 |
f2 | L3, C13 |
Der Wert von L3 tritt, nachdem L3 in die untere Gleichung eingestzt wurde, nicht mehr auf und kann somit auch keinen Beitrag mehr zum Fehler leisten. Bleibt immer noch Cy, das für kleine Induktivitäten nicht berücksichtigt wurde. Die folgende Meßvorschrift 4a und alternativ 4b zeigen einen Weg, auch eine Aussage über Cy zu erhalten.
Jetzt wird zusätzlich noch eine dritte Messung durchgeführt. f1 und f2 bestimmen sich wie oben. f3 wird gemessen während Lx kurzgeschlossen ist, und C15 über K2 zugeschaltet ist. Insgesamt liegen damit drei Gleichungen vor mit den drei Unbekannten Lx, L3 und Cy. Es gäbe sogar noch eine vierte Möglichkeit zu messen: nämlich bei offenem K7 und geschlossenem K2. Dies würde jedoch zu einem Überbestimmten Gleichungssystem führen, das normalerweise nicht lösbar ist, sondern nur im Sinne eines geringsten Fehlers - nicht unmöglich, aber ich habe das nicht weiter betrachtet. Was aber leicht geht, ist diese vierte Messung trotzdem durchzuführen und die Ergebnisse dann für Lx zu vergleichen. Abweichungen deuten dann auf Besonderheiten der unbekannten Induktivität Lx hin. Siehe auch 5.5.
Messung von | Dabei wirksame Komponenten |
---|---|
f1 | Lx, L3, C13, Cy |
f2 | L3, C13, Cy |
f3 | L3, C13, Cy, C15 |
Interessant ist natürlich die dritte Gleichung, die die drei gemessenen Frequenzen f1, f2 und f3 sowie der Kapazität C15 mit der Induktivität Lx in Beziehung setzt. Die anderen beiden Gleichungen wurden nur der Vollständigkeit halber angegeben. In Einzelfall mag es durchaus interessant sein, Cy zu bestimmen, denn dieser Wert sagt ja etwas über die parasitären Kapazitäten des Aufbaus aus. Für C13 ist tatsächlich der aufgedruckte Wert einzusetzten. Die Toleranz wurde ja Cy zugeschlagen. Auch L3 läßt sich aus den drei gemessenen Frequenzen und C15 ermitteln. Da jetzt alle Werte nur noch von den Frequenzen und C15 abhängen, kann man folgern, daß man sich diesen Kondensator mit der niedrigsten Toleranz und möglichst auch mit einer hohen Langzeitstabilität beschaffen soll. Außerdem soll seine Einbindung in das gesamte Layout so wenig wie möglich weitere parasitäre Kapazitäten beisteuern. Hier gilt es alle Leiterbahnen so kurz wie möglich auszuführen. Bei einem Kondensator mit 330pF und einer Toleranz von 2,5% bedeuten 8pF Aufbau- und Leiterbahnkapazitäten einen erheblichen Verlust an Genauigkeit. Andererseits hoffe ich, daß es mir gelungen ist, deutlich unter den 8 pF zu liegen.
Die mit dem Prototypen durchgeführten Messungen gemäß Vorschrift 4a ergaben folgende Ergebnisse:
Messung | nomineller Wert | gemessener Wert | L3 | Cy | Bemerkungen |
---|---|---|---|---|---|
1 | 2,4 mH | 2,41 mH | 46,2 μH | 43,4 pF | Festinduktivität |
2 | 15 μH | 14,8 μH | 46,2 μH | 43,3 pF | Festinduktivität |
3 | 10 μH | 9,2 μH | 46,2 μH | 43,4 pF | Festinduktivität |
4 | unbekannt | 18,8 mH | 46,2 μH | 43,5 pF | Trafo 230V/15 V auf Sekundärseite gemessen |
5 | unbekannt | 122 μH | 46,2 μH | 43,5 pF | Einlagige Zylinderspule |
6 | 47 μH | 45,4 μH | 46,2 μH | 43,5 pF | Festinduktivität |
7 | unbekannt | 4,04 mH | 46,2 μH | 43,6 pF | LW-Spule auf Ferritstab |
8 | 47 μH || 470 pF | 72,8 μH | 46,2 μH | 43,8 pF | Festinduktivität mit Parallelkapazität |
9 | Kurzschluß (L=0) | -0,02 μH | 46,1 μH | 43,2 pF | 2 cm Leiterschleife |
10 | 10 μH || 470 pF | 10,8 μH | 46,2 μH | 44,1 pF | Festinduktivität mit Parallelkapazität |
Bei allen Messungen fällt auf, daß die Werte von L3 und Cy kaum variieren. Auf den ersten Blick ein gutes Zeichen. Aber der Vergleich mit den Messungen aus 5.1 liefert Widersprüche. Die Induktivitäten der Bauteile mit hoher Parallelkapazität (Messung 4 und 8) liefern einen zu hohen Wert für Lx und zu kleine Werte für Cy. Betrachtet man insbesondere die Messung 8, So fällt auf, daß die Parallelkapazität zu Lx sich ausschließlich auf den Wert der Induktivität von Lx auswirkt und nicht, wie erwartet, als Erhöhung des Wertes von Cy. Schaltet man jedoch die 470 pF parallel zu C13, so wird für Cy ein Wert von 522 pF ermittelt, was ein durchaus vernünftiger Wert ist. Diese Messung zeigt, daß die gewählte Konfiguration nicht dazu geeignet ist, Parallelkapazitäten zu Lx richtig zu ermitteln. Diese Konfiguration liefert also nur dann vernünftige Resultate, wenn Lx eine ideale (oder doch zumindest kapazitätsarme) Induktivität ist. Letzten Endes ist das aber nicht verwunderlich, denn der Schwingkreis hat hier ein viel komplizierteren Aufbau. Lx bildet mit seiner parasitären Kapazität, die nur ein Teil von Cy ist, bereits einen Schwingkreis, dem in Reihe die Induktivität L3 geschaltet ist. Dieser Anordnung sind dann noch die Kapazitäten C13, C15, und die schaltungsbedingten Anteile von Cy parallelgeschaltet.
Messung 9 liefert einen negativen Wert. Das kann immer mal wieder passieren, wenn sehr große, fast gleiche Zahlen voneinander subtrahiert werden. Möglicherweise führt das Schließen von K7 zu einer Erhöhung parasitärer Kapazitäten, die die Reduzierung der Induktivität Lx überkompensiert.
Wie bereits bei der Meßvorschrift 4a (5.4) angedeutet, gibt es noch eine weitere, die sich in der Ausführung der dritten Messung unterscheidet. Alternativ wird ausgehend von der ersten Messung, bei der Lx nicht kurzgeschlossen ist, C15 zugeschaltet und dabei f4 gemessen. Es sind also alle Bauteile am Schwingkreis beteiligt, während in der Meßvorschrift 4a die unbekannte Induktivität Lx ja kurzgeschlossen und somit nicht wirksam war. Das Ergebnis ist der folgende Satz von Gleichungen:
Messung von | Dabei wirksame Komponenten |
---|---|
f1 | Lx, L3, C13, Cy |
f2 | L3, C13, Cy |
f4 | Lx, L3, C13, Cy, C15 |
Es fällt auf, daß die Gleichungen strukturell sehr ähnlich aussehen. Natürlich müssen die beiden Meßvorschriften 4a und 4b zum selben Ergebnis für alle drei Größen L3, Cy und Lx führen. In der Realität werden sie das jedoch nicht tun. Wir werden zufrieden sein, wenn die drei Größen nicht zu sehr voneinander abweichen. Vor allem Lx sollte zwischen beiden Varianten weniger variieren, als es der Meßfehler vermuten läßt. Wenn Lx keine parasitären Kapazitäten hat, dann werden die Ergebnisse konsistent sein. Hat Lx aber z.B. sogar einen Kondensator parallel geschaltet, dann werden die Messungen massiv abweichen. Das kann beispielsweise auch dann passieren, wenn die zu messende Spule gar keinen Kondensator eingebaut hat. Entweder sie hat dann einen Wicklungsaufbau, der zu einer hohen Kapazität führt, oder es handelt sich um einen Transformator mit großem Übersetzungsverhältnis. Mißt man auf der Seite mit der geringen Windungszahl (Primärseite, n1 Windungen), dann werden die Wicklungskapazitäten (oder sogar eine echte angeschlossene Kapazität) der Spule mit der hohen Windungszahl (Sekundärseite, n2 Windungen) so transformiert daß sie um den Faktor ü2 an der Primärspule erscheinen. ü ist das Windungsverhältnis der Sekundärspule und der Primärspule.
Das Problem mit den Kapazitäten der zu messenden Induktivität ist, daß sie nicht parallel zum gesamten Schwingkreis bestehend aus Lx und L3 liegen, sondern nur parallel zu Lx, was ja seinerseits nur ein Teil der gesamten Induktivität des Schwingkreises ist. Das gesamte Gebilde ist dann jedenfalls kein einfacher Schwingkreis mehr.
Die Messungen nach der Meßvorschrift 4ahaben ja schon gezeigt, daß die Ergebnisse mir Vorsicht zu genießen sind. Trotzdem wurden die Messungen mit den selben Bauteilen in der Variante 4b wiederholt. Nachfolgend die Ergebnisse.
Messung | nomineller Wert | gemessener Wert | L3 | Cy | Bemerkungen |
---|---|---|---|---|---|
1 | 2,4 mH | 2,40 mH | 46,1 μH | 46,4 pF | Festinduktivität |
2 | 15 μH | 14,9 μH | 47,1 μH | 34,5 pF | Festinduktivität |
3 | 10 μH | 9,2 μH | 46,9 μH | 36,4 pF | Festinduktivität |
4 | unbekannt | 12,1 mH | 29,7 μH | 331 pF | Trafo 230V/15 V auf Sekundärseite gemessen |
5 | unbekannt | 126 μH | 47,5 μH | 29,7 pF | Einlagige Zylinderspule |
6 | 47 μH | 46,5 μH | 47,3 μH | 32,0 pF | Festinduktivität |
7 | unbekannt | 4,14 mH | 46,9 μH | 36,9 pF | LW-Spule auf Ferritstab |
8 | 47 μH || 470 pF | 55,6 μH | 35,3 μH | 202 pF | Festinduktivität mit Parallelkapazität |
9 | Kurzschluß (L=0) | -0,02 μH | 46,2 μH | 42,4 pF | 2 cm Leiterschleife |
10 | 10 μH || 470 pF | 10,6 μH | 45,4 μH | 54,0 pF | Festinduktivität mit Parallelkapazität |
Im Vergleich zu den Messungen in 5.4 fällt hier auf, daß L3 und vor allem Cy stärker variieren. Das ist ein Indiz dafür, daß parasitäre Kapazitäten von Lx vorhanden sind und sie sich unterschiedlich stark auf L3 und Cy auswirken. Messung 8 mit der absichtlich zugefügten Kapazität und Messung 4 mit dem Transformator zeigen dies deutlich. Die gemessene Induktivität fällt kleiner aus, während ein Teil der Parallelkapazität jetzt bei Cy zu finden ist. Schaltet man bei Messung 8 jedoch die 470 pF wieder parallel zu C13, so wird für Cy ein Wert von 511 pF ermittelt, was auch hier ein durchaus vernünftiger Wert ist. Die Messung 4 mit dem Trafo zeigt noch etwas anderes: Sowohl Lx als auch Cy stimmen sehr gut mit den Werten aus 5.1 überein. Das liegt daran, daß L3 sehr klein verglichen mit Lx ist.
Zum negativen Wert der Messung 9 gilt ebenfalls das in 5.4 gesagte.
Tendenziell scheint diese Meßvorschrift die etwas besseren Ergebnisse zu liefern. Die Werte von L3 liegen näher an den nominellen Werten dran. Aber auch hier muß als Fazit festgehalten werden, daß die gewählte Konfiguration zur Messung von Kapazitäten parallel zu Lx nicht geeignet ist, vor allem wenn Lx von der selben Größenordnung wie L3 ist. Ist jedoch Lx < L3 so wirkt sich eine parasitäre Kapazität kaum noch auf das Ergebnis von Lx aus, wie die Messungen 10 im Vergleich zu 3 zeigen. Cy bleibt aber trotzdem wertlos.
Kapazitäten können wir auf zwei Wegen messen. Einmal können wir wieder auf einen Schwingkreis zurückgreifen, bei dem wir den Wert der Induktivität kennen und aus der gemessenen Frequenz auf die Kapazität rückschließen können. Die bereits mehrfach zitierte Thomsonsche Schwingungsformel wird dazu einfach nach C aufgelöst und man erhält:
Alternativ wird zur Messung der Kapazität der gute alte Timer NE555 (z.B. [6]) verwendet, der von vielen Herstellern angeboten wird. Er kennt zwei Betriebsarten, wobei in diesem Einsatzfall er als sogenannter monostabiler Multivibrator, auch bekannt als Monoflop, betrieben wird. Grundidee ist, daß die Ladezeit (oder auch Entladezeit) eines Kondensators in einem formelmäßigen Zusammenhang mit seiner Kapazität steht.
Da wir auch hier wieder sehr kleine Kapazitäten Cx messen wollen, folgen wir der selben Strategie wie bei der Messung kleiner Induktivitäten Lx. Ähnlich, wie dort die Serienschaltung aus Lx und L3 sicherstellt, daß die Induktivität im Schwingkreis einen Minimalwert, nämlich den von L3, nicht unterschreitet, wird hier durch Parallelschaltung von Cx und C13 erreicht, daß die Kapazität nicht unter den Wert von C13 fällt. Die Schwingfrequenz im Schwingkreis wird daher nicht über rund 1 MHz liegen. Im folgenden als Wiederholung nochmal der relevante Ausschnitt aus dem Schaltplan.
Wir hatten bei der L-Messung immer die parasitären Kapazitäten der Induktivität und des Schaltungsaufbaus durch Cy ausgedrückt und versucht, diesen Wert zu bestimmen. Da wir uns bei der C-Messung nicht weiter dafür interessieren, schlagen wir sie einfach dem Kondensator C13 zu.
Die Größen Cx, L3 und C13 sind als unbekannt zu betrachten. Es müssen also minimal drei Frequenzmessungen durchgeführt werden, bei denen der Schwingkreis so zu konfigurieren ist, daß drei Gleichungen dabei entstehen. Die folgende Aufstellung zeigt eine Möglichkeit:
Messung von | Dabei wirksame Komponenten |
---|---|
f1 | C13, L3 |
f2 | C13, C15, L3 |
f3 | Cx, C13, L3 |
Damit ist C15 derjenige Kondensator, dessen Genauigkeit direkt in das Meßergebnis einfließt. Sein Wert muß daher so genau wie möglich bekannt sein. Die folgenden Formeln geben an, wie aus den gemessenen Frequenzen neben L3 und C13 vor allem die zu bstimmende Kapazität Cx zu berechnen ist.
Alternativ besteht auch hier wieder die Möglichkeit - wie bei der Messung der Induktivitäten - die dritte Frequenzmessung mit zugeschaltetem Kondensator C15 durchzuführen. Die Frequenz in dieser Konfiguration bezeichnen wir hier mit f4.
Messung von | Dabei wirksame Komponenten |
---|---|
f1 | C13, L3 |
f2 | C13, C15, L3 |
f4 | Cx, C13, C15, L3 |
Die Werte von C13 und L3 berechnen sich genau so wie vorher; nur bei der Berechnung von Cx erfolgt deutlich anders.
Elegant wäre es, den Kondensator Cx über ein Relais unter der Kontrolle des Microcontrollers zuzuschalten. Das wurde aber nicht vorgesehen, so daß die Bedienung des LC-Meters in diesem Meßmodus ein wenig anders erfolgt. Man muß manuell festlegen, ob man gerade die f1 und f2-Messung ohne Cx durchführt, oder die eigentliche f3 bzw. f4-Messung mit Cx.
Die parasitären Kapazitäten einer Induktivität liegen in einer Größenordnung, die das LC-Meter leicht bestimmen kann und deren Nichtberücksichtigung das Meßergebnis deutlich beeinträchtigen kann. Das Gegenstück bei der Kapazitäsmessung wären demnach parasitäre Induktivitäten, die unter anderem von den Zuleitungen kommen können. Wir werden solche Induktivitäten, die zumeist unter 1 μH liegen;, nicht weiter berücksichtigen.
Der NE555 (auch als LM555 bekannt) [6] ist ein immer wieder gern genommener Baustein, wenn es darum geht, mittels eines Widerstandes und eines Kondensators eine Impulslänge festzulegen. Genau so wird der Baustein auch hier verwendets wobei er in der monostable operation betrieben wird (monostabiler Multivibrator, Monoflop). Das folgende Bild zeigt den wesentlichen Schaltungsauszug so weit er zum Verständnis relevant ist.
Ein Übergang von High nach Low am Triggereingang TR (Pin 2) bewirkt, daß der Ausgang Q (Pin 3) auf High wechselt. Abhängig von der Dimensierung der zeitbestimmenden Bauteile bleibt der Ausgang für die Zeit Δt auf High bevor er wieder auf Low wechselt. Der Triggerimpuls sollte dabei deutlich kürzer als Δt sein. Die Bauteile, die die Zeit Δt bestimmen, sind
Ganz allgemein berechnet sich die Impulsdauer Δt gemäß folgender Formel:
Das heißt, die Kapazität C ist direkt proportional zur gemessenen Zeit Δt und hängt sonst nur noch vom Wert des Widerstandes R ab. Somit kann die Kapazitätsmessung auf eine Widerstandsmessung (und natürlich eine Zeitmessung) zurückgeführt werden. Der Faktor ln3, dessen Wert ungefähr 1,1 ist, rührt daher, daß der Kondensator C bis auf 2/3 der Betriebsspannung aufgeladen wird. Löst man nach C auf, so erhält man:
Die Kapazität C setzt sich - nicht unerwartet - aus mehreren Teilkapazitäten zusammen: Zunächst natürlich aus der unbekannte Kapazität Cx, die zu messen ist, dann aus der parasitäre Kapazitäten Cy die vor allem vom Layout und der Verkabelung herrühren und optional aus der Kapazität C17.
Der Faktor ln3, dessen Wert ungefähr 1,1 ist, rührt daher, daß der Kondensator C bis auf 2/3 der Betriebsspannung aufgeladen wird.
Im folgenden werden ein paar Beispiele vorgestellt, die wiederum die Tauglichkeit der Messungen belegen sollen
Messung | nomineller Wert | LC-Kreis (a) | LC-Kreis (b) | NE555 | R (NE555) | Bemerkungen |
---|---|---|---|---|---|---|
1 | 470 pF | 481 pF | 482 pF | 480 pF | 1 MΩ | FKC? |
2 | 470 pF + 10 μH | 527 pF | 515 pF | 481 pF | 1 MΩ | Serienschaltung |
3 | 8,2 pF | 8,3 pF | 8,4 pF | 8,2 pF | 1 MΩ | Keramikkondensator |
4 | 100 nF | 92,4 nF | 92,4 nF | 98,8 nF | 33 kΩ | Vielschichtkondensator |
5 | 100 nF | 98,3 nF | 98,3 nF | 97,0 nF | 33 kΩ | MKS |
6 | 330 nF | 374 nF | 374 nF | 359 nF | 33 kΩ | MKS |
7 | 100 pF | 95,0 pF | 95,3 pF | 95,5 pF | 1 MΩ | FKC? |
Die höchste messbare Kapazität liegt bei ungefähr 330 nF. 470 nF führen bereits zu unsinnigen Resultaten. Beide Varianten liefern praktisch identische Messwerte. Eine zugeschaltete Induktivität führt zu einer Erhöhung der Kapazität; in der zweiten Variante fällt sie aber nicht so groß aus, wie in der ersten. Die Messung mittels NE555 zeigt keine Abhängigkeit von einer vorhandenen Serieninduktivität.
Endlich ist es so weit. Wir sind am Ziel. Wobei zugegebenermaßen das Kapitel über die Kapazitätsmessung keinen weiteren Beitrag zur urspürunglichen Frage - nämlich wie groß ist der Kopplungsfaktor zweier Wicklungen auf einem gemeinsamen Kern - geleistet hat. Gemessen wurden
|
Das Bild zeigt die Teile im Detail. Oben die Spule aus dem Experimentierkasten, darunter der Ferritstab auf dessen linker Seite die Langwellenspulen und auf dessen rechter Seite die Mittelwellenspulen angeordnet sind. Gemessen wurden jeweils die Induktivitäten der einzelnen Wicklungen L1 und L2 sowie die Induktivitäten der Serienschaltung Lx und der Antiserienschaltung Ly. Berechnet wurde dann gemäß
der Kopplungsfaktor k und die Gegeninduktivität M. Die folgende Tabelle führt die Ergebnisse aus.
Messung | L1 | L2 | Lx | Ly | k | M | Bemerkungen |
---|---|---|---|---|---|---|---|
1 | 149 μH | 13,5 μH | 193 μH | 130 μH | 0,35 | 15,8 μH | ohne Kern |
2 | 229 μH | 22,8 μH | 332 μH | 174 μH | 0,55 | 39,5 μH | mit Kern |
3 | 254 μH | 28,1 μH | 394 μH | 171 μH | 0,66 | 55,8 μH | MW-Spulen auf Ferritstab |
4 | 4071 μH | 56,2 μH | 4965 μH | 3437 μH | 0,88 | 382 μH | LW-Spulen auf Ferritstab |
Den Ergebnissen kann man folgende einfache Erkenntnisse entnehmen:
Nachdem die bisherigen Kapitel einige theoretische und grundsätzuliche Aspekte der Meßtechnik beleuchtet haben, soll jetzt der Schwerpunkt auf das Coding gelenkt werden. Der Prototyp wurde wurde in C implementiert und findet leicht im Flash-Speicher des Atmel ATmega163 Platz. Dieser Typ ist heute veraltet; eine Implementierung in einem aktuellen ATmega16x sollte - bis auf eventuell leicht abweichende Register- oder Interruptnamen - kein Problem darstellen. Als Entwicklungsumgebung wurde das AVRStudio 4.15 [8] zusammen mit dem GNU-C-Compiler 4.2.2 aus WinAVR-Suite [9] und der avr-libc in der Version 1.6.0 [10]] benutzt. Die Programmierung erfolgte über das Starter-Kit STK500 [11] im SPI-Mode. Der gesamte Quellcode ist unter [12] nachzulesen. Im folgenden werden einige wichtige Teilaspekte behandelt.
Alle hier vorgestellten Kapazitäts- und Induktivitätsmessungen, denen ein Schwingkreis zugrunde liegt, basieren auf der Messung von Frequenzen. Damit ist dies die Hauptaufgabe, die der ATmega163 zu erfüllen hat. Frequenzmessungen können grundsätzlich auf zwei Arten erfolgen: Messung der Periodendauer einer Schwingung und Zählen der Schwingungen während eines vorgegebenen Zeitintervalls. Hier wird der zweite Ansatz verfolgt, weil Periodendauermessungen nur im Bereich unter einigen kHz sinnvoll sind, während hier bei den L- und C-Messungen Frequenzen ab ca. 10 kHz bis zu rund 1 MHz zu erwarten sind.
Wir benötigen also zwei Timer/Counter. Einer (Timer/Counter 2) wird als Timer konfiguriert während der andere (Timer/Counter 1) als Zähler (Counter) verwendet wird.
#include <avr/interrupt.h> volatile uint32_t CNT; // the global counter volatile uint8_t ready; // 0:counting; 1: ready uint8_t n_CNT; // number of measurements executed double t_gate; // the gate-time #define TF 200 // value for timer - ca. 51 ms // the timer2-compare interrupt ISR(TIMER2_COMP_vect) { uint16_t l,h; TCCR1B = 0; // stop counter TCCR2 = 0; // stop timer l = TCNT1L; // read counter and ... h = TCNT1H; CNT = CNT + l + (h << 8); // ... add to global counter ready=1; // notify main program } // measure one time the current frequency void Measure_1(void) { cli(); // disable interrupts TCCR1A = 0x00; // setup timer/counter 1 as counter TCCR1B = 0x00; TCNT1H = 0; // clear timer/counter registers TCNT1L = 0; TCCR2 = 0x00; // setup timer/counter 2 as timer OCR2 = TF; // set timer to ca. 51 ms TCNT2 = 0; // clear timer register sbi(SFIOR,PSR2); // Resest Timer Prescaler TCCR1B = 0x06; // start counter TCCR2 = 0x07; // start timer ready = 0; sbi(TIMSK,OCIE2); // timer2-compare interrupt on sbi(TIFR,OCF2); // terminate active interrupts, if existing sei(); // enable interrupts while (ready==0) idle(); // wait and do something else until measurement is complete n_CNT++; // increment number of measurements executed cbi(TIMSK,OCIE2); // timer2-compare interrupt off } // execute the frequency measuremnt n times double Measure_M(uint8_t n) { double f; CNT = 0; // reset the global counter n_CNT = 0; // reset the counter for number of measurements executed while (n_CNT<n) Measure_1(); // execute n single measurements cli(); // no more interrupts f=(double)CNT/((double)n*t_gate); // divide total counts by total gate time return f; // that's it }
Neben den Deklarationen, die hier nur auszugsweise dargestellt sind, folgt der Interrupt-Behandler für den Timer-2-Interrupt, die Prozedur zur Durchführung einer einzelnen Messung und die Funktion zur Messung der Frequenz basierend auf mehreren Einzelmessungen. Die Konstante TF (Torzeit) wurde so gewählt, daß bei einer zu messenden Frequenz von 1 MHz noch keine Gefahr besteht, daß der Zähler überläuft. Innerhalb etwa 40 ms wird ein Zählerstand von 40000 erreicht, was noch weit genug vom höchstmöglichen Wert 65535 ist.
Tritt der Interrupt auf, so wird als allererstes der Zähler und danach der Timer angehalten. Das Ergebnis des Zählers wird ausgelesen und zum globalen Zähler addiert. Führt man auf diese Art mehrere Messungen aus, so kann die effektive Torzeit auf ganzzahlige Vielfache von etwa 40 ms erhöht werden, was vor allem bei niedrigeren Frequenzen die Genauigkeit erhöht. Danach wird dem Hauptprogramm signalisiert, daß der Interrupt abgearbeitet wurde.
Das Prozedur, die genau eine Messung durchführt, initialisiert im wesentlichen die relevanten Register der beiden Timer/Counter für die nächste Messung und wartet, nachdem timer und counter gestartet wurden, auf das Ende des Interrupts. Dazu wird die Prozedur idle() aufgerufen, in der sinnvolle Dinge durchgeführt werden können. Nach einer Einzelmessung wird der Zähler für die Anzahl der Messungen aktualisiert.
Die Messung der Frequenz wird von der Funktion Measure_M durchgeführt deren Parameter die Anzahl der Einzelmessungen angibt und deren Rückgabewert die gemessene Frequenz in Hz ist.
Die Messung der Kapazität mit dem NE555 basiert darauf, daß die Länge eines Impulses zu messen ist. Während also bei der Frequenzmessung die Torzeit vorgegeben ist und die Anzahl der Impulse in dieser Zeit gezählt werden, ist es bei der Impulsdauermessung umgekehrt. Die Frequenz der zu zählenden Impulse ist fest und die Impulsdauer, die dann der Torzeit entspricht, ist variabel.
// the timer1-capture interrupt ISR(TIMER1_CAPT_vect) { uint16_t l,h; TCCR1B = 0; // stop timer l = TCNT1L; // read counter and ... h = TCNT1H; CNT = CNT + l + (h << 8); // ... add to global counter ready = 1; // notify main program } // measure one time the pulse length of the NE555 void Measure_555_1(void) { cli(); // disable all interrupts TCCR1A = 0x00; // prepare timer 1 and ... TCCR1B = 0; // ... stop timer 1 TCNT1H = 0; // set timer1 count value to 0 TCNT1L = 0; ready = 0; // clear the ready status sbi(TIFR,ICF1); // terminate active interrupts, if existing sbi(TIMSK,TICIE1); // timer1-capture Interrupt on sbi(SFIOR,PSR10); // reset prescaler TCCR1B=0x01; // start Timer 1 cbi(PORTD,5); // start NE555 sei(); // enable interrupts sbi(PORTD,5); // return to high level while (ready==0) idle(); // wait until ready n_CNT++; // this was one more measurement cbi(TIMSK,TICIE1); // timer1-capture Interrupt off } // execute the pulse length measurement n times double Measure_555_N(uint8_t n) { double t; CNT = 0; // reset the global counter n_CNT = 0; // reset the counter for number of measurements executed while (n_CNT<n) Measure_555_1(); // execute n single measurements cli(); // no more interrupts t=(double)CNT/((double)F_CPU*(double)n); // divide total counts by CPU-frequency and number of measurements return t; // that's it }
Die Deklarationen sind die selben wie für die Frequenzmessung. Daher wird sie hier nicht wiederholt dargestellt. Hier haben wir einen anderen Interrupt-Behandler, der immer dann ausgeführt wird, wenn der Puls des NE555 zurück auf Low wechselt.