Forum: Mikrocontroller und Digitale Elektronik Denn sie wissen nicht totgeFUSEd


von Jens (Gast)


Lesenswert?

Hallo Leute!
Ich hoffe, daß mir hier jemand helfen kann. Also...
1. ich habe definitiv keine Ahnung von dem was ihr hier veranstaltet!
2. Hochmut kommt vor dem Fall!
Ich hab mir bei 3D Robotics ein Ardupilot-Board gekauft. Dieses Teil hat 
auch ganz gut funktioniert. Dann mußte irgendwann die Firmware für das 
Teil aktualisiert werden, ihr ahnt sicherlich schon - danach ging gar 
nichts mehr. Also hab ich dem Support von 3D Robotics gemailt, die haben 
mir auch eine kleine Anleitung zum Neuflashen der Firmware incl. der 2 
notwendigen .hex- Files geschickt. Ich hab das ganze dann per USBasp 
(F&F) anscheinend auch auf den ATmega 32U2 und den ATmega 2560 
draufbekommen - leider!!!
Denn  nun geht überhaupt nichts mehr. Und wenn ich richtig gelesen und 
halbwegs verstanden hab, muss ich wohl diese FUSE-Bits (?!) verbogen 
haben.
KANN MIR DAS WIEDER JEMAND RICHTEN? ODER SO IDIOTENSICHER ERKLÄREN, DASS 
ICH DASS EVENTUELL AUCH SELBST HINBEKOMME?
Das wäre echt super.
Achja, falls es bei der Rettung hilft - ich hab auch noch ein Arduino 
Nano da. Und morgen kommt zum Testen auch noch ein Atmel AVR ISP mkII 
(was tut man nich alles in der Not)

Danke schonmal im Voraus

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jens schrieb:
> Und wenn ich richtig gelesen und
> halbwegs verstanden hab, muss ich wohl diese FUSE-Bits (?!) verbogen
> haben.

Keineswegs.

Statt hier mit irgendwelchen Vermutungen um dich zu werfen und
dann noch rumzuschreien (GROSSBUCHSTABEN werden als Schreien
aufgefasst), schreib' doch bitte mal der Reihenfolge nach auf:

1.) was du genau an Hardware hast (Kurzbeschreibung im Text, Links
auf ausführliche Beschreibung im Netz hinzufügen)

2.) welche Schritte du damit unternommen hast, und vor allem

3.) welches Fehlerbild du nun hast.

Danach kann man sehen, ob dir hier zu helfen ist.

von Pastor Braune (Gast)


Lesenswert?

Mein Zuspruch ist dir schon mal sicher :-)

von jens h. (confused)


Lesenswert?

Sorry für´s rumschreien - aber mir ist zum schreien (vor allem wegen 
eigener Dummheit!)

Jörg Wunsch schrieb:
> 1.) was du genau an Hardware hast (Kurzbeschreibung im Text, Links
> auf ausführliche Beschreibung im Netz hinzufügen)

Hardware ist folgende:
http://stuff.storediydrones.com/Assembly_APM25.jpg
http://store.diydrones.com/APM_2_5_Not_Assembled_p/br-apmpwrkt2.htm

> 2.) welche Schritte du damit unternommen hast, und vor allem
Ich hab mit einem USBasp mit Hilfe von eXtreme Burner V1.2
in etwa versucht folgendes umzusetzen:

>I have attached the bootloader for the 2560 and for the 32u2 chip to this email 
along >with the fuse and lockbit settings. Below is the script we use to flash the 
chips:
>:: ATmega32U2 firmware

>set $step1=Load firmware onto ATmega32U2
>set step1="C:\Program Files (x86)\Atmel\AVR Tools\STK500\Stk500.exe" -cUSB 
->I125kHz -dATmega32U2 -fD9FF -FD9FF -EF6 -GF6 -e 
-if"stuff\APM20-32u2->DFU+usbserial+PPM.hex" -pf -lCF -LCF

>:: ATmega2560 bootloader and test code

>set $step2=Fuse bits for ATmega2560
>set step2="C:\Program Files (x86)\Atmel\AVR Tools\STK500\Stk500.exe" -e 
->dATmega2560 -ms -q -cUSB -I125kHz -s -wt -fD8FF -EFD -FD8FF -GFD

>set $step3=Load bootloader and test code onto ATmega2560
>set step3="C:\Program Files (x86)\Atmel\AVR Tools\STK500\Stk500.exe" -e 
->dATmega2560 -q -pf -vf -if"stuff\arduplane269.hex" -ms -cUSB -I1Mz -s -wt -lCF 
->LCF
Da ich aber mit AVR Studio 4 den USBasp als auch Nano nicht zum Laufen 
bekommen hab, hab ich halt versucht, die Einstellungen mit oben 
erwähntem Tool nachzustellen. Hat anscheinend auch soweit funktioniert. 
Eine LED hat nach dem Flashen des 32U2 konstant geblinkt, dann hab ich 
den 2. Step durchgeführt. Nach dem Reboot tat sich dann nichts mehr.

> 3.) welches Fehlerbild du nun hast
Vor dem Flashen blinkten 2 LED´s auf dem Board, eine war ständig an 
("Alive").
Die ist auch immer noch an sobald Spannung auf das Board kommt. 
Ansonsten tut sich gar nichts mehr. Auch Die Programmer, USBasp und Nano 
erkennen nichts mehr, AVRdude kann auch nichts mehr auf den Chips 
auslesen - was vorher noch sauber funktioniert hat.

So, ich hoffe, daß war jetzt für den Anfang ausführlich genug.

von jens h. (confused)


Lesenswert?

Pastor Braune schrieb:
> Mein Zuspruch ist dir schon mal sicher :-)

Na das wärmt mir doch das Herz ;))

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

jens herbst schrieb:
> Da ich aber mit AVR Studio 4 den USBasp als auch Nano nicht zum Laufen
> bekommen hab,

Klar, das funktioniert damit nicht.

> hab ich halt versucht, die Einstellungen mit oben
> erwähntem Tool nachzustellen.

Nun müsstest du nur noch möglichst genau wissen, welche Kommandos du
bei AVRDUDE genau ausgeführt hast.  Dann können wir dir Tipps geben,
wie man da weiterkommt.

von jens h. (confused)


Angehängte Dateien:

Lesenswert?

... tja und genau da liegt wohl mein größtes Problem!
Wie schon erwähnt - denn sie wissen nicht was sie tun!
Ach ja, bevor wir da von falschen Vorraussetzungen ausgehen. Dier 
.hex-Files hab ich nicht mit AVRdude, sondern mit khazama AVR Programmer 
auf die Chips gequetscht. Und da liegt wahrscheinlich auch das Problem. 
Da gibt es nämlich keinen 32U2. Und ich hab in meiner Unbedarftheit den 
ATmega32 ausgewählt. Den Signature check hab ich "natürlich" abgestellt. 
ISP Clock stand auf "auto" Die FUSE und LOCK Einstellungen hab ich nach 
den Screenshots eingestellt.
Und - kann man da noch was retten?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

jens herbst schrieb:
> Dier
> .hex-Files hab ich nicht mit AVRdude, sondern mit khazama AVR Programmer
> auf die Chips gequetscht.

Hättest du doch einfach vorher hier mal nachgefragt ...

> Und da liegt wahrscheinlich auch das Problem.
> Da gibt es nämlich keinen 32U2. Und ich hab in meiner Unbedarftheit den
> ATmega32 ausgewählt.

Nun musst du dich mal genau erinnern, was du damit eingestellt
hast.

Beim ATmega32 bedeutet der Wert 6 in den unteren 4 Bits der low fuse
"externer RC-Oszillator von 0,9 bis 3,0 MHz".  Beim ATmega32U2
bedeutet er "full-swing crystal oscillator".

Hast du nun eine 0xF6 da letzten Endes eingetragen?  Dann sollte er,
sofern auch ein Quarz dran ist, eigentlich arbeiten können.

Ich habe kein Eagle V6, insofern kann ich die Pläne da nicht lesen.
Du kannst dir ja mal eins installieren und dann nachsehen,
welche Taktversorgung die beiden Controller haben bzw. den
Schaltplan mal als PDF exportieren (zur Not als PNG) und hier
anhängen.

Apropos Bildformate: Screenshots bitte nicht als JPEG, sondern
als PNG.  JPEG hat nur für Fotos Sinn.  Hier sieht es nur hässlich
aus und ist auch noch größer als PNG.

