Probleme mit Arduino UNO

Hallo zusammen,

ich habe vor ein paar Wochen meine altes MyAVR-board aus der Schublade gekramt und habs sogar an laufen bekommen. Wollte aber dann doch mal was neues ausprobieren.
Und bin seit heute Stolzer Besitzer des Original „Arduino Starter Kit“ mit einem Arduino UNO (Atmega328P U)
Ich bin also eigentlich kein blutiger Anfänger aber was Arduino angeht schon…

So nun zum Problem:
Ich bekomme keine Verbindung zum Board.

  • Zunächst wurde der Treiber nicht installiert den habe ich den von Hand installiert. und zwar den hier: ...\arduino-1.8.13\drivers\arduino.inf
    -- unter Eigenschaften bekomme ich folgende Meldung: „Das Gerät kann nicht gestartet werden. (Code 10) Ein nicht vorhandenes Gerät wurde angegeben.“

Unter der Offline IDE bekomme ich gar keine Verbindung.

Unter der Online Variante sagt er wohl das ein Com4 Port gibt. Kann aber nicht brennen oder irgendwas es kommt immer ein Fehler.
(
Using Port : COM4

Using Programmer : arduino

Overriding Baud Rate : 115200

avrdude: ser_open(): can't open device "\.\COM4": Das System kann die angegebene Datei nicht finden.

avrdude done. Thank you.
)

Ich habe schon andere USB Ports ausprobiert
Anderes Kabel
Anderer PC
Nix überall das gleiche…

Auf dem Bord leuchtet die ON LED und die PIN 13 LED leuchtet auch dauerhaft. Das tut sie Aber auch wen der Chip ausgebaut ist.
Kann es sein das mein Board kaputt ist oder der Chip?

Achso mein PC System: Win 10 HOME 64bit
Und auf dem Anderen läuft auch ein Win 10

Kann mir jemand helfen?

-- unter Eigenschaften bekomme ich folgende Meldung: „Das Gerät kann nicht gestartet werden. (Code 10) Ein nicht vorhandenes Gerät wurde angegeben."

Findet es denn wenigstens eine PID und VID?
Welche?

Also du meins unter Teiber eigenschaften Irgendwelche IDs ??
was ist dann PID bzw VID ? da kenn ich mcih jetzt nicht so mit aus...

oder meinst du die Infos?

Das Gerät USB\VID_03EB&PID_2FEF\6&b5d7bd6&0&10 wurde aufgrund einer teilweisen oder mehrdeutigen Übereinstimmung nicht migriert.
ID der letzten Geräteinstanz: USB\VID_0000&PID_0002\6&b5d7bd6&0&10
Klassen-GUID: {36fc9e60-c465-11cf-8056-444553540000}
Speicherortpfad: ACPI(SB)#ACPI(PCI0)#ACPI(GPP3)#ACPI(PTXH)#ACPI(RHUB)#ACPI(PO10)
Migrationsrang: 0xF000FFFFFFFF0023
Vorhanden: false
Status: 0xC0000719

BZW das ist der Letzte eintrag dort:

Der Prozess zum Hinzufügen von Dienst usbser für Geräteinstanz-ID USB\VID_03EB&PID_2FEF\6&B5D7BD6&0&10 wurde mit folgendem Status beendet: 0.

VID 03EB -- PID 2FEF

Das ist der ATMega16u2 DFU Bootloader.

Du sprichst also nicht mit dem 16U2 als Serial Wandler, sondern mit dem Hardwarebootloader des 16U2
Die Teiberinstallation kann also nicht gelingen.

Das ist nicht in Ordnung.

Hast du den ISP Stecker am 16U2 belegt?
Denn dann wäre die Meldung ok.

Wenn nein, wirst du den Baustein neu beschreiben müssen.
Mit einem anderen Arduino oder einem ISP Adapter würde das gehen.

Ja genau ohne händisch installierten Treiber erkennt der PC das Board als "ATMega16u2 DFU"
Auf dem Board sind keine Brücken oder irgendwas gescheckt...

Einen zweiten Arduino habe ich nicht und einen ISP Adapter sagt mir gerade auch nix...
wie funktioniert das in der Theorie??

sowas bräuchte ich dann vermutlich oder?

Ja, das sieht recht brauchbar aus.
.

Es gibt auch noch das Programm "Atmel Flip".
Das kann so schon mit dem 16U2 quatschen.
Also ihn lesen, beschreiben, aber nicht die Fuses setzen.

Also, wenn die Fuses schon richtig stehen, reicht dir Flip.

Eine Alternative wäre es das Kit beim Verkäufer reklamieren und sich ein neues geben lassen.

Ist der icsp-Stecker des Atmega16U2 (oben, links von "AREF") wie auf dem Bild bei Dir mit Stiften bestückt? Nicht immer ist das der Fall.

