ich habe schon einige andere Posts hier gesehen, die sich mit dem Thema auseinandergesetzt haben, aber irgendwie haben mir die alle nicht weitergeholfen.
Ich habe mir einen Arduino Nano Clone gekauft. Dachte zu dem Zeitpunkt, dass der sich genauso programmieren lässt wie alle anderen Arduinos, einfach anschließen, Treiber automatisch installieren lassen, IDE nutzen und los gehts. Wie ich herausgefunden habe, ist bei den Clones in der Regel ein anderer Chip verbaut, nämlich der "CH340". Ich habe den Treiber von der offiziellen Website heruntergeladen und installiert, aber es funktioniert trotzdem nicht.
Hier der Fehler:
avrdude: ser_open(): can't open device "\\.\COM3": Das System kann die angegebene Datei nicht finden.
Ich hab in der IDE das richtige Board (Arduino Nano) ausgewählt. Als Port habe ich nichts ausgewählt. Ich könnte COM4 auswählen, aber dann lädt sich die IDE beim hochladen tod. Meinen Arduino Uno Clone lässt sich ganz einfach plug&play programmieren. Dort wird als Port auch COM3 verwendet.
Weiß jemand von euch, was das Problem ist und wie ich es beheben kann?
arduinodude1:
Weiß jemand von euch, was das Problem ist und wie ich es beheben kann?
Evtl. ist das zumindest ein schneller Workaround:
In der IDE Strg-Alt-s (Sketch->Kompilierte Binärdatei exportieren) drücken und die erzeugte Daten (vermutlich *.hex) von Hand mit avrdude (bei mir im Arduino Programmverzeichnis, dann weiter ..../hardware/tools/avr/bin/) zum Arduino übertragen.
avrdude zeigt eine Hilfe an, wenn es mit -h aufgerufen wird.
arduinodude1:
Danke für deine Antwort. Wie genau rufe ich avrdude auf?
Kannst Du mit DOS umgehen?
Evtl. kann man avrdude auch mit Hilfe der Maus starten, ansonsten per „cd“ in das passende Verzeichnis und dort „avrdude -h“ eingeben.
Wenn Du bei "Board" den NANO aussuchst dann erscheint "Pozessor" da kannst Du "old Boodloader" aussuchen.
Andererseits gibt es bei Nachbauten auch solche mit dem ATmega168 Controller.
arduinodude1:
Als Port habe ich nichts ausgewählt.
Dann kann es schonmal prinzipiell nicht funktionieren. Du musst auf jeden Fall den richtigen Port auswählen. Hast Du mal im Gerätemanager geschaut, ob da der Nano als Com-Device erscheint? z.B. als USB-SERIAL CH340 (COM18)( die COM.Nr. ist bei dir natürlich anders )
Wenn Du in der IDE ( bei richtig angewähltem Port ) 'Boardinformationen holen' auswählst, muss dieses erscheinen:
Wenn das alles nicht klappt, ist der Treiber nicht richtig installiert.
MicroBahner:
Dann kann es schonmal prinzipiell nicht funktionieren. Du musst auf jeden Fall den richtigen Port auswählen. Hast Du mal im Gerätemanager geschaut, ob da der Nano als Com-Device erscheint? z.B. als
USB-SERIAL CH340 (COM18)
( die COM.Nr. ist bei dir natürlich anders )
Wenn Du in der IDE ( bei richtig angewähltem Port ) 'Boardinformationen holen' auswählst, muss dieses erscheinen:
Wenn das alles nicht klappt, ist der Treiber nicht richtig installiert.
Doch das klappt alles. Der Nano ist im GM mit COM5 eingetragen.
Dann musst Du in der IDE auch COM5 auswählen und den Hinweis von Uwe beachten. Meines Wissens verwenden die Clone alle immer noch den alten Bootloader.
Setze in der IDE das Häkchen bei Voreinstellungen->Ausführliche Ausgabe während .. Hochladen. Und dann poste mal was da passiert.
MicroBahner:
Dann musst Du in der IDE auch COM5 auswählen und den Hinweis von Uwe beachten. Meines Wissens verwenden die Clone alle immer noch den alten Bootloader.
Setze in der IDE das Häkchen bei Voreinstellungen->Ausführliche Ausgabe während .. Hochladen. Und dann poste mal was da passiert.
MicroBahner:
Dann musst Du in der IDE auch COM5 auswählen und den Hinweis von Uwe beachten. Meines Wissens verwenden die Clone alle immer noch den alten Bootloader.
Setze in der IDE das Häkchen bei Voreinstellungen->Ausführliche Ausgabe während .. Hochladen. Und dann poste mal was da passiert.
COM5 ist ausgewählt und bei Prozessor ist ATmega168 ausgewählt. Wie gesagt, wenn ich den verfügbaren Port auswähle, lädt es sich tod.
MicroBahner:
Dann musst Du in der IDE auch COM5 auswählen und den Hinweis von Uwe beachten. Meines Wissens verwenden die Clone alle immer noch den alten Bootloader.
Setze in der IDE das Häkchen bei Voreinstellungen->Ausführliche Ausgabe während .. Hochladen. Und dann poste mal was da passiert.
MicroBahner:
Dann musst Du in der IDE auch COM5 auswählen und den Hinweis von Uwe beachten. Meines Wissens verwenden die Clone alle immer noch den alten Bootloader.
Setze in der IDE das Häkchen bei Voreinstellungen->Ausführliche Ausgabe während .. Hochladen. Und dann poste mal was da passiert.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168 -carduino -PCOM5 -b19200 -D -Uflash:w:C:\Users\Jan\AppData\Local\Temp\arduino_build_348675/display_test.ino.hex:i
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 19200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x85
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x85
avrdude done. Thank you.
arduinodude1:
COM5 ist ausgewählt und bei Prozessor ist ATmega168 ausgewählt.
Warum wählst Du ATmega168 aus, und nicht ATmega368P(old Bootloader) ? Der 168 ist die wesentlich unwahrscheinlichere Variante. Ausserdem kannst Du mal ein Lupe nehmen, und schauen was auf dem Chp draufsteht. Da muss man nicht raten.
Die Ausgaben deuten darauf hin, dass der falsche Bootloader verwendet wird ( die Baudrate stimmt nicht ). Das liegt am falsch eingestellten Prozessor. Der lädt sich auch nicht tot, der lädt garnicht, weil keine Verbindung zustande kommt.
Hast Du denn einen ATmega168 auf dem NANO drauf? Lies mal die Markierung auf dem quadratischen IC.
Aber da müßte eine andere Fehlermeldung kommen, sowas wie ID Nummer falsch.
Hast Du was an die Pins D0 und /oder D1 angeschlossen?
Grüße Uwe
MicroBahner:
Warum wählst Du ATmega168 aus, und nicht ATmega368P(old Bootloader) ? Der 168 ist die wesentlich unwahrscheinlichere Variante. Ausserdem kannst Du mal ein Lupe nehmen, und schauen was auf dem Chp draufsteht. Da muss man nicht raten.
Die Ausgaben deuten darauf hin, dass der falsche Bootloader verwendet wird ( die Baudrate stimmt nicht ). Das liegt am falsch eingestellten Prozessor. Der lädt sich auch nicht tot, der lädt garnicht, weil keine Verbindung zustande kommt.
Igrendjemand meinte ich solle das mal ausprobieren, kein plan wer das jetzt war. hat mich auch gewundert, denn auf meinem Nano ist ein ATmega328 verbaut.
gregorss:
Das ist ziemlich sicher falsch. Gibt es keine Auswahl mit ATmega 328?
Gruß
Gregor
Doch den habe ich nun wieder ausgewählt
uwefed:
Hast Du denn einen ATmega168 auf dem NANO drauf? Lies mal die Markierung auf dem quadratischen IC.
Aber da müßte eine andere Fehlermeldung kommen, sowas wie ID Nummer falsch.
Hast Du was an die Pins D0 und /oder D1 angeschlossen?
Grüße Uwe
Nein ich habe an den Pins nichts angeschlossen, ich habe zwar die Pinheader selber angelötet, aber da berührt sich nichts.
gregorss:
Das ist ziemlich sicher falsch. Gibt es keine Auswahl mit ATmega 328?
Gruß
Gregor
Nicht unbedingt so abwegig wie es Dir erscheint. Hab schon mal aus Unachtsamkeit einen NANO Nachbau mit dem 168 gekauft.
Mal die 10 als erste herauskommende Angebote in einer Asiatischen Verkausfbörse angeschaut:
2 hatten wahlweise einen 168 oder 328 controller
3 einen USB C Anschluß
1 einen HT42B534 usb Adapter.
Wenn Du in der Bucht mit der Reihung billigste zuerst kommen viele 168 heraus.
arduinodude1:
denn auf meinem Nano ist ein ATmega328 verbaut.
Doch den habe ich nun wieder ausgewählt
Nein ich habe an den Pins nichts angeschlossen, ich habe zwar die Pinheader selber angelötet, aber da berührt sich nichts.
Blinkt die L-LED wenn Du den NANO am PC anschließt?
Blinken die TX/RX LED mal Kurz wenn du den Sketch drauflädst oder gar nicht?
Hast Du es mit einem anderen USB-Kabel versucht?
Grüße Uwe
uwefed:
Blinkt die L-LED wenn Du den NANO am PC anschließt?
Blinken die TX/RX LED mal Kurz wenn du den Sketch drauflädst oder gar nicht?
Hast Du es mit einem anderen USB-Kabel versucht?
Grüße Uwe
Beim anschließen des Nanos an den PC leuchet die L-LED einmal kurz auf.
Beim neuen Bootloader blinkt oder leuchtet keine LED, außer halt die PWR LED.
Die Fehlermeldung dazu hatte ich ja schon weiter oben gepostet. Das war die, wo der Nano es immer wieder versucht.
Beim alten Bootloader blinkt hin und wieder die L-LED und die RX und TX LEDs leuchten bzw. blinken ganz schnell. Bis dann diese Fehlermeldung kommt:
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 57600
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.16
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\Jan\AppData\Local\Temp\arduino_build_348675/display_test.ino.hex"
avrdude: writing flash (5446 bytes):
Writing | ################################################## | 100% 1.57s
avrdude: 5446 bytes of flash written
avrdude: verifying flash memory against C:\Users\Jan\AppData\Local\Temp\arduino_build_348675/display_test.ino.hex:
avrdude: load data flash data from input file C:\Users\Jan\AppData\Local\Temp\arduino_build_348675/display_test.ino.hex:
avrdude: input file C:\Users\Jan\AppData\Local\Temp\arduino_build_348675/display_test.ino.hex contains 5446 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 1.19s
avrdude: verifying ...
avrdude: 5446 bytes of flash verified
avrdude done. Thank you.
Ja, ich habe jetzt mal ein anderes USB-Kabel genommen und es hat sich nichts geändert.