von Wurg Jönsch (Gast)


Lesenswert?

>Dann sollte er, sofern auch ein Quarz dran ist, eigentlich arbeiten können.

Wenn das Gerät noch arbeiten würde, wäre der TO hier wohl nicht 
aufgelaufen.

Er hat die Clock-Fuses verstellt, d.h. er benötigt einen anderen 
Taktgeber.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wurg Jönsch schrieb:
> Er hat die Clock-Fuses verstellt

Hat er, aber vorsätzlich: es war durchaus Absicht, da einen externen
Quarz zu aktivieren (insofern ist sein Problem ein anderes als das
derjenigen, die sich versehentlich den internen RC-Oszillator
abklemmen).  Der sollte dann also im Schaltplan auch drin sein ... ist
halt die Frage, welche Aktion er denn nun tatsächlich ausgeführt hat.

von Wörg Junsch (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> ist
> halt die Frage, welche Aktion er denn nun tatsächlich ausgeführt hat.

Also braucht er entweder einen Quarz aus einem anderen Frequenzbereich 
oder einen Quarzoszillator...

P.S.: Grüße an Jörg ;)

von Würg Jonsch (Gast)


Lesenswert?

...auf jeden Fall muss er den Arduino umbauen.
Hier zeigt sich, dass man auch mit Arduinos nicht ums Werkeln 
drumrumkommt ;)

von jens h. (confused)


Angehängte Dateien:

Lesenswert?

Würg Jonsch - Jörg Wunsch - viele Persönlichkeiten hast du denn am 
Start?
Wie auch immer, ich hab nichts vorsätzlich sondern aus purer Dummheit 
gemacht. Wenn ich hätte einen Chip grillen wollen hätte ich mir nicht 
extra ein ganzes Board aus Usa kommen lassen brauchen. Hab das ganze 
Spiel heut nochmal mit dem AVRISP MKII versucht - natürlich ohne Erfolg.

Jörg Wunsch schrieb:
> Hast du nun eine 0xF6 da letzten Endes eingetragen?  Dann sollte er,
> sofern auch ein Quarz dran ist, eigentlich arbeiten können.

Wenn mich nicht alles täuscht hab ich da 0xFF, so wie für den 2560 drin 
stehen gehabt.

Würg Jonsch schrieb:
> ...auf jeden Fall muss er den Arduino umbauen.
> Hier zeigt sich, dass man auch mit Arduinos nicht ums Werkeln
> drumrumkommt ;)

... kein Problem! Muss der zum Frequenzgenerator umgebastelt werden? Und 
dann an XTAL1 und GND, oder so ähnlich?!
Also wenn es irgendwie weiterhilft:
zum Basteln Nano mit 328, USBasp mit ATmega8, und zum Programmieren den 
AVRISP MKII (der nicht zum Basteln - will ich zurückschicken wenn das 
hier durchgestanden ist)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

jens herbst schrieb:
> Würg Jonsch - Jörg Wunsch - viele Persönlichkeiten hast du denn am
> Start?

Ich habe nur eine, das andere war ein besonderer Spaßvogel, wie's
scheint.

> Jörg Wunsch schrieb:
>> Hast du nun eine 0xF6 da letzten Endes eingetragen?  Dann sollte er,
>> sofern auch ein Quarz dran ist, eigentlich arbeiten können.

> Wenn mich nicht alles täuscht hab ich da 0xFF, so wie für den 2560
> drin stehen gehabt.

Das wäre der low-power-Quarzoszillator, der passt zur Schaltung.

Da an beiden Controllern ein Quarz dran ist, sollten sie mit dieser
Einstellung eigentlich laufen.  Wenn sie es nicht tun, müsste man
ergründen warum.

Hast du eine Idee, mit welchen Fuses dir das Board geliefert worden
ist bzw. warum man dir überhaupt aufgetragen hat, an den Fuses zu
drehen?  Die Frage ist ja, ob das schon jemals mit den Quarzen
gelaufen ist.  Nicht, dass die Hardware kaputt ist ...

> ... kein Problem! Muss der zum Frequenzgenerator umgebastelt werden?
> Und dann an XTAL1 und GND, oder so ähnlich?!

Könnte man ggf. noch tun, aber erst sollten wir rausfinden, warum
sie nicht mit ihren laut Schaltplan vorhandenen Quarzen laufen.

