Hallo! Nachdem mir ein ATmega16 gestorben ist habe ich gleich einen neuen gekauft und setzte die Fuses wie beim ersten. ext. Clock (16MHz Quarzoszillator): CLKSEL: 0000 (PonyProg: alle CKSEL angehakt) sonst blieb alles default. Wie es nicht anders zu erwarten war, funktionierte das ganze natürlich nicht (PonyProg: Device missing or unknown device). Im moment läuft er wieder mit dem internen RC-Oszillator (konnte ihn durch ständiges "retry" drücken wieder zurücksetzen - nicht sehr professionell, aber es hat funktioniert). Bin dankbar für jeden noch so kleinen Tipp, Bernhard Friedel
Hallo Friedel, nur um Missverständnissen vorzubeugen, meinst du nun externen Quarz an XTAL1 und XTAL2 mit den beiden 22pF Kondensatoren, oder Externen Oszillator nur an XTAL1? Ich frage deshalb, weil es da schon öfter Verwechselungen gab. Gruß, Arno
# nur um Missverständnissen vorzubeugen, meinst du nun # externen Quarz an XTAL1 und XTAL2 mit den beiden 22pF Kondensatoren, # oder Externen Oszillator nur an XTAL1? # Ich frage deshalb, weil es da schon öfter Verwechselungen gab. Was genau ist überhaupt der Unterschied zwischen diesen beiden Möglichkeiten? Was ist besser, stabiler ..oder so? Bin erst seit einer weile dabei mich (soweit nur theoretisch) mit AVR's zu befassen und da hab ich bisher noch nie ne Begründung gesehen, wieso jemand das eine oder das andere benutzt.
Hallo, ein externer Quarz mit den beiden Kondensatoren nutzt die im Controller vorhandene Elektronik um damit den Quarz zum schwingen zu bringen. Diese Schwingung wird dann auch wieder im Controller in eine Rechteckschwingung gewandelt für den Takt. Beim externen Oszillator wird ein schon fertiges Rechteck- Signal an den XTAL1 Pin angelegt. Dieses Signal wird also nicht im Controller erzeugt sondern ausserhalb. Dieser externe Oszillator den man fertig kaufen kann, zB. in einem 14 poligen IC-Gehäuse enthält also einen Quarz und die Elektronik zur Takterzeugung. Gruß, Arno
Hab noch was vergessen, was die Genauigkeit anbelangt ist der externe Quarzoszillator der bessere, weil in der Schaltung auch eine Temperaturkompensation enthalten ist. Die preiswerteste Lösung ist der interne RC-Oszillator. Dieser ist aber in der Frequenzkonstanz nicht gut und kann daher zu Problemen führen wenn man den UART benutzt. Die am meissten benutzte Variante ist die mit dem externen Quarz. Die Genauigkeit ist viel besser als der interne RC-oszillator. Gruß, Arno
wow das ging ja schnell - danke also nen oszillator wenns genau sein soll, ein normaler quarz als gute standartlösung und wenns egal ist den internen takt..
So ist es. Jede dieser Taktarten hat aber eine andere Fusebit-Einstellung. Die Daten dazu findest du im Datenblatt. Gruß, Arno
>meinst du nun >externen Quarz an XTAL1 und XTAL2 mit den beiden 22pF Kondensatoren, >oder Externen Oszillator nur an XTAL1? Ich meine den externen Oszillator an XTAL1.
Ok, also die Einstellung stimmt dann so, hast du eventuell einen ATmega16L ? Hat der externe 16Mhz Quarzoszillator Spannung? Kannst du feststellen ob er schwingt? An XTAL1 sollten so ca. 2,5V zu messen sein.
ATMEGA16-16PI - müsste der Richtige sein Die Oszillatoren (hab 2 zur verfügung) schwingen auch mit ihren 16MHz.
Könnte es am Steckbrett liegen? Der ATmega16 funktioniert nur mit dem internen Oszillator einwandfrei - mit einem ext. Quarz oder einem Quarzoszillator funktioniert er nicht mehr. Ein mega8 hat sich ähnlich verhalten. Wieso dann mein erster AVR auf diesem Steckbrett funktioniert hat, ist wieder eine andere Frage ...
Hab ein ähnliches Problem,auch mit dem ATMega16.Benutze Bascom,und will einen externen Quarz benutzen(8MHz),welche einstellung muß ich nun genau nutzen? danke
Hi, Wenn der Quartz von Reichelt stammt (Conrad ist wohl nicht anders, weiss ich gerade nicht), dann hat er wohl ein C-load von 32pF. Die beiden externen Kondensatoren (C1, C2) berechnen sich nun folgendermassen: c1=c2=(2*Cload)-Cstray Cstray ist angeblich ca. 5-7pF, also sollten die C1 und C2 demnach C1 = C2 = (2*32)-7 = 57pF gross sein. Keine Ahnung, warum man das nie in irgendwelchen Schaltungen sieht, aber ich vermute mal, dass (abgesehen von conrad reichelt) meistens Quarze mit weniger C-load verkauft werden (Grosskunden können sich quasi wünschen, wie die Quarze geliefert werden sollen), daher die empfohlenen 22pF. Aber ich würde einfach mal die von allen Quarzherstellern empfohlene obige Formel benutzen und ca. 55pf versuchen. Wenn die Kondensatoren falsch sind, dann schwingt der Quarz zu schnell oder zu langsam oder eben gar nicht. Aber es gibt viele andere Fehlerquellen, diese hier ist es wohl eher selten. Bei den anderen hilft aber ein gründliches Lesen des Atmel-Datenblatts! ;-) cu JOern
Ich wäre froh wenn es am Quarz liegen würde, aber ein ext. Oszillator funktioniert genauso wenig. z.B.: wenn ich einen Rechteck an einem Pin ausgeben will funktioniert dies mit dem internen RC Oszillator perfekt, aber zu langsam. Lasse ich das Programm im Flash stehen und stelle die Fuse Bits auf einen Quarz oder ext. Oszillator um wird das Programm zwar noch ausgeführt, aber nicht richtig - der Rechteck kommt irgendwie raus und hat keine gleichbleibende Periodendauer. Aber nicht mal das Programmieren funktioniert noch, wenn man einen Quarz oder ext. Oszillator benutzt. Danke
Hallo Namenskollege, hast du SUT0 und SUT1 gesetzt? Wenn nur eins davon gesetzt (also 0 bzw. Häkchen) ist wird der Start des Controllers etwas verzögert und der Oszillator hat mehr Zeit zum Anschwingen. Alternativ könntest du zum Beispiel einen 8 Mhz Oszillator testen, möglicherweise gibt es einfach EMV Probleme auf dem Steckbrett... Hat der Mega16 eine ausreichende Betriebsspannung? Je höher die Frequenz desto höher die minimale Spannung. Hatte das Problem auch als meine Batterie lehrging, der 7805 lieferte nur noch 4V. Es lief zwar noch mit 8Mhz, aber nicht mehr mit 16. Gruss Markus
Hallo SUT1..0 ist auf 10 gesetzt - sind 65ms lt. Datenblatt. Ein 8MHz Oszillator ist auch nicht besser wie ein 16MHz. Betriebspannung hat er 4,97V. Also hätte er eigentlich keinen Grund um nicht zu funktionieren ...
Ich habe den Oszillator etwas weiter vom µC entfernt und JTAG wieder eingeschaltet. Funktioniert nun problemlos mit einem 8MHz Oszillator: http://dasboot.covers.de/8MHzJTAG.jpg Schaltet man JTAG wieder ab (ich brauche den ganzen PORTC) so ergibt sich dies hier: http://dasboot.covers.de/8MHz.JPG Ein 16MHz Oszillator funktioniert nicht mal mit eingeschaltenem JTAG: http://dasboot.covers.de/16MHzJTAG.JPG
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.