mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Rauschen beim ADC vom ATmega8


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hat jemand Erfahrung bzgl. dem ADC im ATmega8?

Ich muss einen Bereich von 0V bis +4V (also externe Aref=+4V) mit 10Bit 
Genauigkeit erfassen. Allerdings nicht wirklich schnell, d. h. es 
reicht, wenn alle 100ms ein neuer Wert übergeben wird.

Ist der 10Bit Wandler vom ATmega8 dazu im Stande hinsichtlich des 
Rauschens, oder ist es sinnvoller ein externes Bauteil zu verwenden?

Gruß

Tom

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Miß 255 mal und addiere die Spannungen auf, teile dann durch 255
und runde um ein 1/2 Bit. Ich mache das so. Das ist aber nicht
auf meinem Mist gewachsen! (hatte dafür mal'n Beispiel Code aus
dem Internet.

Gruß Fred

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank erstmal.

Könntest Du mir dafür evtl. eien C-Code zur Verfügung stellen?

Wäre klasse!!

Autor: Ingenör (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hatte auch mal das 'Problem' - ich hab in der Zeit in der nicht gemessen 
werden müßte auch fleißig mitgemessen und dann einen Mittelwert 
gebildet.
So ist die Zeit sinnvoll genützt und das Ergebniss wird genauer.
UND natürlich die Kondensatoren in der Schaltung nicht vergessen.

-
Gruß
Ing.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fred wrote:
> Miß 255 mal und addiere die Spannungen auf, teile dann durch 255
> und runde um ein 1/2 Bit. Ich mache das so. Das ist aber nicht
> auf meinem Mist gewachsen! (hatte dafür mal'n Beispiel Code aus
> dem Internet.
255 ist ziemlich unsinnig. Erstens ist 255 keine Zweierpotenz (wenn 
schon so hoch, dann 256) und deshalb die Division ein Krampf und 
zweitens passt der höchste zu erwartende Wert (255 * 1023) nicht mehr in 
einen unsigned int rein.

Ein Mittelwert aus 64 Messwerten ist aber allemal ausreichend und man 
kann alles bequem in 16 Bit rechnen. Dadurch dürften bei ansonsten 
einwandfreier Beschaltung keine Probleme auftreten.

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du AVCC ordentlich stabilisierst ist das Rauschen < 1LSB. Die Werte 
zu mitteln ist aber nie eine schlechte Idee. Wenn du >10Bit Auflösung 
haben willst, brauchst du aber ein halbwegs definiertes Rauschen auf'm 
Signal.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schuldigung 256 mal Messen! und durch 256 teilen!
Das teilen wird durch Verwerfen des niederwertigsten Byte's erricht!

Gruß Fred

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Infos.

Aber nun mal im Klartext:

Ist der ADC für mein Vorhaben tauglich, oder nicht?
Beschaltung, Mittelwertbildung usw. ist mir alles klar. Aber reicht 
generell die Genauigkeit dieses Teils aus um 0-4V mit 10Bit Auflösung zu 
messen?

Danke und Beste Grüße

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fred wrote:
> Schuldigung 256 mal Messen! und durch 256 teilen!
> Das teilen wird durch Verwerfen des niederwertigsten Byte's erricht!
Passt trotzdem nicht in einen unsigned int ... Bei einer 
8-Bit-Wandlung wäre es OK.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I_ H. wrote:
> Wenn du AVCC ordentlich stabilisierst ist das Rauschen < 1LSB.

So ist es.
Ich nutze öfters auch mal den ADC mit 11 oder 12bits. Mit etwas Software 
ist das problemlos möglich. Oft muss man dann künstlich Störungen 
hinzufügen, denn der ADC rauscht erstaunlich wenig, trotz fehlender 
Spule AVcc-Vcc.

Hier mal die Software die ich immer verwende:

ISR(SIG_ADC)
{  unsigned short val;
  val=ADC_val;
  ADC_val=val-val/32+ADC;
}

Das Ergebnis ist zwar ein Wert im Bereich 0-32767, aber den kann man ja 
auf die gewünschte Auflösung runterteilen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei einem 100nF Kondensator von ADCx nach Masse, einem Serienwiderstand 
4k7 von der Meßspannung zum ADCx, einem L/C-Glied an AVCC und einem 
100nF Kondensator von ARef nach Masse wirst Du kaum noch Rauschen 
feststellen, was per Software bekämpft werden muß.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Vielen Dank für die Infos.

>Aber nun mal im Klartext:

>Ist der ADC für mein Vorhaben tauglich, oder nicht?
>Beschaltung, Mittelwertbildung usw. ist mir alles klar. Aber reicht
>generell die Genauigkeit dieses Teils aus um 0-4V mit 10Bit Auflösung zu
>messen?

>Danke und Beste Grüße

uneingeschänkt JA

mit der von Atmel im Datenblatt gezeigten Beschaltung das µC
und der Mittelwertbildung solltest Du auf +/- 0,5 LS-Bit kommen
(rel. Fehler). Absolut muß mann dann sowas noch Abgleichen.

Gruß Fred

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.