Problem mit manchen Unos auf USB

Hallo

Ich habe das Problem, dass manche meiner Unos (Original mit Mega16U2 Chip, kein Klon) nicht erkannt werden. Andere funktionieren problemlos. Ist da der USB-Chip defekt bzw. kann ich irgendetwas machen oder muss ich diese Arduinos entsorgen?

LG
Friedrich

Probier's unter Linux, da funktionieren auch die, die Windoof nicht mag.

Vor dem entsorgen würde ich noch folgendes versuchen:

Du könntest mal probieren einen dieser Problemkinder über ISP zu flashen - einfach mal einen Blinksketch dann siehst ob der Prozessor noch was tut.
Wenn ok, dann wieder einen einen Bootloader flashen.
Noch mal gegentesten.

Wenn wirklich der Mega16 hinüber wäre - dann könntest du auch einen externen Serial-TTL Adapter (FTDI) mit DTR nehmen und diesen zum flashen anstecken. Das könntest sowieso probieren, ob du mit dem Ding noch kommunzieren kannst. Hast einen wo du dir sicher bist, dass der irgendwas auf der Seriellen ausgibt?

Ich habe mittels eines anderen Uno (Arduino als ISP) den Bootloader brennen können und den Blinksketch hochgeladen. Aber mit USB bekomme ich nach wie vor keine Verbindung. Mit einem FTDI-Adapter funktioniert es auch nicht. Linux habe ich nicht.

Mit einem FTDI-Adapter funktioniert es auch nicht.

"Funktioniert nicht" ist eine sehr unvollständige Aussage. Daran würde ich weiterarbeiten.

WAS funktioniert nicht. Die Kommunikation mit dem Ardino (geht eine normale RX/TX Kommunikation?) oder schlägt nur der Upload fehl (dann könnte es ja nur an der DTR/Reset Verkabelung liegen).

Am Schluss wieder mit ISP einen Bootloader drauf laden.
Dann schließt den FTDI Adapter wieder an und zeigst uns sowohl das Pinmapping wie du was angeschlossen hast sowie ein Echtbild dessen.

Linux gibt's z.b. hier von mir (ui, ein Stabreim):
https://github.com/zwieblum/devuan-images/releases/download/2020.11.02/snapshot-20201102_1128.iso
... sofern du secure boot abgedreht hast :slight_smile:

Es funktioniert der Upload nicht. Der Port wird erkannt, bei Infos abrufen habe ich dies hier (Bild1).
Die Verdrahtung des FTDI-Adapters habe ich von hier. Meine Verdrahtung (Bild2).

Wie ich die "normale RX/TX Kommunikation" überprüfen soll, weiß ich leider nicht.

Bild1.jpg

Bild1.jpg

Reset drücken, upload starten, wenn avrdude erscheint ganz schnell den resetbutton loslassen (oder am besten kurz davor). Funktioniert aber nur, wenn der Bootlader gebrannt wurde und nichts anderes RX/TX auf ein definiertes Potential zieht.

Was meinst du mit "wenn avrdude erscheint"? Ist das dann, wenn "Hochladen" angezeigt wird?

Wenn du mehrere Uno hast, warum versuchst du es nicht mit ISP ?

Nimm Arduino as ISP....flashen und Bootloader flashen.

Habe ich ja gemacht (Post #3), am USB werden diese aber weiterhin nicht erkannt.

buffalo64:
Habe ich ja gemacht (Post #3), am USB werden diese aber weiterhin nicht erkannt.

Sorry, übersehen.

Und das Flashen hat fehlerfrei funktioniert ?
Also der Blinksketch funktioniert ?

Wenn du den Test mit dem FTDI machst, musst du den Mega16U2 im Reset halten.
Da gibt es einen Lötjumper auf dem Uno, der muss getrennt werden.
Ohne dies quatscht der dazwischen.

Ja, mittels anderem Uno als ISP habe ich den Blinksketch drauf bekommen. Die Lötstelle Reset On habe ich geöffnet (aufgelötet und sicherheitshalber noch mit einem Messer rausgekratzt), aber das hat keine Auswirkungen.

ob du RX/TX richtig verdrahtet hast kann ich nicht sehen.

Wenn du den Tipp #7 nicht hinbekommst im richtigen Zeitpunkt - verdrahte auch DTR mit RST

buffalo64:
Habe ich ja gemacht (Post #3), am USB werden diese aber weiterhin nicht erkannt.

Was heißt "nicht erkannt"?

Windows macht beim einstecken kein DingDong?
Der Gerätemanager zeigt was?
Gerät mit Rufzeichen?

Es ist ja so, dass der ATMega16U2 einen Bootloader in Hardware hat.
Und ein Programm, welches ihn zum Serialadapter macht.
Ohne das Programm sieht Windows den Chip erstmal nicht.

Das Programm kann man mit Atmels Flip, oder per ISP, auf den ATMega16U2 spielen.

Um den HardwareBootloader des ATMega16U2 zu aktivieren, muss man:

  1. Den UNO an USB stecken
  2. Einmal kurz Reset am ISP Stecker des ATMega16U2 betätigen
  3. Dann meldet sich der ATMega16U2 als "libusb-win32 device -- ATmega16U2" im Gerätemanager

Wenn Punkt 3 stattfindet, dann fehlt nur das Programm (und evtl die Fuses) auf dem ATMega16U2
Wenn Punkt 3 auch nicht kommt, dann ist der ATMega16U2, das Kabel, der Stecker, oder sonstwas wichtiges defekt.

Dabei habe ich extra unterschiedliche Farben genommen...
RX geht auf TX->1 und TX geht auf RX->0. DTR auf Reset bringt auch nix, oder muss ich da die Lötstelle am Arduino (Reset ON) wieder zumachen?

@combie: Im Gerätemanager habe ich ein unbekanntes Gerät, Kabel Stecker etc. sind sicher in Ordnung, da ich ja andere Unos verwenden kann. Was genau meinst du bei Punkt 2? Ich habe ja nur die eine Reset-Taste am Uno?

DTR auf Reset bringt auch nix,

Direkt dran stecken hilft nicht.
DTR wird über einen 100nF Kondensator angebunden.

Im Gerätemanager habe ich ein unbekanntes Gerät,

Endlich die erste verwertbare Information!
Jetzt könntest du noch dort nachschauen, welche Pid und Vid das Gerät hat.
Das wäre ebenso wichtig.

Ich habe ja nur die eine Reset-Taste am Uno?

Habe ich Taste gesagt?
Habe ich nicht!

Was genau meinst du bei Punkt 2?

Du hast zwei 6polige ISP Stecker auf deinem UNO.
Einer für den ATMega328P
Und einer für den ATMega16U2.

buffalo64:
Es funktioniert der Upload nicht. Der Port wird erkannt, bei Infos abrufen habe ich dies hier (Bild1).
Bild1.jpg

Also da steht doch alles.
Wenn PID 6001 und VID 0304 meldet sich da was als FT232R / FT232BM

Kannst Du ausschliessen, das Du Dich mit der Port-Auswahl vertan hast? Werkzeuge / Port und Dir jetzt ein falsches Device angesprochen wird?

@combie:
100nF, in Serie oder gegen Masse oder +5V?
Sorry, habe ich missverstanden, du hast geschrieben: ...Reset ... betätigen....

@my_xy_projekt:
Ja, kann ich ausschließen, ich habe ansonsten nix angesteckt. Der FTDI Adapter meldet sich an COM4 als FTDI (im Geräte-Manager unter Anschlüsse (COM & LPT)).