Atmega 328 + CP2102 funktioniert nicht

Hallo,

ich habe einen Standalone Arduino aufgebaut.
(http://www.frag-duino.de/index.php/maker-faq/24-standalone-arduino-auf-einem-breadboard-aufbauen)

Leider funktioniert kann ich per USB keinen Programmcode aufspielen.

Ein Bootloader wurde geladen. Der Chip (Atmega 328) lässt sich mit meinem Arduino beschreiben.
Auch die Software für den CP2102 habe ich schon geladen. RX und TX wurden auch schon hin und her getauscht, aber ohne Erfolg.

Fehlermeldung:

Arduino: 1.6.6 (Windows 7), Board: "Arduino/Genuino Uno"

Der Sketch verwendet 1.030 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2.039 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
avrdude: ser_open(): can't open device "\.\COM4": Das System kann die angegebene Datei nicht finden.

Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.

Dieser Report hätte mehr Informationen mit
"Ausführliche Ausgabe während der Kompilierung"
aktiviert in Datei > Einstellungen.

Habt ihr noch eine Idee?

Grüße

Björn

Hier die komplette Fehlermeldung:

Arduino: 1.6.6 (Windows 7), Board: "Arduino/Genuino Uno"

Der Sketch verwendet 1.030 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2.039 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
C:\Program Files\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:C:\Users\BJRN~1\AppData\Local\Temp\build08e4957f02c018eb579e11ddc64f9701.tmp/Blink.ino.hex:i

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM4
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x9d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9d

Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.
avrdude done. Thank you.

Dieser Report hätte mehr Informationen mit
"Ausführliche Ausgabe während der Kompilierung"
aktiviert in Datei > Einstellungen.

Warum tut sich jeder das Geraffel mit der seriellen Schnittstelle an, wenn kein aktueller PC mehr eine echte serielle Schnittstelle in Hardware hat? Man handelt sich somit 2 Fehlerquellen ein. Auf PC und auf Controllerseite. Besorg die einen USBasp Programmer, nimm eine 6 oder 10 polige Buchse für den ISP-Header und programmiere den Controller direkt von USB aus. Der Bootloder wird auch nicht mehr gebraucht. So spart man gleich noch etwas Platz bei großen Projekten.
Ich teste auf einem Arduino, dann wird ein leerer Chip genommen, in der IDE auf USBasp als Programmer eingestellt und statt des Uno der entsprechende Chip. Das ist auch nicht schwieriger :wink:

Welches Board hast du in der IDE eingestellt?
Es muss der UNO sein.

Ich habe es so aufgebaut, da ich dafür die Anleitung gefunden habe.

Genuino Uno ist eingestellt und Programmer AVR ISP

burnii:
Ich habe es so aufgebaut, da ich dafür die Anleitung gefunden habe.

Genuino Uno ist eingestellt und Programmer AVR ISP

Ja, ok, habe ich jetzt auch in der Fehlermeldung gesehen.
Programmer ist hier egal.

Hast du irgend etwas an Port 0 und 1 angeschlossen.
Zeig uns mal deinen Aufbau. Foto.

hi,

die fehlermeldung bekommst Du, wenn gar kein CP2102 angeschlossen ist. sieht Du ihn denn im gerätemanager auf COM4?

gruß stefan

PS.: ansonsten kann ich hotsystems nur beipflichten. außerdem sind die seriellen wandler sch...empfindlich. da kommst Du einmal mit dem finger an einen kontakt und die dinger sind geschossen. halt meine erfahrung...

Den CP kann man leicht testen....

Eine Brücke zwischen Tx und Rx, seriellen Monitor auf und dann sollte er mit sich selber sprechen.
Also alle Eingaben sollten dann im großen Fenster erscheinen.

Du einmal mit dem finger an einen kontakt und die dinger sind geschossen. halt meine erfahrung...

Habe bisher noch keinen getötet.
Und gehe sicherlich nicht schonend mit den Dingern um.

Ich habe TX und RX gebrückt den Seriellen Monitor geöffnet und dort zahlen eingegeben. Diese bleiben dann stehen.

Was mir noch aufgefallen ist, dass die Led RXD am CP2102 leuchtet (RXD an PIN3 Atmega). TXD leuchtet nicht (TXD an PIN2 Atmega).

im Gerätemanager wird an COM 4 Silicon Labs Cp210x USB to UART Bridge angezeigt.

Das ist ja nicht deine Platine, da können wir leider nicht "deine Fehler" sehen. :wink:

Hast du für den Reset zur CP2102 einen Kondensator 0,1 µF drin?
Wenn nicht, reinmachen! Und ein Abblockkondensator 0,1 µF parallel zur Spannung direkt am Atmega.

Hast Du DTR mit reset über einen 0,1µF Kondensator verbunden?

Grüße Uwe

Zeig uns doch mal deine Platine, dann brauchen wir nicht alles abfragen.

Ok, nur eine wage Vermutung. Da die von dir verwendete IDE-Version sehr "buggi" ist, nimm doch mal die 1.6.5, da ist sicher das es normalerweise funktioniert.

Sowie ich gelesen habe, hat der 2102 doch den loop Test nicht bestanden.

burnii:
Arduino: 1.6.6 (Windows 7), Board: "Arduino/Genuino Uno"

Der Sketch verwendet 1.030 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.

Offensichtlich hast Du als Board "UNO" eingestellt und dadurch den Optiboot-Bootloader für einen UNO mit einem Atmega16U2 als USB-Serial-Adapter auf den Atmega328 hochgeladen.

Das funktioniert mit einem anderen Serial-Adapter wie z.B. CP2102 meines Erachtens nach nicht.

Für Deinen Breadboard-Arduino mit CP2102 als USB-Serial-Adapter brauchst Du meines Wissens nach den "normalen" Bootloader.

Also nochmal alles auf Null: Stell das Board auf "Arduino Duemilanove" und installiere Dir dann zuerst den normalen Bootloader!

Und wenn Du auf Deinem Breadboard keine Schaltung für automatischen Reset mit aufgebaut hast, dann kannst Du per Bootloader sowieso nur "mit manuellem Reset" im richtigen Augenblick hochladen.

Und gut, das er alles geheim hält.
Ein Foto (Atmega und CP2102 verbunden) würde allen helfen.

jurs:
Offensichtlich hast Du als Board "UNO" eingestellt und dadurch den Optiboot-Bootloader für einen UNO mit einem Atmega16U2 als USB-Serial-Adapter auf den Atmega328 hochgeladen.

Das funktioniert mit einem anderen Serial-Adapter wie z.B. CP2102 meines Erachtens nach nicht.

Für Deinen Breadboard-Arduino mit CP2102 als USB-Serial-Adapter brauchst Du meines Wissens nach den "normalen" Bootloader.

Also nochmal alles auf Null: Stell das Board auf "Arduino Duemilanove" und installiere Dir dann zuerst den normalen Bootloader!

Und wenn Du auf Deinem Breadboard keine Schaltung für automatischen Reset mit aufgebaut hast, dann kannst Du per Bootloader sowieso nur "mit manuellem Reset" im richtigen Augenblick hochladen.

Meines erachtetens sollte das keine Rolle spielen. Ich mache das mit einem FTDI-Adapter immer so und es funktioniert.
Ich vermute ein Hardwareproblem, aber er zeigt uns ja nichts.
Und den Bootloader muss er ja schon vorher per ISP geflasht haben.

Sorry ich dahcte ich hätte meinen Aufbau schon hochgeladen.

Anbei mein Aufbau.

Kann der erwähnte USBasp Programmer auch dauerthaft am Aufbau verbleiben?

Ich möchte meine Platine in ein Gehäuse einbauen und einen USB-Anschluss nach draußen führen um später ohne Öffnung des Gehäuses Programmierung vornehmen zu können.

Ginge dieses?

http://www.ebay.de/itm/USBasp-3-3V-5V-Programmiergerat-USB-ISP-Programmer-fur-Atmel-AVR-u-Arduino-/252051386631?hash=item3aaf6ef107:g:kLgAAOSw~OdVdcFD

so jetzt sorry.

Ich sehe keine Kerkos auf der Stromversorgung.

Ein Schaltplan wäre hilfreich.
Man sieht ja nix...
Nicht was die beiden fetten Brummer da sind. Oder gar, was sie tun sollen..
Keine Verbindung des CP210X..

Und den Bootloader muss er ja schon vorher per ISP geflasht haben.

Bei meinen standalone ATMega328p (mit Resonator) verwende ich den Pro Mini Bootloader.