Problem mit Aref am Atmega168p

Gast #6674933
Lesenswert?

Hi,

unter Beitrag "Röhrenuhr IV-18" stelle ich 
eine Röhrenuhr auf Basis der IV-18 vor. Diese kann u.a. auch die 
Temperatur messen.

Die Temperatur wird analog über einen LM35 mittels des internen 
A/D-Wandlers des Mega168 erfasst. Referenz ist Aref mit 1.1V, Kapazität 
für Aref ist vorhanden.
Schaltpläne und Software sind komplett im anderen Thread zu finden.

Jetzt zum Thema:

Die Uhr kennt einen Nachtmodus, in dem das Display inkl. Heizung und die 
LEDs abgeschaltet werden.
Weckt man die Uhr aus dem Nachtmodus und liest direkt danach die 
Temperatur ab, zeigt sich Abweichung von etwa +1,5 Grad gegenüber dem 
normalen Betrieb.
Messungen haben recht schnell gezeigt, das der "Schuldige" die 
Referenzspannung Aref ist, diese sinkt(!) im Nachtmodus um etwa 15 mV 
(also z.B. von 1,06V auf 1,045V).
Gemessen direkt an aREF und aGND sowie aREF und GND des yC.
Infolge dessen steigt der vom ADC ausgegebene Wert natürlich an.

Ursache scheint nach derzeitigem Kenntnisstand folgendes zu sein:
In Folge des Abschaltens der Röhrenheizung und der LEDs sinkt die 
gesamte Stromaufnahme von ca 100mA auf 10mA. Dadurch steigt VCC leicht 
(ca +0.1V) an, da ich den Spannungsregler LM7805 wegen des 
Batteriebackups mit einer Diode entkoppeln musste.
Auf den Anstieg von VCC und damit auch aVCC reagiert die Referenz 
wiederum mit besagtem Spannungsabfall.
Nun ist das nur ein Schönheitsfehler, aber es stört mich.
Temporär habe ich mir beholfen, in dem ich einfach während der 
Temperaturmessung im Nachtmodus die Röhrenheizung kurz einschalte.
Schön ist diese Lösung allerdings nicht.

Was ich bis jetzt getestet habe:

-Den mega168 von außen auf ca 60 Grad erhitzt, um Temperaturbedingte 
Effekte zu prüfen. Die Referenz driftet, aber nur minimal (5 mV 
gegenüber 20 Grad). Zudem wird der Mega168 im Betrieb auch kaum warm, 
etwa 5 Grad über Umgebungstemperatur.

-Sukzessive alle Abschaltungen im Nachtmodus deaktiviert. Der größte 
Sprung war bei der Röhrenheizung zu sehen, was auch einer der größten 
Verbraucher ist.

-Testweise den MAX6921 entfernt, um mögliche Rückwirkungen 
auszuschließen. Keine Änderung.

-Die Referenz testweise direkt mit dem Output des 7805 verbunden.
Ja jetzt bleibt sie stabil, auch im Nachtmodus.
Aber so fehlt jede Filterung von aVCC und außerdem liegt aVCC so 
0.1-0.2V über VCC.

Eigentlich sollte die Referenz doch grad dafür da sein, leichte 
Schwankungen von VCC/aVCC zu kompensieren und stabile Messungen zu 
ermöglichen. Ist sie wirklich so "schlecht" oder übersehe ich etwas?

Mir ist klar, das ich das Problem mit einer externen Referenz oder einer 
separaten Anbindung von aVCC/aGND lösen kann, aber ich frage mich, ob es 
nicht auch irgendwie anders lösbar ist, da die Hardware komplett fertig 
gebaut ist.
Vielleicht übersehe ich ja nur etwas.

Wenn hier mal jemand drüber schauen kann, wäre ich dankbar.
Wenn es keine andere Lösung gibt, werde ich wohl eine externe präzise 
Referenz einsetzen.

gruß und danke

tobi
Gast #6674942
Lesenswert?

Korrektur:

statt:

-Die Referenz testweise direkt mit dem Output des 7805 verbunden.
Ja jetzt bleibt sie stabil, auch im Nachtmodus.
Aber so fehlt jede Filterung von aVCC und außerdem liegt aVCC so
0.1-0.2V über VCC.

muss es heißen:

-aVCC testweise direkt mit dem Output des 7805 verbunden.
Ja jetzt bleibt sie stabil, auch im Nachtmodus.
Aber so fehlt jede Filterung von aVCC und außerdem liegt aVCC so
0.1-0.2V über VCC.
Gast #6674998
Lesenswert?

> Was mich wundert ...

Mich auch. Wenn ich hier bei einem ATmega328P Vcc==AVcc von 4.50 V auf 
5.25 V erhöhe, bleibt Aref trotzdem wie festgenagelt auf 1.0949 V.
  (mein einziger ATmega168PA ist leider verbaut)
Gast #6675514
Lesenswert?

