Leider noch immer keine Lösung mit ADC

OP #1150811
Lesenswert?
• ▲
▼
Leider habe ich immer noch keine Lösung warum der Wert meines ADC so 
schwankt.
Ich verweise auf den Artikel von mir "Gemessene Spannung ungleich 
ADC-Wert".

Ich habe ADREF mit einem 100nF Kondensator auf GND gelegt und nutze AVCC 
als AVREF sowie es im Datenblatt steht.

Nur leider schwankt mein Wert bei einer konstant zu messenden Spannung 
um 3-4 Einheiten. Warum es nicht besser wird wenn ich den Mittelwert mit 
mehr Einzelwerten bilde verstehe ich nicht.

Ich hoffe ich war nicht zu voreilig mit dem Öffnen eines neuen Artikel 
aber ich vermute das viele denken das das Problem gelöst ist.

Gruss matthias
Angehängte Dateien:
Gast #1150823
Lesenswert?
• ▲
▼
>Nur leider schwankt mein Wert bei einer konstant zu messenden Spannung
>um 3-4 Einheiten. Warum es nicht besser wird wenn ich den Mittelwert mit
>mehr Einzelwerten bilde verstehe ich nicht.

Nur eine Vermutung: Vieleicht schwankt der Messwert so stark
das sich das im Mittelwert nicht mehr wegrechnen lässt?
Moderator (Firma: Titel) Persönliche Seite #1150908
Lesenswert?
• ▲
▼
Mach doch mal noch einen min- und max-Wert mit in die 
Mittelwert-Schleife, dann weißt du, wie weit deine Werte schwanken. 
Mit dem Filter siehst du alles wie mit einer Milchglasscheibe.
1
  uint32_t min=0xffffffff;
2
  uint32_t max=0;
3
    :
4
    :
5
    result2 = ADC;
6
    result +=result2;
7
    if (result2>max) max = result2;
8
    if (result2<min) min = result2;
#1151171
Lesenswert?
• ▲
▼
Matthias Laubnitz wrote:
> @Sven P.
> das ändert leider nichts
>
> Aber sagt mal was kann die itoa Funktion den alles auch 32Bit Werte?
Nicht in der Version, die mit der AVR-libc kommt, bei der ist int 16 
Bit breit. Wenn es mehr sein soll, musst Du z.B. ultoa (unsigned long to 
ascii) benutzen.

> Wie
> groß sollte dann das Array sein. Doch min so groß wie die Zahl Ziffern
> hat oder?
Plus den Nullterminator und ein eventuelles Vorzeichen (in Deinem Fall 
aber irrelevant, da alle Werte positiv).

Wenn sowieso alle Werte positiv sind, benutze besser utoa anstelle von 
itoa. Das ist auf unsigned int ausgelegt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.