Forum: Analoge Elektronik und Schaltungstechnik 12bit AnalogDigitalWandler


von Georgios Tselegkidis (Gast)


Lesenswert?

Was ist der höchste wert bei einem 12bit AnalogDigitalWandler

von Peter M. (Gast)


Lesenswert?

2 hoch 12 minus 1
= 4095

von Georgios Tselegkidis (Gast)


Lesenswert?

Danke und noch was was bedeutet die  z.B. den Wert 800 anzeigt wird bei 
einem
10bit AnalogDigitalWandler kenn mich nicht richtig aus und brauche
 es für den Unterricht.

von H. B. (Gast)


Lesenswert?

Georgios Tselegkidis schrieb:
> Danke und noch was was bedeutet die  z.B. den Wert 800 anzeigt wird bei
> einem
> 10bit AnalogDigitalWandler kenn mich nicht richtig aus und brauche
>  es für den Unterricht.

Das hängt von der Referenzspannung ab.
Wie hoch ist die bei deinem AD-Wandler?

von Kevin M. (arduinolover)


Lesenswert?

800 von 1023 Schritten, also 78,2% der Referenzspannung liegen am ADC 
Eingang an.

von Georgios Tselegkidis (Gast)


Lesenswert?

Och ja hab ich ganz vergessen die Referenzspannung beträgt 5V

von Kevin M. (arduinolover)


Lesenswert?

Georgios Tselegkidis schrieb:
> Och ja hab ich ganz vergessen die Referenzspannung beträgt 5V

800 -> 3,91V

von Route_66 H. (route_66)


Lesenswert?

Georgios Tselegkidis schrieb:
> Danke und noch was was bedeutet die  z.B. den Wert 800 anzeigt wird bei
> einem
> 10bit AnalogDigitalWandler

Das bedeutet: der A/D-Wandler liefert 0x320 (Hex) oder 11 0010 0000 
(Bin).

von H. B. (Gast)


Lesenswert?

Georgios Tselegkidis schrieb:
> Och ja hab ich ganz vergessen die Referenzspannung beträgt 5V

Dann 5V / 1023 x 800 = 3,91V

von Kevin M. (arduinolover)


Lesenswert?

Route_66 H. schrieb:
> Das bedeutet: der A/D-Wandler liefert 0x320 (Hex) oder 11 0010 0000
> (Bin).

Du hast 1440 (Oct) und 568 (duodez) vergessen...

von S. Landolt (Gast)


Lesenswert?

Es sind bei 10 bit 1024 Schritte, folglich:
5.000 V *  800/1024 = 3.90625 V

von H. B. (Gast)


Lesenswert?

S. Landolt schrieb:
> Es sind bei 10 bit 1024 Schritte, folglich:
> 5.000 V *  800/1024 = 3.90625 V

Darfst für die Berechnung nur 1023 verwenden!

von Kevin M. (arduinolover)


Lesenswert?

S. Landolt schrieb:
> Es sind bei 10 bit 1024 Schritte, folglich:
> 5.000 V *  800/1024 = 3.90625 V

Schreib dir die Zahl mal binär auf, für 1024 brauchst du ein 11. Bit 
(10000000000)......

von Route_66 H. (route_66)


Lesenswert?

H. B. schrieb:
> Darfst für die Berechnung nur 1023 verwenden!

Kevin M. schrieb:
> Schreib dir die Zahl mal binär auf, für 1024 brauchst du ein 11. Bit
> (10000000000)......

Es wir bei 10 Bit aber von Null bis 1023 gezählt, also 1024 
verschiedene Werte!

von S. Landolt (Gast)


Angehängte Dateien:

Lesenswert?

Und wie bringen Sie Ihre "1023" hiermit in Einklang?

von S. Landolt (Gast)


Lesenswert?

PS:
Damit war jetzt eben natürlich nicht route_66 gemeint, siehe Uhrzeit.
Für die beiden anderen: gleich die erste Formel, unter 'single ended 
conversion', umstellen.

Beitrag #6445543 wurde vom Autor gelöscht.
von H. B. (Gast)


Lesenswert?

Ein 10-Bit Wandler hat aber nur als max. Ausgangswert 0x3FF also 1023.
(0-1023 = 1024)
Man erreicht also nur die Referenzspannung -1LSB.
Steht auch so in dem Atmel Datasheet.
Um das auszugleichen rechnet man daher "absichtlich falsch" indem man 
das eine LSB wieder dazuzählt.
Rein praktisch gesehen ist das aber erst ab ca. 20 Bit Auflösung wieder 
relativ genau.
Das ganze ist mehr oder weniger eine Glaubensfrage :)

von S. Landolt (Gast)


Lesenswert?

Ändert aber nichts daran, dass für die Berechnungen 2^10 = 1024 
verwendet werden muss. Hat mit "Glaube" oder "absichtlich falsch 
rechnen" nichts zu tun.

von Route_66 H. (route_66)


Angehängte Dateien:

Lesenswert?

S. Landolt schrieb:
> Damit war jetzt eben natürlich nicht route_66 gemeint,

Das habe ich schon verstanden.
Ich muss mich allerdings korrigieren: Im Bild ist ein Lineal, das von 
Null bis 10 geteilt ist; also 10 gleiche Abstände, aber 11 
unterschiedliche Werte.
Die Position 10 entspricht 10cm.
Für die Position 3 rechnet man 10cm / 10 * 3 = 3cm.

In meiner Analogie sind
10 == 1023
11 == 1024
10cm == Vref 5V (Referenzspannung AD-Wandler)
Position 3 == 800 (vom dritten Post oben)
10cm / 10 * 3 == 5V / 1023 * 800 => 3,9100V

von S. Landolt (Gast)


Lesenswert?

an H.B.:
Oder soll Georgios Tselegkidis morgen seinem Lehrer sagen: "Ich habe 
hier absichtlich falsch gerechnet"?

von S. Landolt (Gast)


Lesenswert?

an route_66:
Zur Verwirrung führte wohl der, leider auch von mir verwendete, Begriff 
"Schritte" - Ihr "Werte" ist korrekt.

von Route_66 H. (route_66)


Lesenswert?

In der Praxis rechnet man meist mit 1024, denn das geht recht einfach - 
auch bereits in Assembler. Die dabei entstehende Ungenauigkeit ist oft 
tolerierbar, weil die verwendete Referenzquelle ohnehin nicht so genau 
ist.

von H. B. (Gast)


Lesenswert?

S. Landolt schrieb:
> an H.B.:
> Oder soll Georgios Tselegkidis morgen seinem Lehrer sagen: "Ich habe
> hier absichtlich falsch gerechnet"?

Das soll uns sein Lehrer mal genau vorrechnen.

von H. B. (Gast)


Angehängte Dateien:

Lesenswert?

Auch ein Onlinetool zur ADC Berechnung nimmt den Wert 1023.

von H. B. (Gast)


Angehängte Dateien:

Lesenswert?

Auch die Arduino Fraktion rechnen mit 1023.

von Gustl B. (gustl_b)


Lesenswert?

Ist das ein unipolarer oder bipolarer Eingang? Also geht die 
Eingangsspanne von -Vref bis +Vref oder nur von 0V bis Vref?

von Crazy Harry (crazy_h)


Lesenswert?

Wenn 1024 richtig wäre, dann könnte man tatsächlich nie U(Ref) 
erreichen:
5V * 1023/1024 = 4.9951171875

Große Preisfrage: Wird ein AD-Wert beim Erreichen der entsprechenden 
Schwellspannung gültig, oder im Bereich zwischen 2 Werten?
Bei z.B. 10 Bit beträgt die Differenz zwischen b00000000 und b00000001 
bei 5V 0.0048875855V. Findet die Umschaltung bei Erreichen der Spannung 
0.0048875855V statt, oder im Bereich >0V ..... <=0.0048875855V?

von **KUNZ** (Gast)


Lesenswert?

Weil ihr unbedingt mit beschissenen Zahlen rechnen müsst.

Man kann ja mal abstrahieren und die Referenzspannung auf 1024Volt 
festlegen.
Dann entspricht ein Bit einem Volt.
00 0000 0110 sind also 6 Volt. Oder 11 1111 1111 = 1023Volt.

Die 6V eingesetzt in die o.g. Formel:(Vref x Meßwert/1024 oder 1023)

1024 x 6 / 1024 = ?
1024 x 6 / 1023 = ?

Na, was liefert wohl das richtige Ergebnis?

von H. B. (Gast)



Lesenswert?

Ich finde hier wird das ganz gut erklärt.

von Route_66 H. (route_66)


Lesenswert?

**KUNZ** schrieb:
> Man kann ja mal abstrahieren und die Referenzspannung auf 1024Volt
> festlegen.

Nein. Bei einem 10-Bit-Wandler wird die Referenzspannung auf z.B. 1,023V 
eingestellt. Dann entspricht jede Stufe genau einem Millivolt (von 
Nullpunktfehler und Linearitätsfehler des AD abgesehen).

Crazy H. schrieb:
> Große Preisfrage: Wird ein AD-Wert beim Erreichen der entsprechenden
> Schwellspannung gültig, oder im Bereich zwischen 2 Werten?

Bei gängigen AD-Wandlern geben die Hersteller gern plus/minus ein halbes 
LSB an. Also nach Deiner Formulierung
> ...oder im Bereich zwischen 2 Werten

von H. B. (Gast)


Lesenswert?

Route_66 H. schrieb:
> **KUNZ** schrieb:
>> Man kann ja mal abstrahieren und die Referenzspannung auf 1024Volt
>> festlegen.
>
> Nein. Bei einem 10-Bit-Wandler wird die Referenzspannung auf z.B. 1,023V
> eingestellt. Dann entspricht jede Stufe genau einem Millivolt (von
> Nullpunktfehler und Linearitätsfehler des AD abgesehen).
>
> Crazy H. schrieb:
>> Große Preisfrage: Wird ein AD-Wert beim Erreichen der entsprechenden
>> Schwellspannung gültig, oder im Bereich zwischen 2 Werten?
>
> Bei gängigen AD-Wandlern geben die Hersteller gern plus/minus ein halbes
> LSB an. Also nach Deiner Formulierung
>> ...oder im Bereich zwischen 2 Werten

Genau so !

von Anja (Gast)


Lesenswert?

Crazy H. schrieb:
> Bei z.B. 10 Bit beträgt die Differenz zwischen b00000000 und b00000001
> bei 5V 0.0048875855V.

Nein wo soll diese Schrittweite bei einem 10 Bit R2R Netzwerk überhaupt 
herkommen. Das geht physikalisch gar nicht.
Die Schrittweite ist selbstverständlich 5V/1024 = 0.0048828125 V.

Crazy H. schrieb:
> Findet die Umschaltung bei Erreichen der Spannung
> 0.0048875855V statt, oder im Bereich >0V ..... <=0.0048875855V?

Das hängt von der Transferkennlinie des A/D Wandlers ab.
Es gibt A/D-Wandler die nominal bei 0.5 Bit das erste mal schalten.
Also künstlich um 0.5 Bit Offset verzogen sind damit eine Rundung 
stattfindet.
Andere schalten erst bei 1.0 Bit.
Aber meist sind die Wandlungsfehler sowieso größer.

Gruß Anja

von **KUNZ** (Gast)


Lesenswert?

Route_66 H. schrieb:
> **KUNZ** schrieb:
>> Man kann ja mal abstrahieren und die Referenzspannung auf 1024Volt
>> festlegen.
>
> Nein. Bei einem 10-Bit-Wandler wird die Referenzspannung auf z.B. 1,023V
> eingestellt.

Man kann selbstverständlich jeden Wert wählen.
Ich habe 1024 genutzt um zu anschaulichen Zahlen und einer Schrittweite 
von einem Volt zu kommen.

Genau so wären natürlich auch 1023 möglich gewesen. Nur entspricht der 
Meßwert 11 1111 1111 dann nicht mehr 1023 Volt sondern gut 1022 Volt. 
Eben einer Teileinheit unter Referenzspannung.
Sagt jedenfalls der Hersteller des ADC. Wenn dazu alternative Fakten 
bekannt sind - immer her damit... :-)

> Bei einem 10-Bit-Wandler wird die Referenzspannung auf z.B. 1,023V
> eingestellt.
> Dann entspricht jede Stufe genau einem Millivolt

Nö, eben nicht! Eine Stufe mit einem Millivolt gibts mit 1,024V 
Referenz. Der größte darstellbare Meßwert ist dann 11 1111 1111 = 1,023 
Volt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

H. B. schrieb:
> Auch die Arduino Fraktion rechnen mit 1023.
Dann stimmt die Steigung halt nicht. Wem das egal ist, der kann das 
schon so machen.

H. B. schrieb:
> Auch ein Onlinetool zur ADC Berechnung nimmt den Wert 1023.
Dann hat halt der Programmierer der Onlinetools es auch nicht kapiert. 
Kann man nichts machen.

H. B. schrieb:
> Ich finde hier wird das ganz gut erklärt.
Der Ansatz auf Seite 13 ist soweit plausibel:
"With a 5V reference voltage, the resolution is 5 (volts) /210 = 5 
(volts)/1024 = 4.88 mV."
Dass dann aber ein paar Seiten später (und weiterhin) auf einmal mit 
1023 gerechnet wird, scheint mir doch verwegen:
"For example: with a 5V supply (analog reference) and 1V signal, the 
converted result is (1/5)*1023 = 204d = CCh"
Und damit also 4,88mV * 204 = 995mV! Hoppla!
Das Dokument widerspricht sich durch die Verwendung des Faktors 1023 
also selbst. Da hat offenbar der Praktikant mit herumgefrickelt, der die 
Sache mit den Pfosten und den Zaunfeldern nicht so richtig begriffen 
hatte.

Ein wichtiger Grund (den manche aber vermutlich nicht so richtig 
verstehen werden ;-) ist, dass Mathematik im Grunde zur Einfachheit 
neigt. Und wenn ich zur Berechnung den Faktor 1024 nehme, dann ist die 
Rechnung auf dem Controller voll einfach: ein Verschieben um 10 Bits. 
Simpler geht es kaum.

von willi (Gast)


Lesenswert?

Mir leuchtet das nicht ein. Mal praktisch betrachtet:
Was erwartet man von einem 2-Bit-Wandler mit 4V Referenz?
Frage ist: Rechnet man Vref/4 = 1V oder Vref/3 = 1,333V ?

Der AD-Wandler kann die Werte 0, 1, 2 und 3 ausgeben.
Ich würde erwarten:
0 = 0V genauer <0,5V
1 = 1V gen. 0,5V bis 1,5V
2 = 2V gen. 1,5V bis 2,5V
3 = 3V gen. >=2,5V

oder ich verschiebe den Bereich und mache
0= 0 bis 1V
1= 1 bis 2V
2= 2 bis 3V
3= >=3V

Aber es bleibt immer 1V also Vref/4 und nicht 1,333V (Vref/3)
Die 1,333V krieg ich nicht sinnvoll untergebracht?
Kann mir wer helfen ?

MfG Willi

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

willi schrieb:
> Was erwartet man von einem 2-Bit-Wandler mit 4V Referenz?
> Der AD-Wandler kann die Werte 0, 1, 2 und 3 ausgeben.
> Ich würde erwarten:
> 0 = 0V genauer <0,5V
> 1 = 1V gen. 0,5V bis 1,5V
> 2 = 2V gen. 1,5V bis 2,5V
> 3 = 3V gen. >=2,5V
Korrekt sieht es konkret so aus:
0 = 0,00 .. 0,99V
1 = 1,00 .. 1,99V
2 = 2,00 .. 2,99V
3 = 3,00 .. 3,99V
Denn ein Multimeter mit einem 2V Messbereich zeigt z.B. auch höchstens 
1,999V aber eben nie 2,000V an.

: Bearbeitet durch Moderator
von Route_66 H. (route_66)


Lesenswert?

Lothar M. schrieb:
> Korrekt sieht es konkret so aus:
> 0 = 0..0,999V
> 1 = 1..1,999V
> 2 = 2..2,999V
> 3 = 3..3,999V

Das ist ein Wunschtraum aus der Theorie!
In der Praxis sieht es so aus:

willi schrieb:
> Ich würde erwarten:
> 0 = 0V genauer <0,5V
> 1 = 1V gen. 0,5V bis 1,5V
> 2 = 2V gen. 1,5V bis 2,5V
> 3 = 3V gen. >=2,5V

Lothar M. schrieb:
> Denn ein Multimeter mit einem 2V Messbereich

Du vergleichst Äpfel mit Birnen!

: Bearbeitet durch User
von willi (Gast)


Lesenswert?

Ja Danke Lothar, schaltungstechnisch kann man das so oder so machen.
Mein Beispiel entspricht dem Atmel Datenblatt.
Aber das ist ein anderes Thema.
Was ist mit den 1,333V aus Vref/3 ?

MfG Willi

von H. B. (Gast)


Lesenswert?

Hier wird das ganze auch nochmal ganz gut erklärt.

The Netduino contains several ports (A0 - A5) that are capable of 
reading an analog signal and changing it into a digital representation 
of that signal. These ports can be used for digital I/O as well, but can 
individually be configured to use an internal ADC (Analog to Digital 
Converter).

The analog signal at the ADC port can come from different sources. It 
can come from a sensor, e.g. for measuring light or temperature, or it 
is simply taken from a variable resistor, that is changed by a user to 
select some value (e.g. the desired intensity of a dimmed light). The 
analog signal is a voltage between 0V and 3.3V. The ADC converts this 
voltage to a number between 0 and 1023, since the Netduino has 10-bits 
ADC’s. The number 0 represents 0V and 1023 represents Aref. The voltage 
level at any ADC port can be determined as follows:
1

float analogValue = (float)digitalValue * (3.3f/ 1023f)

In theory, you should divide by 1024, because there are that many steps. 
The maximum digital value of 1023 in that case represents a voltage 
between 3.2967 and 3.3V, but the formula would result in the lower 
value. In practice it is easier to divide by 1023, so a digital value of 
1023 represents the full scale of 3,3V. And with ADC precision-errors 
and a Vref that's probably not exactly 3.3V, the result is pretty 
accurate.

Wenn man es ganz genau nimmt, darf man auch den Quantisierungsfehler von 
ca. 0,5LSB nicht vergessen.
Wenn man den noch mit einrechnet sind weder die 1023 noch die 1024 
richtig.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

willi schrieb:
> Was ist mit den 1,333V aus Vref/3 ?
Da brauchst du halt einen 3-stufigen Wandler, dann darfst du das so 
machen.
Oder andersrum: durch das multiplizieren des AD-Werts 0..3 mit 1,33 
erhältst du 0 - 1,33 - 2,66 - 3,99V und liegst damit näher am 
"erwarteten" Wert. Und du hast dir die Anzeige durch eine stärkere 
Steigung der Übertragungsfunktion "schöngesoffen", denn 3,99V wird jetzt 
ja schon weit vor dem Erreichen der 3,99V angezeigt.

Route_66 H. schrieb:
> Das ist ein Wunschtraum aus der Theorie!
Ja, aber zuerst einmal sollte man es theoretisch korrekt machen und 
dann schauen, welche Fehler praktisch auftreten können und wie sie 
sich auswirken.
Wenn man aber schon theoretisch daneben liegt, kann es praktisch nur 
noch schlimmer werden.

H. B. schrieb:
> Hier wird das ganze auch nochmal ganz gut erklärt.
Auch das das "Schönreden" eines Fehlers macht den nicht richtiger.
Ich hoffe, ich habe nicht allzuviel mit Geräten zu tun, wo einer bewusst 
solche triviale Fehler einbaut. Denn dann macht er sicher woanders auch 
solche trivialen Fehler.

> Wenn man es ganz genau nimmt, darf man auch den Quantisierungsfehler von
> ca. 0,5LSB nicht vergessen.
Und auch keine Offset- oder Linearitäsfehler.
Aber das ist ein völlig anderes Thema mitsamt einer völlig anderen 
Theorie.

: Bearbeitet durch Moderator
von H. B. (Gast)


Lesenswert?

