Forum: Mikrocontroller und Digitale Elektronik Mega1284 startet sporadisch, Quarz schwingt nicht


von Heinz (Gast)


Lesenswert?

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

von Michi (Gast)


Lesenswert?

Hast du das auf einem Steckbrett aufgebaut? Die haben öfters 
Kontaktprobleme. Und bei 20 MHz, naja.

von Heinz (Gast)


Lesenswert?

Nein. Das ganze ist auf Lochraster gelötet mit Kupferlackdraht.

von Spess53 (Gast)


Lesenswert?

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

von c-hater (Gast)


Lesenswert?

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

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


Lesenswert?

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?

von Thomas E. (thomase)


Lesenswert?

Knut Ballhause schrieb:
> fehlenden
>  /falsch platzierten Blockkondensatoren.
Sehr verdächtig. Zumal die auch in der Stückliste oben nicht drin sind.

mfg.

von Heinz (Gast)


Lesenswert?

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 ;)

von Georg G. (df2au)


Lesenswert?

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.

von Thomas E. (thomase)


Lesenswert?

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.

von Electronics'nStuff (Gast)


Lesenswert?

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?

von Rudolph Riedel (Gast)


Lesenswert?

Was für ein Quarz ist das ganz genau?
Typ? Datenblatt? Teilenummer bei welchem Lieferanten?

von Heinz (Gast)


Lesenswert?

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

von Heinz (Gast)


Angehängte Dateien:

Lesenswert?

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

von Pete K. (pete77)


Lesenswert?

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.

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.