- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Messungenauigkeit bei AD-Wandler

  1. #11
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Disclaimer: none. Sue me.

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    04.06.2005
    Beiträge
    50
    Hallo

    @jschilli
    Ich glaube, du hattest Recht mit deiner Vermutung, dass dies ein klassisches C-Problem sei. Trotzdem funzte es nicht einwandfrei. Problem:

    Wenn ich diese Zeile schreibe:
    result = readADC(0)/400;
    Dann bekomme ich auf dem Display immer nur eine 0, 1 oder 2 angezeigt. Diese steht für 0V, 1V und 2V, allerdings nicht die Nachkommastellen. Außer dieser Zeile habe ich nichts geändert.
    result = (unsigned int) ((unsigned long)readADC(0) * 256/102400);
    Bei dieser Zeile genau das selbe.

    Bei beiden Versionen kommt der Sprung von 0 auf 1 bzw. 2 im richtigen Moment. Also es scheint nicht mehr so große Abweichungen zu geben.

    Durch Zufall bin ich dann auf diese Seite gestoßen (ich suchte Funktion die float in char konvertiert, wusste nicht ob itoa() dies auch kann):
    https://www.roboternetz.de/phpBB2/pr...=20211&start=0

    Mit dieser Zeile funzt das ganze jetzt mit der internen Referenzspannung einwandfrei:
    result = (readADC(0)*320313/2)/65536;

    Normalerweise hätte ich anstatt der 320313/2 diesen Wert nehmen müssen 164000,1564 (ich gehe davon aus, dass die interne Referenzspannung 2,56V beträgt). Jedoch sind meine Werte dann ungenauer. Deshalb nehme ich jetzt 320313/2. Dies Differenz zwischen meinem Multimeter und dem Mikrocontroller liegt bei 2-4 mV. Dies ist ein akzeptabler Wert, denke ich. Würde ich die 164000 nehmen, ist die Differenz zwischen 5-25mV.

    Ich bedanke mich bei allen die mir geholfen haben

    Gruß micro5

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    10.10.2005
    Ort
    Nähe Biberach a.d. Riss
    Alter
    54
    Beiträge
    44
    Tschuldigung - Deine Frage ist zwar schon etwas älter, aber ich hatte so ein ähnliches Problem (beim Mega
    Hast Du schonmal ins Datenblatt auf Seite 55/324/347 geschaut?
    Guck Dir mal die Toleranzen der internen Bandgap und Referenz an!
    (VINT Internal Voltage Reference)
    Die ist mit 2,3V bis 2,7V angegeben und alles andere als genau!
    Bastel Dir eine externe Referenz und schalt die interne ab und dann geht dat

    ...

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2007
    Ort
    München
    Alter
    61
    Beiträge
    199
    Ich hab mal am AREF Pin die interne Referenzspannung gemessen. Statt der erwarteten 2,56 V waren das 2,77V. War schon eine Überraschung - Messung war bei Raumtemperatur. Die Angabe von 2 Stellen nach dem Komma suggeriert einem schon eine höhere Genauigkeit. Nachdem ich es ausgemessen hatte und den Meßwert für VREF für die internen Berechungen verwendet habe, war die Genauigkeit o.k.

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    10.10.2005
    Ort
    Nähe Biberach a.d. Riss
    Alter
    54
    Beiträge
    44
    Und das ist nicht alles:
    Bei jedem Prozessor ist das eine andere bzw. von gleichem Typ ist keine Ref. wie die andere.
    Wenn auch sonst die Atmel klasse sind, DAS hat mich schon entäuscht.

    ...

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Labornetzteil AliExpress