Hallo, Ich bin gerade dabei mich durchs AVR-Tutorial zu kämpfen, habe aber mit der Software einige Probleme. Auf einem Breadboard habe ich die Fuses auf einem Atmega8A gut setzen können und auch das Flashen der ertsen beiden Beispiel-Programme hat ohne Probleme funktioniert. Daraus folgere ich, dass Atmel Studio und der USBasb-Treiber richtig funktionieren. Jetzt habe ich mir die Anfangsschaltung aus dem Tutorial auf eine Platine gelötet, da das experimentieren auf dem Breadboard doch sehr unübersichtlich ist. Einmal die Fuses setzen funktioniert auch noch (habe ich mit zwei neuen Mikrokontrollern ausprobiert -.-), danach geht aber nichts mehr und AVR Burn-O-Mat meldet nur noch Fehler bzw. kann keine Verbindung mehr herstellen. Habt ihr eine Idee woran das liegen könnte? Beim setzen der Fuses habe ich mich eigentlich genau ans Tutorial gehalten. Ich habe mal ein paar Screenshots gemacht, vielleicht kann man das Problem daran besser nachvollziehen. Vielen Dank schonmal.
Die Bilder sind alle vom selben Controller. Sonst habe ich die Prozedur mit 3 verschiedenen durchprobiert. Immer das selbe Verhalten.
Welchen Clock hast Du gewählt und ist er bei Deiner HW auch vorhanden? Der Klassiker ist, den internen Clock abzuschalten ohne dass ein Quarz oder externer Clockgenerator vorhanden ist. Gruß Dietrich
Ich habe mich genau ans Tutorial gehalten: 4 MHz Quarz mit 2 Kapazitäten und dann die Fuses wie in den Bildern gesetzt. Auf dem Breadboard hat das mit den ersten zwei Programmen auch so funktioniert.
Heuamöbe schrieb: > Auf dem Breadboard hat > das mit den ersten zwei Programmen auch so funktioniert. - Hast Du die selben Bauteile verwendet? Stimmen die Werte? - Ist der Quarz mal auf den Boden gefallen und vielleicht kaputt? - Ist die Leiterplatte in Ordnung (Kurzschluss, Haarriss, kalte Lötstelle, Verdrahtungsfehler)? - Sind Stützkondensatoren verbaut? Gruß Dietrich
- Die selben Bauteile habe ich verwendet. Die Werte müssten auch stimmen. - Der Quarz ist mir tatsächlich mal heruntergefallen, als ich ihn wegen einem Fehler aus- und wieder einlöten musste. Kann man ohne Oszilloskop testen, ob der Quarz noch funktioniert? Oder ist es möglich einen Quarz anderer Frequenz zu nutzen? Einen 4 Mhz Quarz habe ich leider nicht mehr da. - Die Leiterplatte habe ich mehrmals überprüft, das müsste auch stimmen. - Mit Stützkondensator ist zum Beispiel der Kondensator zwischen GND und VCC gemeint? Davon waren im Tutorial einige verbaut, das habe ich auch so übernommen. Am interessantesten scheint der Quarz zu sein. Wäre es denn möglich ohne funktionierenden Quarz die Fuses zu setzen? Weil das ging ja (einmal).
Heuamöbe schrieb: > Wäre es denn möglich ohne > funktionierenden Quarz die Fuses zu setzen? Weil das ging ja (einmal). Unabhängig vom Takt geht das mit einen High Voltage (HV) Programmer. Alternative: einen externen Takt an den XTAL1 Eingang anschließen. Normalerweise müssten die Fuses dann auf "ext. Clock" eingestellt werden, aber es sollte auch (hoffentlich) mit der Einstellung "Crystal Oscillator" funktionieren. Der externe Takt kann entweder ein fertiger Quarzoszillator sein, es kann aber auch ein NE555 (Timer) mit passender Beschaltung oder ein Schmitt-Trigger-Oszillator (rückgekoppeltes invertierendes Gatter mit Schmitt-Trigger-Eingang, z.B. 74HC14, 74HC132, ...) verwendet werden. Gruß Dietrich
Im Datenblatt des Mikrocontrollers steht, welche Quarz-Frequenzen für welche Einstellungen geeignet sind. Kurz gesagt: Ja, Du kannst andere Quarze nehemn, aber nicht alle.
Gerade geht es mir eher darum, ob man aus dem beschriebenen Verhalten (einmal Fuses setzen geht, danach geht nicht mehr) auf eine Fehlfunktion des Quarzes schließen kann. Die Fuses habe ich nämlich sicher auf externen Quarz (nicht Quarzoszillator) eingestellt. Könnte ich probehalber einen Quarz anderer Frequenz benutzen? Woraus sich die benutzten Frequenzen ergeben habe ich noch nicht wirklich verstanden (Warum sollte man seinen AVR mit 1MHz laufen lassen, wenn es genauso mit 8MHz, also acht mal so schnell geht?).
Kannst du denn einen Fehler auf der Platine ausschließen ? PB6\PB7 (Pin9\Pin10) jeweils auf ein Bein des Quarzes (mit zwei Anschlüssen), und von jedem Bein vom Quarz einen 22pF Keramikkondensator auf Gnd ? Kannst zur Not ja ein Foto von deinem Aufbau hochladen. Heuamöbe schrieb: > (Warum sollte man seinen AVR mit 1MHz laufen lassen, wenn es > genauso mit 8MHz, also acht mal so schnell geht?). Bin nun auch nicht der Profi, aber evtl. hilft dir das Datenblatt des Atamega8 weiter : http://www.atmel.com/devices/atmega8.aspx?tab=documents Electrical Characteristics ATmega8 Typical Characteristics - Active Supply Current vs. Frequency
Heuamöbe schrieb: > (Warum sollte man seinen AVR mit 1MHz laufen lassen, wenn es > genauso mit 8MHz, also acht mal so schnell geht?). Weil man dann genau diese Fehler vermeidet, bis alles richtig läuft. Ohne dass ich das jetzt prüfen kann, aber ich bin sicher du hast sie "verfused". Nimm doch das Atmel Studio. Das ist nicht so kompliziert mit den Fuses.
Heuamöbe schrieb: > Kann man ohne Oszilloskop > testen, ob der Quarz noch funktioniert? Zumindest ganz grob abschätzen. Mit dem Multimeter sollte an den XTAL-Pins ca. Vcc/2 messbar sein, wenn der Oszillator schwingt.
> Warum sollte man seinen AVR mit 1MHz laufen lassen, > wenn es genauso mit 8MHz, also acht mal so schnell geht? 1) Weil er dann weniger Strom verbraucht, was vor allem bei Batteriebetriebenen Geräten von Bedeutung ist. Ein elektronisches Spiel von mir wird mit 37,5 kHz getaktet. 2) Weil die externe Beschaltung mit geringerer Taktfrequenz einfacher ansteuerbar ist. Zum Beispiel LC-Displays. 3) Weil UART Kommunikation bestimmte Bitraten verlangt, die nicht mit jeder Taktfrequenz ausreichend genau erreichbar ist. 3.6864 Mhz eigenet sich für die gängigen Bitraten am Besten. 4) Weil die geringere Taktfrequenzen geringere Versorgungsspannungen ermöglichen.
LayoutDb schrieb: > Kannst du denn einen Fehler auf der Platine ausschließen ? > PB6\PB7 (Pin9\Pin10) jeweils auf ein Bein des Quarzes (mit zwei > Anschlüssen), und von jedem Bein vom Quarz einen 22pF Keramikkondensator > auf Gnd ? Das war der entscheidende Hinweis. Das Kabel zu Ground habe ich schlicht übersehen. Jetzt scheint es wieder zu gehen. "Verfust" habe ich also zum Glück nichts. Vielen Dank an alle für die schnelle und ausführliche Hilfe hier, auch bei solchen Anfängerproblemen. Scheint ein klasse Forum zu sein :) F. Fo schrieb: > Nimm doch das Atmel Studio. Das ist nicht so kompliziert mit den Fuses. Funktioniert Atmel Studio denn mit dem USBasp/Avrdude? Hier auf der Seite habe ich nur eine Anleitung für 6.0 gefunden. Die da aufgeführten Ordner finde ich bei mir so aber nicht.
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.