Universal 8-Bit AD-Wandler selbstgebaut | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Über den Schutzwiderstand wird der Spannungsreferenz-Baustein TL431 versorgt, der daraus eine stabile Spannung von knapp 2,5 V erzeugt. Der nachgeschaltete Spannungsteiler, bestehend aus R1/ R2/ R3/ R5 ist so dimensioniert, dass am Spindelpoti (R5) die Referennzspannung sehr feinfühlig eingestellt werden kann. Ziel war, die (sinnvollen) Werte 127, 255 und 511 Millivolt einstellen zu können. Der Referenzspannungseingang und der Messeingang am Wandler sind mit je einem 10 µF Elko stabilisiert. Der Messeingang ist außerdem mit dem obligatorischen Schutz aus Widerstand (R6) und Diode (D1) versehen. Die Messwerte schwanken (bei stabiler Messspannung) je nach Höhe der Referenzspannung: Laut Datenblatt schafft das TLC 549 bis zu 40.000 Messungen pro Sekunde und mit einem einigermaßen schnellen PC sind auch schon 20.000-30.000 Messungen pro Sekunde erreicht worden. Auf meinem Pentium 3 mit 800 MHz schafft ein PowerBasic - Programm 28.000 Messwerte pro Sekunde. Aufgrund der Zeitkonstante des RC-Glieds R6/C1 macht es aber mit der hier vorgestellten Schaltung keinen Sinn Spannungen zu messen, die sich mit wesentlich mehr als 1Hz (bzw. 10 Hz mit 1µF als C1) ändern. Trotzdem ist es sinnvoll innerhalb einer Sekunde aus 100 oder gar 1000 Messungen einen Mittelwert zu bilden, um die statistischen Wandlungsfehler herauszumitteln. Unser QBasic-Beispielprogramm bildet einen Mittelwert aus je 127 Messungen. Sägen und Löten Im Bild ist der Aufbau auf einer Streifenraster-Platine dargestellt. Wo ein roter Balken zu sehen ist, muss die Leiterbahn getrennt werden. Oben und unten sind je zwei Bahnen und rechts 5 Reihen, die (elektrisch) nicht benötigt werden. Aber irgendwo wollen wir das Ding ja vielleicht auch mal festschrauben. Benutzt werden 7 Bahnen mit je 23 Löchern. Die beiden äußeren Bahnen führen Masse. Die Masse-Drahtbrücke verbindet diese Bahnen und Pin 3 und 4 des ICs. Nicht so gut zu erkenen sind die Anschlüssen von R1 und R2. R1 hängt an Bahn1 (Masse) und Bahn 4, R2 an Bahn2 und Bahn4. Als Verbindungen zum Messkabel und zum Schnittstellenkabel sind Stiftleisten installiert. Mit den entsprechenden Buchsenleisten lassen sich Messkabel für die serielle und parallele Schnittstelle bauen. Der zweite Stift von oben wird nicht benötigt. Verschließen wir die entprechende Buchse (z.B. mit 2-Komponenten Klebstoff), ist das Ding sogar einigermaßen verpolungssicher. An den beiden Messpunkten können wir ein Multimeter zum Abgleichen anschließen. Statt der bei mir verwendeten Widerstände mit Kohleschicht sollten wir solche mit Metallfilm (1% Toleranz) verwenden (die blauen). Die sind nur einen Cent teurer, dafür aber temperaturstabiler. Die Software Wie bereits erwähnt, schwanken die Messwerte je nach Höhe der Referenzspannung mehr oder weniger. Deshalb werden 127 Messwerte aufgenommen (127 * 255 ist der maximale Wert den die Integer-Variable speichern kann) und daraus ein Mittelwert gebildet. Um die Qualität der Wandlerdaten zu überprüfen, wird aus diesen 127 Werten jeweils der Minimalwert und der Maximalwert angezeigt. Wir können schön sehen, wie die Streuung der Messwerte größer wird, je kleiner die Referenzspannung eingestellt wird. Trotzdem bleibt der Mittelwert stabil. Der QBasic-Quelltext versteht sich als Beispiel für erste Versuche und als Anregung für eigene Projekte. Update April 2012: Für Windows-Nutzer habe ich zwei Quelltext-Beispiele für FreeBasic ergänzt. Diese setzen einen Anschluss an die serielle Schnittstelle voraus. Damit geht es ohne spezielle DLLs mit reinem WinAPI. Auch an seriell-USB Wandlern sollte das funktionieren, allerdings bedeutend langsamer (ca. 20 Messungen/Sekunde). Mathias Paulsen hat eine Ansteuerung in C für Linux geschrieben. Der Quelltext von 2003 steht hier noch zum Download bereit. Im Oktober 2010 hat er mir eine aktualisierte Version zukommen lassen [ Download ]. Die neue Version lässt sich unter Debian-Squeeze und Ubuntu 10.10 übersetzen. Bei Rückfragen stelle ich gerne Kontakt her. Ich selber bin leider Linux-Blindgänger. Wer es noch etwas einfacher haben möchte, kann erstmal den Einfachst-AD-Wandler (mit demselben IC) aufbauen. Details zur Ansteuerung des TLC 549 gibt's in dieser Textdatei. Betrieb und Abgleich Zuerst das Obligatorische: Erste Versuche sollten wir an der seriellen Schnittstelle vornehmen, die ist besser abgesichert. Zum Kalibrieren der Schaltung bauen wir uns am besten folgende kleine Hilfsschaltung. Am Messeingang schließen wir einen Elko von ca. 470 µF an. An dessen Pluspol haben wir einen 500 kOhm Widerstand angelötet. Über diesen Widerstand können wir den Kondensator langsam an der Versorgungsspannung (TxD bzw. D7) aufladen. Ist die gewünschte Spannung erreicht, trennen wir den Widerstand von der Versorgungsspannung. Wenn sich der Wert beruhigt hat, passen wir den angezeigten Wert mit dem Trimmpoti an. Als Vergleich dient ein Multimeter an den beiden Messpunkte. Viel Erfolg beim Nachbau! |
| © Frank Steinberg |