Programmieren nicht Möglich :-/

Hallo zusammen,

bin ganz frisch in der digitalen Welt und habe seit Tagen große Probleme meinen Sketch aufzuspielen.

Hier meine Fehlermeldung:


Build-Optionen wurden verändert, alles wird neu kompiliert

Der Sketch verwendet 1.422 Bytes (4%) des Programmspeicherplatzes. Das Maximum sind 30.720 Bytes.
Globale Variablen verwenden 37 Bytes (1%) des dynamischen Speichers, 2.011 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.


Okay - das IC gibt keine Antwort, aber warum macht es das nicht?

Aufgebaut habe ich das ganze auf einem Experimentierboard Schaltung: http://arduino-praxis.ch/wp-content/uploads/arduino-mit-8-bauteilen.jpg

Zudem nutze ich Win10 mit Arduino 1.6.11 im Zusammenhang mit dem USB-BUB II.
Beim Einstecken des USB-BUB II sehe ich im Gerätemanager einen USB-Serial-Converter, der angeblich “einwandfrei läuft”. Installiert habe ich den ftdi-Treiber v2.12.18.

Ich habe sämtliche Boards in der Arduino-Software durchprobiert, leider ohne Erfolg. Beim einstecken des USB-Kabels an den BUB II blinkt kurz die LED (was auf einen aktiven Bootloader hinweisen sollte). Beim klick auf Hochladen blinkt mehrmals die TX-LED, nach 2 Minuten kommt dann die besagte Fehlermeldung.

Ich verzweifel langsam weil ich einfach kein Problem finden kann. Auch ein anderer 328P habe ich probiert, mit dem gleichen Ergebnis.

Hat von Euch jemand vielleicht eine Idee wo der Fehler liegen könnte?

Vorab bedanke ich mich für jegliche Unterstützung.

Stromversorgung stimmt nicht. Auf der einen Seite liegen GND und Vcc nicht direkt nebeneinander. Bzw: Es ist böse, Vcc auf Aref zu klemmen!

Die Abblock Kondensatoren fehlen Reset ist nicht verbunden.

Bootloader drauf? Ohne gehts so nicht

combie:
Stromversorgung stimmt nicht.
Auf der einen Seite liegen GND und Vcc nicht direkt nebeneinander.
Bzw: Es ist böse, Vcc auf Aref zu klemmen!

Die Abblock Kondensatoren fehlen

Bootloader drauf?
Ohne gehts so nicht

Ich habe mich beim Zeichnen vertan, das hier war meine Quelle: http://arduino-praxis.ch/wp-content/uploads/arduino-mit-8-bauteilen.jpg

Ich werde die Grundschaltung.jpg rausnehmen, sorry dafür o:)

Des weiteren hoffe ich mal, das ein Bootloader drauf ist, weil halt die LED an 19 blinkt, sobald ich Spannung anlege…

ihmSelbst: Des weiteren hoffe ich mal, das ein Bootloader drauf ist, weil halt die LED an 19 blinkt, sobald ich Spannung anlege..

Was meinst du mit blinken ?

Nur einmalig oder ständig, so lange wie Spannung anliegt.

Was meinst du mit 19 ?

Ist es der Pin D13 ? Das ist eine deutlichere Aussage, da man anhand deiner Verkabelung nichts erkennen kann. Alles blau Kabel. Und ohne Vorwiderstand ist es kritisch für den Atmega.

Am Reset-Pin kann ich auch keinen Widerstand sehen.

Edit: Um den Atmega so zu programmieren (flashen) musst du die IDE auf Uno als Board einstellen.

Ach ja, wo sind die Atmega328 her und wie kommst du da drauf, es ist ein Bootloader drauf ?

HotSystems: Was meinst du mit 19 ?

Offensichtlich Pin 19 am Prozessor.

so, erstmal vielen Dank für die Tipps.

Ich habe nun die Kabel andersfarbig gestaltet, damit man die Übersicht behält und den 10kOhm Widerstand an Reset sowie einen 1kOhm Widerstand an der LED (Pin19) angeklemmt.

Weiss: Reset
Gelb: TX
Grün: RX
Orange: VCC
Blau: GND

Da ich keinen 10kOhm Widerstand hier hatte, habe ich 4k7+4k7+470Ohm in Reihe geschaltet, was messtechnisch einen Wert von 9,91kOhm ergab.

