Forum: Mikrocontroller und Digitale Elektronik Quarz Problem, mal wieder ;-)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Willi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab da mal ein Problem ;-)

Und zwar wollte ich an meinem µC ein BaudratenQuarz hängen, Fuses 
eingestellt und der Klassiker... Es funktioniert nichts mehr, na gut.. 
Kein neues Problem! Allerdings habe ich bisher immer den Fehler gefunden 
und konnte daraus lernen. Entweder hab ich heute einen schlechten Tag 
oder irgendwas stimmt nicht...
So anschließen wollte ich einen 18,423MHz Quarz an einen Atmega328p mit 
22pF Kondesatoren. Fuses habe ich auf CKSEL 3,2,1,0 (0,1,1,0) und SUT 
1,0 (0,1) also laut Datenblatt slowly rising power 14CK +65ms.
Wie gesagt, brauche gerade jemanden der mich auf den Fehler drauf 
stößt!!!

Achso, ich hatte einen Zeitbasierten Test programmiert mit LED blinks... 
Es blinkt nichts!

DANKE
(ich hoffe ihr habt alle informationen die ihr braucht)

von S. Landolt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung, ob es daran liegt, aber
> CKSEL 3,2,1,0 (0,1,1,0)
ist für einen Ceramic Resonator.

von Georg G. (df2au)


Bewertung
0 lesenswert
nicht lesenswert
Betriebsspannung?

von Georg G. (df2au)


Bewertung
0 lesenswert
nicht lesenswert
S. Landolt schrieb:
> ist für einen Ceramic Resonator.

Nach meiner Tabelle nicht. Da ist es Ext Full-Swing Crystal.

von S. Landolt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
an Georg G.:

Table 9-6 auf den Seiten 31/32?

von Georg G. (df2au)


Bewertung
0 lesenswert
nicht lesenswert
CKSEL 3..1 sagt Full-swing Crystal. Die Tabelle ist für die Startup 
Zeiten und meint

These options are intended for use with ceramic resonators and will 
ensure frequency stability
at start-up. They can also be used with crystals when not operating 
close to the maximum frequency
of the device, and if frequency stability at start-up is not important 
for the application.

Es ist also nicht explizit verboten, kann aber zu Problemen mit der 
Frequenz während des Hochlaufs führen. Besser wäre CKSEL0 auf 1.
Also kein Genickbruch, aber auch nicht sehr gesund. Nur etwas für 
Bastler.

Siehe auch
http://www.engbedded.com/fusecalc/

: Bearbeitet durch User
von S. Landolt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich hatte in der Fußnote 1 nur "These options are not suitable for 
crystals" gelesen, aber zugegebenermaßen keine genaue Vorstellung, was 
Atmel darunter versteht.

von S. Landolt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Sie haben Recht, Georg, es läuft hier auf einem Steckbrett mit 18.432 
MHz trotz CKSEL=6; ich hatte nur gestutzt, weil ich diese Einstellung 
noch nie benutzt hatte.
  Dann hat Willi also ein anderes Problem.

von Willi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Betriebsspannung ist 5V über einen 7805, gemessen habe ich 4,9V 
müsste also passen...
Also CKSEL0 auf high und es müsste funktionieren? Ok, ich probier es, 
aber wie rette ich dann den alten? Ich habe ja derzeit keinen Zugriff!

von PeterZ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Georg G. schrieb:
> Betriebsspannung?

von PeterZ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ok 5V ;)

von S. Landolt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Also CKSEL0 auf high und es müsste funktionieren?
Nein, sorry, war ein Irrtum meinerseits.

> aber wie rette ich dann den alten?
Externen Hilfstakt an XTAL1.

von Willi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hmmm... Das ist ja ärgerlich! Ich will jetzt ungern den nächsten Atmega 
versuchen, um festzustellen das es nicht klappt... :-/ Trotzdem erstmal 
danke!

von Willi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Da fällt mir gerade auch was auf, falls ich ja nichts falsch gemacht 
habe und ein technischer defekt an einem der verbauten Bauteile 
vorliegt... kann ich dann überhaupt per Takt am XTAL1 den Controller 
retten? Tendenziell habe ich den Controller ja richtig gefused!?

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Überprüfe auch die Hardware. Du hast nicht zufällig einen Masseschluß an 
einem der beiden Oszillator-Pins? Gerade bei SMD-Kondensatoren passiert 
das gern. Breadboard ist bei 18MHz auch grenzwertig. Die 
GND-Verbindungen müssen niederimpedant sein.

