Forum: Mikrocontroller und Digitale Elektronik Wieder mal ATMega und externer Quarz schwingt nicht an


von Tom (Gast)


Lesenswert?

Hallo,

ich suche hier nun schon seit Tagen warum der Quarz nicht schwingen 
will.
Der Quarz ist an XTAL1 und 2 angeschlossen dann noch je Pin ein 
Stützkondensator und dieser gegen GND.
Soweit so gut nun habe ich den uC(Mega128) von interner Takt auf  Extern 
Crystal/Ceramic umgestellt.
Ein Blinkprogramm was einen Port High Low schaltet läuft nicht.
Komischerweise kann ich aber per ISP auf ben Controller zugreifen.
Wenn ich nun einen Oszillator der mit 4 Beinchen nehme und den Ausgang 
an XTAL1 oder 2 halte beginnt die LED mit blinken.
Zuerst hatte ich den Verdacht, dass die Stützkondensatoren nicht passen 
also habe ich 18,22,27,34pF probiert ohne Erfolg den Quarz habe ich auch 
schon gewechselt kein Erfolg dieser läuft nun auf meinem STK500 ohne 
Probleme.

Die Fuse sollten eigentlich stimmen aber hier die Werte

Low    0x89
High   0xFF
Ext    0xFF

diese Werte verwende ich auf meinem Evaluierungsboard und dort läuft 
alles dies ist jedoch auch gekauft.
Habe auch schon die Leiterbahn geprüft uC--Quarz--Kondensator alles OK.

Hat jemand noch eine Idee

Danke in Voraus

Tom

von Tom (Gast)


Lesenswert?

Sorry verwechselt High Low

Richtig ist

Low    0xFF
High   0x89
Ext    0xFF

Gruß

Tom

von Helmut L. (helmi1)


Lesenswert?

Versuch mal einen Widerstand (15 .. 22K) von OSC2 nach +5V ob er dann 
schwingt.

Gruss Helmi

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

@Helmut,

gute Idee, brachte aber nicht den gewünschten Erfolg.

Habe nun nochmals mit und ohne Widerstand gemessen an XTAL1 und 2 sieht 
gleich aus.

XTAL1 --> 5 Volt +-0.1
XTAL2 --> 0 Volt +-0.1

Schaut eich bitte nochmal einen Ausschnitt meines Layouts an welches den 
Anschluß des Quarzes zeigt. Vielleicht übersehe ich ja hier etwas.

Tom

von Helmut L. (helmi1)


Lesenswert?

@Tom

Ich hatte das Problem mit einem Atmega48  mit dem Widerstand 
funktionierte es.

Hast du schon mal einen anderen Quarz mit niederiger Frequenz eingesetzt 
?

Gruss Helmi

von Tom (Gast)


Lesenswert?

@Helmut,

ich habe hier nur 16MHz Quarze da ich diese auch verwenden will 
ansonsten habe ich nur noch Uhrenquarze.
Könnte solch einer funktionieren?
Das Problem ist das mein Projekt viele Abläufe zeitlich steuert und 
diese sind auf 16MHz abgestimmt ansonsten hätte ich den 8MHz internen 
schon genommen.
Aber zu Testzwecken kann ich schon mal einen Uhrenquarz probieren.

Gruß

Tom

von Helmut L. (helmi1)


Lesenswert?

Ich hatte auch einen 16MHz Quarz dran , wie gesagt der schwang ohne den 
Widerstand auch nicht. 4Mhz dagen war kein Problem. Mit dem Uhrenquarz 
könntes es allerdings Probleme geben. Auch mal den Widerstand am anderen 
Pin angebracht.  Du könntes auch mal versuchen einen 1MOhm parallel zum 
Quarz zu legen.

von Peter D. (peda)


Lesenswert?

Tom wrote:
> Schaut eich bitte nochmal einen Ausschnitt meines Layouts an welches den
> Anschluß des Quarzes zeigt. Vielleicht übersehe ich ja hier etwas.

Du mußt die beiden Kondensatoren direkt mit GND von AVR verbinden, also 
dem Pin links neben XTAL1/2.
Aber dieser Pin  verendet bei Dir kurz vor dem Quarz, so kanns ja nicht 
gehen.
Mach mal ne Drahtbrücke rein.


Und die CKOPT-Fuse muß enabled (0) sein.


Peter

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

@Helmut,

ich werde mal Deine Vorschläge morgen probieren, und hoffe das ich den 
Quarz zum laufen bekomme.

@Peter,

eigentlich ist die GND Verbindung nach unten.
Ich habe mal den Ausschnitt etwas grösser gewählt damit sollte es besser 
zu erkennen sein.
Aber ich werde auf alle Fälle die Verbindung machen und testen.
Dein Ansatz gefällt mir, ist schön logisch unlogisch aber es könnte 
duchaus sein.
Werde dies morgen auch probieren und die Ergebnisse ob positiv oder 
negativ hier posten.