Zudem habe ich hier (https://youtu.be/c88Y87j0wZ4) ein Video hochgeladen, dass den Arduino beim starten zeigt. Da die LED an D13 (Pin 19) 3 x blinkt, gehe ich davon aus das ein Bootloader bereits installiert ist.

Bestellt habe ich den Arduino bei Ebay “Mikrokontroller 16MHz 8 bit ATMEGA328 Optiboot Bootloader programmieren 28Pin” zu finden unter: http://www.ebay.de/itm/172151724907

Die IDE habe ich auf “Uno” und Programmer: Arduino as ISP umgestellt.

Leider bekomme ich nach wie vor den gleichen Fehler.

ihmSelbst: bin ganz frisch in der digitalen Welt und habe seit Tagen große Probleme meinen Sketch aufzuspielen.

Das ist nicht der ideale Einstieg. Kauf dir lieber zum Anfangen einen UNO, sammel Erfahrung und mach dich dann an sowas.

Sonst hast du viel Frust vor dem Blinkblink

Machst du "Hochladen" oder "Hochladen mit Programmer" ?

Sowohl als auch. Beides mit dem gleichen Ergebnis.

Die Sache warum ich das mache ist folgendes: Ich habe einen RGB-LED-Cube gebaut, also Gerüst und Steuerplatine, auf der der Arduino sitzt. Ich habe ihn nun extra nochmal rausgenommen und auf dem Experimentier-Board angeschlossen um den (vorhandenen) Sketch zu installieren. Wäre echt schade, wenn ich nun alles in die Tonne schmeissen müsste, deshalb fange ich auf diese Weise an.

Weiss: Reset Gelb: TX Grün: RX

Wenn der µC vorher auf dem Uno war, dann ist bestimmt ein Bootloader drauf.

Die IDE habe ich auf "Uno" und Programmer: Arduino as ISP umgestellt. .... Sowohl als auch. Beides mit dem gleichen Ergebnis.

Das macht doch keinen Sinn! Du hast da einen Serial Adapter. Der muss als Port eingetragen werden. Und das Board ist ein UNO. "Hochladen mit Programmer" macht keinen Sinn, weil kein ISCP Programmer angeschlossen ist.

Ist der Quarz wirklich ein 16MHz Type? Tx des Adapters muss an Rx des µC Und umgekehrt.

Zeige mal bitte die Meldungen. Aktiviere dazu die "Ausführlichen Meldungen beim Hochladen" in Datei->Voreinstellungen

hi,

Tx des Adapters muss an Rx des µC Und umgekehrt.

probier's trotzdem auch umgekehrt. da kann nix passieren und manchmal sind die falsch beschriftet.

gruß stefan

EDIT: hab' grad gesehen:

Beim klick auf Hochladen blinkt mehrmals die TX-LED

eigentlich sollte RX blinken. also auf jeden fall mal RX/TX tauschen...

noch 'n edit: Du meinst sicher TX vom serial adapter, am atmega hast Du ja keine TX/RX-LEDs. probier's trotzdem, schadet ja nicht...

ihmSelbst: Weiss: Reset Gelb: TX Grün: RX Orange: VCC Blau: GND

Hast Du zwischen DTR und Reset einen 0,1µF Kondensator geschaltet?

Grüße Uwe

ihmSelbst: ... Leider bekomme ich nach wie vor den gleichen Fehler. ...

Huh, Du gibst es Dir wohl gerne auf die harte Tour :-)

Wie schon empfohlen, solltest Du erstmal mit einem „richtigen“ Arduino spielen. Das Gehampel mit dem nackten Mikrocontroller kannst Du anstellen, wenn Du etwas genauer weißt, was Du tust bzw. willst. Falls Du ums Verrecken mit einem nackten ATmega 328 P machen möchtest, was Du machen möchtest, solltest Du den IMO mit einem „In-Situ-Programmer“ programmieren (ich benutze den AVRISP mk II). Als Alternative, falls Du den µC aus Platzgründen ohne Arduino-Drumherum einsetzen möchtest könntest Du das Programm mit einem UNO entwickeln und dann den ATmega mit eigener Beschaltung versehen. Nimm dafür einen Uno mit gesockeltem µC.

Was auch immer Du tust: Geh' auf jeden Fall vorher ein Eis essen :-) Wegen der Vitamine, gell!

Gruß

Gregor

Bei der Programmierung könntest du bei den Einstellungen mal verschiedene Boards ausprobieren (UNO, Nano, Pro Mini)

ElEspanol: Das ist nicht der ideale Einstieg. Kauf dir lieber zum Anfangen einen UNO, sammel Erfahrung und mach dich dann an sowas.

Sonst hast du viel Frust vor dem Blinkblink

ihmSelbst: Ich habe ihn nun extra nochmal rausgenommen und auf dem Experimentier-Board angeschlossen um den (vorhandenen) Sketch zu installieren. Wäre echt schade, wenn ich nun alles in die Tonne schmeissen müsste, deshalb fange ich auf diese Weise an.

Nichts mit Tonne.

Auch für deinen Cube ist ein Uno mit gesockeltem Atmega praktisch. Man hat eine garantiert funktionierende Umgebung für den Atmega, in der er sehr leicht (und frustfrei) programmieren und testen lässt.

und bestell dir gleich noch für ein paar Euro einen USBasp isp programmer

combie: Wenn der µC vorher auf dem Uno war, dann ist bestimmt ein Bootloader drauf.

Nein, er war vorher nicht auf einem Board.

combie: Ist der Quarz wirklich ein 16MHz Type? Tx des Adapters muss an Rx des µC Und umgekehrt.

Quarz: 16MHZ HC-49S

Wenn ich TX und RX vertausche, leuchtet RX erst "flatterhaft", beim Hochladen dauerhaft.

