Hallo liebes Forum, ich bin seit langem schon stiller Mitleser und hab schon die ein oder anderen hilfreichen Tipps "bekommen" und hoffe, ihr könnt mir jetzt auch bei einem direktem Problem helfen: Ausgangszustand: Selbstbau Entwicklungsboard (ursprünglich als Radiowecker-Projekt mit LCD, 7-Seg, DCF, I²C-Radiomodul, mittlerweile Erweitert um Pinheader für alle Ports) auf Basis des ATMega2560. Programmieradapter MySmartUSB light, später Arduino IDE (ich weiß, ich geh jetzt lieber in Deckung und warte die Schläge ab) mit Bootloader. Vorgehen: Platine bei ITead in Auftrag gegeben, kontrolliert (passt) und alles zusammen gelötet. Spannung angelegt (5V über USB bzw. USB-Netzteil), SmartUSB angeschlossen und ich konnte den AVR ansprechen. Fuses konnten ausgelesen werden. Also gut, ran an den Speck und die benötigten Fuses für den Bootloader schreiben, wie es Arduino wünscht (lfE2, hfD8,efFD,LockFF). Anmerkung noch: Aufgrund von einem Bestellfehler, ahbe ich den benötigten 16Mhz-Quarz noch nicht und hab das Lowfuse auf Internem Clock ohne Prescaler gestellt. Daher E2. Problem: Seitdem lässt sich der Atmel nicht mehr ansprechen :( AVRDude kann die Signatur nicht auslesen. Ich habe es über die Arduino-Oberfläche und über den BurnOMat probiert. C:\Users\Projekte\arduino-1.0.1-windows\arduino-1.0.1\hardware\tools\avr \bin\avrdude.exe -C C:\Users\Projekte\arduino-1.0.1-windows\arduino-1.0.1\hardware\tools\avr \etc\avrdude.conf -p m2560 -P com5 -c stk500v2 -U efuse:r:C:\TEMP\efuse8565881303580513025.hex:r -U hfuse:r:C:\TEMP\hfuse6180739087379018774.hex:r -U lfuse:r:C:\TEMP\lfuse6350084628723673676.hex:r avrdude.exe: stk500v2_command(): command failed avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. Ich habe ja eigentlich weder die falsche Clockfuse gesetzt (intern und ohne Vorteiler...sollte doch gehen?) noch SPI disabled. Einzig die Lockfuse macht mich stutzig. In der Standardconfig lautet sie 3F, wird aber als FF angegeben. Wobei die letzten beiden Bits nicht verwendet werden. Oder doch? Könnt ihr mal meine Fusesettings überprüfen ob ich hier irgend einen doofen Denkfehler habe? An der Schaltung kanns ja nicht liegen, nachdem ich Problemlos die Fuses lesen und auch einmal schreiben konnte. Vielen Dank schon im Voraus. Achja...das ist nicht meine erste Arduino-Mega2560 Platine im Selbstbau. Einziger Unterschied ist der nicht verwendete Quarz diesmal. Bisher liefen alle. Grüße Daniel
Daniel J. schrieb: > Problem: > Seitdem lässt sich der Atmel nicht mehr ansprechen :( AVRDude kann die > Signatur nicht auslesen. Ich habe es über die Arduino-Oberfläche und > über den BurnOMat probiert. Du sprichst also den Arduino-Bootloader über die serielle Schnittstelle an, ja? > Anmerkung noch: Aufgrund von einem Bestellfehler, habe ich den > benötigten 16Mhz-Quarz noch nicht und hab das Lowfuse auf Internem Clock > ohne Prescaler gestellt. Daher E2. Damit ist die Taktfrequenz (ca.) 8 MHz statt 16 MHz. Was bedeutet das wohl für die serielle Schnittstelle? Schau doch mal, ob du (vorübergehend) die Baudrate im PC halbiert bekommst. Grüße Stefan
Hallo Stefan, Nein, bisher läuft alles über die ISP Schnittstelle. Wie gesagt, den Bootloader zu installieren, war mir, wegen besagtem Fehler noch nicht möglich. Die Ausgabe von Arduino kannst du meinen Anhang im Eröffnungspost entnehmen. Über ISP sollte ich, meiner Meinung nach, mit den gewählten Fuses immer noch mit dem Atmel kommunizieren können. Ich verwende den mySmart USB light mit der STK500v2 Firmware und dem dazugehörigen Progtool. Bisher hat das auch immer geklappt. Gruß Daniel
Daniel J. schrieb: > Über ISP sollte ich, meiner Meinung nach, mit den gewählten Fuses immer > noch mit dem Atmel kommunizieren können. Eigentlich schon. Passt der ISP-Takt? Grüße Stefan
Siehe http://shop.myavr.de/Topseller/mySmartUSB%20light.htm?sp=article.sp.php&artID=200006 "Hinweis zur Taktfrequenz: im Gegensatz zu den anderen myAVR Programmern hat der mySmartUSB light einen automatischen Teiler integriert. Durch den Teiler wird die Taktfrequenz durch eine dreimalige Abfrage so lange geteilt, bis die Taktfrequenz mit dem Prozessor übereinstimmt. Der mySmartUSB light kann nur bis auf 52910 Baud (~211 kHz) herunter gehen während der mySmartUSB MK2 und der mySmartUSB MK3 ~128 kHz problemlos erreichen können. " Ich habe keine Möglichkeit den ISP-Takt zu beeinflussen, das macht der Programmer selbst. Außerdem hab ich ja die Prescale-Fuse weggenommen, somit läuft er nicht mehr mit 1Mhz (Auslieferzustand) sondern sollte mit 8Mhz intern laufen, also sogar schneller. Im Auslieferzustand hat er sich auch noch wunderbar ansprechen lassen. Ich versteh jetzt einfach nicht, wo der Fehler liegt. Soweit sollten die Fuses nicht kritisch sein.
> Double check connections
Der Vorschlag war doch ganz gut, schon befolgt?
Japp, man kann sagen Triplechecked ;) Aber ich klingel jetzt nochmal die Leitungen zum AVR durch, nicht das sich doch eine kalte Lötstelle oder so versteckt.
Daniel J. schrieb: > Nein, bisher läuft alles über die ISP Schnittstelle. Wie gesagt, den > Bootloader zu installieren, war mir, wegen besagtem Fehler noch nicht > möglich. Die Ausgabe von Arduino kannst du meinen Anhang im > Eröffnungspost entnehmen. so ein scheinbar ähnliches Problem habe ich aktuell auch, ich vergass an den ISP Leitungen den obligatorischen Serien 470 Ohm oder besser 1k Ohm wenn die MOSI MISO Ports als Ports gebraucht werden. Da verhindert die angeschlossene Schaltung das eine vernünftige Kommunikation zustande kommt. Früher habe ich diese Ports nur als Eingang genutzt und mit dem Widerstand von 470 Ohm trotzdem low oder high feststellen können, gleichwohl störte die angeschlossene Schaltung nicht bei der ISP Benutzung weil sie über 470 Ohm getrennt war.
:
Bearbeitet durch User
Die einzige Schaltung, die noch auf die ISP-Pins geht, ist ein Bereich für ein RFM-Modul, welches aber noch nicht bestückt ist. Somit sind die ISP-Pins nur mit dem Programmer verbunden. Serienwiderstände habe ich bisher nicht vorgesehen und auch noch nie benötigt. Ohmsche Verbindung zwischen Anschlussleiste und µC ist in Ordnung. Hab auch alle Lötstellen nochmal nachgelötet. Die Resetschaltung besteht aus einem C gegen GND (22pF) und einem R gegen VCC (10k). So erpropt und ohne Auffälligkeiten bisher. Sind die Fuses soweit in Ordnung? Hab ich was übersehen? Vielen Dank schonmal für die bisherigen Tipps. Daniel
Vielleicht mal auf gut Glück einen externen Takt zuführen, sagen wir 1 MHz, per Schutzwiderstand, paar hundert Ohm, an XTAL1 oder XTAL2.
22Pf nach gnd iss nix, ich hab 100nF drin, unter 10nF wuerd i nicht gehen und mach noch eine Diode ueber den 10K (K an vcc) weis nicht ob die cpu noch ein clk/8 hat und dann ist sie event. jetzt zu langsam f. deinen isp Programmer viel erfolg Charly
Guten Morgen zusammen, so... Problem gelöst. Tut mir leid, dass ich eure Zeit gestohlen habe. Der Fehler war eigentlich ganz leicht lösbar ... Löte einen Quarz ein und alles wird gut. Ich hab wohl ausversehen doch die Clockfuse auf externen Quarz gestellt. Hab jetzt einen 16Mhz-Quarz auftreiben können und eingelötet. Jetzt läuft die Schaltung und der Bootloader ist auch drauf. Vielen Dank an euch alle für die Hilfestellungen. Gruß Daniel
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.