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.
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.