combie: Zeige mal bitte die Meldungen. Aktiviere dazu die "Ausführlichen Meldungen beim Hochladen" in Datei->Voreinstellungen


Der Sketch verwendet 1.422 Bytes (4%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes. Globale Variablen verwenden 37 Bytes (1%) des dynamischen Speichers, 2.011 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes. X:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CX:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\IHMSEL~1\AppData\Local\Temp\build711d4ec27e33a3bea14453a33cde90b4.tmp/RGB_4x4x4_LED_Cube_map_1.pde.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 "X:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM5 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=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xf1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xf1

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


uwefed: Hast Du zwischen DTR und Reset einen 0,1µF Kondensator geschaltet?

Grüße Uwe

Nein, ich habe hier keinen Kondensator zwischen geschaltet, da dieser nicht in Schaltplan eingezeichnet war.

gregorss: Huh, Du gibst es Dir wohl gerne auf die harte Tour :-)

Was auch immer Du tust: Geh' auf jeden Fall vorher ein Eis essen :-) Wegen der Vitamine, gell!

Ja, da könntest Du Recht haben... ;) Bei diesen Termperaturen sollte ich mit dem Eis wahrscheinlich auch den µC kühlen damit er einen klaren Kopf behält.. ;)

Eisebaer: probier's trotzdem auch umgekehrt. da kann nix passieren und manchmal sind die falsch beschriftet. EDIT: hab' grad gesehen: eigentlich sollte RX blinken. also auf jeden fall mal RX/TX tauschen...

noch 'n edit: Du meinst sicher TX vom serial adapter, am atmega hast Du ja keine TX/RX-LEDs. probier's trotzdem, schadet ja nicht...

Danke für Deinen Tipp. Habe aus Zufall (beim tauschen von TX/RX) gerade das Kabel von VCC abgezogen. Als ich meinen Fehler bemerkt habe, habe ich das Kabel wieder eingesteckt und somit das Experimentierboard wieder mit Spannung versorgt. Danach habe ich auf Hochladen geklickt, und siehe da:


Der Sketch verwendet 1.422 Bytes (4%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes. Globale Variablen verwenden 37 Bytes (1%) des dynamischen Speichers, 2.011 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes. X:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CX:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\IHMSEL~1\AppData\Local\Temp\build711d4ec27e33a3bea14453a33cde90b4.tmp/RGB_4x4x4_LED_Cube_map_1.pde.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 "X:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM5 Using Programmer : arduino Overriding Baud Rate : 115200 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: 3 Firmware Version: 4.4 Vtarget : 0.3 V Varef : 0.3 V Oscillator : 28.800 kHz SCK period : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f avrdude: reading input file "C:\Users\IHMSEL~1\AppData\Local\Temp\build711d4ec27e33a3bea14453a33cde90b4.tmp/RGB_4x4x4_LED_Cube_map_1.pde.hex" avrdude: writing flash (1422 bytes):

Writing | ################################################## | 100% 0.57s

avrdude: 1422 bytes of flash written avrdude: verifying flash memory against C:\Users\IHMSEL~1\AppData\Local\Temp\build711d4ec27e33a3bea14453a33cde90b4.tmp/RGB_4x4x4_LED_Cube_map_1.pde.hex: avrdude: load data flash data from input file C:\Users\IHMSEL~1\AppData\Local\Temp\build711d4ec27e33a3bea14453a33cde90b4.tmp/RGB_4x4x4_LED_Cube_map_1.pde.hex: avrdude: input file C:\Users\IHMSEL~1\AppData\Local\Temp\build711d4ec27e33a3bea14453a33cde90b4.tmp/RGB_4x4x4_LED_Cube_map_1.pde.hex contains 1422 bytes avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.51s

avrdude: verifying ... avrdude: 1422 bytes of flash verified

avrdude done. Thank you.


Habe das Phänomen mehrmals nachstellen können, es ist also hier nötig, VCC kurz vor dem Beschreiben zu unterbrechen, sonst bekomme ich meine gewohnte Fehlermeldung. Wie und warum das so ist, kann ich mir nicht erklären, bin aber froh das es nach fast 14 Tagen endlich geklappt hat.

Kann sich jemand dieses Verhalten erklären oder liegt das vielleicht an einem Fehler am USB-BUB II?

Trotzdem: VIELEN DANK AN ALLE! :)

Quote from: uwefed on Aug 27, 2016, 10:03 pm

Hast Du zwischen DTR und Reset einen 0,1µF Kondensator geschaltet?

Grüße Uwe

Nein, ich habe hier keinen Kondensator zwischen geschaltet, da dieser nicht in Schaltplan eingezeichnet war.

Dann solltest du schnellstmöglich einen zwischenschalten.
Grüße Uwe

Dann ist das Problem, dass der nötige Reset nicht ausgeführt wird, wenn du den 328 programmieren willst. Durch den Reset wird der Bootloader aktiviert. Durch trennen der Versorgungsspannung sorgst du auf sehr rustikale Weise für den nötigen Reset.

Aber das mit dem manuellen Reset ist nun so offensichtlich, dass keiner an eine so einfache Lösung gedacht hat, Stehen tuts in jedem howto :confused: