Hallo zusammen, ich habee in letzter Zeit ein wenig mit einem Atmega rumgespielt und soweit hat das Programmieren auch ganz gut funktioniert (immer interner Oszillator). Nun wollte ich den Atmega mit einem 16 MHz Quarz takten (UART). Deshalb habe ich alle CKSEL Bits zurückgesetzt (in Ponyprog die Hacken entfernt). Danach konnte ich nicht mehr per ISP auf den MC zugreifen (Beschaltung mit Quarz und 22pF Kondensatoren). Deshalb habe ich einen Quarzoszillator benutzt. Damit ging der Zugriff erstmal. Im Datenblatt und im Forum ist erwähnt, dass man bei so hohem Takt CKOPT setzen soll. Deshalb habe ich in Ponyprog bei CKOPT einen Hacken gemacht. Seitdem funktioniert der Atmega weder mit dem Qarz noch mit dem Quarzoszillator (auch 16 MHz). Die Schaltung ist auf einem Breadboard aufgebaut. Der Aufbau ist mit dem aus dem AVR Tutorial identisch. Außerdem ist am Quarz eine Spannung von ca. 2,5 V zu messen (=> der Quarz sollte also schwingen). Hat von euch jemand eine Idee und kann mir weiterhelfen? Danke! Viele Grüße Marvin
> Seitdem funktioniert der Atmega weder mit dem Qarz noch mit dem Quarzoszillator (auch 16 MHz). Da hast du vermutlich andere Fuses falsch gebrannt. > Außerdem ist am Quarz eine Spannung von ca. 2,5 V zu messen (=> der Quarz sollte also schwingen). Das ist eine gewagte Schlussfolgerung, ohne Scope geht da nix.
Hi Marvin, Welche Schaltung hast Du denn benutzt? Mach doch mal ein Bild von Deinem Aufbau und stell es hier ein (Anhang). Auch die genaue Konfiguration der Fuses. CKOPT brauchst Du fuer Takte >=8MHz wenn Du einen Quarz verwendest. Mit einem Quarzoszillator sollte dies nicht noetig sein (wenn ich mich irre korrigiert mich). lg, Michael
Hallo zusammen, im Anhang die Schaltung. Eigentlich fehlt noch die Beschaltung der UART, aber die habe ich mal weggelassen. Macht das was aus? Die ist per MAX232 an meinem PC angeschlossen. Die Fuses wollte ich eigentlich wie folgt setzen: SUT1: 1, SUT0: 0, CKOPT: 0, CKSEL[0..3]: 1 Das entspricht, wenn ich alles richtig verstanden habe, in Poyprog einem Hacken bei SUT0 und CKOPT. Danke und Gruß Marvin P.S.: Ist mein erster Schaltplan mit Eagle...
Hi Marvin,
ich schließe mich der Aussage von Bensch an.
>Da hast du vermutlich andere Fuses falsch gebrannt.
Dass ist mir auch schon passiert. Ich würde so oder so immer die FUSES
ein paar mal hintereinander einlesen bevor ich ein Fusebit
schreibe/lösche. Bei mir ist es schon vorgekommen dass z.B. meine vers.
Spannung überlastet war (nur noch 3V oder so). Jedes mal wenn ich die
Fuses erneut eingelesen habe hat er was anderes angezeigt, einen Fehler
beim lesen hat er nicht gemeldet. Wenn du in diesem Zustand versucht,
Fuses zu brennen geht garantiert was schief (z.B. das ResetDisable- Fuse
Bit)
An deiner Stelle würde ich es mit einem Quarzoszillator (4MHz o.ä.)
nochmal testen. Den RES pin des megas würde ich mal vom Programmer
abhängen und manuell auf Masse legen.
Allerdings wirst du wahrscheinlich kein Glück haben....
Mit freundlichem Gruß
MainSter
Und was wären die richtigen Einstellungen? Also CKSEL[0..3] auf 1 und wie muss ich SUT0, SUT1 und CKOPT einstellen. Gruß Marvin
Mit AvrStudio wäre das nicht passiert :-) Ne, aber mal ehrlich. Wieviele AVRs wird ponyprog noch schroten, bis mal das Mensch-Fuses Interface verbessert wird ....
Das CKOPT Fusebit ist nur dazu da, um die Verstärkung der Oszillatorschaltung umzustellen (Quarz >8MHz heisst, der Oszillator braucht eine größere Verstärkung). Meines Wissens kannst du aber auch einen 8MHz Quarz (oder kleiner) mit der höheren Oszillatorverstärkung (CKOPT programmiert, 0) laufen lassen (Stromaufnahme ist dann glaube ich bissl höher) <--- Bitte korrigieren wenns net stimmt! Die SUT bits stelle ich immer auf die längste dauer ein wenn es nicht auf eine möglichst kurze Resetdauer ankommt. Also ich würde nur das CKOPT Fuse programmieren und alle anderen unprogrammiert lassen! MFG MainSter
Vermutlich hast du CKOPT nun ausgeschaltet und dadurch geht der Oszillator mit dieser Frequenz nicht mehr. Probiere mal, einen kleineren Quarz (3,686 MHz oder 7,37 MHz) zu benutzen.
Marvin, mach doch bitte mal nen Bild vom Aufbau, vielleicht hast Du den Quarz auch unguenstig aufgebaut... kannst Du messen, hast mind. nen Multimeter, das eine Frequenz messen kann oder ein Oszi?
Hallo, ich würde auch eher Probleme im Aufbau vermuten, Leitungen AVR/Quarz/Kondensatoren/AVR-GND zu lang, 100n dicht an den AVR-Spannungspins, Betriebsspannung unsauber/instabil. Ansonsten: der AVR läßt sich in jeder Fuse-Einstellung (ext. Clock, Quarz, Resonator, RC-Oszillator) mit einem externen Takt takten. Auch in der Einstellung >= 8MHz schwingen Quarze mit 4 MHz (vermutlich auch darunter, habe ich bisher nicht probiert). Gruß aus Berlin Michael
Vll hab ichs überlesen - aber ich hab das Problem mal mit ner Rev. vom Mega8 gehabt. Evt. hilft es, wenn man extern an die Quarzpins nen 22pF gegen Masse hängt.
Hallo zusammen, schonmal Danke für die vielen Antworten! Im Anhang das Foto des Breadboards mit dem Aufbau. Als Spannungsversorgung nutze ich ein altes AT-Netzteil, welches laut Messgerät 5,2 V liefert. Das hat bisher aber keine Probleme verursacht. Der rote Folienkondensator mit 47 nF hängt an Reset und Grund. Daneben der blaue Stummel, dass ist ein 100 nF Kondensator, der zwischen Ground und Vc sitzt. Viele Grüße Marvin
Huhu Marvin ;) Also der Aufbau sieht schon recht abenteuerlich aus. Beim Quarz kann ich durch die Unschaerfe leider auch nicht viel erkennen. Du solltest auf jeden Fall mal eine anstaendig stabilisierte Spannungsquelle vorsehen (7805). Koennte mir vorstellen dass 5.2 oder vielleicht bei nem schlechten Netzteil ohne Last noch mehr den Controller gekillt haben. AT-Netzteile sind fuer Elektronik garnicht geeignet und teilweise nur unter einer gewissen Last ueberhaupt halbwegs "genau" bei der Spannung. Ich denk mal Du hast den Controller einfach geschossen damit. Waere meine erste Vermutung. Den Rest kann man nur durch Messen herausfinden. lg, Michael
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.