User manual
29 30
5. Analog-Digital Umsetzer
5.1 AD Umsetzer - prinzipieller Aufbau
AD steht für Analog - Digital. Ziel ist es, analoge Werte, wie zum Beispiel eine beliebige Spannung, in einen
digitalen Wert also Zahlen umzusetzen. Diese Zahlen kann ein Computer dann weiterverarbeiten. Mit analogen
Werten kann ein normaler Computer nichts direkt anfangen.
Zwei wichtige Schritte werden dabei durchgeführt, eine Quantisierung der Amplitude im Falle einer Spannung
und eine Quantisierung der Zeit bei einem zeitlich veranderbarem Verlauf des analogen Wertes.
Was ist damit gemeint?
Die Quantisierung in der Amplitude kann man leicht verstehen.
Eine analoge Spannung z.B. zwischen 0 und 5V kann jeden beliebigen Wert annehmen. Also 2.3V oder 2.31V
oder 2.315 Volt ... usw. Es bleibt die Frage, wo will man mit der Genauigkeit hin oder wieviele Stufen soll es ge-
ben. Die Zahlenwerte muss man schließlich für die Verarbeitung in einem digitalen Rechensystem aufbereiten.
Beispiel: Wir wollen einen Spannungsbereich von 0 bis 5V in 6 Stufen digital darstellen. Welchen digitalen Wert
wird man dann für 2.1V vergeben? Im Diagramm unten kann man die Zuordnung ablesen. Der Wert 2.1 liegt
näher bei 2 als bei 3, so wird man den digitalen Wert 2 wählen. Bei einem Wert von 2.5 kann man 3 als digita-
len Wert zuordnen, wenn man die Zahl 2.5 normal rundet.
Oben sieht man die rekonstruierte Kurve.
Die Auösung für die Amplitude wird durch die Anzahl der Bits, die einem Zahlenwert zugeordnet
werden bestimmt. Bei dem Analog-Digital-Umsetzer im Arduino NANO sind dies 10 Bit. Das entspricht 2 Hoch
10 Werten, also mathematisch umgerechnet 1024 Stufen. Bei einem Spannungsbereich von 0 bis 5V entspricht
die kleinste Stufe einer Spannung von 5V / 1024 = 4.88mV.
Der Techniker interessiert sich auch für den sogenannten Dynamikbereich, den berechnet man aus dem
Dynamic Range = 20 * LOG (Anzahl der Stufen ) in dB.
Bei uns = 20*LOG(1024) = 60.2 dB. Dies ist ein ganz guter Wert. Das menschliche Gehört hat aber eine höhere
Dynamik, daher muss man Audiosignale für eine HIFI Qualität auch mit mehr Bits digitalisieren, zum Beispiel
bei 24 Bit ergeben sich: 20 * LOG (2Hoch24) = 20 * LOG (16777216)=144.5 dB.
Das menschliche Gehör kann in etwa 120 dB in bestimmten Hörbereichen wahrnehmen.
0
2
1
3
4
5
6
Hier haben wir den zeitliche Verlauf eines Spannungssignals aufgezeichnet (Hier kann man sich in der y-Achse
die Spannung in V aufgetragen denken und in x-Richtung die Zeit z.B. in Sekunden).
Bei der Umwandlung des Signals in eine digitale Zahlenfolgen, wird man einmal pro Sekunde einen Messwert
abfragen (senkrechte Linien), und dann die RUndung auf eine Stelle durchführen. Damit ergibt sich dann die
folgende Zahlenreihe:
2,2,3,5,4,4,1,1,2,4
Es gibt dabei zwei interessante Effekte. Wir verlieren Information in der Amplitude, die beiden ersten Werte
sind jedesmal 2 als Beispiel. Mit einer höheren Auösung bei der Wandlung, z.B. einer weiteren Nachkommas-
telle hätte man mehr Information des ursprünglichen Signales erhalten.
Und der zweite Effekt, wir verlieren auch zeitlich relevante Informationen. Die Sequenz 1,1 beinhaltet einen
kleinen Schwinger der in der Zahlereihe nicht mehr sichtbar ist. Die Fachleute sagen dazu dass das sogenannte
Nyquist-Kriterium verletzt wird, denn man muss mindestens mit der doppelten Frequenz abtasten, die im Signal
enthalten ist. Bei den kleinen Schwingungen ist das Prinzip verletzt. Wenn man nun die roten Punkte verbin-
det, dann erhält man dass für den Computer verwertbare Signal, die ursprüngliche Kurve ist nicht mehr genau
rekonstrierbar. Wenn man die Zahl der Abtastpunkte erhöht, wird dass besser.
0
2
1
3
4
5
6
Wie kann man nun solche Signale in digitale umwandeln. Dazu gibt
es unterschiedliche Verfahren, die den Rahmen hier schnell sprengen
würden. Aber ein paar Stichworte zum Suchen seien hier genannt: Delta-
Sigma, Sukzessive Approximation (SAR): Parallelwandler, Sägezahnver-
fahren, Mehrrampenverfahren, um nur einige zu nennen.
Der A/D-Umsetzer des Arduino Nano ist in dem Atmel 328 Prozessor
eingebaut. Der Wandler kann im Prinzip mit 15kSPS digitalisieren (bei
maximaler Auösung von 10 Bit), also 15.000 mal pro Sekunde. Die
Eingänge sind gemultiplexed, das heißt nur je einer der 8 analogen
Eingänge wird an den internen Wandler geschaltet. Werden mehre
Kanäle verwendet, sinkt die maximale Digitalisierungsrate entsprechend,
da man den Wandler nur für einen Kanal gleichzeitig verwenden kann.
Das Wandelprinzip ist, das der sukzessiven Approximation. Die Arduino
Software-Bibliothek macht das Ganze aber einfach, man muss nur den
Befehl digitalRead(PINNO...) verwenden und der Wandler wird aktiviert
und nach der Umwandlung aktiviert. So bekommt man den Zahlenwert
zwischen 0 und 1023, was einer Spannung zwischen 0 und 5V entspricht.