von dc (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Versuchsweise kannst du die beiden Cs auch weglassen, die meisten AVRs 
schwingen mit den meisten Quarzen auch ohne die beiden pF-Cs.

Ist denn die Betriebsspannung direkt am Controller gut abgeblockt? 100nF 
direkt an GND und Vcc? Kurze Leitung von Vcc zum nächsten 
Elko/+5V-Anschluss? (ein paar cm sind ok)

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Breadboard ist bei 18MHz auch grenzwertig. Die
> GND-Verbindungen müssen niederimpedant sein.

Beim Steckbrett kann man die 22pF Kondensatoren weglassen, die 
Steckleisten haben selbst genügend pF. Es kann dort sein dass es nur 
ohne die Lastkondensatoren läuft.

Bei gelöteter Platine sind die Kondensatoren aber notwendig. In die 
Falle tappen Anfänger gelegentlich wenn sie Schaltungen vom Steckbrett 
auf Platine (Lochraster oder PCB) übertragen.

von Willi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ok, nur für mich... Ich bin theoretisch nicht ganz so tief in der 
Materie. Ich soll die Kondensatoren entfernen und dafür Brücken setzen 
oder einfach nur entfernen? Mit der Brücke hätte ich die XTALs doch 
quasi dauerhaft auf Low oder?
(wenn es zu kompliziert ist, braucht mir das keiner erklären! Spart euch 
die Kräfte, dann bitte nur meine Arbeitsanweisung)

von JonasKl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Willi schrieb:
> Ich soll die Kondensatoren entfernen und dafür Brücken setzen
> oder einfach nur entfernen?

Einfach die Kondensatoren entfernen, keine Brücken!

20MHz sollten bei halbwegs geschickten Aufbau auf dem Steckbrett noch 
möglich sein.
Der Quarz sollte so nah wie möglich an den XTAL-Pins angeschlossen 
werden (ein paar mm abstand sind noch ok).
Funktioniert der Quarz selber auch wirklich (schon irgendwie getestet)?

Was ist denn aktuell das genaue Problem bei deinem Aufbau?
Kein Kontakt zwischen Atmega und Programmieradapter möglich?

von Willi (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also mein Problem ist bzw meine Probleme sind...
Der Atmega-328P läuft nicht mehr das Programm (LED 2 sek an und 4 sek 
aus) ab was er vorher von mir bekommen hat. Das erste High an der LED 
ist nicht zeitgesteuert! Zudem kommt das ich ihn nicht mehr lesen und 
programmieren kann!
Ich habe jetzt diverse Tests gemacht und bin zu dem Entschluss gekommen 
das ich mit dem Quarz auf meinem Steckbrett nicht weiter arbeiten kann, 
ich kriege nicht einmal den 16MHz vernünftig zum Schwingen. Nach einigen 
Startversuchen bringt dieser den Atmega schonmal an den Punkt an dem die 
LED angeht... Ich habe mal ein Foto angehängt, vllt fällt jmd noch ein 
etwas günstigerer Aufbau ein!? Ich bin mit dem Probieren am Ende...
Allerdings würde ich den Atmega gerne noch "retten", wie kann ich 
nochmal das Schwingen Simulieren? Einen anderen Controller an einem PIN 
schnell triggern und dann an den XTAL1? Ich habe es schonmal machen 
müssen, finde den Post aber nicht mehr! Reicht ein Attiny2313 mit 8 MHz 
interne Taktung?

von Arduinoquäler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Willi schrieb:
> vllt fällt jmd noch ein etwas günstigerer Aufbau ein!?

Das ist kein Aufbau, das ist Pfusch.

Auch du scheinst noch nie etwas von Abblock-Kondensatoren
gehört zu haben.

Wie oft wurde das hier schon gepredigt, und ATMEL "schreibt"
die Anwendung von solchen Cs vor.

Das Märchen von den nicht notwendigen Lastkapazitäten am
Quarz glaubst du auch gerne denn dann hast du weniger
Arbeit, gell?

Allein die Unfähigkeit hier ein anständiges, aufschlussreiches
Foto von deinem Aufbau zu posten spricht Bände.

von JonasKl (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst

1. den Abblock-C direkt am Controller!!! (100nF, Bild)

2. einen korrekt verschalteten Reset-Pin!!!
z.B. so:
http://i.stack.imgur.com/jlZTK.png
(den Schalter kannst du auch weglassen)


Arduinoquäler schrieb:
> Das Märchen von den nicht notwendigen Lastkapazitäten am
> Quarz glaubst du auch gerne denn dann hast du weniger
> Arbeit, gell?

Für Testzwecke kann es ohne Lastkapazitäten gehen, muss aber nicht. Bau 
die Lastkapazitäten lieber auf kurzem Wege ein!


1. und 2. sind MUSS !!!!!!!!!!!!!!!!!!

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Übrigens fliegt Dir bei dem Aufbau die LED um die Ohren. Die hat keinen 
Widerstand zur Strombegrenzung...


Atmega8 hat auf beiden Seiten eine Spannungsversorgung, die auch 
verbunden sein muss.

: Bearbeitet durch User
von Willi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Also erstmal großen Dank an die konstruktiven Vorschläge! Ich habe jetzt 
den Atmega auf einen anderen Entwurf geschmissen und dort lief er mit 16 
MHz ohne Probleme, mit dem 18,432 kriege ich ihn auch hier nicht zum 
laufen... Werde mir demnächst noch einige Kondensatoren zulegen um genau 
dieses Problem beheben zu können!
Für das Bild muss ich mich entschuldigen, habe es noch gedreht aber 
danach wohl nicht gespeichert und dann noch doppelt, Schande über mein 
Haupt. Das fotografierte war nicht das probierte (Hab einen komplett 
neuen Aufbau gemacht, damit die Störquellen eingrenzen konnte)... Es 
kamen natürlich noch die Abblockkondensatoren darauf (beidseitig) und 
den Quarz mit 22pF bedrahtet, brachte aber alles nichts... ;-/ Ohne die 
Cs am Quarz konnte ich den Quarz wenigstens für 1-2 Sekunden am leben 
halten, werde es mit anderen Werten probieren wenn ich die anderen Cs 
habe. Zu den LEDs, die gibt es auch für den 5V-Betrieb!
Also wie gesagt danke nochmal!

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Ich würde es mal mit anderen kondensatoren versuchen. Zum Beispiel 12pF 
und 33pF.

> Übrigens fliegt Dir bei dem Aufbau die LED um die Ohren.
> Die hat keinen Widerstand zur Strombegrenzung...

Der AVR wird den Strom auf 40-50mA begrenzen. Damit betreibt man sowohl 
den AVR als auch die LED außerhalb der Spezifikation. Bei einem kurzen 
test auf dem Steckbrett fällt das sicher nicht auf, aber im 
langfristigem Betrieb schon. Die LED wird warscheinlich frühzeitig 
ableben.

> wie kann ich nochmal das Schwingen Simulieren? Einen anderen Controller
> an einem PIN schnell triggern und dann an den XTAL1?

Ja. Ich habe für solche Zwecke eine universelle Programmierfassung mit 
4Mhz Oszillator gebastelt. Da kann ich so ziemlich alle AVR's im DIP 
Format rein stecken.

> Beim Steckbrett kann man die 22pF Kondensatoren weglassen,
> die Steckleisten haben selbst genügend pF.

Wie viel denn? Könnte auch zu wenig sein aber mit 22pF dann wiederum zu 
viel.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Willi schrieb:
> Ich habe jetzt
> den Atmega auf einen anderen Entwurf geschmissen und dort lief er mit 16
> MHz ohne Probleme, mit dem 18,432 kriege ich ihn auch hier nicht zum
> laufen...

Dann ist ja vielleicht dein Quarz kaputt? Oder hast du einen 
Oberwellenquarz erwischt?

von JonasKl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Du kannst ja für Testzwecke jeweils 2x22pF = 44pF parallel schalten.

von Georg G. (df2au)


Bewertung
0 lesenswert
nicht lesenswert
JonasKl schrieb:
> 44pF parallel schalten

Viel zu viel! Rechne mal aus, wie wenig Xc das ist.

von Teo D. (teoderix)


Bewertung
0 lesenswert
nicht lesenswert
Ich würd mal ~1MOhm Parallele zum Quarz hängen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.