mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8: ADC-Werte ruckeln herum...


Autor: Mario Mauerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hab einen ATmega8, der mir in meiner Stromsenke Parameter wie Spannung
und Strom misst. (über den ADC)
Der Mega läuft intern mit 8MHz, ich wandle mit 10 Bit und AREF führe
ich extern zu (2.1V).
Das alles funktioniert einigermassen, nur: die ADC-Werte ruckeln ganz
schön ordentlich in der Gegend herum. Ich bilde per Software schon
Durchschnitte, damit die Werte stabiler werden, hilft aber net so
gross.
Die ADC-Eingänge weisen saubere Gleichspannung auf, mit dem Oszi nichts
zu messen.
Ist das ein Problem des ADC (Konfiguration) oder etwas anderes?

Herzlichen Gruss
Mario

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie stark 'ruckeln' die Werte denn?

Autor: Mario Mauerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, die Werte zeige ich nicht direkt an, aber der Strom schwankt so um
die 100-200mA.

UND:
Wenn kein Strom fliesst (0V am ADC-Eingang), dann zeigt er mir einen
Strom von 0.4A an...
Sonst (über 1.5A) stimmt der Strom net schlecht.

Hab schon andere Kanäle probiert ==> nix, genau das Gleiche.
Die Spannung hingegen schwankt nur sehr schwach und stimmt ziemlich
exakt.

Herzlichen Gruss
Mario

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls deine Quellen hochohmig sind, solltest du Kondensatoren (10nF) an
die Eingänge schalten, damit der kurze Stromstoß während Sample&Hold
abgefangen werden kann.

Dann solltest du für AGND eine eigene Masseleitung haben, da sonst die
Stromspitzen auf der Digitalmasse Spannungsabfälle verursachen können.
Ähnliches gilt für AVcc, da möglichst mit Drossel.

Abblock-Kondensatoren (100nF Keramik) an Vcc und AVcc sollten auch
nicht fehlen.

Ich nehme mal an, dass die Taktfrequenz des ADC auch zwischen 50kHz und
200kHz liegt?

...

Autor: Mario Mauerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Taktfrequenz des ADC sollte stimmen.

Aber:
ich hab grad nochmals das Oszi drangehängt. Am Eingang vom
Temperaturfühler hats ein kleines Rauschen dahinter (lange Leitungen)
Aber: Das ist mein stabilster Wert!
Die Spannungs- und Strommesseingänge zeigen rein gar nix an auf dem
Oszi, absolut auf 0.
Und trotzdem hab ich anscheinend 0.4A Strom. Die Software stimmt auch
absolut.

Herzlichen Gruss
Mario

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nu verrate endlich mal ein paar Date. Beispielsweise über den
Messwiderstand und was für Spannungswert da gemessen werden.

Autor: Mario Mauerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Stromshunt ist ein 0.01 Ohmer.
AREF=2.1V.
Der Eingang liegt am einen Ende des Shunt, die Masse am anderen.
Abblockkondensatoren sind drin (für die Versorgung)
Der ADC hat keine eigene Masseleitung.
Am Eingang für den Strom hängt noch ein Eingang eines OpAmps.
Das könnte auch eine Fehlerquelle sein, aber da ich am ADC-Eingang nix
messen kann und trotzdem einen Wert kriege ist trotzdem strub...

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0,4A x 0,01 Ohm => 4mV Messfehler.

Auflösung des ADC ist ca. 2mV. Ungenaugkeit je nach Takt, Beschaltung
und und Messweise mind. 1,75..3 LSBs, also ca. 4-6mV.

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist 2,1V AREF nicht zu wenig? Mussten das nicht min. 2,5 V sein?

Autor: Mario Mauerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö, 2V ist Minimum AREF.
Ah, ok, dann ist der hohe Offset-Wert ok.
Herzlichen Gruss und Danke

Mario

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, wenn ich jetzt alles richtig gelesen habe, dass man

einen Hardware-Fehler ausschließen kann,

so ergaben es die Oszi-Untersuchungen.

Vielleicht stellst Du uns Deine Programm-Code zur Verfügung, damit

wir nicht "orakeln" müssen?


Kleiner Tipp:

Da Du sicherlich mehrere ADC-Eingänge per ADC auswertest, kannst Du
problemlos einen Kanal (nur einen, nicht alle !!!)intern auf VBG oder
auf intern GND schalten lassen.

Wie sieht dann das Ergebnis aus?

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bist Du sicher, daß Dein GND Potential OK ist ?

Der ADC hat zwar einen eigenen Masseanschluß, relevantes GND Potential
ist aber dennoch immer Gesamt-GND der Schaltung.
Alternative: Differentialmessung mit 2 ADC Eingängen.

Gruß, Marcus

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine saubere Masse am ADC ist enorm wichtig. Analogmasse sollte nur an
einem Punkt (Versorgung) mit der Digitalmasse verbunden werden
(Sternschaltung), außerdem muß die Analogmasse "stromfrei" sein,
sonst zieht´s das Bezugspotential sonstwohin. Der ADC braucht zudem ein
L/C-Filter in der Vcc. Bei manchen Anwendungen kann auch eine
Differenzmessung über 2 Analogeingänge gute Stabilität bringen (der
Fehler subtrahiert sich weg).

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Magst Du hier mal schmökern?
Vlt ist da was bei, hatten wir gerade erst:
http://www.mikrocontroller.net/forum/read-1-325540.html

Gruß
AxelR.

Autor: Mario Mauerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, vielen Dank!

Aber noch ne Frage: Macht es etwas, (Hardware) wenn die Spannung am
ADC-Eingang höher ist als AREF, aber kleiner als 5V. Oder wird der
einfach den Wert 1024 rausgeben?

Herzlichen Gruss
Mario

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steht im Datasheet: ...single channels that exceed VREF will result in
codes close to 0x3FF...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, sollte natürlich heißen 'single ended channels' (S. 198 im
Datenblatt)

Autor: Mario Mauerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aaaaaaah! Ich krieg die Krise mit Datenblättern von Controllern....

Da steht alles an einem anderen Ort...

Naja, ich werds auch noch lernen..

Herzlichen Gruss
Mario

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.