Lothar M. schrieb:
> H. B. schrieb:
>> Auch die Arduino Fraktion rechnen mit 1023.
> Dann stimmt die Steigung halt nicht. Wem das egal ist, der kann das
> schon so machen.
>
> H. B. schrieb:
>> Auch ein Onlinetool zur ADC Berechnung nimmt den Wert 1023.
> Dann hat halt der Programmierer der Onlinetools es auch nicht kapiert.
> Kann man nichts machen.
>
> H. B. schrieb:
>> Ich finde hier wird das ganz gut erklärt.
> Da hat offenbar der Praktikant mit herumgefrickelt, der die
> Sache mit den Pfosten und den Zaunfeldern nicht so richtig begriffen
> hatte.
>
> Ein wichtiger Grund (den manche aber vermutlich nicht so richtig
> verstehen werden ;-) ist, dass Mathematik im Grunde zur Einfachheit
> neigt. Und wenn ich zur Berechnung den Faktor 1024 nehme, dann ist die
> Rechnung auf dem Controller voll einfach: ein Verschieben um 10 Bits.
> Simpler geht es kaum.

Ja klar, alle anderen sind dumm, nur du weisst alles.

Dass mit den 1024 leichter zu rechnen ist, das stimmt alledings.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

H. B. schrieb:
> Ja klar, alle anderen sind dumm, nur du weisst alles.
Nein, sie sind nicht dumm. Sie machen es halt einfach falsch.
Die Einen, weil es ihrer Meinung nach "schönere" und "ziemlich genaue 
Ergebnisse" gibt (genau das steht da in diesem Text, den du zum Netduino 
gepostet hast).
Und die Anderen machen es falsch, weil es die Einen so vormachen.

> Dass mit den 1024 leichter zu rechnen ist, das stimmt alledings.
Du bist auf dem richtigen Weg.

: Bearbeitet durch Moderator
von willi (Gast)


Lesenswert?

>>> Was ist mit den 1,333V aus Vref/3 ?
>>Da brauchst du halt einen 3-stufigen Wandler, dann darfst du das so
>>machen.
Lieber Lothar, das verschiebt das Problem doch nur. Dann muss man doch 
-angeblich- vref/2 rechnen und kommt auf 2V, was bei einem 3stufigen 
Wandler genauso wenig Sinn macht.
---------------------------------------

Also nochmal an alle Vref/n-1 Verfechter:
Bitte erklärt mir warum man bei einem vierstufigen 2-Bit-Wandler mit 
Vref/3 rechnen muss statt Vref/4 ?

Gerade weil es so viele Datenblättern o.ä. gibt, wo es so beschrieben 
ist. Womöglich ist Vref/n-1 richtig und ich kapier's nur nicht.
Ich bitte um eine Erklärung. Wenn's geht an meinem 2-Bit Wandler 
Beispiel.

Gruß Willi

von H. B. (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal ein Beispiel mit einem 4-Bit AD-Wandler.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Route_66 H. schrieb:
> Lothar M. schrieb:
>> Denn ein Multimeter mit einem 2V Messbereich
> Du vergleichst Äpfel mit Birnen!
Immerhin ist beides Obst und wächst auf Bäumen.
Sooo arg liege ich mit dem Vergleich also gar nicht daneben... ;-)

H. B. schrieb:
> Hier mal ein Beispiel
Könntest du bitte bei deinen Beispielen (egal ob Bild oder Textauszug) 
die Quelle auch nennen?

> mit einem 4-Bit AD-Wandler.
Ja, aber ein 4 Bit Wandler hat eben 16 "Intervalle", die mit 0..15 
durchnummeriert sind.

Denn was am Bild "4-Bit_AD.PNG" für die Umsetzung in die Realität fehlt, 
ist die Zuordnung zu einem Spannungswert. Da drin wird nur mit 16 
virtuellen "Zaunpfosten" und 15 "Zaunfeldern" eine volksnahe Theorie 
aufgestellt und vermittelt.

Wie gesagt:
wenn das (so wie der beim Netduino) einer wissentlich so macht, um beim 
"höchsten" AD-Wert auch die "Endspannung" mit 5,00V anzeigen zu können, 
dann ist das das eine.
Aber wenn er sich mit vereinfachten Modellen eine eigene "2^n-1"-Theorie 
herzerrt, um sie als Wahrheit zu verkünden, dann irrt er ganz einfach.

: Bearbeitet durch Moderator
von Toxic (Gast)


Lesenswert?

Hab in den letzten Tages Emails von Microchip und Texas Instruments 
bekommen.
Folgende Literatur stehen zum Gratisdownload zur Verfuegung:

"Analog Engineer's Pocket Reference von TI" => sehr schoen gemacht und 
passend zum Thread....

"Analog Engineer's Circuit Cookbook: Amplifiers" - auch von TI und 
empfehlenswert

"Analog Design eBook" (pdf) von Microchip - eben erst downgeloaded.Kann 
deshalb nichts darueber sagen

Bei TI muss man eingeloggt sein - sich einen account einzurichten ist 
wohl kein grosses Problem und hat auch den Vorteil,dass man Spice etc 
downloaden kann...

Das "Analog Design eBook" von Microchip darf offensichtlich jeder 
downloaden

Und wenn ich schon mal dabei bin:
Camenzind's (Entwickler des Timer 555)"Designing Analog Chips"-pdf Datei 
sollte eigentlich auch jeder haben.Interessant ist auch seine Story wie 
es zum 555 kam.

Hier die Links:

http://www.designinganalogchips.com/_count/designinganalogchips.pdf

https://www.ti.com/lit/slyy137
https://www.ti.com/lit/slyy138
https://info.microchip.com/p0D00U0tyE040QjDUC0Ucp3

von H. B. (Gast)


Lesenswert?

Heute Morgen gleich mal das "Analog Design eBook" von Microchip 
angeschaut und schon in der ersten Application Note "AN1154" wird bei 
der AD-Wert Berechnung 2n-1 eingesetzt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

H. B. schrieb:
> schon in der ersten Application Note "AN1154" wird bei der AD-Wert
> Berechnung 2n-1 eingesetzt.
Achtung: Punkt vor Strich-Rechnung!
Das dort wiederholt verwendete 2^(n-1) ist etwas grundlegend anderes 
als das hier diskutierte (2^n)-1

Das 2^(n-1) bedeutet, dass das Datenwort ein Bit weniger breit ist und 
dadurch der Wertebereich halbiert wird (z.B. weil das Vorzeichen extra 
gehandhabt wird).

Ein (2^n)-1 bedeutet, dass man den Wertebereich lediglich um 1 Inkrement 
einschränkt.

: Bearbeitet durch Moderator
von Andi (Gast)


Lesenswert?

Jeder Messwert des ADCs entspricht ja nicht einem genauen Spannungswert 
am Eingang, sondern einem Spannungsbereich. Bei einem 10 Bit ADC:
1
0 = 0/1024 .. 1/1024  der Referenzspannung
2
1 = 1/1024 .. 2/1024
3
...
4
3FE = 1022/1024 .. 1023/1024
5
3FF = 1023/1024 .. 1024/1024
Da man bei der Darstellung des Spannungswertes nicht einen Bereich 
angeben will, sondern einen einzelnen Wert, nimmt man wohl am besten den 
Mittelwert des Bereiches, was dann für 0x3FF: 1023.5/1024 wäre. Also 
wäre der beste Teiler nicht 1023 oder 1024, sondern 1023.5 !

