1 pF bis theor. 99 uF wenns der Oszillator mitmacht.
Genauigkeit 1% oder besser +- 1 digit.
Auf die Genauigkeit gehe ich noch im Detail ein.
In der ersten Projektbeschreibung „Das LC-Meter Projekt" mit Ausgabe der Ergebnisse am Displaymodul habe ich ein LC-Meter in der ELO (die Registrierung, nach der gefragt wird, verpflichtet zu nichts) veröffentlicht, mit der Bemerkung, dass noch genügend Portpins frei für ein LCD Display wären. Ich habe es nun selbst realisiert mit dem Pollin Display HMC16223 SO. Die 5 wesentlichen Bauteile sind um weniger als 10 Euro erhältlich. Der Rest ist aus Elektroschrott zusammengesucht.
Der Vollständigkeit halber noch ein Bild mit dem ursprünglichen Displayunit, das aber kaum jemand nachgebaut haben wird. Es steht und stand aber eine RS232 Schnittstelle mit 9600 Baud zur Verfügung, sodass die Ergebnisse auch am PC dargestellt werden konnten und können.
Durch die spezielle Messmethode, wobei jede 2. Messung die Nullpunktdrift herausrechnet, kann man von der ersten Sekunde nach dem Einschalten an genaue Resultate erhalten.
Eine Drift des Oszillatores mit dem LM319 gibt es zwar auch, alle Bauteile zusammen, aber die bleibt unter 0,5%. Es gibt also keine Kalibrierroutine, da ja der Kalibrierbauteil von derselben Genauigkeitsklasse ist wie die verwendeten Lo und Co. Das Bild mit dem ursprünglichen Displaymodul zusammen zeigt, dass mit der etwas eigentümlichen RS232 Anpassung die Daten auch an PC's gesendet werden können.
Die Schaltung hat natürlich große Ähnlichkeit mit der ursprünglichen.
Das Gerät ist selbstkalibrierend, genauer gesagt die Nullpunktdrift wird eliminiert durch geeignete Software. Eine Kalibrierung im Sinn des Wortes wird nicht durchgeführt. Man muss, wer es wünscht, einen genaue(n) Bauteil(e) besorgen und die Abweichung feststellen. Die Software ist aber leicht anzupassen für den der es kann. Mir reicht es so, es ist genau genug. Aber auch fast alle anderen LCmeter sind nicht „kalibrierend" im Sinn des Wortes, sondern vergleichen nur 2 Bauteile gleicher Art.
Meine Lösung vermeidet jede Nullpunktdrift dadurch und das ist neu, soweit ich sehen kann, indem abwechselnd eine fo Messung und eine fx Messung durchgeführt wird. Daraus errechnet sich dann der Cx bzw. Lx Wert. Erklärung folgt. Es gibt einen einzigen Schalter, der zwischen L und C umschaltet.
Da das LCmeter ein SpinOff des 120 Mhz Frequenzzählers ist, sieht man noch den Platz für den 16er Teiler 74F161 mit der Brücke Eingang/Ausgang:
Viele der LCmeter verwenden ein Floating Point Mathepaket, was natürlich beeindruckend ist. Man muss aber überlegen wie denn der Input für die Mathe aussieht und besser wird das Ergebnis nicht durch FLT. Darüber muss man sich klar sein. Ich war deshalb froh zuerst bei Fred Krom ein Integermathepaket zu finden. Inzwischen habe ich es auch noch an anderen Stellen im Internet gefunden.
Basis für alle Berechnungen ist die Formel: f*2PI = 1/ Wurzel( LC ) (1)
Oder C = (Cx + Co) = 1/ ( Lo ( 2PI*fx)²) (2)
Zuerst wollte ich eine Konstante k = 1/ ( Lo*4*PI²) verwenden, weil dann die nötige Mathematik ein Minimum wird.
Die Formel wäre dazu Cx = k/fx² -Co aus (2) folgt (3)
Nun, wäre schön, wenn k über die Zeit konstant bliebe. Aber stellen sie sich vor dass sie einen 1 pF Kondesator bestimmen wollen. Die Gleichung sieht dann wie folgt aus:
1 = 1021 - 1020 (4)
Sie sehen die Problematik. Bei kleinen Messwerten spielt die Konstanz von k als auch Co eine maßgebende Rolle. Die Drift ist in etwa 3-5 pF, an sich nicht viel, aber meine Ziele erreiche ich damit nicht. Also Strategie umstellen auf folgendes.
Messe zuerst fo, dass heißt ohne Cx, also nur Co. Dann die Messung Co+Cx . Ich bekomme also 2 Frequenzmesswerte.
Die Formel, können sie selbst nachprüfen ist dann
Cx = Co*fo² / fx² -Co (5) in FLT wäre es: Cx = Co(fo²/fx²2 -1) (6)
Sie muss, bei Integermathematik von links nach rechts in der gezeigten Schreibform durchgeführt werden. Bei FLT ist dies keine Anforderung, ich werde noch zeigen warum.
Ich muss jetzt etwas ins Detail gehen mit der Frequenzmessung. Verwendet wird Timer1, ein 16 bit Counter, der nur bis 65536 zählen kann, wenn man keinen Software Counter anhängt. Die höchste Frequenz des Bauteiloszillators habe ich mit 600 kHz festgelegt. Werte siehe Schaltbild. Damit liegt auch die Gatezeit des Frequenzzählers fest mit .1/10 sec.Das Zählergebnis ist also maximal 60000. Das heißt auch gleichzeitig: egal welche Grundfrequenz Sie planen, Sie müssen immer darauf achten innerhalb der 16 bit zu bleiben. Damit wird FLT ziemlich entzaubert. Messen Sie 1 pF dann sinkt der Zählerstand auf 59970.
Würden Sie (6) verwenden sieht das Ergebnis wie folgt aus: Nun, 60000/59970 in Integermathe ist 1, ob Quadrat oder nicht. Das Rechenergenis für Cx ist NULL. Thema verfehlt!
Nicht so wenn Sie (5) verwenden:
Wieder messen sie 60000 und 59970
Cx = 1020*60000² / 59970² -1020 = 1 nun, so einfach ist es.
Für Lx Messungen ergibt sich die min. Auflösung mit 2,3 nH = 2 nH.
Bei Integer oder Fixkommamathe muss man sehr genau aufpassen was man tut und so kommt man drauf, dass Auflösungen von gar 0,01 pF nur math. Werte sind die nicht der Realität entsprechen und nur durch FLT zusammenkommen. Man denkt einfach weniger nach mit FLT.
Weiter: Co ist angegeben mit 1020 pF. Bei kleinen Messwerten, wo eine Differenz von großen Werten den größten Einfluß hat ist die Toleranz ziemlich egal, ob sie 10 pF +- 1% messen.
Bei großen Werten z.B 100 nF ist die Toleranz so genau wie die Toleranz des 1020 pF Referenz C's. Auch ob sie von 100000 pF 1020 oder 1021 abziehen spielt keine Rolle. Die niedrigste fx Frequenz bei, sagen wir 1 uF wäre 19160 Hz, der Zählerstand 1916. Das ist eine Auflösung von 0,05 %. Bei 99 uF 0,5%. Das reicht.
Das wären die Überlegungen zu Auflösung und Genauigkeit. Die Bauform der Referenzinduktivität ist sehr wichtig. Ringkerne oder gewöhnlich Drosselspulen haben einen großen Temperaturkoeffizienten. Ich habe eine Toko ZF-Spule aus einem alten MW- Radio umgewickelt, die ist am stabilsten. Der Rest des Projektes, die Software finden sie im asm Listing.
Das Lcmeter ist nachbaufest und stellt keine besonderen Anforderungen. Im Displaymodul ist an der 1. Stelle ein „C" oder „L" zu sehen, damit man weiss wie der Schalter steht. Das war übrigens der Grund, warum ich das Display mit 7-Segment auf alfa-numerisch, „-„ und „@" umgestellt habe. Groß- und Kleinschreibung ist mir nicht gelungen, hi, J. Die führenden Nullen habe ich nicht unterdrückt, ebenso werden alle Stellen und nicht nur die 4 wesentlichen angezeigt.
Download: Lcmeter
Die passende Ergänzung zu diesem Artikel:
| |  | Lernpaket Arduino Lieferumfang: 200-seitiges Handbuch, Mikrocontroller: ATmega168, Experimentierplatine, Steckboard, 20 Bauteile, Software auf CD-ROM ISBN 978-3-645-65064-9 Versandkostenfrei* direkt beim Verlag bestellen!
79,95 € 
|