@siro
Egal, wo Du im Netz schaust, bei Digitalvoltmetern mit einem Arduino, wird immer durch die darstellbaren Werte geteilt. Bei 10 Bit eben 1024.
https://www.electroschematics.com/ar...tal-voltmeter/
https://www.allaboutcircuits.com/pro...g-the-arduino/
https://create.arduino.cc/projecthub...arduino-00e7d1
https://appuals.com/how-to-make-a-di...using-arduino/
Hier auch andere Beispiele, mit 1023, bei 10 Bit:
https://mechatrofice.com/arduino/voltmeter-dc-dvm
https://provideyourown.com/2012/secr...ttery-voltage/
https://www.freecodecamp.org/news/ho...-b4dbf5b94d6f/
Wobei bei 10 Bit, zwischen 1023 und 1024, der Unterschied so gering ist, dass man den mit normalen Messgeräten für den Heimgebrauch nicht nachvollziehen kann.
Allerdings wird der Maximalwert von 1023 bei 10 Bit, nicht erst ab der Max-Spannung ausgegeben, sondern scheinbar bereits kurz darunter. Was vielleicht den Schluss zulässt, dass man durch 1024 (oder bei 8 Bit, durch 256) teilt. "Scheinbar" muss ich schreiben, weil ich das nicht genau genug bestimmen kann, weder hab ich eine Referenzspannungsquelle, noch geeichte Meßgeräte.
MfG
Geändert von Moppi (06.02.2020 um 09:20 Uhr)
es wird eben NICHT IMMER durch die Höhe der Auflösung (256 bzw. 1024 bei 2^8 bzw. 2^10) geteilt, sondern in anderen Quellen AUCH durch die Zahl des größtmöglichen Wertes (z.B. 1023), siehe hier:
voltage =volt* (5.0 / 1023.0);
https://mechatrofice.com/arduino/voltmeter-dc-dvm
und so ist es IMO auch korrekt, siehe Dreisatz, bei dem der größtmögliche ADC-WERT zur größtmöglichen Spannung ins Verhältnis gesetzt wird.
Geändert von HaWe (06.02.2020 um 10:13 Uhr) Grund: Auflösung
Für AVRs fand ich noch diese Application Note. Im Kapitel "1.1 General ADC Concepts" heißt es:
The output range must be divided into a number of
steps, one for each possible digital output value. This means that one output value does not correspond
to a unique input value, but a small range of input values.
Bei Ausgabewerten von 0 bis 255 gibt es also 256 Bereiche (ranges) für die Eingabewerte. 256 Stufen, Quantisierungsintervalle oder wie man es auch nennen möchte.
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
nein, bei 0 bis 255 gibt es 255 Bereiche (Quantisierungsintervalle, steps), nicht 256 !!
wenn z.B. nur die ADC-Werte 0,1,2,3 möglich wären (2-bit ADC, 2²=4) , entspräche
0 -> 0 V
1 -> 1,67 V
2- > 3,33 V
3 -> 5 V
das sind 4 Werte, aber nur 3 Schritte, jeder Schritt 1/3 von 5V. Capisce?
Geändert von HaWe (06.02.2020 um 09:42 Uhr) Grund: "steps"
Um der Sache aus dem Weg zu gehen, einem Irrtum zu unterliegen, kann man auch mit dem Maximalwert des ADC rechnen. Der ist bei 8 Bit 0xFF. Wenn man durch 0xFF teilt und mit 0xFF, zur Probe, multipliziert geht die Rechnung auf. Datentyp muss nur Fließkomma sein. 0xFF entspricht einem Dezimalwert von 255, bei 256 darstellbaren Werten im Hexadezimalsystem (weil die "0" mitgezählt wird).
MfG
Nachtrag: hier gab es dieselbe Diskussion: https://forum.arduino.cc/index.php?topic=215673.0
Geändert von Moppi (06.02.2020 um 10:11 Uhr) Grund: komma
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Der Parallelumsetzer, den man für den C64, nach der Zeitschrift, bauen konnte, der hatte 4 Komparatoren (LM324) und eine 2-Bit-Ausgabe. Also 4 Bereiche. Dazu ein paar LEDs zum Abgleich. Den Mittelwert musste man glaub ich einstellen, über ein Poti. Das Audiosignal wurde über einen Kondensator (weiß nicht mehr genau - 10nF ?) zugeführt. War nicht so dolle, aber es war zu erkennen, was man aufgenommen hatte und konnte das mit dem C64 auch wieder abspielen.
MfG
Vielleicht ist es ein guter Ansatz die Funktionsweise des Wandlers nachzuvollziehen, um die Frage zu beantworten.
Wenn es nicht so leicht ist die zu ergründen, dann schon einmal die Funktionsweise in umgekehrter Richtung, beim D/A Wandler der ja dazu passend sein sollte.
Da arbeitet man mit PWM und es werden 2 hoch n Werte erreicht mit dem kleinsten Wert 0V und dem größten Wert 5V (oder entsprechend Vref).
Lesezeichen