von Achim S. (Gast)


Lesenswert?

Andi schrieb:
> Da man bei der Darstellung des Spannungswertes nicht einen Bereich
> angeben will, sondern einen einzelnen Wert, nimmt man wohl am besten den
> Mittelwert des Bereiches, was dann für 0x3FF: 1023.5/1024 wäre. Also
> wäre der beste Teiler nicht 1023 oder 1024, sondern 1023.5 !

Das kannst du so machen (bei den meisten ADCs ist es zwar nur akademisch 
interessant, aber damit minimierst du tatsächlich in der theoretischen 
Betrachtung den Betrag des Quantisierungfehlers).

Aber wenn du das so machst, dann ist der Teiler immer noch 1024 . Die 
0,5 werden in der Rechnung dem ADC-Wert zugeschlagen, nicht dem Teiler. 
Der ADC-Wert läuft dann nicht mehr von 0...1023 sondern von 0,5...1023,5

von Ralph S. (jjflash)


Lesenswert?

... wenn man mit 1023 rechnet, ist schlicht die Steigung falsch !

Am Beispiel eines 2 Bit ADC mit einer Referenz von 4 Volt würde das bei 
einem Teilerfaktor von (2^n)-1 ( hier dann 3 ) bedeuten, dass die 
Änderung eines Digits 1,33V betragen würde.

Gibt der ADC hier dann den Zahlenwert 1 aus, bedeutet das, dass der 
gemessene Spannungswert im Bereich von 1,33V bis 2,66V liegen würde.

Eine angelegte Spannung von 1,1V (oder auch 1,2V) würde der ADC immer 
noch mit einer 0 ausgeben.

00 .... 0 - 1,33V
01 .... 1,34 - 2,66V
10 .... 2,67 - 3,99V
11 .... > 4V

Hier würde eine angelegte Spannung von 2,5V immer noch 1V anzeigen.

Bei Teilerverhältnis 2^n wären die Bereiche:

00 .... 0 - 0,99V
01 .... 1 - 1,99V
10 .... 2 - 2,99V
11 .... 3 - 3,99V

Mit zunehmender Anzahl der Digits fällt der Fehler bei (2^n)-1 immer 
weniger ins Gewicht, was jedoch nichts an der Tatsache ändert, dass die 
Schrittweiter zwischen den Digits (Auflösung ?) schlicht falsch ist.

Bei einem 2-Bit ADC (und einer Referenz von 4V) ist die Schrittweite 1V. 
Aus meiner Sicht der Dinge beißt hier die Maus keinen Faden ab.

von Route_66 H. (route_66)


Lesenswert?

Lothar M. schrieb:
> Route_66 H. schrieb:
>> Lothar M. schrieb:
>>> Denn ein Multimeter mit einem 2V Messbereich
>> Du vergleichst Äpfel mit Birnen!
> Immerhin ist beides Obst und wächst auf Bäumen.
> Sooo arg liege ich mit dem Vergleich also gar nicht daneben... ;-)

Wenn Du etwas Ahnung davon hättest, wie ein AD-Wandler im Multimeter 
funktioniert, würdest Du lieber still sein - oder mit Dieter Nuhr...

von H. (Gast)


Lesenswert?

Ralph S. schrieb:
> Bei einem 2-Bit ADC (und einer Referenz von 4V) ist die Schrittweite 1V.
> Aus meiner Sicht der Dinge beißt hier die Maus keinen Faden ab.

Schönes Beispiel, man muss sich eben nur vor Augen führen, dass ein ADC 
nur BIS ZUR Referenz messen kann, genau die selbst Referenzspannung ist 
gerade aus dem Bereich raus und nicht mehr messbar.

Route_66 H. schrieb:
> Wenn Du etwas Ahnung davon hättest, wie ein AD-Wandler im Multimeter
> funktioniert,

Ich denke Lothar meinte das sinnbildlich, das ein ADC im Multimeter mit 
Dual-Slope misst spielt bei dieser Betrachtung keine Rolle.

von rbx (Gast)


Lesenswert?

Da kann man durchaus durcheinander kommen..
deswegen hier noch mal ein Beispiel mit 4Bits (es gehen 16 Werte!)
1
0 1 2 3 4 5 6 7 
2
8 9 A B C D E F

Dann steht auf Max also F.

"mach mal die Lautstärke leiser!"
(halbe Lautstärke)

Wäre gegangen: 7,5
Geht aber nur: 8 oder 7

-> muss man ausprobieren, was besser passt
-> Lächeln der Digitaltechnik
-> Warum das doof ist, wenn bei der Auflösung zuviel gespart wird.

800 = 50 x 16

;)

von Dirk W. (Gast)


Lesenswert?

Ralph S. schrieb:
> ... wenn man mit 1023 rechnet, ist schlicht die Steigung falsch !
> [...]
> Bei einem 2-Bit ADC (und einer Referenz von 4V) ist die Schrittweite 1V.

Das stimmt - und auch wieder nicht ;-)

Wenn der 2-Bit-ADC in Deinem Beispiel "11" (also dezimal 3) als Ergebnis 
ausgibt, was soll denn dann dem Benutzer angezeigt werden? 3V? Oder 
vielleicht doch 4V? Davon hängt doch ab, ob Du durch 2^n oder (2^n)-1 
teilst.

Es kommt also darauf an, wie man das Ergebnis des ADCs interpretieren 
will.

Siehe übrigens auch hier: 
https://www.mikrocontroller.net/articles/Aufl%C3%B6sung_und_Genauigkeit

von Crazy Harry (crazy_h)


Lesenswert?

Lothar M. schrieb:
> Denn ein Multimeter mit einem 2V Messbereich zeigt z.B. auch höchstens
> 1,999V aber eben nie 2,000V an.

Damit ich auch noch meinen Senf dazu gegeben hab: Das liegt eher daran, 
daß ein 3 1/2 stelliges MM an erster Stelle nur eine "1" im Display 
anzeigen kann ;-)

von Εrnst B. (ernst)


Lesenswert?

Dirk W. schrieb:
> Wenn der 2-Bit-ADC in Deinem Beispiel "11" (also dezimal 3) als Ergebnis
> ausgibt, was soll denn dann dem Benutzer angezeigt werden? 3V?

Die Wahrheit: "Der Analog-Wert liegt zwischen 3V und 4V".
Was der ADC als Digitalwert ausgibt ist per Konvention der untere Wert 
des Analogen Spannungsbereichs.

d.H. Wenn du was mit minimalen Rundungsfehlern ausgeben willst:
Rechne mit ADC+0.5 & 2ⁿ Stufen.
Gäbe hier also 3.5V.

Dann kriegt der Nutzer auch nie "0.0000 Volt" angezeigt, das wäre ja 
auch gelogen.