Grüße Uwe

uwefed:
Eine Alternative wäre es das Kit beim Verkäufer reklamieren und sich ein neues geben lassen.
Grüße Uwe

Ja das habe ich heute morgen auch gemacht...
es dauert nur Ewig weil die ganzen Onlinehändler ja gerade etwas überlastet sind...

uwefed:
Ist der icsp-Stecker des Atmega16U2 (oben, links von "AREF")

ja ich habe da auch Stifte.

so ich habe das jetzt trotzdem mit dem Flip ausprobiert und habe dieses Hex File gebrannt.

https://raw.githubusercontent.com/arduino/ArduinoCore-avr/master/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-uno.hex

damit habe ich jetzt einen Arduino uno an COM5. Und keine Treiber Fehler mehr.

beim Brennen des Blink.ino aus der Bibliothek kommt in der Online IDE folgender Fehler:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf3

Fein, damit ist ein (halber?) Schritt geschafft.

Da kann noch sein, dass die Fuses nicht richtig stehen.

Flip kann sie lesen.
Soweit mir bekannt, sollten sie so stehen:

unorestore.bootloader.low_fuses=0xff
unorestore.bootloader.high_fuses=0xd9
unorestore.bootloader.extended_fuses=0xf4

Engbedded Atmel AVR® Fuse Calculator


Sollten die Fuses richtig stehen, könnte noch der Bootloader auf dem ATMega328P fehlen.

combie:
Flip kann sie lesen.

ja jetzt komme ich mit Flip aber nicht mehr drauf. Da das Board ja jetzt richtig erkannt wird... :confused:

Ja!
Das stimmt.

Abhilfe:

  • Usb anstecken
  • Arduino meldet sich als COM an
  • Kurz Reset und GND am ISP Stecker des 16U2 brücken
  • Der COM Port verschwindet, und das Flip fähige Device ist wieder da

so verbindung ist 16U2 ist wieder da aber wo finde ich die Fusebits ?
sin das die unter Sigatur-Bytes??
Ich glaube nicht oder??

Achso ich kann in Flip menü auf lesen drücken dann meldet er aber:
"Divice Protection is Set"

Oha!

Sorry, da habe ich mich geirrt!
Flip kann das doch nicht.

Und tiefer geschaut, das Flip Protokoll kann das sowieso nicht.

Also gehts hier mit Flip nicht wirklich weiter.
Auch nicht mit AVRdude über das flip1 Protokoll

Sorry.


Dann wirds mit Bordmitteln so langsam schwierig....

Es gibt noch die Möglichkeit mit Flip "Arduino as ISP" auf den 16U2 zu spielen.
Habe den "Hoodloader" in Erinnerung, der müsste das notwendige Werkzeug mitbringen.

Auf dem Wege könntest du den ATMega328P dann doch noch programmieren.

Und dann mit dem ATMega328P den 16U2. Aber das wird dann wohl erst recht kompliziert.


Meine Vermutung, bisher.
Aus irgendeinem Grund wurde vergessen der Atmega16U2 korrekt zu Programmieren.
Das hast du jetzt getan.
Nur die CKDIV8 Fuse wird noch gesetzt sein.
Also geändert werden müssen.

Darum ist die Baudrate Faktor 8 niedriger.
Das ist der Grund für das Kommunikationsversagen.

Oder der ATMega328P ist noch nicht mit einem Bootloader (und den richtigen Fuses) versehen.
Das könnte zusätzlich auch noch sein.

Nun gut dann kann man erstmal nix machen.
Ich habe jetzt das Board reklamiert und mir zusätzlich noch diesen USB ISP Adapter bestellt.
Mal sehen wie es weiter geht... ob der Händler erst ein neues Kit schickt oder der Adapter zuerst hier ist :slight_smile:

Mit dem ISP-Adapter sollte man dann aber die Fuse bearbeiten können das habe ich doch richtig in Erinnerung oder?

Was mir halt auch die ganze zeit komisch vor kommt ist das die Pin13 OnBoard LED die ganze zeit leuchtet. Das ist doch auch nicht normal oder??
Also das tut sie auch wen der ATMega328P nicht gesteckt ist??

das die Pin13 OnBoard LED die ganze zeit leuchtet.

Blickt nicht, wenn du auf Reset gedrückt hast?
Dann ist der ATMega328P auch wohl noch leer.

Mit dem ISP-Adapter sollte man dann aber die Fuse bearbeiten können das habe ich doch richtig in Erinnerung oder?

Richtig.

combie:
Blickt nicht, wenn du auf Reset gedrückt hast?
Dann ist der ATMega328P auch wohl noch leer.
Richtig.

ne Leuchtet einfach nur vor sich hin... Kein blinken nix