Dual Slope ADC für 8051
by Martin Clausen (mc AT rotgradpsi DOT de)
Eine kostengünstige Schaltung zur Messung von Spannungen mit 14 Bit Genauigkeit.
Inhaltsverzeichnis:
- Belegt nur 3 Pins (P3.2, P3.4, P3.5) und T0 des 8051
- Mit Timing für 12 MHz je nach Eingangsspannung 7 bis 15 Wandlungen pro Sekunde
- Störunempfindlich
- Stromaufnahme zwischen 1mA und 5mA (je nach OP)
- Grundmeßbereiche:
- -1,23V bis 1,23V (quad op)
- 0V bis 2,46V (dual op)
- -2,46V bis 0V (dual op)
- 0V bis 1,23V (quad op, single supply)
- Geringe Kosten
- Standardbauteile
- Ausführliche Beschreibung der Dimensionierung
- Freeware
Einsatzgebiet
Das Dual Slope Verfahren zur Digitalisierung von Spannungen wird eingesetzt, wenn eine geringe Wandlungsrate in Verbindung mit einer hohen Auflösung benötigt wird. Beachtenswert ist der geringe schaltungstechnische Aufwand. Die Empfindlichkeit gegen Störungen kann einfach verringert werden, wenn die Wandlungszeit ein ganzzahlig vielfaches der Periodendauer der Störung ist. Bekannte ICs mit dieser Technik sind ICL7106 / ICL7107 und MAX134, welche oft in Multimetern eingesetzt werden. Jedoch sind nicht zwingend spezielle IC nötig, um diese Schaltung aufzubauen. Ist ein Mikrocontroller in der Schaltung vorgesehen, kann dieser auch den Ablauf steuern und den Meßwert aufnehmen. Dabei wird der Mikrocontroller während der Messung nicht blockiert, wenn noch ein Interrupt und ein 16 Bit Timer frei sind.
Ablauf der Wandlung
Zu Beginn der Wandlung wird der Meßkondensator vorgeladen (Z mit Z1 und Y mit Y1 verbunden). Dadurch wird der bipolare Eingangsspannungsbereich in den positiven Bereich verschoben und der Offset des Komperators kompensiert.
Dann wird der Kondensator mit der Eingangsspannung über den 100K Widerstand entladen (Z mit Z0 und Y mit Y0 verbunden). Mathematisch betrachtet wird über den Eingangsstrom integriert. Dabei wirkt der 100K Widerstand als ein Spannungs-Strom-Wandler.
Nun kommt der zweite Schritt der Messung. Der Kondensator wird mit einem bekannten Strom, von der Spannungsreferenz und dem 100k Widerstand generiert, geladen (Z mit Z1 und Y mit Y0 verbunden). Der Mikrocontroller mißt nun die Zeit, die vergeht bis der Kondensator geladen ist.
Ursachen der Eigenschaften des Verfahrens
Im Prinzip wird also ein Vergleich zwischen zwei Spannungen durch geführt. Das Verhältnis der Spannungen spiegelt sich dann in den Zeiten zur Ladung bzw. Entladung des Kondensators wieder. Zeit kann mit der Quarzzeitbasis des Mikrocontroller präzise gemessen werden.
Dadurch, daß für beide Meßschritte die gleichen Bauteile benutzt werden, schlägt sich nur der Kurzzeitdrift der Komponenten im Ergebnis nieder. Dies gilt natürlich nicht für die Spannungsreferenz, außer wenn das Meßsignal auch von der Referenzspannung abgeleitet wird.
Verbesserung der Genauigkeit
Der Meßfehler wird weitestgehend durch die Spannungsreferenz und Verstärkungsfehler der OP verursacht, läßt sich aber durch den Mikrocontroller nach einer Eichung leicht herausrechnen. Nicht kompensieren lassen sich dagegen die Selbstentladung des Kondensators, Drift in Offset- und Referenzspannung sowie die Unsicherheit im Schaltpunkt des Komperators.
Durch die Integration mitteln sich periodische Störungen aus dem Meßergebnis heraus. Darum lassen sich bessere Meßgeräte auch auf die Netzfrequenz von 50 oder 60 Hz einstellen.
Integrationszeit, -widerstand und -kondensator sind so zu wählen, daß die Wandlungszeit nicht zu lang wird und die Selbstentladung des Kondensators nicht zu groß wird. Dabei soll aber dennoch der Spannungsbereich der OP vollständig ausgenutzt werden, damit die Auswirkungen der Fehler der OP klein bleiben. Siehe hierzu auch die ausführliche Beschreibung der Dimensionierung.
Der 47 Ohm Widerstand in der Integratorschaltung verhindert Schwingungen des OP. Der Ausgangstransistor entkoppelt Mirkocontroller und Komperator und setzt den Signalpegel um.
Weitere Informationen zum Thema
- National Semiconductor COP Note 1, Analog to Digital Conversion Techniques With COPS Family Microcontrollers
- Analog Device Application Note AN-348, Avoiding Passive-Component Pitfalls
- Maxim Datenblatt MAX132
- National Semiconductor AN-260, A 20-Bit (1 ppm) Linear Slope-Integrating A/D Converter
- Halbleiter:
- 1 BC548
- 1 4053
- 1 ICL8069
- 1 TLC274, TL064, TL074 oder TL084
Kondensatoren:
- 5 100nF ker
- 1 470nF Metallfilm auf Polypropylen oder Polysteren
- 2 10µF / 16V Elko
Widerstände:
- 1 47
- 1 10k
- 4 27k
- 1 100k
- Nicht eingezeichnete Kondensatoren zur Entstörung über die Betriebsspannung legen.
- Die ca. 10 bis 20 ersten und letzten Werte der Skala, sind stark nicht linear.
- Die negative Spannung kann leicht mit einem ICL7660 erzeugt werden.
- Der freie CMOS-Schalter kann zur Wahl eines Eingangssignals benutzt werden.
- Die besten Ergebnisse habe ich mit dem TLC274 erzielt.
- Das Beispielprogramm ist für 12MHz ausgelegt.
- Dem Beispielprogramm fehlt die Ausgabe, die Daten liegen in TL0 und TH0.
- Statt wie im Beispielprogramm Polling zu benutzen, kann die Wandlung durch Benutzung von Interrupts ohne größeren Verbrauch von Rechenzeit durchgeführt werden.
- Ausführliche Beschreibung der Dimensionierung beachten.
Die Schaltung kann auch für unipolare Eingangsspannungen (0V bis 2,46V oder -2,46V) modifiziert werden (Schaltpläne noch nicht getestet):
- dslopep.gif Schaltplan V1.01, positive Eingangsspannung
- dslopen.gif Schaltplan V1.01, negative Eingangsspannung
Alternativ kann die Schaltung auch für unipolare Eingangsspannungen (0V bis 1,23V) und Single-Supply modifiziert werden. Siehe dazu Beschreibung der Dimensionierung
Die Bauteilebeschriftung ist wie folgt zu lesen:
Bauteiltyp + Wert in exponential Form + Gehäusebezeichnung + Unternummer der Funktionseinheit
zum Beispiel: C1040805,1 ist ein Kondensator, 100nF, Gehäuse SMD 0805, erste Funktionseinheit im Gehäuse
(alle auf Englisch)
Disclaimer: No warranty at all!
Copyright by Martin Clausen, Germany.
Kontakt zum Autor: mc AT rotgradpsi PUNKT de
Impressum