von Dirk W. (Gast)


Lesenswert?

Εrnst B. schrieb:
> Die Wahrheit: "Der Analog-Wert liegt zwischen 3V und 4V".

Ja, das wäre sicherlich das Optimum. Üblicherweise ist aber eine 
numerische Darstellung des Ergebnisses erwünscht. Durch die begrenzte 
Auflösung des ADCs muss man sich nun entscheiden, wie man das Ergebnis 
für sich am besten darstellt. Bei der ursprünglichen Frage "muss ich 
denn nun durch 1023 oder 1024 teilen (bzw. bei dem 2-Bit-ADC durch 3 
oder 4)" gibt es kein Richtig und kein Falsch, denn bei einer 
Eingangsspannung von 3,5V ist ja eigentlich beides falsch, sowohl 3 als 
auch 4 :-)

von Achim S. (Gast)


Lesenswert?

Dirk W. schrieb:
> Das stimmt - und auch wieder nicht ;-)
>
> Wenn der 2-Bit-ADC in Deinem Beispiel "11" (also dezimal 3) als Ergebnis
> ausgibt, was soll denn dann dem Benutzer angezeigt werden? 3V? Oder
> vielleicht doch 4V?

Ob man in dem Fall 3V ausgibt oder 4V oder 3,5V irgendeinen anderen Wert 
Wert aus dem Intervall ist tatsächlich eine willkürliche Festlegung. Es 
ist nur sicher, dass der Wert irgendwo im Bereich von 3V-4V liegt.

Dirk W. schrieb:
> Davon hängt doch ab, ob Du durch 2^n oder (2^n)-1
> teilst.

Nein, hier liegst du falsch. Wenn man durch 2^n teilt legt man fest, 
dann ein (Quantisierungs)-intervall des ADC 1V groß ist. Das ist der 
korrekte Wert. Der Binärwert "11" des ADC sagt, dass die tatsächlich 
Spannung zwischen 3V und 4V liegt. Der Binärwert "11" kann also als 
irgendeine Zahl im Bereich 3-4 interpretiert werden, und diese Zahl wird 
mit dem Quantisierungsintervall 1V multipliziert.

Wenn man aber Vref durch (2^n)-1 teilt legt man fest, dass ein 
Quantisierungsintervall des ADC 1,333V groß ist. Das würde bedeuten, 
dass der Binärwert "11" für irgendeine Spannung aus dem Intervall 
2,666V-4V steht. Und das ist halt einfach falsch.

Die Willkür liegt also nicht beim Zählen der Quantisierungintervalle: 
davon gibt es eindeutig 2^n.

Die Willkür liegt darin, wie man das quantisierte Ergebnis "11" des ADCs 
interpretieren will: als Untergrenze des Intervall (also als 3), als 
Mittelwert des Intervalls (also als 3,5) oder als Obergrenze des 
Intervalls (als "fast" 4). Bei theoretischen Betrachtungen findet man 
tatsächlich gar nicht so selten den Wert 3,5, bei den praktischen 
Implementierungen wählt man in den allermeisten Fällen 3.

von Εrnst B. (ernst)


Lesenswert?

Dirk W. schrieb:
> gibt es kein Richtig und kein Falsch

doch. 1023 ist einfach falsch. Kann man aber machen, wenn man sich 
dessen bewusst ist, (und es evtl. als Kommentar drüberschreibt) "weil es 
dem User schönere Zahlen anzeigt".
Problem: Durch viel Influencer-Copy-Pasta ist dieser falsche Wert 
kritiklos in etlichen Beispielen, Wikis, Youtube-Tutorials, 
Arduino-TikToks usw gelandet. Jemand der sich nur daraus informiert hat 
den falschen Rechenweg so oft eingetrichtert bekommen dass er ihn für 
die einzige seligmachende Wahrheit hält, und selber Nachdenken&Herleiten 
ist ja heutzutage nicht mehr "in".

von HildeK (Gast)


Lesenswert?

Dirk W. schrieb:
> gibt es kein Richtig und kein Falsch, denn bei einer
> Eingangsspannung von 3,5V ist ja eigentlich beides falsch, sowohl 3 als
> auch 4 :-)

So gesehen ist fast keine Messung richtig und in Wahrheit ist es ja auch 
so.
Am nächsten wären man dran, wenn man anzeigt:
                   Anzeige
 00 .... 0 - <1V    0,5V
 01 .... 1 - <2V    1,5V
 10 .... 2 - <3V    2,5V
 11 .... 3 - <4V    3,5V,
also den halben Wert eines LSB dazu addiert.

Dann würden dein 3,5V sogar perfekt getroffen 😀

von H. B. (Gast)


Lesenswert?

HildeK schrieb:
> Dirk W. schrieb:
>> gibt es kein Richtig und kein Falsch, denn bei einer
>> Eingangsspannung von 3,5V ist ja eigentlich beides falsch, sowohl 3 als
>> auch 4 :-)
>
> So gesehen ist fast keine Messung richtig und in Wahrheit ist es ja auch
> so.
> Am nächsten wären man dran, wenn man anzeigt:
> also den halben Wert eines LSB dazu addiert.
>
> Dann würden dein 3,5V sogar perfekt getroffen 😀

Das hab ich gestern schon geschrieben, aber es gibt halt immer noch 
Leute die das nicht glauben können.

von HildeK (Gast)


Lesenswert?

H. B. schrieb:
> Das hab ich gestern schon geschrieben,

Gestern hast du aber durch 2^n-1 geteilt.
Meine Aussage bezog sich auf Vref*ADC_CNT / 2^n + 0.5, ich teile durch 
2^n - da sind wir also uns nicht einig.

von H. B. (Gast)


Lesenswert?

HildeK schrieb:
> H. B. schrieb:
>> Das hab ich gestern schon geschrieben,
>
> Gestern hast du aber durch 2^n-1 geteilt.
> Meine Aussage bezog sich auf Vref*ADC_CNT / 2^n + 0.5, ich teile durch
> 2^n - da sind wir also uns nicht einig.

Ich habe gestern folgendes geschrieben:

Ein 10-Bit Wandler hat aber nur als max. Ausgangswert 0x3FF also 1023.
(0-1023 = 1024)
Man erreicht also nur die Referenzspannung -1LSB.
Steht auch so in dem Atmel Datasheet.
Um das auszugleichen rechnet man daher "absichtlich falsch" indem man
das eine LSB wieder dazuzählt.
Rein praktisch gesehen ist das aber erst ab ca. 20 Bit Auflösung wieder
relativ genau.
Das ganze ist mehr oder weniger eine Glaubensfrage :)

Wenn man es ganz genau nimmt, darf man auch den Quantisierungsfehler von
ca. 0,5LSB nicht vergessen.
Wenn man den noch mit einrechnet sind weder die 1023 noch die 1024
richtig.