Reagieren eigentlich beide Controller nicht mehr auf ISP?

Hast du Zugriff auf ein Oszilloskop?  Dann könntest du als erstes mal
an XOSC2 beider Controller messen, ob da ein Takt rauskommt.

von jens h. (confused)


Lesenswert?

Jörg Wunsch schrieb:
> Hast du eine Idee, mit welchen Fuses dir das Board geliefert worden
> ist bzw. warum man dir überhaupt aufgetragen hat, an den Fuses zu
> drehen?  Die Frage ist ja, ob das schon jemals mit den Quarzen
> gelaufen ist.  Nicht, dass die Hardware kaputt ist ...

Es hat mir keiner gesagt, daß ich an irgendetwas drehen soll. Die aus 
Amiland haben mir halt die 2 .hex Dateien geschickt und die 
Einstellungen für AVR Studio. Da ich aber keinen kompatiblen Programer 
hatte - tja, und damit fing das Elend an.
Die Hardware ist schon gelaufen. War ja kurz vor dem Einbauen. Aber dann 
hab ich das Board mal kurz am owSilProg per USB drangehabt
http://www.olliw.eu/2012/owsilprog-tutorials/
... und wenn mich nicht alles täuscht war danach das Board nicht mehr 
per USB ansprechbar. Daraufhin hab ich mit 3d Robotic Kontakt 
aufgenommen, naja und den Rest hab ich schon mehrmals hier geschrieben.
Zugriff auf ein Oszi hab ich nicht, kenn auch keinen in meiner Nähe der 
sowas rumstehen hat.

Jörg Wunsch schrieb:
> Reagieren eigentlich beide Controller nicht mehr auf ISP?
Nein, hab sie mehrmals am ISP drangehabt - keine Reaktion

Naja, im E-Fall wars ein 170,- teurer Idiotenfehler

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

jens herbst schrieb:

> Es hat mir keiner gesagt, daß ich an irgendetwas drehen soll. Die aus
> Amiland haben mir halt die 2 .hex Dateien geschickt und die
> Einstellungen für AVR Studio.

Damit haben sie dich aber implizit aufgefordert, an den Fuses
herumzufummeln.  Zum bloßen Neuladen einer Firmwaredatei muss
man auch unter AVR Studio nichts an den Fuses drehen, also
all die Kommandozeilenoptionen mit -f und -E gehören da gar nicht
hin.  Aber das ist natürlich nicht deine Schuld jetzt.

Du kannst ja ruhig mal versuchen, mit dem Arduino einen 1-MHz-
Takt zu erzeugen und den jeweils an XTAL2 einzuspeisen.  Dann mit
dem AVRISPmkII und 100 kHz ISP-Takt rangehen.

von schwieriger (Gast)


Lesenswert?

"ardu" heißt ins Deutsche übersetzt "schwierig".

Warum nur glauben die Leute, dass sie es einfach haben werden mit etwas, 
das mit Ardu... beginnt?

von jens h. (confused)


Lesenswert?

schwieriger schrieb:
> Warum nur glauben die Leute, dass sie es einfach haben werden mit etwas,
> das mit Ardu... beginnt?

Davon bin ich nie ausgegangen! Auch der Arducopter ist ja kein 
Spielzeug. Aber wie hab ich schon meinem Sohn gesagt:
Manche Fehler muss man einfach selbst machen...

von Jochen (Gast)


Lesenswert?

schwieriger schrieb:
> "ardu" heißt ins Deutsche übersetzt "schwierig".
Da möchte ich widersprechen.
arduo, it. kann heißen schwierig, aber auch steil (siehe 
http://dict.leo.org)
die Endung "ino" bedeutet im Italienischen sowas wie klein (bambINO), 
also sinngemäß "klein schwierig" oder "klein steil". Wenn also etwas 
'klein-schwierig' ist, dann interpretiere ich das als 'klein- oder 
nicht-schwierig'. Und genau das wollten die Schöpfer des Arduino auch 
erreichen: einen einfachen Einstieg in die µC-Programmierung. Diese 
Plattform wurde für Schulen erdacht, um den Schülern auf einfache Weise 
an die Thematik heranzuführen.

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
Noch kein Account? Hier anmelden.