Forum: Mikrocontroller und Digitale Elektronik Rauschen beim ADC vom ATmega8


von Tom (Gast)


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

von Fred (Gast)


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

von Tom (Gast)


Lesenswert?

Vielen Dank erstmal.

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

Wäre klasse!!

von Ingenör (Gast)


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.

von Johannes M. (johnny-m)


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.

von I_ H. (i_h)


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.

von Fred (Gast)


Lesenswert?

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

Gruß Fred

von Tom (Gast)


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

von Johannes M. (johnny-m)


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.

von Benedikt K. (benedikt)


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.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


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ß.

von Fred (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.