Im Endeffekt ist eben weder 1023 noch 1024 korrekt.
Beim Teile durch 1023 wird zwar die Referenzspannung erreicht, aber es 
besteht ein Linearisierungsfehler.
Beim Teile durch 1024 sind sie Werte zwar Linear, aber die 
Referenzspannung kann nie erreicht werden.
Mit der Addition von 0,5LSB kommt man dem ganzen schon näher, aber den 
genauen Wert weiss man eben nie.

von H. B. (Gast)


Lesenswert?

Was die Berechnung in der AN1154 angeht lag ich wirklich falsch.
Hier bedeutet (2^n)-1 dass man den Wertebereich lediglich um 1 Inkrement
einschränkt.

von Willi (Gast)


Lesenswert?

Hallo nochmal,
man muss tatsächlich mit Vref/(n-1) rechnen.
Ihr habt Recht, ich lag falsch. Sorry.

Die Ausgabewerte (Codes) des AD-Wandlers stehen nicht für einen 
diskreten Eingangspannungswert, sondern für ein Spannungsintervall.
Der Code 2 bedeutet z.B. nicht genau 2V sondern z.B. 1,8V bis 2,2V. Ein 
Intervall also. Wie viele solcher Intervalle gibt es?
Es gibt n davon, denn jeder Code steht für ein Intervall.
Ein 2-Bit-Wandler verteilt seine 4 möglichen Codes auf vier Intervalle. 
Aber wie groß sind die? Vref/(n-1). Aber nicht das erste und das letzte,
die sind nur halb so groß damit der Wandler bei der Hälfte einer Stufe 
auf den nächsten Code schaltet.

Die Verteilung bei meinem Beispiel von gestern Abend mit dem
2-Bit Wandler mit 4V Referenz sieht dann so aus:
Intervallgrösse (1LSB) = 4V/3 also 1,33V

Code | Spg.Intervall | Größe
 0 = 0V bis 0,67V  = 1/2 LSB
 1 = 0,67V bis 2V  = 1 LSB
 2 = 2V bis 3,33V  = 1 LSB
 3 = 3,33V bis 4V  = 1/2 LSB
macht 3 LSB verteilt auf vier Intervalle

Mit 3V Referenz sieht es schöner aus:
0 = 0V bis 0,5V
1 = 0,5V bis 1,5V
2 = 1,5V bis 2,5V
3 = >2,5V bis 3V

So ist Abweichung der Codes vom Spannungsverlauf minimal
und die Summe der Fehler über den gesamten Bereich ist Null.

Sehr schön zu sehen bei folgendem 8-Bit Flash Wandler:
Der erste und der letze Widerstand in der Kette sind nur 1/2R.
Und Vref ist 7 LSB, nicht 8.
http://root.crs-web.de/modules/digitalwandler/wa_pa_s.gif

Mfg Willi

von Achim S. (Gast)


Angehängte Dateien:

Lesenswert?

Willi schrieb:
> Sehr schön zu sehen bei folgendem 8-Bit Flash Wandler:

Lothar hat das vorgestern schon mal angesprochen: in Internet findet man 
verschiedene Darstellungen, sowohl richtige als auch falsche.

Als Gegenbeispiel für die Darstellung in deiner Quelle im Anhang eine 
entsprechende Darstellung von Analog Devices. (Eine Firma, die nicht nur 
Prinzipschaltbilder veröffentlicht sondern tatsächlich auch davon lebt, 
ADCs zu bauen. Und diese auch im Detail zu erklären.)

https://www.analog.com/media/en/training-seminars/design-handbooks/Data-Conversion-Handbook/Chapter3.pdf

Dort sind die Widerstände an den Enden der Teilerkette ebenfalls 
ungleichmäßig. Aber nicht um die Quantisierungsintervalle an den 
Messbereichsenden "nur halb so groß" zu machen. Sondern um zu bewirken, 
dass das Umschalten des ADC-Ausgangs jeweils genau in der Mitte des 
Quantisierungsintervalls stattfindet. Alle Quantisierungsintervalle sind 
gleich groß angelegt, V_ref ist 2^n * LSB.

Solche Spielereien, wie sie in deiner Quelle gezeigt sind 
(Quantisierungsintervalle am Messbereichsende, die bewusst kleiner 
ausgelegt sind) wären übringes auch nur mit dem als Beispiel genutzten 
Flash-ADC möglich. Für die typischen 10- oder 12-Bit ADCs (SAR) ist eine 
solche Sonderbehandlung der "Randintervalle" praktisch kaum 
implementierbar.

von Willi (Gast)


Lesenswert?

Der Wandler in meinem Beispiel teilt den gesamten Bereich 0 bis Vref in 
7 gleich große Intervalle der Größe Vref/7. Umschaltung jeweils in der 
Mitte der Intervalle.

Dein Beispiel teilt den Bereich 0 bis Vref auch in 7 Intervalle. Die 
ersten sechs sind gleich groß Vref/8, aber das siebte ist doppelt so 
groß Vref/4, und wird als Ganzes dem einen Code 111 zugeordnet. 
Umschaltung bei den ersten 6 Intervallen in der Mitte und beim letzten, 
größeren, bei 1/4 des Intervalls.
Vorteil ist die Größe Vref/8 für die ersten 6 Intervalle. Glatte Zahl 
halt.

Die Widerstände von 1/2R in meinem Beispiel sind weder Spielerei 
(ungeeignete Wortwahl bei einer sachlichen Diskussion) noch Sonderfälle, 
sondern sie sind notwendig, damit die Umschaltung in der Mitte der 
Intervalle liegt. Und das ist nicht nur bei Flash-Wandlern möglich. Auch 
bei anderen AD-Wandlerverfahren möchte man die Umschaltung in der Mitte 
der Quantisierungsintervalle haben, und benutzt dafür je nach 
Technologie geeignete Mittel.

Man kann einen Kuchen nicht sauber in 7 Teile von 1/8 Größe schneiden.
Da kommt man nicht dran vorbei.
Womit wir wieder am Anfang des Threads angekommen sind. ;-)

MfG Willi

von Jacko (Gast)


Lesenswert?

Püh, ist das selbst in diesem Forum soooo ein Problem?

Vorgabe 1:  Uref
Vorgabe 2:  Auflösung in Bit = N

Uin = ADC_Ausgabewert * Uref / 2^N

Da muss man nichts MEINEN, DENKEN, oder GLAUBEN, sondern es nur
EIN mal kurz KAPIERT haben und sich anschließend dran halten.

Kleine Abweichungen sind Bauteiltoleranzen. (siehe Datenblatt)
Große Abweichungen sind Betrieb außerhalb der (siehe Datenblatt) 
Spezifikationen, oder ein defekter ADC.

Das kann doch nicht soooooo schwer sein!

von H. B. (Gast)


Lesenswert?

Jacko schrieb:
> Püh, ist das selbst in diesem Forum soooo ein Problem?
>
> Vorgabe 1:  Uref
> Vorgabe 2:  Auflösung in Bit = N
>
> Uin = ADC_Ausgabewert * Uref / 2^N
>
> Da muss man nichts MEINEN, DENKEN, oder GLAUBEN, sondern es nur
> EIN mal kurz KAPIERT haben und sich anschließend dran halten.
>
> Kleine Abweichungen sind Bauteiltoleranzen. (siehe Datenblatt)
> Große Abweichungen sind Betrieb außerhalb der (siehe Datenblatt)
> Spezifikationen, oder ein defekter ADC.
>
> Das kann doch nicht soooooo schwer sein!

LOL - Wenn es so einfach wäre, dann wäre die Welt ein Ponyhof :)

Das sind die naiven Gedankengänge von Kleinkindern die noch drann 
glauben dass 1+1 immer 2 ergibt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite



Lesenswert?

H. B. schrieb:
> LOL - Wenn es so einfach wäre, dann wäre die Welt ein Ponyhof :)
So viele Kinder wie da herumlaufen und herumspielen, da könnte man das 
schon meinen.

> Das sind die naiven Gedankengänge von Kleinkindern die noch drann
> glauben dass 1+1 immer 2 ergibt.
Das ist keine Glaubensfrage (auch wenn du anderes behauptest).
In welchen Fällen gibt denn 1+1 etwas anderes als 2?

Aber wenn du unbedingt sagen willst 1+1 = 3, dann tu es. Und wenn du 
unbedingt 2^n-1 als Skalierung nehmen willst, dann tu es.

Ich hoffe aber, dass ich nie auf ein Gerät angewiesen bin, das den 
Skalierungsfaktor 1023 oder 2047 oder 4095 enthält. Denn wie gesagt: da 
sind dann mit allerhöchster Wahrscheinlichkeit auch noch andere Fehler 
in der Software.

Jacko schrieb:
> Püh, ist das selbst in diesem Forum soooo ein Problem?
Das Thema taucht alle halbe Jahre in der selben Form wieder auf, weil 
die irreführenden Informationen und die falschen Erklärvideos ja alle 
noch im Netz zu finden sind.

Und weil die so schön einfach und leicht verständlich sind, werden sie 
lieber herangenommen als dieser wissenschaftliche "starke Tobak":
https://www.sciencedirect.com/science/article/pii/S2589208820300077
http://www.atx7006.com/articles/static_analysis/adc_parameters

Und weil auch die Hersteller solche irreführenden Bilder in ihren 
Datenblättern haben, gibts dazu Diskussionen:
https://www.microchip.com/forums/m922845.aspx

Die ganzen Betrachtungen hier gelten nämlich in dieser einfachen und 
offensichtlich anschaulichen Weise nur für Flash-Wandler, wo man diese 
Widerstandskette und die 2^n-1 Komparatoren direkt sieht. Die 
Betrachtungen lösen sich schlagartig in Luft auf, wenn man mal die 
Funktionsweise und die Schrittweite und die Umschaltpunkte eines 
SA-Wandlers genauer ansieht.

Willi schrieb:
> Die Widerstände von 1/2R in meinem Beispiel sind weder Spielerei
> noch Sonderfälle, sondern sie sind notwendig, damit die Umschaltung
> in der Mitte der Intervalle liegt.
Ja, aber wenn man sich die Kennlinien von real existierenden ADC 
ansieht, dann erfolgt diese Umschaltung eben idealerweise/normalerweise 
nicht bei in der Mitte der Intervalle, sondern bei Uref/2^n.
https://www.embedded.com/understanding-analog-to-digital-converter-specifications/
https://www.analog.com/media/en/training-seminars/design-handbooks/Data-Conversion-Handbook/Chapter2.pdf
https://www.ti.com/lit/an/slaa013/slaa013.pdf

: Bearbeitet durch Moderator
von H. B. (Gast)


Lesenswert?

Lothar M. schrieb:
> H. B. schrieb:
>> LOL - Wenn es so einfach wäre, dann wäre die Welt ein Ponyhof :)
> So viele Kinder wie da herumlaufen und herumspielen, da könnte man das
> schon meinen.
>
>> Das sind die naiven Gedankengänge von Kleinkindern die noch drann
>> glauben dass 1+1 immer 2 ergibt.
> Das ist keine Glaubensfrage (auch wenn du anderes behauptest).
> In welchen Fällen gibt denn 1+1 etwas anderes als 2?

Dann begib dich mal in das Reich der Quantenphysik.

Restklassen- oder Uhrenarithmetik, Rechnen mit Kongruenzen, zirkuläre 
oder modulare Arithmetik, binäres Zahlensystem, usw.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

H. B. schrieb:
> Dann begib dich mal in das Reich der Quantenphysik.
Und was hat das jetzt mit dem hier diskutierten Thema zu tun?

> Restklassen- oder Uhrenarithmetik, Rechnen mit Kongruenzen, zirkuläre
> oder modulare Arithmetik, binäres Zahlensystem, usw.
Oder diese Buzzword-Bingo-Liste hier?

von H. B. (Gast)


Lesenswert?

Lothar M. schrieb:
> H. B. schrieb:
>> Dann begib dich mal in das Reich der Quantenphysik.
> Und was hat das jetzt mit dem hier diskutierten Thema zu tun?

nichts - du wolltest nur wissen in welchen Fällen 1+1 etwas anderes als 
2 ergibt.

von dirk (Gast)


Lesenswert?

Gruss in die Runde

Interesant,
Ah da kommt gleich "faszinierend"
 und dann mach ich mich aus dem Staub.
König und Turm gegen König gegen Turm
 (Schach) : Angebot des Remis ist da normal
oder man hat mal die Chip gelesen(?).
Ich bleib bei den Konventionen zur 1,
auch wenn Sie mal systematisch genullt wird.
und 2*3/4(Kreis) geometrisch Eins ergeben können.
(Zitat: Pille er ist tot.)

Dirk St

von aggressive (Gast)


Lesenswert?

Lothar M. schrieb:
> Die ganzen Betrachtungen hier gelten nämlich in dieser einfachen und
> offensichtlich anschaulichen Weise nur für Flash-Wandler, wo man diese
> Widerstandskette und die 2^n-1 Komparatoren direkt sieht.
Ich lehne mich noch weiter aus dem Fenster: alle A/D sind niemals völlig 
frei von Abweichungen, deshalb kann man sich auf das LSB sowieso niemals 
verlassen, selbst bei Tricks mit Mehrfachmessungen und Rauschen, am Ende 
ist die zur Anzeige gebrachte Auflösung immer besser als die tatsächlich 
erreichbare Genauigkeit.


SCHWELG
Was das waren das noch für Zeiten, als man digitale Messgeräte noch mit 
+/-0,5% und +/-1digit spezifiziert hat.
Heute muss es ja modernerweise +/-0,005% heissen, das klingt besser, 
aber halt +/-215digit. Naja, net uffrege, abkleben der letzten 
Dezimalstellen hilft :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.