Vielen Danke Euch beiden

Tom

von Peter D. (peda)


Lesenswert?

Tom wrote:
> eigentlich ist die GND Verbindung nach unten.

Das ist etwa 5-mal länger als die direkte Verbindung und enthält 
zusätzlich eine Drosselspule mit einer Windung (einige µH).

Die Verbindung nach unten solltest Du dann trennen, über den 
Schwingkreis sollten keine weiteren Ströme fließen.


Peter

von Bensch (Gast)


Lesenswert?

Die Masseverbindung ist totaler Quark- wie ja auch schon hier gesagt.

Versuch mal diese Fuses, die gehen garantiert:
EXT 03
HIGH C9
LOW 3F

von Bensch (Gast)


Lesenswert?

Hab mir deine Fuses mal angeschaut:

Du hast auf low frequency geschaltet und die SPI abgeschossen- so geht's 
garantiert nicht.

von Tom (Gast)


Lesenswert?

Hallo Helmut,

habe versucht mit einem Widerstand 22k an Vcc und einmal an XTAl1 und 
einmal an XTAL2 jedoch ohne Erfolg.
Einen 1M parallel zum Quarz brachte auch keinen Erfolg.
Die kondensatoren habe ich nun wieder 22pF eingelötet.


Hallo Peter,

Ich habe die GND Punkte der Kondensatoren direkt mit dem AVR verbunden 
siehe Anhang. --> Kein Erfolg.

Solangsam gehen mir die Ideen auf und es frustet mich so langsam.
Sollte ich es nicht hinbekommen überlege ich mir beim nächsten Layout 
einem Oszillator zu verwenden.

Gruß

Tom

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

@Bensch,

nein ich habe High Frequenz bereits gewählt sonst wäre mein Low Byte 
0xFB aber mit 0xFF ist das High frequency gewählt.
Nicht desto trotz habe ich Deine Fuse auch geschrieben High und Low bei 
Ext musste ich 0xFF verwenden sonst gibt AVR Studio einen Fehler beim 
vergleichen.
Aber mit 0x03 oder 0xFF werden auf alle Fälle der M103 mode und Watchdog 
Funktion abgeschaltet.
Aber was soll ich sagen auch Dein Fuse Vorschlag hat nichts bewirkt.
Der Controller macht keinen mux.

Achja habe zuvor den Anhang vergessen, wird nun nachgeliefert.

Tom

von let (Gast)


Lesenswert?

Wenn sich der µC per ISP ansprechen läßt muß der Quarz doch
schwingen. Vielleicht ist es etwas ganz anderes.

Die Fuse-Bits sehen gut aus. CKOPT ist gesetzt, AT103-Mode aus,
WDT aus, CKSEL[0...3] = 1111.

von Bensch (Gast)


Lesenswert?

> aber mit 0xFF ist das High frequency gewählt.

Ich weiss ja nicht, was du für ein komisches Programm hast, aber bei mir 
gibt das LF (AVR ISP mkII USB direkt aus dem AVR Studio).

von Peter D. (peda)


Lesenswert?

Probier dochmal nen anderen Quarz, vielleicht isser kaputt.

Oder nimm mal ne Drossel (8,2 ... 47µH), schwingt auch gut.


Peter

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

@Bensch

>> aber mit 0xFF ist das High frequency gewählt.

>Ich weiss ja nicht, was du für ein komisches Programm hast, aber bei mir
>gibt das LF (AVR ISP mkII USB direkt aus dem AVR Studio).

Ich verwende auch ISP MK2 und das LF ist ja auch nicht das Problem.
Beim EXT werden nur die beiden ersten Bits benutzt und mit dem ISP MK2 
kann ich die oberen nicht auf 0 setzen.
Beim auslesen ist das Register auf 0xFF gesetzt also auch die beiden 
Fusebits die Du setzen willst.
Was heißt hier komisches Programm ers werden einige Ports hochgezählt 
und fertig.
Anbei mal das Prog.


@Peter,

hatte die gleiche Idee und habe in der Zwischenzeit den Quarz mit dem 
Quarz auf meinem Evaluierungsboard getauscht und er funktioniert.

Tom

von Tom (Gast)


Lesenswert?

@all,

ich habe nun die Leiterbahnen vom Controller zum Quarz gekappt und einen 
Quarz auf eine Lochrasterplatine aufgelötet und die Condensatoren 
steckbar gemacht.
Was soll ich sagen nun läuft der Controller.Quarz schwingt sogar schon 
an ohne Lastcondensator.

Ich werde diese Erkenntnisse bei meiner nächsten Platine mit einfließen 
lassen da ich diese eh als Testobjekt angesehen habe.

Auf alle Fälle Danke an alle.

Tom

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.