hacker-tobi schrieb:
> Die Referenz testweise direkt mit dem Output des 7805 verbunden.
> Ja jetzt bleibt sie stabil, auch im Nachtmodus.
> Aber so fehlt jede Filterung von aVCC und außerdem liegt aVCC so
> 0.1-0.2V über VCC

Hallo, du hast auf dem Weg vom (stabil bleibenden) 7805 zu VCC des uC 
einen Verlust von 0.2V ? Und das nur, wenn die ca. 100mA Heizung 
eingeschaltet wird ? Dann hätte deine VCC Zuleitung 2 Ohm, vermutlich 
verteilt auf VCC und GND Leitung, und du zapfst deine Heizung direkt am 
uC am.


Nutze eine sternförmige Verdrahtung, vom Ausgang (und Massepin) des 7805 
je eine Leistung: zur Heizung, zu VCC des uC, und (durchaus über die 
üblichen 100uH) zu AVCC, ebenso nutze 3 (oder mehr) Leitungen für GND 
und AGND, wobei dein LM35 an AGND gehört.

Noch mehr kräftige Verbraucher ? Dann bekommen die auch eine eigene 
Leitung ab 7805.

Ich denke übrigens nicht, dass die eingebaute Referenzspannung des uC zu 
mit der Betriebsspannung schwankt, sondern dass der Spannungsabfall auf 
GND zwischen LM35 und uC auf Grund schlechter Leitungsführung so hoch 
ist.

icecubev1.2.pdf hat auch wirklich verdammt dünne Leitungen (deren GND 
Verlauf ich mit nicht hetausgefummelt habe).
Gast #6675589
Lesenswert?

Hi,

der Spannungsabfall entsteht fast nur durch die diode hinter dem 7805.

Ich war gestern Nacht noch ein wenig in der Werkstatt und habe das 
Problem wahrscheinlich gefunden.

Mit dem oszi sah ich insbesondere zwischen vcc und gnd (pin 7 / 8) 
direkt am yC gemessen Rauschen mit ca 50mV VSS.

Ich hab dann gestern mal direkt an pin 7/8 100n angelötet und sowohl das 
Rauschen als auch das Problem mit der Referenzspannung war weg.

Ich werd nachher noch meine provisorische Umgehung des Problems in 
Software wieder entfernen und das Problem an einer zweiten Uhr 
verifizieren. Aber es sieht so aus wie als ob der abblock Kondensator 
für den yC zu weit weg oder defekt ist.

Vielen dank erstmal für alle antworten ich meld mich später nochmals.

Gruss tobi
Gast #6675654
Lesenswert?

hacker-tobi schrieb:
> der Spannungsabfall entsteht fast nur durch die diode hinter dem 7805.

Ich habe gerade so ein Bild im Kopf, wo aus einer schön mühsam 
stabilisierten 5V Versorgungsspannung instabile 4,3V werden, weil das 
durch eine Diode geht. Ist das wirklich so gestaltet worden?

> Mit dem oszi sah ich insbesondere zwischen vcc und gnd (pin 7 / 8)
> direkt am yC gemessen Rauschen mit ca 50mV VSS.

Das ist nicht ungewöhnlich viel.

> Ich hab dann gestern mal direkt an pin 7/8 100n angelötet und sowohl das
> Rauschen als auch das Problem mit der Referenzspannung war weg.

Erstaunlich, dass das trotzdem geholfen hat. Noch erstaunlicher, dass da 
kein Abblock-Kondensator vorgesehen war. Der ist doch an jedem VCC/GND 
Pärchen Pflicht!

Ziege bitte nochmal den Schaltplan und das Layout als Bild-Datei. Ich 
habe kein Eagle und will es auch nicht extra dafür installieren.
Gast #6675798
Lesenswert?

Hi,

der Abblock-Kondensator war zu weit weg und war das Problem.

Ich habe jetzt an PIN7/PIN8 bei jeder Uhr direkt einen 100n angelötet 
und das Problem ist beseitigt.
Da ich es ganz genau haben wollte, habe ich zusätzlich noch den 
Leiterzug zwischen GND, GND des LM35 und GND (yC)/aGND mit einem Draht 
verstärkt, um dort den Spannungsabfall zu minimieren.

@MaWin: 100mA ist die gesamte Stromaufnahme, die Heizung nimmt ca 
40-50mA (streut etwas je nach Röhre).
Der Spannungsabfall GND (Eingang) zu GND (yC) sind < 5 mV , ebenso von 
Vcc (Ausgang hinter der Diode am 7805) zu VCC (yC).


@Stefan: Der Schaltplan hängt im verlinkten Thread (siehe erster Post) 
als PDF an.
Ja, hinter dem 7805 hängt eine Schottky-Diode, welche die Spannung um 
etwa 0.2V (Nachtmodues) bzw. 0.3V (Betrieb) absenkt. Das ist für die 
Schaltung aber ansich unerheblich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren