Go Down

Topic: Arduino Mega 16U2 flashen (Read 6235 times) previous topic - next topic

Leopoldi

Aug 06, 2016, 04:50 pm Last Edit: Aug 06, 2016, 11:11 pm by Leopoldi
Hallo,

ich habe 2 Arduino Boards Mega 2560 (China) bei welchen die USB-Schnittstelle von Windows nicht mehr erkannt wird.
Andere Boards funktionieren.
Leider kann ich den englischen Beiträgen nicht folgen. :smiley-confuse:

Ich finde keine deutsche Anleitung wie ich den 16U2 flashen kann und woher ich den 16U2- Sketch bekomme.

In der Arduino IDE gibt es ja "Bootloader brennen" aber leider kein "16U2 brennen".

Flashen möchte ich mit einem funktionierendem Board.

Ich hoffe ihr könnt mir einen Tipp geben.

ardubu

ich vermute mal du meinst den ATMega256016AU
Quote
In der Arduino IDE gibt es ja "Bootloader brennen" aber leider kein "16AU brennen".
erst spielst du den ArduinoISP aus den Beispielen auf das andere Board, dann klemmst du einen Kondensator (10µF) zwischen GND und Reset. Verbindung herstellen, Miso -Miso, Mosi - Mosi, Sck - Sck,
Slave Reset am anderen Board (wenn kein Mega) Pin10 mit Reset am Mega.
Du wählst den Mega2560 aus und unter Programmer -> Arduino as ISP, dann auf Bootlader brennen

ElEspanol

#2
Aug 06, 2016, 08:54 pm Last Edit: Aug 06, 2016, 09:44 pm by ElEspanol
Sicher, dass die einen 16U2 haben?

Doc_Arduino

#3
Aug 06, 2016, 09:25 pm Last Edit: Aug 06, 2016, 09:28 pm by Doc_Arduino
Hallo,

der 16U2 ist nicht der 2560er IC. Das sind 2 getrennte ICs. Der 2560er ist der µC den wir programmieren.
Der 16U2 ist der USB<>Serial Übersetzer.
Der Bootloader von 2560 hat nichts mit dem 16U2 zu tun. Das sind 2 paar Schuhe.

Nun hast du aber ein Board aus China und wie unser Spanier schon erwähnt damit bestimmt keinen 16U2 drauf. Meistens verbauen die einen Chip namens "CH340". Guckst du nochmal genau auf dein Board? Was ist wirklich drauf? Der in der Nähe der USB Buchse. Wenn dem so ist, erneuer mal den CH340 Treiber.
Zeigt der Gerätemanager etwas an wenn er angesteckt ist?

Und ändere bitte deine erste Betreffzeile. Etwa "China Arduino Mega wird nicht erkannt" oder so ähnlich.

Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

ElEspanol

Man muss da schon genau schauen. Ich habe auch chinesische mit 16U2. Auch musste ich den 16U2 schon mal flashen. Weiss aber nicht, wo ich die Datei her hatte. Ich habe es glaub ich auch mit einem anderen Tool gemacht, nicht mit der IDE

combie

Die Dateien für den 16U2 sind bei der Arduino IDE dabei.
Bei mir liegen sie hier:
E:\Programme\Arduino\hardware\arduino\avr\firmwares\atmegaxxu2

Übertragen muss man sie auf der Kommandozeile mit avrdude.
Alternativ: Eine boards.txt für den 16U2  anlegen. Dann gehts auch aus der IDE heraus.
> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

Leopoldi

#6
Aug 06, 2016, 11:02 pm Last Edit: Aug 06, 2016, 11:11 pm by Leopoldi
Hallo,

die USB- Schnittstelle wird von Windows nicht erkannt.

Das liegt m.E. an der Schnittstelle  USB <--> TTL  welche durch den 16U2 realisiert ist.*

Wird das Board erkannt und es läßt sich nur nichts downloaden, ist der Bootloader auf dem 2560 platt.
Dann flackert aber noch die RX LED auf dem Bord, es antwortet aber nicht.

@combi
kannst du dies evtl. mal für Dummies etwas ausführlicher beschreiben?

"Alternativ: Eine boards.txt für den 16U2  anlegen. Dann gehts auch aus der IDE heraus.!"



Anm.:
*) Für den neueren Chinabaustein CH340 braucht man einen neuen Windowstreiber


combie

> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

combie

#8
Aug 07, 2016, 09:35 am Last Edit: Aug 07, 2016, 09:43 am by combie
Nachtrag:
Habe mal, auf schnell, eine solche Boards.txt gebastelt.


Installation:
Datei->Voreinstellungen zeigt den Sketchbook-Speicherort.
Dort sollte sich ein "hardware" Verzeichnis finden.

Das "ArduinoFirmwareRestore" Verzeichnis aus der Zip da rein werfen.
Nach einen Neustart der IDE finden sich 2 neue Boards in der Werkzeuge->Board Liste..
1: UNO 16U2 Restore Firmware
2: Mega 16U2 Restore Firmware
Für beide Boards gibt es mehrere Firmwarevarianten


Anwendung:
Beliebigen ISP Programmer bereitstellen.
Dessen eine Ende an den gebrickten ATMega16U2 anschließen.
Das andere Ende am PC.
IDE starten.
Programmer auswählen
Board auswählen.
Passende Firmware auswählen
Auf "Bootloader brennen" drücken.
Fettich!




/************/
Der Kram ist noch völlig ungetestet.
Einfach aus den verfügbaren Informationen zusammen gestoppelt.
Über eine Rückmeldung würde ich mich sehr freuen.

Also eine echte Bananen Software.
(sie reift beim Kunden)


> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

Leopoldi

Ich gehe nach deinem Rezept vor und scheitere an Punkt 7:

01. Beliebigen ISP Programmer bereitstellen.   
--->Arduino Mega Board

02. Dessen eine Ende an den gebrickten ATMega16U2 anschließen.
---> ok  Verbindung zur ISP Schnittstelle des 16U2

03. Das andere Ende am PC.
---> ok  "Brenner" angeschlossen.

04. IDE starten.
---> Arduino IDE (habe 1.6.9) | Board des "Brenners" auswählen + Schnittstelle

05. Programmer auswählen
---> Datei|Beispiele| 11. ArduinoISP  (Habe ich auf meinen "Brenner" Mega geladen)

06. Board auswählen.
---> Das zu brennende Board unter Werkzeuge einstellen.

07. Passende Firmware auswählen
----> ?????????? wie mache ich dies?? Ich kann nur Sketche laden :-(

08. Auf "Bootloader brennen" drücken.
----> Unter Werkzeuge" ?????? Wird da nicht immer fest der Bootloader für das zuvor gewählte Board auf den 2560 gebrannt???

Fettich!

combie

#10
Aug 07, 2016, 11:19 am Last Edit: Aug 07, 2016, 11:30 am by combie
Quote
01. Beliebigen ISP Programmer bereitstellen.   
--->Arduino Mega Board
Also: "Arduino as ISP" ??!!??!!

Quote
05. Programmer auswählen
---> Datei|Beispiele| 11. ArduinoISP  (Habe ich auf meinen "Brenner" Mega geladen)
Das ist richtig!
Er möge dann bitte den Programmer "Arduino as ISP" wählen, und nicht "ArduinoISP"


Quote
07. Passende Firmware auswählen
----> ?????????? wie mache ich dies?? Ich kann nur Sketche laden :-(
Wenn du das Board  "Mega 16U2 Restore Firmware" ausgewählt hast, ist in Werkzeuge ein Menuepunkt "Firmware"  dazu gekommen.


Quote
08. Auf "Bootloader brennen" drücken.
----> Unter Werkzeuge" ?????? Wird da nicht immer fest der Bootloader für das zuvor gewählte Board auf den 2560 gebrannt???
Ja, normaler weise....
Aber nicht hier und jetzt.
Denn der ISP Stecker des ATMega16U2 wird genutzt, nicht der des ATMega2560
Zusätzlicher Vorteil:
Es werden auch gleich die richtigen Fuses geschrieben.

Quote
für das zuvor gewählte Board
Richtig!
Darum wählst du auch als Board "Mega 16U2 Restore Firmware" aus!!

Wenn man nicht den "Bootloader brennen" Weg gehen möchte, muss man der IDE auch noch beibiegen den Code für den 16U2 zu kompilieren.
Aber dafür fehlen die board.txt Einträge und auch noch ein Berg sonstige Dinge.
> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

Leopoldi

Bis pkt 7 bin ich nun klar.

Ich erhalte eine Fehlermeldung.--> Falscher Mikrocontroller gefunden

M.E. sind Board- und Firmware- Eintrag vertauscht. s. Bild

combie

#12
Aug 07, 2016, 01:05 pm Last Edit: Aug 07, 2016, 01:09 pm by combie
Quote
M.E. sind Board- und Firmware- Eintrag vertauscht. s. Bild
Nein, nein.
Das ist schon ganz richtig so!!

Vielleicht kann ich die Benennung ja noch ändern... :)
Wenn dir bessere Bezeichnungen einfallen?


Mit Board ist in dem Fall das Briefmarken große Stückchen (des Megaboards) gemeint, wo der 16U2 seinen Job macht.

Quote
Ich erhalte eine Fehlermeldung.--> Falscher Mikrocontroller gefunden
Hmm...
Vielleicht mal die Meldungen beim Hochladen aktivieren und hier posten....
 :smiley-twist: ich habe gerade keinen Mega zum kaputtmachen übrig  :smiley-evil:
> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

Leopoldi

die Fehlermeldung:

vrdude: Expected signature for ATmega16U2 is 1E 94 89
         Double check chip, or use -F to override this check.
Falscher Mikrocontroller gefunden. Ist das richtige Board im Menü Werkzeuge > Board ausgewählt?


ps.:
Ich habe 50,51,52,53 Vcc,Gnd  auf den 16U2-ISP-Stecker verdrahtet.
Geht auch eine direkte Verbindung beider 2x3 pol. Stecker?

combie

#14
Aug 07, 2016, 02:41 pm Last Edit: Aug 07, 2016, 02:43 pm by combie
Quote
Geht auch eine direkte Verbindung beider 2x3 pol. Stecker?
Nein, wegen dem Reset Anschluss.

Quote
avrdude: Expected signature for ATmega16U2 is 1E 94 89
Das ist die erwartete Signatur.
Spannender ist: Welche er gefunden hat.
> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

Go Up