Hallo Forum,
ich habe hier ein kleines Problem mit einem ATmega. Dieser hat schon mal
einwandfrei funktioniert. Aber nach einer Erweiterung der Schaltung ist
der Quarz nicht mehr richtig angeschwungen. Ich habe daraufhin mal auf
den internen RC Oszillator umgestellt. Hiermit läuft er, wenn er gerade
über ISP programmiert wurde, immer sauber hoch. Programmiere ich ihn
nicht über ISP, startet er manchmal gar nicht. Wenn er startet, hängt er
sich manchmal einfach auf. An der Reset und Quarz-Beschaltung habe ich
nichts wissentlich geändert (Und auch schon kontrolliert).
Der Quellcode ist nahezu gleich geblieben. Das würde ich als Ursache für
das 'aufhängen' ausschliessen.
Hat jemand von Euch eine Idee, wo ich die Fehlersuche beginnen könnte?
Vielen Dank im voraus für Input.
Gruß Heinz.
Setup:
ATMega1284
Fuses: auf maximales delay zum Start eingestellt.
Quarz: 20 MHz + 2* 12pF (auch schon 20pF probiert)
Reset-beschaltung: R:10k + C:100nF
Hi
>Fuses: auf maximales delay zum Start eingestellt.>Quarz: 20 MHz + 2* 12pF (auch schon 20pF probiert)
Auch auf 'Full Swing Crystal Oscillator' eingestellt? Stromversorgung in
Ordnung? Watchdog aus? Brownouteinstellungen?
MfG Spess
Heinz schrieb:> Hat jemand von Euch eine Idee, wo ich die Fehlersuche beginnen könnte?
Fuses auf "full swing" und wenn das nicht hilft, Bürdekapazitäten am
Quarz verringern. Nein, 2x22pF ist nicht in jedem Fall richtig...
Heinz schrieb:> auf> den internen RC Oszillator umgestellt. Hiermit läuft er, wenn er gerade> über ISP programmiert wurde, immer sauber hoch. Programmiere ich ihn> nicht über ISP, startet er manchmal gar nicht.
Das klingt für mich eher nach unsauberer Betriebsspannung oder fehlenden
/falsch platzierten Blockkondensatoren.
Heinz schrieb:> Das ganze ist auf Lochraster gelötet mit Kupferlackdraht.
Falls Blockkondensatoren verwendet werden, müssen diese direkt am IC
sitzen. Eine Strecke Kupferlackdraht dazwischen und die ganze Wirkung
ist dahin. Hast Du alle VCC- und GND-Anschlüsse beschaltet?
Knut Ballhause schrieb:> fehlenden> /falsch platzierten Blockkondensatoren.
Sehr verdächtig. Zumal die auch in der Stückliste oben nicht drin sind.
mfg.
Als Erstes schon mal vielen Dank für den zahlreichen Input.
Spess53 schrieb:> Auch auf 'Full Swing Crystal Oscillator' eingestellt?
Habe ich gerade ausprobiert. Hatte davor 'Ext. Crystal Osc. 8 MHz -'.
Werde mich aber als erstes darauf konzentrieren, das ganze mit dem
internen RC zu fixen, da hier meines erachtens erst mal eine
Fehlerquelle wegfällt.
> Stromversorgung in Ordnung?
Ich hoffe es. Bislang gab es damit zumindest nie Probleme.
>Watchdog aus?
ja.
> Brownouteinstellungen?
Hatte ich zuerst deaktiviert. Angeschaltet macht es auch keinen
Unterschied.
c-hater schrieb:> Fuses auf "full swing" und wenn das nicht hilft, Bürdekapazitäten am> Quarz verringern. Nein, 2x22pF ist nicht in jedem Fall richtig...
Das werde ich mal versuchen, wenn ich es mit dem internen RC hinbekommen
habe.
Knut Ballhause schrieb:> Falls Blockkondensatoren verwendet werden, müssen diese direkt am IC> sitzen. Eine Strecke Kupferlackdraht dazwischen und die ganze Wirkung> ist dahin. Hast Du alle VCC- und GND-Anschlüsse beschaltet?
Sind 'direkt' dran. Maximal 2 mm Draht dazwischen. Das sollte OK sein,
oder?
Thomas Eckmann schrieb:> Sehr verdächtig. Zumal die auch in der Stückliste oben nicht drin sind.
Ich glaube das ist es leider auch nicht. Habe überall glaube ich 100 nF
dran. Und auch alle VCC & GND beschaltet & noch mal kontrolliert.
Zusätzlich noch nen 100 uF hinter einem DC/DC Wandler auf der seite der
MC Spannung (Der aber gerade nicht verwendet wird, weil die Schaltung
über ISP versorgt wird. Das ist direkt die USB Spannung) und dann
nochmal 2* 10 uF an der Betriebsspannung gleich neben zwei Längsreglern
für 3.3 V. (Der MC wird mit 5V versorgt, aber ich habe noch einen Sensor
am I2C Bus, der mit 3.3 V versorgt wird und einen Analogen Sensor der
mit 3.3 V läuft der auf die ADC Pins geht. Über diesen Regler wird AREF
versorgt.)
Den I2C Bus habe ich jetzt für die Versuche schon mal abgeklemmt.
Ich hoffe, dass es nicht einer dieser Fehler ist, bei denen es nur noch
hilft die Schaltung nochmal "gleich" neu aufzubauen damit es
funktioniert ;)
Werde heute Abend mal das Oszi rausziehen und die Versorgungsspannung
mal genauer untersuchen..
Noch irgend eine Idee bis dahin? Ist es gut, das ganze erstmal mit dem
internen RC zum laufen zu bekommen? Denke, das teilt das Problem ;)
Heinz schrieb:> Ext. Crystal Osc. 8 MHz
ist definitiv falsch. Du hast einen Quarz, keinen Oszillator
angeschlossen. Also musst du auch - wie Spess53 schrieb - Full Swing
Oszillator einstellen.
Georg G. schrieb:> ist definitiv falsch.
Nein.
Das ist, wenn auch ein bisschen verwirrend, richtig. Ich bevorzuge aber
auch "Full Swing". Was du meinst, nennt sich "External Clock".
mfg.
Georg G. schrieb:> Du hast einen Quarz, keinen Oszillator
Also Crystal Osc. != Quarz oder wie?
Heinz schrieb:> Zusätzlich noch nen 100 uF hinter einem DC/DC Wandler auf der seite der> MC Spannung
Hinter einem 7805?
Nochmal Danke an alle, die hier mitgeholfen haben.
Derzeit geht die Schaltung wieder. Allerdings habe ich keine Ahnung, was
ich wirklich verändert habe :(
Werde an dem Fehler dran bleiben wenn er wieder auftaucht und Euch dann
verraten, was es wirklich war! ;)
Das Umstellen der Fuses hat keinen Unterschied gemacht. Werde es aber
jetzt doch auf Full Swing lassen. Das klingt richtiger ;)
Danke & Gruß Heinz
Anhang: Fuses aus Eclipse + AVR Plugin
Irgendwie klang für mich Oscillator so, als müsste ich dann einen
Oszillator dran hängen. Aber in den weiteren Einstellungen sieht man
eigentlich schön, was gemeint ist...
Heinz schrieb:> nach einer Erweiterung der Schaltung
Zieht die Erweiterung vielleicht zu viel Strom?
Heinz schrieb:> Zusätzlich noch nen 100 uF hinter einem DC/DC Wandler
Besser ist es, die Bauteile nach Datenblatt zu beschalten. Nicht jeder
7805 ist gleich.
Aber ohne Schaltplan oder Bild ist das natürlich schwierig zu
beurteilen.
Eine eigene Frage?
Dieser Thread ist über 13 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.