-         
Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte
Ergebnis 51 bis 60 von 68

Thema: Ein ADC Schritt Ref/n oder Ref/(n-1)

  1. #51
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    09.10.2014
    Beiträge
    5.076
    Anzeige

    Praxistest und DIY Projekte
    Die Meßwerte reichen trotzdem aus um zu entscheiden, ob mit 3 (n-1) oder besser mit 4 (n) gerechnet werden sollte.
    klarer Fall:
    da eine Funktion immer nur 1 Funktionswert pro Argument haben darf und sowohl die unterste Grenze (0) als auch die oberste (5) abgebildet werden müssen, um insb. "oben" nichts abzuschneiden:
    mit n-1. Beim 2-bitter also exemplarisch dann Schritte zu je 5V/3:

    0 -> 0 V
    1 -> 1,67 V
    2- > 3,33 V
    3 -> 5 V


    Wer Grenzen um die Zielwerte braucht, kann diese um die per (n-1)-Divisor berechneten skalierten Werte herum frei definieren, nur sind sie dann eben nicht ganz symmetrisch zur nächstniedrigeren und der nächsthöheren "Schaltschwelle" (idealerweise sollten sie etwa in der Mitte dazwischen liegen, außer beim niedrigsten und beim höchstmöglichen Wert). Die Asymmetrie sinkt aber mit der Höhe der bit-Auflösung.
    Immerhin bleibt dann auch die Möglichkeit zu 5,0V bei ADC=3, anstelle von 3,78V, entsprechend zu pwm.

    PS,
    Auch können sich andere ADC-Chips in ihren "Schwellen" u.U. anders verhalten (bei SAMD, ESP, ADS1115, PCF8591, MCP3008...) - dies würde dennoch die bisherige Skalierung per Dreisatz in keinster Weise betreffen oder beeinträchtigen
    a/aMax=v/vMax,
    aMax = (2i)-1,
    vMax=vRef (5V),
    i=ADC-bit-Auflösung
    a=umzuwandelnder ADC-Wert
    v=korrespond. skalierter Volt-Wert
    Geändert von HaWe (08.02.2020 um 09:30 Uhr) Grund: ADS1115
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  2. #52
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.04.2015
    Beiträge
    577
    Geändert von Holomino (08.02.2020 um 12:53 Uhr) Grund: kroookokokoko - prust

  3. #53
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.163
    Zitat Zitat von Holomino Beitrag anzeigen
    Zitat Zitat von HaWe Beitrag anzeigen
    0 -> 0 V
    1 -> 1,67 V
    2- > 3,33 V
    3 -> 5 V
    Diese Einteilung hatte gestern nichts mit der Realität zu tun, heute nicht und morgen wird sie es auch nicht haben.

    Unter https://www.spektrum.de/lexikon/phys...al-wandler/492 ist der Aufbau eines AD-Wandlers zu finden, dessen Teilerverhältnisse klar zeigen:
    Es gibt dieses "krumme" 1:3 Teilungsverhältnis nicht.

    Insofern ist Deine Skalierung komplett an der Realität vorbei - unnötige Kosmetik, die krampfhaft zu verschleiern versucht, dass man VREF mit einem AD-Wandler nicht mehr messen kann.
    Versteh ich nicht.
    Ciao sagt der JoeamBerg

  4. #54
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.607
    Blog-Einträge
    133
    Zitat Zitat von Searcher Beitrag anzeigen
    Die Meßwerte reichen trotzdem aus um zu entscheiden, ob mit 3 (n-1) oder besser mit 4 (n) gerechnet werden sollte.
    Beim AVR wird die Größe eines Quantisierungsintervalls mit Vref/n errechnet. n ist die Anzahl möglicher Ausgabewerte des ADC. Bei einem 2-Bit ADC ist n=4 und ein Quantisierungsintervall bei Vref=5V somit 5V/4=1,25V.

    Zitat Zitat von HaWe Beitrag anzeigen
    a/aMax=v/vMax,
    aMax = (2i)-1,
    vMax=vRef (5V),
    i=ADC-bit-Auflösung
    a=umzuwandelnder ADC-Wert
    v=korrespond. skalierter Volt-Wert
    Im ersten Quantisierungsintervall eines 2-Bit ADC wird jede Spannung von 0V bis 1,25V zu einer a=0 digitalisiert. Bei Skalierung mit a/aMax=v/vMax (aMax=n-1), v=a/aMax*vMax is v=0. Bei einer Eingangsspannung von bis zu 1,25V wird also zu 0V skaliert. Das sind bis zu 100% Fehler bezogen auf das Quantisierungsintervall. Der Fehler sinkt in den folgenden Quantisierungsintervallen des Meßbereichs, steigt aber ab Mitte Meßbereich (1/2 Vref) wieder auf 100% im letzten Qantisierungsintervall. Ein Skalierungsfehler, der abhängig von der Eingangsspannung ist.

    Der 100% max. Fehler im ersten und letzten Quantisierungsintervall ist auch bei anderen ADC-Auflösungen zu berücksichtigen.


    Zitat Zitat von Searcher Beitrag anzeigen
    ... rechne ich Vref/(4*2)+Vref*ADC/4. Ich rechne also mit n,
    Bei Verwendung von V=Vref/(n*2)+Vref*ADC/n ist der Fehler über alle Quantisierungsintervalle maximal 50% bezogen auf das Quantisierungsintervall und in jedem Fall, auch bei anderen ADC-Auflösungen kleiner als der maximale Fehler bei a/aMax=v/vMax.


    (Bin bewußt nicht auf Feinheiten an den Quantisierungsintervallgrenzen eingegangen, da sie für mich nur unwesentlichen Einfluß auf meine Betrachtung hätten und hoffe natürlich, daß sich keine Rechenfehler und vor allem keine logischen Fehler eingschlichen haben - nachrechnen erwünscht)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  5. #55
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    09.10.2014
    Beiträge
    5.076
    rechne ich Vref/(4*2)+Vref*ADC/4. Ich rechne also mit n
    diese Formel ergibt
    für ADC=0: 5/8+0/4=5/8=0,65V, kann also keine 0V abbilden;
    für ADC=3: 5/8+15/4=35/8=4,375V, kann also auch keine 5V abbilden -
    zugunsten gleich großer Fehlerbereiche.

    Ziel aber muss es sein, den gesamten Volt-Bereich abzubilden, ähnlich wie es eine pwm-Funktion tut: auch hier erwarte ich bei einem 2bit-pwm-Generator pwm(0)=0V und bei pwm(3)=5V (bzw. bei einem 8-bit-pwm-Generator pwm(255)=5V).
    Auch ein digitalWrite(1), analog zu einem "theoretischen" 1-bit-Wandler per analogWrite(1), ergibt ja die vollen 5V.
    Das "Aufspreizen" des Zielwertebereichs auf den vollen Voltbereich (wie bei pwm) erfordert die Inkaufnahme eines größeren möglichen Fehlerintervalls v.a. beim niedrigsten als auch beim höchsten ADC-Wert, aber der Fehler bei ADC-Werten beträgt ja statistisch sowieso ±1 ADC, also geht der "Aufspreizfehler" im statistischen Fehler unter und ist spätestens bei 8-bittern bei 1/255 Schritten auch messtechnisch unerheblich.


    Eine simple Division von 5V/256 Schritte wie im TOP als Möglichkeit ( gegenüber 5V/255 ) angefragt, hätte allerdings überhaupt keine Berechtigung.
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  6. #56
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.04.2015
    Beiträge
    577
    1) ein Wert repräsentiert 1/Res vom Messbereich (Res = Resolution)
    2) Lt. DB ist der höchste vom Wandler ausgebbare AD-Wert "Res-1" äquivalent zu URef-URef/Res (...and the maximum value represents the voltage on the AREF pin minus 1 LSB)

    3) In den Dreisatz eingesetzt
    (URef-URef/Res)/(Res-1) = U/ADWert

    4) Für ADWert= Res eingesetzt:
    (URef-URef/Res)/(Res-1) = U/Res

    umgestellt:
    Res*(URef-URef/Res)/(Res-1) = U

    Res im Zähler herausgekürzt:
    (Res*URef-URef)/(Res-1) = U

    Und aus dem Zähler das URef herausgezogen:
    Uref(Res-1)/(Res.1) = U

    Gekürzt:
    URef= U (für ADWert = Res)

    Das zeigt zwei Dinge:
    a) URef wird in der Skalierung nie erreicht, da das eingesetzte Res vom AD-Wandler nicht ausgegeben werden kann (es fehlt eine Bitstelle)
    b) Wenn der hypothetische AD-Wert Res gleichbedeutend zu URef ist, kann ich den Dreisatz auch vereinfacht bilden:

    URef/Res = U/ADWert
    Geändert von Holomino (08.02.2020 um 18:14 Uhr)

  7. #57
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    09.10.2014
    Beiträge
    5.076
    Wenn eine angelegte 5V (bzw. 3.3V bei SAMD) Messspannung per ADC-Wert 255 (oder 1023 oder 2047,...) abgebildet werden kann, dann muss es auch möglich sein, diese Werte auf 5V (bzw. 3.3V) zurückzurechnen.
    Genau dazu dient die mathematische Dreisatz-Formel
    a/aMax=v/vMax
    und hier sind die Fehler nicht größer als die immanenten, genuinen und statistischen ADC-Auflösungen und -Fehler.

    kA ob das ein AVR kann, aber meine SAMDs, mein PCF8591 und mein ADS1115 können das.
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  8. #58
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.12.2018
    Beiträge
    234
    Oh mann... das ist ja ne Diskussion... da dreht sich einem alles...
    Das geballte Fachwissen eines ganzen Forums in voller Pracht!


  9. #59
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.163
    Zitat Zitat von Gnom67 Beitrag anzeigen
    Oh mann ..
    Genau, da rührt sich mal was. Irgendwie doch ein hübsches Beispiel (mit) der numerischen Mathematik. Sozusagen alles gequantelt - und hier fast "zum anfassen"?

    Ich lass da gern die mathematische Ethik oder Puristik sein (kann man das so nennen?) - also besser: lasse die brave Mathe sein wie sie ist, kümmere mich manchmal herzlich wenig um abgeschlossene, halboffene, beschränkte oder wie auch immer Intervalle, nicht um deren Längen und Grenzen. Solange im Testlauf was vernüftiges rauskommt . . .
    Ciao sagt der JoeamBerg

  10. #60
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.607
    Blog-Einträge
    133
    Zitat Zitat von HaWe Beitrag anzeigen
    Wenn eine angelegte 5V (bzw. 3.3V bei SAMD) Messspannung per ADC-Wert 255 (oder 1023 oder 2047,...) abgebildet werden kann, dann muss es auch möglich sein, diese Werte auf 5V (bzw. 3.3V) zurückzurechnen.
    Genau dazu dient die mathematische Dreisatz-Formel
    a/aMax=v/vMax
    und hier sind die Fehler nicht größer als die immanenten, genuinen und statistischen ADC-Auflösungen und -Fehler.

    kA ob das ein AVR kann, aber meine SAMDs, mein PCF8591 und mein ADS1115 können das.
    kA was da beim AVR nicht bekannt ist. Falls für die Rückrechnung ein DA-Wandler gemeint ist: Der AVR hat keinen und zumindest der PCF8591 kann in https://www.nxp.com/docs/en/data-sheet/PCF8591.pdf nach Fig 6 auf Seite 7 die Vref nicht erreichen.

    Für mich wäre eine Rückrechnung und die Bedingungen dazu eine Anforderung an die Anwendung und nicht an die Gewinnung eines Wertes aus der AD Wandlung oder einer DA-Hardware. Eigentlich möchte man Fehler nicht weitergeben.

    Zur Abschätzung eines Fehlers eines Systems nimmt man doch immer den größten zu Erwartenden an. Der ist bei der Formel a/aMax=v/vMax größer als bei der Rechnung mit n=(Anzahl. d. ADC Rückgabewerte).

    "immanenten, genuinen und statistischen ADC-Auflösungen und -Fehler": Das bedarf wohl einer Erläuterung. Ich kann nicht wirklich was damit anfangen.
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte

Ähnliche Themen

  1. Entscheidungshilfe Schritt oder Getriebemotor
    Von Atmega328 im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 30.04.2014, 16:38
  2. Antworten: 5
    Letzter Beitrag: 09.10.2013, 10:50
  3. Suche Drehtisch/Schwenkkopf für Kamera (Schritt oder Servo)
    Von MasterFX im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 5
    Letzter Beitrag: 13.07.2013, 07:28
  4. Schritt- oder Getriebemotor?
    Von logliner im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 22
    Letzter Beitrag: 28.08.2012, 14:47
  5. welchen motor, schritt oder servo?
    Von x3oo im Forum Motoren
    Antworten: 7
    Letzter Beitrag: 23.03.2010, 21:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •