Ich habe eine Schaltung mit einem Atmega32 und 8 MHz quarz auf einem Steckbrett laufen gehabt. Nun wollte ich die Schaltung auf eine Lochrasterplatine übertragen - Ergebnis: Probleme. - AVR hat gleiche Fuses wie auf dem Steckbrett, auch alle anderen Komponenten sind gleich. - Zugriff per ISP ist möglich - Testversuch: simples Programm, dass LED toogelt: läuft mit internem Takt, mit externem Quarz nicht. => Quarz ist Fehlerquelle - Schaltung: 8 MHz Quarz zwischen XTAL1 und XTAL2 und dann jeweils mit 22pF Kerko gegen GND (wie in jedem Tut und wie's auf dem Steckbrett auch geht). - Alle Verbindungen mit Multimeter durchgemessen: alles i.O. -Wenn ich die Spannung gegen GND messe an XTAL1 OV und an XTAL2 VCC (5V). - Kerkos bereits testweise ersetzt - anderen 8 MHz quarz hab ich nicht hier, deshalb kann ich seine Funktion nicht überorüfen. Das Layout ist zwar nicht perfekt (da Lochraster) aber schlimmer als auf meinem Steckbrett ist es sicher nicht... Sonstige Beschaltung: 100nF Kerko in VCC/GND; /RESET über 10k gegen VCC; AVCC/VCC an VCC, AGND/GND an GND, AREF über 100nF Kerko gegen GND. Alles wie auf dem Steckbrett... Bin für Tipps sehr dankbar (wenn ich mit meinem Projekt fertig bin, muss ich hier mal ne Runde schmeißen für alle Forenmitglieder ;-) )
Du könntest am Quarz mal einen hochohmigen Widerstand (Größenordnung 100k bis 10M) parallel schalten. Könnte sein, daß er aus irgendeinem Grunde nicht anschwingt. Ein Parallelwiderstand hilft der Quarzschaltung bei Schaltungen mit Inverter beim Anschwingen. Der sollte im Controller aber auch integriert sein.
>- Testversuch: simples Programm, dass LED toogelt: läuft mit internem >Takt, mit externem Quarz nicht. => Quarz ist Fehlerquelle Der Quarz ist nicht die Fehlerquelle. Schliess ihn richtig an. 2x22pF gegen GND. Kontrollieren ob Kondensatoren auch wirklich 22pF haben. Kontrollieren ob die beiden 22pF auch an GND liegen. Quarz muss natürlich an XTAL1 und XTAL2. Nachzählen ob du die richtigen Pins benutzt. Kontrolle ob Kurzschlüsse von XTAL1 oder XTAL2 gegen GND oder VCC. So schwer ist das ja nun wirklich nicht;)
Wilhelm Ferkes schrieb: > Du könntest am Quarz mal einen hochohmigen Widerstand (Größenordnung > 100k bis 10M) parallel schalten. Könnte sein, daß er aus irgendeinem > Grunde nicht anschwingt. Ein Parallelwiderstand hilft der Quarzschaltung > bei Schaltungen mit Inverter beim Anschwingen. Der sollte im Controller > aber auch integriert sein. Danke, habe es gerade getestet aber konnte keine Veränderung beobachten.
holger schrieb: > Der Quarz ist nicht die Fehlerquelle. Wie kommst du zu dieser Erkenntnis? holger schrieb: > Schliess ihn richtig an. 2x22pF gegen GND. > Kontrollieren ob Kondensatoren auch wirklich 22pF haben. > Kontrollieren ob die beiden 22pF auch an GND liegen. > Quarz muss natürlich an XTAL1 und XTAL2. Nachzählen > ob du die richtigen Pins benutzt. Kontrolle ob > Kurzschlüsse von XTAL1 oder XTAL2 gegen GND oder VCC. Alles natürlich schon geschehen. holger schrieb: > So schwer ist das ja nun wirklich nicht;) Eigentlich sollte es das wirklich nicht sein... Ich tendiere eigtl zum defekten Quarz... vll ist er beim einlöten ja gestorben oder beim abknipsen der Beinchen (habe gelesen, dass das passieren kann).
>Ich tendiere eigtl zum defekten Quarz... vll ist er beim einlöten ja >gestorben oder beim abknipsen der Beinchen (habe gelesen, dass das >passieren kann). Nö, eher nicht. Kaputt gehen Quarze wenn sie aus 1m hart auf den Boden aufschlagen. Ist der mal runtergefallen?
Marvin Thielking schrieb: > Ich habe eine Schaltung mit einem Atmega32 und 8 MHz quarz auf einem > Steckbrett laufen gehabt. Nun wollte ich die Schaltung auf eine > Lochrasterplatine übertragen - Ergebnis: Probleme. > > - AVR hat gleiche Fuses wie auf dem Steckbrett, auch alle anderen > Komponenten sind gleich. > - Zugriff per ISP ist möglich Wenn die Fuses auf externem Quarz standen und du ihn per ISP ansprechen konntest, dann hat der Quarz zumindest zu diesem Zeitpunkt auch geschwungen. Oder hast du ihn zum Programmieren wieder ins Steckbrett gepackt? Andreas
Sind deine Leitungsführungen an der Quarzschaltung niederohmig genug dimensioniert? Masse? Irgendwo bei 8 MHz ist ja die Grenze von Gleichstrom zu Wechselstrom ;-) Oder hast du mal einen anderen (evtl. niederfrequenteren) Quarz, wenn kein Ersatz mit 8 MHz vorhanden?
Defekte Quarze hatte ich übrigens noch nie. Einen Sturz aus 1 Meter sollten sie durchaus aushalten... Merkwürdig erschien mir, daß ein XTAL-Anschluß auf Massepotential liegt, und der andere auf VCC. Daher kam mein Vorschlag für den Parallelwiderstand zum Anschwingen. Du hast doch nicht etwa einen Modus für eine externe Taktquelle eingestellt?
Andreas Ferber schrieb: > Wenn die Fuses auf externem Quarz standen und du ihn per ISP ansprechen > konntest, dann hat der Quarz zumindest zu diesem Zeitpunkt auch > geschwungen. Oder hast du ihn zum Programmieren wieder ins Steckbrett > gepackt? > > Andreas Genau das verwundert mich auch, dass LED blinken geht nicht aber das programmieren... Ich habe gerade mal die Spannung an XTAL2 beim ISP-Zugriff gemessen - da geht die Spannung wischenzeitig runter und schwankt dann immer zwischen 5V und ~1V ein paar mal hin und her während des ISP-Zugriffs. Wilhelm Ferkes schrieb: > Sind deine Leitungsführungen an der Quarzschaltung niederohmig genug > dimensioniert? Masse? Irgendwo bei 8 MHz ist ja die Grenze von > Gleichstrom zu Wechselstrom ;-) Naja schön sind sie nicht... aber habe mal mit dem Multimeter nachgemessen: zwischen AVR Pin und 22pF Kelko sinds 0,1 Ohm und zwischen dem anderen kelko Beinchen und dem GND des Netzgeräts sinds 1,2 Ohm. Macht das Probleme? Wilhelm Ferkes schrieb: > Oder hast du mal einen anderen (evtl. niederfrequenteren) Quarz, wenn > kein Ersatz mit 8 MHz vorhanden? einen 4 MHz hätt ich noch hier... könnte den mal einlöten... Wilhelm Ferkes schrieb: > Du hast doch nicht etwa einen Modus für eine externe Taktquelle > eingestellt? Low Fuses sind 0x7F und so gings aufm Steckbrett auch.
>und zwischen dem anderen kelko Beinchen und dem GND des Netzgeräts >sinds 1,2 Ohm. Macht das Probleme? 1 Ohm, das können auch die Leitungen des Ohmmeters und die Kontaktübergänge sein. Für genauere Aussagen, brauchte man ein 4-adriges Milliohmmeter. Die Masse sollte jedenfalls massiv ausgelegt sein, und nicht mit einem 10 cm langen Draht mit 0,4 mm Querschnitt.
@ Wilhelm >Defekte Quarze hatte ich übrigens noch nie. Einen Sturz aus 1 Meter >sollten sie durchaus aushalten... Ich schon. Wenn ein Quarz aus 1m auf einen Steinboden knallt dann kanns das schon gewesen sein. > Sind deine Leitungsführungen an der Quarzschaltung niederohmig genug > dimensioniert? Der wird selbst mit 10 Ohm Leitungswiderstand noch schwingen;)
Wilhelm Ferkes schrieb: >>und zwischen dem anderen kelko Beinchen und dem GND des Netzgeräts >>sinds 1,2 Ohm. Macht das Probleme? > 1 Ohm, das können auch die Leitungen des Ohmmeters und die > Kontaktübergänge sein. Die wären aber bei der Messung zwischen Controller und Kerko im wesentlichen dieselben ;-) Andreas
holger schrieb: >Der wird selbst mit 10 Ohm Leitungswiderstand noch schwingen;) Du vergißt den Blindwiderstand. Ja, kann tatsächlich sein, das sowas sogar noch geht. Mich machen die Potentiale an XTAL1 und XTAL2 etwas stutzig. Die sollten sich bei 1/2 VCC einpendeln, wenn was schwingt. Irgendwie scheint die Oszillatorschaltung mit dem Quarz nicht richtig konfiguriert. Andreas Ferber schrieb: >Die wären aber bei der Messung zwischen Controller und Kerko >im wesentlichen dieselben ;-) Ja, schon recht. Aber bei praktischen Aufbauten und Messungen gibt es immer Überraschungen.
So, habe den 4 MHz Quarz eingelötet und mit dem gehts... Habe dann den 8er mal auf dem Steckbrett getestet und er scheint wirklich defekt zu sein! Zu den Leitungswiderständen: Wie gesagt: Die Platine soll niemand von unten sehen ;-)
Marvin Thielking schrieb:
>So, habe den 4 MHz Quarz eingelötet und mit dem gehts...
Damit ist aber nicht gesagt, daß der 8-er wirklich defekt ist. Höhere HF
hat immer höhere Ansprüche an den Aufbau.
Und, kann man mit 4 MHz auch ordentlich arbeiten, oder muß auf jeden
Fall Ersatz besorgt werden?
>>Der wird selbst mit 10 Ohm Leitungswiderstand noch schwingen;) >Du vergißt den Blindwiderstand. Schau dir mal ein paar Oscillatorschaltungen mit Quarz an. Da wird teilweise empfohlen einen Serienwiderstand 220 - 1k am Ausgang des Oscillators zu benutzen um den Quarz nicht zu übersteuern. >Damit ist aber nicht gesagt, daß der 8-er wirklich defekt ist. Höhere HF >hat immer höhere Ansprüche an den Aufbau. 8MHz sind noch nicht wirklich HF;) Wenn der 8MHz nicht schwingt könnte die Lastkapazität zu hoch sein (Aufbau). Vieleicht einfach mal die 22pF rausnehmen. Defekter Quarz ist aber wahrscheinlicher.
holger schrieb: >Schau dir mal ein paar Oscillatorschaltungen mit Quarz >an. Da wird teilweise empfohlen einen Serienwiderstand 220 - 1k >am Ausgang des Oscillators zu benutzen um den Quarz nicht >zu übersteuern. Ja, sogar noch größer. Der sollte im Controller aber schon integriert sein.
Wilhelm Ferkes schrieb: > Und, kann man mit 4 MHz auch ordentlich arbeiten, oder muß auf jeden > Fall Ersatz besorgt werden? Auch mit 4MhZ kann man ordentlich arbeiten, wenn man die defines passend setzt und sich der Tatsache bewusst ist, daß die Timer dann langsamer laufen. Wenn man nicht gerade viel Rechenleistung benötigt, kann man mit dem Takt auch noch weiter runter gehen, aber das ist dann von der jeweiligen Anwendung abhängig. Und wenn Du nicht auf einen Quarz angewiesen bist, also den UART niocht benötigst, brauchst Du nicht mal den Quarz und kannst den internen RC-Oszillator verwenden. Frank
Marvin Thielking schrieb: > Andreas Ferber schrieb: >> Wenn die Fuses auf externem Quarz standen und du ihn per ISP ansprechen >> konntest, dann hat der Quarz zumindest zu diesem Zeitpunkt auch >> geschwungen. Oder hast du ihn zum Programmieren wieder ins Steckbrett >> gepackt? >> >> Andreas > > Genau das verwundert mich auch, dass LED blinken geht nicht aber das > programmieren... Ich habe gerade mal die Spannung an XTAL2 beim > ISP-Zugriff gemessen - da geht die Spannung wischenzeitig runter und > schwankt dann immer zwischen 5V und ~1V ein paar mal hin und her während > des ISP-Zugriffs. ... Dann ist es definitiv nicht der Quarz! Das Programmieren bedingt, dass die CPU mit Takt versorgt wird. Der Programmer versorgt die CPU nicht mit einem Takt. Mein Bauchgefühlt sagt mir, dass Du irgendwas mit dem Reset-Pin nicht korrekt gemacht hast. Der Programmer toggelt über den Reset die CPU in den Programmiermodus und hält den Reset auch. Wenn also die Schaltung in diesem Fall ohne Programmer nicht funktioniert, dann ist es der Reset. Es gibt aber noch eine Option. Habe jetzt nicht nachgesehen, welchen exakten AVR Du hast, aber wenn Du eine Toggle-LED in Software programmiert hast und die bei 8MHz schön blinkt, dann schau bitte noch mal genau die Fuses an. Zum einen kann es durchaus sein, dass der Chip Doch auf interne Clock steht, zum Anderen gibt es AVRs, die eine Fuse für ClkDiv8 haben, dann würde die Schltung nut mit 1MHz laufen. Es blinkt also deutlich langsamer. Und dann kann man über das OscCal Byte die interne Clock auch noch trimmen. Und das geht je nach Laune des Chips sehr weit runter. Übertrieben gesagt könnte der Chip auf der internen Clock durchaus laufen, aber die LED blinkt nur noch 2mal am Tag. Ich würde ja fast vorschlagen, Du hängst einfach mal ein Bild von beiden Seiten deiner Platine hier an und nene Screenshot vom Programmer. Mach Dir nix draus, es gibt so Tage da geht nix, dabei ist der Fehler doch so offensichtlich. Aber man denkt in zu festen Bahnen und kann ihn deswegen einfach nicht finden. Gruß, Ulrich
Die 22pf Kondensatoren sind nur Richtwerte. Irgendwo im Datenblatt steht auch die Berechnung, C-Werte abhängig vom Quarztyp (Oberton, Grundton, ...) und der Frequenz. Mir ist es schon passiert, daß ich beim Wechsel von 12MHz auf 16Mhz andere (kleinere Werte, 18pF) nehmen mußte weil der neue Quarz nicht schwingen wollte. Ein 16384kHz-Quarz dagegen hat es auch bei 33pF getan. Die Spannungsmessung an den XTAL-Pins sagt nichts aus. betrachten mit dem Oszilloskop schon mehr, aber die Amplituden sind sehr klein. Blackbird
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.