Ein Thermometer zeigt 21,4 °C, ein Akkuladegerät misst die Zellspannung, ein Mikrofon nimmt Sprache auf, ein Lichtsensor dimmt das Display. Überall muss eine Spannung in eine Zahl übersetzt werden, mit der ein Mikrocontroller rechnen kann. Das macht der Analog-Digital-Wandler, kurz ADC (Analog-Digital Converter). Den umgekehrten Weg geht der Digital-Analog-Wandler (DAC): Er macht aus einer Zahl eine Spannung, etwa für einen Audioausgang, eine einstellbare Referenz oder die Ansteuerung eines Stellglieds. Fast jeder Mikrocontroller hat einen ADC eingebaut; für höhere Genauigkeit oder mehr Kanäle gibt es eigene Wandler-ICs.
Grundprinzip: Auflösung und Referenz
Ein ADC vergleicht die Eingangsspannung mit einer Referenzspannung URef und teilt den Bereich von 0 bis URef in 2n gleiche Stufen. n ist die Auflösung in Bit. Die kleinste Stufe heißt LSB (Least Significant Bit):
D ist der ausgegebene Zahlenwert, abgerundet auf eine ganze Zahl. Ein 10-Bit-ADC kennt 1024 Stufen, ein 12-Bit-ADC 4096, ein 16-Bit-ADC 65.536. Wie Binärzahlen aufgebaut sind, erklärt Zahlensysteme.
Weil der Wandler auf Stufen rundet, entsteht ein Quantisierungsfehler von bis zu einem halben LSB. Er begrenzt den bestmöglichen Rauschabstand auf etwa 6,02 · n + 1,76 dB: rund 74 dB bei 12 Bit, 98 dB bei 16 Bit. Wie Dezibel funktionieren, erklärt Dezibel.
Der DAC arbeitet umgekehrt: UA = D / 2n · URef. Er gibt also ebenfalls nur Stufen aus, jede ein LSB hoch.
Wandlerverfahren
| Verfahren | Auflösung | Geschwindigkeit | Typisch für |
|---|---|---|---|
| Sukzessive Approximation (SAR) | 8–18 Bit | einige kS/s bis einige MS/s | ADC im Mikrocontroller, MCP3008 |
| Delta-Sigma | 16–32 Bit | einige S/s bis einige kS/s, Audio bis 192 kS/s | Waagen, Präzisionsmessung, ADS1115 |
| Flash (parallel) | 6–8 Bit | bis GS/s | Oszilloskope, Video |
| Doppelintegration (Dual-Slope) | 3½–5½ Stellen | wenige Messungen pro Sekunde | Multimeter |
Der SAR-Wandler arbeitet wie eine Balkenwaage: Er hält die Eingangsspannung mit einer Abtast-Halte-Stufe fest, setzt das höchste Bit und prüft mit einem Komparator, ob die Spannung eines internen DAC darüber oder darunter liegt. Dann folgt das nächste Bit, bis alle n Bits bestimmt sind – n Vergleiche pro Messung. Der Delta-Sigma-Wandler tastet dagegen mit einem 1-Bit-Wandler sehr schnell ab und mittelt digital. Er ist langsamer, aber sehr genau und unterdrückt Netzbrummen bei passender Datenrate. Der Flash-Wandler vergleicht mit 2n − 1 Komparatoren gleichzeitig und ist deshalb der schnellste.
Bei DACs ist das R-2R-Netzwerk das klassische Prinzip: Eine Leiter aus Widerständen mit nur zwei Werten, R und 2R, teilt die Referenz binär auf. Jedes Bit schaltet einen Zweig zwischen Masse und Referenz um.
Ein einfacher DAC-Ersatz im Mikrocontroller ist PWM mit nachgeschaltetem RC-Tiefpass: Der Mittelwert der Pulse ergibt eine Gleichspannung, allerdings mit Restwelligkeit und langsam.
Wichtige Kennwerte
| Kennwert | ADS1115 (ADC) | MCP3008 (ADC) | MCP4725 (DAC) |
|---|---|---|---|
| Auflösung | 16 Bit | 10 Bit | 12 Bit |
| Verfahren | Delta-Sigma | SAR | String-DAC |
| Rate | 8–860 S/s | bis 200 kS/s bei 5 V | Einschwingzeit etwa 6 µs |
| Kanäle | 4 (oder 2 differenziell) | 8 (oder 4 differenziell) | 1 |
| Schnittstelle | I²C | SPI | I²C |
| Referenz | intern, mit Messbereichen ±0,256 bis ±6,144 V | extern (VREF-Pin) | Versorgung |
| Versorgung | 2,0–5,5 V | 2,7–5,5 V | 2,7–5,5 V |
Neben der Auflösung zählen bei Wandlern die Linearitätsfehler (INL, DNL), Offset- und Verstärkungsfehler sowie das Rauschen. Ein 12-Bit-ADC in einem Mikrocontroller liefert in der Praxis oft nur 9–10 wirklich ruhige Bits, wenn die Versorgung nicht sauber ist. Die tatsächlich erreichbare Auflösung nennen Datenblätter ENOB (Effective Number of Bits).
Durchgerechnet
Eigene Werte rechnest du mit dem Rechner nach:
ADC-Auflösung und Messbereich
- ADC-Wert
- 1.489
- Hexadezimal
- 0x5D1
- 1 LSB
- 806 µV
- Stufe beginnt bei
- 1,1996 V
- Rest in der Stufe
- 366 µV
- Stufen
- 4.096
1 LSB = Uref / 2n, Code = ⌊U / LSB⌋ – so rechnen die meisten Datenblätter (z. B. AVR, STM32). Der größte Code 4.095 steht schon bei Uref − 1 LSB; Uref selbst wird nie erreicht. Wer durch 2n − 1 teilt, liegt um weniger als 1 LSB daneben. Ideale Kennlinie ohne Offset-, Verstärkungs- und Linearitätsfehler; wie genau die Referenz ist, bestimmt die Genauigkeit meist stärker als die Bitzahl.
Ratiometrisch messen: Hängt ein Sensor an derselben Spannung wie die Referenz, etwa ein Potentiometer oder ein NTC in einem Spannungsteiler, kürzt sich die Versorgung heraus. Steigt sie um 2 %, steigen Sensorspannung und Referenz gleichermaßen – der Zahlenwert bleibt gleich. Das ist die einfachste Methode, ohne teure Referenz genau zu messen.
Den Eingang richtig beschalten
Ein SAR-ADC lädt beim Abtasten einen kleinen internen Kondensator, typisch 5–15 pF. Ist die Quelle zu hochohmig, wird er in der kurzen Abtastzeit nicht voll geladen, und der Messwert ist zu klein. Viele Datenblätter nennen deshalb einen größten Quellwiderstand, beim ATmega328P etwa 10 kΩ.
Für Wechselsignale gilt außerdem das Abtasttheorem: Die Abtastrate muss mehr als doppelt so hoch sein wie die höchste Frequenz im Signal. Liegen höhere Frequenzen an, erscheinen sie als falsche, niedrigere Frequenzen (Aliasing). Ein Tiefpass vor dem Eingang, der Anti-Aliasing-Filter, entfernt sie.
Auswahl und Praxistipps
Für Spannungen, Potentiometer und langsame Sensoren reicht der eingebaute ADC des Mikrocontrollers. Brauchst du mehr als 12 Bit, differenzielle Eingänge oder kleine Signale ohne Verstärker, ist ein Delta-Sigma-Wandler wie der ADS1115 die bequeme Lösung – er hat Referenz und programmierbaren Verstärker an Bord. Für Brückensensoren mit wenigen Millivolt gibt es Wandler mit eingebautem Verstärker, oder du setzt einen Instrumentenverstärker davor.
Häufige Fehler:
- Versorgung als Referenz ohne es zu merken: Bei nicht ratiometrischen Sensoren wandert jedes Rauschen der Versorgung in den Messwert.
- AVCC oder AREF unbeschaltet: Der analoge Teil des Controllers braucht seine eigene, gut abgeblockte Versorgung.
- Eingang über der Referenz oder unter Masse: Der Wert klebt am Anschlag, und über die Schutzdioden kann Strom fließen, der andere Kanäle verfälscht.
- Zu hochohmige Quelle ohne Kondensator: Messwerte zu klein und abhängig vom zuvor gemessenen Kanal.
- Digitale Leitungen neben analogen: Takt- und PWM-Leitungen koppeln über die Platine ein. Getrennte Bereiche und eine durchgehende Massefläche helfen.
Selbsttest
Wie groß ist ein LSB bei einem 10-Bit-ADC mit 5 V Referenz?
5 V / 1024 ≈ 4,88 mV.
Welchen Zahlenwert liefert ein 12-Bit-ADC mit 3,3 V Referenz bei 1,0 V am Eingang?
1,0 V / 3,3 V · 4096 ≈ 1241.
Warum misst ein Potentiometer an der Versorgung auch ohne genaue Referenz zuverlässig?
Die Messung ist ratiometrisch: Sensorspannung und Referenz ändern sich gleichermaßen, das Verhältnis bleibt.
Mit welcher Rate musst du ein Signal bis 5 kHz mindestens abtasten?
Mit mehr als 10 kHz, in der Praxis mit Reserve und Anti-Aliasing-Filter eher 20–50 kHz.
Wozu dient ein Kondensator direkt am ADC-Eingang?
Er liefert die Ladung für den Abtastkondensator und filtert Störungen, sodass auch hochohmige Teiler richtig gemessen werden.