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
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
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?
...
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
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...
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.
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?
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
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).
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
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