Forum: Mikrocontroller und Digitale Elektronik Arduino Pro mini mit FTDI Adapter programmieren


von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

Hallo möchte derzeit etwas mit uC herumtüfteln und komme seit einiger 
Zeit nicht wirklich weiter :/

Nach dem Upload kommt folgende Fehlermeldung:
avrdude stk500_getsync() not in sync resp=0x00

Durch das sync dachte ich mir den Reset pin ebenfalls vom Programmer zum 
Arduino zu brücken aber keine Besserung.

Verwende folgenden Adapter:
https://www.sparkfun.com/products/retired/8165

Probiere nur den Sketch "Blink" mit andern Pin zu übertragen und es geht 
nicht.

Was die Datenübertragung angeht habe ich "TX zu Tx0 und RX zu RX1" sowie 
eine gekreuzte Variante probiert. Habe in Foren gelesen, dass die 
eigentlich ja gekreuzt gehören. Leider wird auf einigen Fotos das 
Gegenteil gezeigt. Was ist nun Richtig?

Zusatz:
Im Gerätemanager wird der Adapter erkannt und es steht auch das das 
Gerät einwandfrei funktioniert.
Habe in der Entwicklungsumgebung von Arduino den "Arduino Pro mini 168 
5V" ausgewählt.
Und als Port wurde COM3 automatisch ausgewäht.

: Bearbeitet durch User
von abc.def (Gast)


Lesenswert?

beachtest Du bitte:
Am Arduino muß der Reset-Pin mit 10k Ohm nach + verbunden werden, und 
von DTR nach Reset-Pin sind 100 nF anzubringen. Einfach durchverbinden 
geht nicht.
( ohne zu wissen, was Du eigentlich getan hast)

von Sebastian A. (wastl46)


Lesenswert?

Danke für die schnelle Antwort.

Ich versuche mich da gerade mit einigen Büchern über Arduinos zu 
Informieren aber nach Infos zu den verschiedenen Arten einen uC zu 
Programmieren (Upload) wird kaum was erzählt und ist auch schwer zu 
finden. So kommt es mir vor :/
(Wie funktioniert es was sind die unterschiede…)

Wo kann ich darüber nachlesen weshalb ich den Widerstand und Kondensator 
brauche?

Ist es nun richtig, dass ich RX auf TX0 und TX auf RX1 verbinde?

von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:

> Was die Datenübertragung angeht habe ich "TX zu Tx0 und RX zu RX1" sowie
> eine gekreuzte Variante probiert.

Wenn die Pins richtig beschriftet sind, muss TX -> RX und RX -> TX 
verbunden werden. "TX" ist ein Ausgang und Ausgang auf Ausgang gibt nen 
Kurzen.

Edit: Halt im Zweifelsfall mal das Schätzeisen (20V-Bereich) an die Pins 
und tipp die Messspitze mit dem Finger an - wenns wild ausschlägt, hast 
Du nen Eingang. Bleibt die Anzeige aber stabil, isses ein Eingang.

: Bearbeitet durch User
von abc.def (Gast)


Lesenswert?

Sebastian AD schrieb:
> Wo kann ich darüber nachlesen weshalb ich den Widerstand und Kondensator
> brauche?

tut mir leid, ich lese inzwischen fast nichts mehr nach. Im Schaltbild 
des Arduino Uno ist es so realisiert. Auch gibt es diverse com-Port 
Adapter die es ähnlich machen.
Du kanst messen, daß der DTR eine Flanke H-L macht, wenn programmiert 
werden soll. Während des Programmierens bleibt DTR auf L. Sicher könnte 
man es anders machen, aber in der PC-Software ist es so realisiert. 
Hälst Du den Reset aber auf L fest, dann versteht der Controller nix, 
weil es sein Reset-Zustand ist. Also muß der Reset wieder auf H gehen 
sobald die Flanke vorüber ist. Dafür ist das RC Glied da.
Halte einfach mal einen Logik-Prüfstift dran, ein Multimeter ist zu 
langsam.

von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

Ok werd mir da morgen etwas zeit nehmen.
Hab noch was gefunden (Anhang). Die haben einfach den TXD mit RXD 
beschriftet ( so auf die Art der muss zu dem gleichnamigen)
Naja kein Wunder, dass das dann verwirrend wird ^^

Danke vorerst und ich werd mich vielleicht nochmals melden :)

von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

Hallo habe nochmals den Schaltplan des Arduino Pro mini angesehen.
Es ist bereits ein Widerstand sowie Kondensator vor dem Resetknopf 
verbaut.

Sowie an pin13 auch schon eine LED mit Widerstand fix verbaut wird.

Was kann es dann sein? :(

von Einhart P. (einhart)


Lesenswert?

Hallo Sebastian,

Verbinde 'mal Rx und Tx von deinem USB Adapter und teste mit einem 
Terminalprogramm ob die Zeichen vom PC beim Loopback richtig ankommen.

Grund:
Beitrag "Gefälschte FT232RL"

: Bearbeitet durch User
von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:
> Sowie an pin13 auch schon eine LED mit Widerstand fix verbaut wird.
>
> Was kann es dann sein? :(

Wo ist das Problem? Die LED ist ganz praktisch, die flackert beim 
programmieren über SPI. Nützt Dir aber nix, Du willst ja über UART 
proggen. Dafür muss übrigens auf dem AVR schon ein Bootloader geflasht 
sein. Beim Original sollte das wohl der Fall sein, bei den chinesischen 
Nachbauten weiss man nie.... Also hol Dir am besten mal nen richtigen 
Programmer, den usbasp gibts direkt aus China ab 2€ (incl. Versand, 
dauert dann halt etwas...). Oder für 1€ mehr auch von deutschen 
Händlern, hier 
http://www.ebay.de/itm/P4PM-51AVR-USB-MCU-Download-Kabel-USBASP-USBISP-Downloader-Unterstutzung-Win-7-/350911243128?pt=Wissenschaftliche_Ger%C3%A4te&hash=item51b3f0a378 
z.B.

Ansonsten: Der Kondensator ist nötig, weil der DTR-Ausgang der seriellen 
Schnittstelle während der Übertragung ständig aktiv ist. Bei einer 
direkten Verbindung würde der AVR also auch ständig resetet. Der soll 
aber nur einen kurzen Impuls abkriegen, dann loslaufen und den 
Bootloader ausführen. Den Reset Kannst Du auch selber geben: drück den 
Reset-Knopf, starte die Programmiersoftware und lass Reset wieder los. 
Aber erstmal jeweils die echten TX->RX verbinden. Durchmessen wie oben 
beschrieben (muss natürlich "Bleibt die Anzeige aber stabil, isses ein 
AUSgang." heissen. Peinlich, peinlich...) und dann sollte das flutschen. 
Wie gesagt, wenn denn tatsächlich ein Bootloader drauf ist.

von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

Habs nun mit einem Terminalprogramm getestet und 192 bzw. 1100 0000 
gesendet.
Screenshot im Anhang. Sollte also eigentlich funktionieren.

Terminalprogramm-Link:
http://www.paules-pc-forum.de/forum/helfer-tools/129030-rs232-terminal-programm.html

Habe das Kabel (Rx/Tx/GND/Vcc) wieder getauscht, dass die Verbindung 
zwischen Adapter und Arduino Board wider passt.
Beim Überspielen hab ich versucht den Resetknopf vorher zu drücken hat 
aber leider nicht funktioniert.

Also kann das der Bootloader nicht vorprogrammiert ist? Ist das in der 
Arto so wie das BIOS am Rechner zu verstehen? Dass er die gesendeten 
Impulse verarbeiten kann?

DEN ISP-Programmer hab ich bestellt. Mit dem ist es dann auch möglich 
den Bootload zu installieren?

: Bearbeitet durch User
von Sebastian A. (wastl46)


Lesenswert?

Habe eben entdeckt, dass eine liebe kleine "Schutzkappe" einen der 3 
oder mehr Tx Rx Pins überbrückt hat. nach dem Abnehmen hab ich gesehen, 
dass dort ein kleiner Draht quer drüber geht -.-

Trotz allem funktioniert es noch nicht.
Die Rote LED blinkt sehr schnell und schwach. Grün leuchtet ständig.

RST ist mit RST verbunden (ohne C, da ja schon auf Arduino fix verbaut)

von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:

> Also kann das der Bootloader nicht vorprogrammiert ist?

Klar, möglich wärs... dummerweise meldet sich ein STK500 kompatibler 
Bootloader nicht von selber (er braucht erst nen Befehl dazu, wenn ich 
das hier http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf 
richtig interpretiere), sonst könntest Du einfach ein 
Scope/Frequenzzähler/Logikprüfstift oder sowas an TX halten und sehen, 
ob sich da was tut...

> Ist das in der Arto so wie das BIOS am Rechner zu verstehen?

Naja, in gewissem Sinne... ist auch das erste Stück Software, was die 
CPU nach dem Anschalten zu fressen bekommt. Ist aber deutlich simpler 
als ein BIOS und bietet keine standardisierten Schnittstellen wie z.B. 
int 10 beim PC.

> DEN ISP-Programmer hab ich bestellt.

Sehr gut.

> Mit dem ist es dann auch möglich den Bootload zu installieren?

Ja, wäre möglich. Ist aber unnötig, weil Du mit so nem Ding auch gleich 
Deine Software flashen kannst.

Aber bis der Programmer kommt, könntest Du mal testen, ob dieser 
USB-UART funktioniert: Schliess irgendwas (notfalls ne LED, besser 
natürlich Oszi/Analyzer/Schätzometer) an dessen TX-Pin an und schick per 
Terminalprogramm bei 75 Baud ein paar Leerzeichen - dann sollte da was 
zu sehen sein. Anschliessend verbinde TX und RX von dem USB-Teil, knips 
"local echo" im Terminal an und tipp irgendwas - das sollte dann doppelt 
angezeigt werden. Solange das nicht funzt, brauchen uns wg. Bootloader 
keine Gedanken zu machen...

von Sebastian A. (wastl46)


Lesenswert?

Hey, hab das mit der LED eben probiert. Wenn ich die Leerzeichen bei 300 
Baud schicke beginnt die LED zu blinken. Die Daten sollten eig. gesendet 
werden.
Auch wenn ich beide pins verbinde und Leerzeichen sende kommt immer der 
ASCI fürs Leerzeichen.

Habe nun auch
RST ----15K---- Vcc und
RST----330nF bzw. 0,33uF ----- DTR
verbunden wie auch bei einem Video gezeigt.

Aber!: Eig. sollte das ja wie ein Tiefpass wirken und somit der 
Widerstand eig auf GND oder?
Wenn ich das mache, eine LED an den RST hänge und dann auf Upload gehe. 
Blinkt die LED 3 mal kurz und ist sonst immer aus. Kann sein dass das 
mit der Grenzfrequenz zu tun hat und weiters auch mit der Baut-Rate? Je 
höher die Bautrate desto höher sollte ja auch meine Grenzfrequenz sein, 
dass nur ein kurzer Impuls durch kommt? Oder beeinflusst die Baut-Rate 
den DTR nicht?

: Bearbeitet durch User
von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:
> Hey, hab das mit der LED eben probiert. Wenn ich die Leerzeichen bei 300
> Baud schicke beginnt die LED zu blinken. Die Daten sollten eig. gesendet
> werden.
> Auch wenn ich beide pins verbinde und Leerzeichen sende kommt immer der
> ASCI fürs Leerzeichen.

Könnte sein, dass Dein Terminalprogramm local echo macht und das 
Leerzeichen auch dann kommt, wenn die Brücke zw. TX und RX weg ist. 
Probier es mal mit und mal ohne die Brücke, und nur wenn es sich 
unterschiedlich verhält, ist die Schnittstelle wirklich sicher in beide 
Richtungen ok.

> Habe nun auch
> RST ----15K---- Vcc und
> RST----330nF bzw. 0,33uF ----- DTR

Das ist aber doch schon auf dem Pro-Mini so verschaltet...

> verbunden wie auch bei einem Video gezeigt.
>
> Aber!: Eig. sollte das ja wie ein Tiefpass wirken und somit der
> Widerstand eig auf GND oder?

Nö, wie ein Hochpass. Und Wechselstrommässig isses egal ob der auf GND 
oder VCC geht. Aber DC-mässig muss er an Plus, weil sonst der AVR 
Dauerreset kriegen würde.

> Wenn ich das mache, eine LED an den RST hänge und dann auf Upload gehe.
> Blinkt die LED 3 mal kurz und ist sonst immer aus.

Vermutlich versucht der avrdude 3 mal, Kontakt zum Atmega aufzunehmen. 
Scheitert aber jedesmal.

> Kann sein dass das
> mit der Grenzfrequenz zu tun hat und weiters auch mit der Baut-Rate? Je
> höher die Bautrate desto höher sollte ja auch meine Grenzfrequenz sein,
> dass nur ein kurzer Impuls durch kommt?

Nein, dieser Hochpasses hat nix mit der Baudrate zu tun, der soll nur 
einen kurzen Reset-Impuls erzeugen.

> Oder beeinflusst die Baut-Rate den DTR nicht?

Nicht direkt, jedenfalls nicht nicht so, wie Du dir das offenbar 
vorstellst. DTR bedeutete ursprünglich "Data Terminal Ready" oder 
übersetzt: "Alles klar, Du kannst jetzt senden". Diese Leitung hat einen 
eher statischen Charakter, die ändert ihren Pegel einmal wenns losgeht 
und nochmal wenn alles erledigt ist. Die Zeit dazwischen kann auch von 
der Baudrate beeinflusst werden, aber eben auch von 1001 anderen 
Faktoren. Also eher: Nein.

von Sebastian A. (wastl46)


Lesenswert?

Das Terminalprogram macht kein local echo. Wenn die nicht verbunden sind 
kommt auch nix an:/

Ich weis, beim Pro mini ist das eig am Board aber trotzdem wird auf 
youtube gezeigt, dass man dies aussen auch beschaltet :/ Funktionierte 
aber. (im Video)

Lutz M. schrieb:
> Nö, wie ein Hochpass. Und Wechselstrommässig isses egal ob der auf GND
> oder VCC geht. Aber DC-mässig muss er an Plus, weil sonst der AVR
> Dauerreset kriegen würde.
Ja klar Hochpass sorry, dass mehr oder weniger nur Flanken durch kommen.
Naja Wechselstrom ist es ja eig nicht direkt. Eher Pulsierender 
Gleichstrom. Es wird ja kein +/- 5V angelegt in dem Fall oder?

Arbeitet der ATMEL mit Neg. Logik ? Vielleicht hab ich das ja nicht 
mitbedacht bei dem Thema zu den Hochpass?

Ich weis nicht wieso der Fehler ständig kommt -.-
Kann es nun an dem Bootload liegen?

von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:
> Ich weis, beim Pro mini ist das eig am Board aber trotzdem wird auf
> youtube gezeigt, dass man dies aussen auch beschaltet :/ Funktionierte
> aber. (im Video)

Der 2. Hochpass schadet auch nix solange der Reset-Impuls mindestens 2,5 
uS lang bleibt - nützt aber auch nix...

> Ja klar Hochpass sorry, dass mehr oder weniger nur Flanken durch kommen.
> Naja Wechselstrom ist es ja eig nicht direkt. Eher Pulsierender
> Gleichstrom.

Genau.

> Arbeitet der ATMEL mit Neg. Logik ?

Beim Reset-Pin: Ja.

> Ich weis nicht wieso der Fehler ständig kommt -.-
> Kann es nun an dem Bootload liegen?

Nachdem die Schnittstelle definitiv ok ist: Ja. Könnte kein Bootloader 
drauf sein oder der Pro-Mini ist ganz defekt. Evtl. könnte auch der 
avrdude Mist machen... Versuch mal, nachdem Masse, RX und TX verbunden 
sind, kurz Reset zu drücken und im Terminal ne 1 einzugeben, dann müsste 
sich der Bootloader mit "AVR STK" melden. Baudrate soll wohl 19200 sein, 
evtl. auch 57600 oder 9600. Bei ner falschen Baudrate sollten 
irgendwelche Hiroglyphen kommen, aber wenn garnix passiert ist wohl Dein 
Board schrott. Oder ohne Bootloader.

von Mr. Tom (Gast)


Lesenswert?

Sebastian AD schrieb:
> Die Rote LED blinkt sehr schnell und schwach. Grün leuchtet ständig.

Dann haben sie dich bei den LEDs mit den Farben beschi..en. Lt. 
Schaltplan sollte es umgekehrt sein ;-)

von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

Mr. Tom schrieb:
> Dann haben sie dich bei den LEDs mit den Farben beschi..en. Lt.
> Schaltplan sollte es umgekehrt sein ;-)

Ja ich denke:P Die Grüne ist nämlich beim Spannungsregler.

Lutz M. schrieb:
> Evtl. könnte auch der
> avrdude Mist machen... Versuch mal, nachdem Masse, RX und TX verbunden
> sind, kurz Reset zu drücken und im Terminal ne 1 einzugeben, dann müsste
> sich der Bootloader mit "AVR STK" melden.

Das hab ich nicht ganz verstanden wie du das meinst? Nur die drei 
verbinden zwischen Seriell und uC? dann reset drücke und eine 1 
schicken?

Ich habe wider ein Bild angehängt. Ich hab bei ein paar schon gesehen 
das die zwei RX und RX überbrückt wurden, auch beim programmieren. Muss 
ich den oben lassen? Ich weis sowieso nicht wieso hier zwei sind auf dem 
Adapter?
Hoff das ist ok wenn ich nur die vier Pins am Programmerkopf verwende? 
+DTR

von Lutz M. (themroc)


Angehängte Dateien:

Lesenswert?

Sebastian AD schrieb:

> Das hab ich nicht ganz verstanden wie du das meinst? Nur die drei
> verbinden zwischen Seriell und uC? dann reset drücke und eine 1
> schicken?

Genau. Nur die 3 (und +5V, falls Du den AVR von der USB-Schnittstelle 
aus versorgts). Hab nochmal nachgeguggt, die Beschriftung von JP1 im 
Schaltplan ist Quatsch. Richtig ist der Aufdruck auf der Platine, 
jedenfalls bei meinen chinesischen ProMinis. Eingang ist da, wo die 
Pfeile auf dem Foto hinzeigen (die beiden Pins sind verbunden), da muss 
der Pin vom USB-Interface dran, der bei 300 Baud die LED zum flackern 
gebracht hat.

von Sebastian A. (wastl46)



Lesenswert?

So hab das probiert. Die vier Kabeln wie im Anhang zusammen und nach dem 
Reset drücke die 1 geschickt mit dem Serial Monitor von der Arduino 
Software.

Nichts wird angezeigt. Anscheinend muss ich noch auf den USB/ISP 
Programmer warten ;)

: Bearbeitet durch User
von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:
> So hab das probiert. Die vier Kabeln wie im Anhang zusammen und nach dem
> Reset drücke die 1 geschickt mit dem Serial Monitor von der Arduino
> Software.

Ok, der "RXI"-Pin auf Deiner ProMini-Platine geht tatsächlich zum 
"RX"-Eingang der CPU. Aber bist Du ganz sicher, das die LED geblinkt hat 
als Du sie am "RX" vom USB-Interface angeschlossen hattest? Das würde 
bedeuten, dass der Aufdruck bei dem Ding falschrum ist und es so 
verdrahtet wie auf Deinem Foto funktionieren müsste.

von Oliver R. (oliverr)


Lesenswert?

Hallo,

Bei mir:
der Arduino muss mit 5 Kabeln zum brennen angeschlossen werden. Das 5te 
Kabel ist DTR.
(5V,GND,RX,TX,DTR)

Grüße
OR

von Sebastian A. (wastl46)


Lesenswert?

Lutz M. schrieb:
> Ok, der "RXI"-Pin auf Deiner ProMini-Platine geht tatsächlich zum
> "RX"-Eingang der CPU. Aber bist Du ganz sicher, das die LED geblinkt hat
> als Du sie am "RX" vom USB-Interface angeschlossen hattest? Das würde
> bedeuten, dass der Aufdruck bei dem Ding falschrum ist und es so
> verdrahtet wie auf Deinem Foto funktionieren müsste.

Ja hab ich extra nochmals probiert.
Wenn ich die LED an RX des USB-Adapters und an Masse hänge Leuchtet sie 
(neg. Logik ?)
Wenn ich zB. 110011001100 bei 300Baud schicke blinkt sie.

Es ist auch im Schaltbild, dass ich vorher schon mal angehängt habe, so 
angezeigt, dass der Rx mit Tx bezeichnet wird.

Also sollte es nur mehr am uC-Board liegen. ich denke aber nicht, dass 
das Board Layout umgezeichnet wurde. Wieso sollten die Chinesen das 
machen ^^

von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:

> Also sollte es nur mehr am uC-Board liegen.

Sieht so aus. An Deiner Stelle würde ich nen neuen ProMini besorgen, wer 
weiss ob Deiner nicht völlig tot ist...

von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

HALLO!

ISP-Programmer ist angekommen.
Habe ihn nun an das Board angeschlossen (siehe Anhang)

Ich bin mir aber nicht sicher welcher Serial-Port der richtige ist, den 
ich auf meinem MAC auswählen muss?

von Stefan F. (Gast)


Lesenswert?

Unter Linux zeigt das der Befehl dmesg an. Vielleicht klappt das beim 
Mac auch.

von Sebastian A. (wastl46)


Lesenswert?

OK der USBasp Programmer ist von Fischel.de (laut Systeminfo auf MAC)
Wo finde ich den richtigen Treiber für den Programmer?

von Mr. Wu (Gast)


Lesenswert?

Sebastian AD schrieb:
> Ich bin mir aber nicht sicher welcher Serial-Port der richtige ist, den
> ich auf meinem MAC auswählen muss?

Den, der neu auftaucht, wenn du den Programmer anschließt ;-)

von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

Mr. Wu schrieb:
> Den, der neu auftaucht, wenn du den Programmer anschließt ;-)

Es ist egal ob ich was anschließe, es werden immer diese angezeigt.

Auf der Fischer.de Seite hab ich nun gesehen, dass man anscheinend 
keinen Treiber benötigt bei Linux und Mac:
http://www.fischl.de/usbasp/

: Bearbeitet durch User
von Chris M. (yoblid) Benutzerseite


Lesenswert?

Hi Sebastian,

beim Upload kommt es vor allem darauf an, im richtigen Moment den 
Reset-Taster am Mini Pro zu drücken.
Wenn im Statusfenster der Arduino IDE nach Starten des Uploads die 
Meldung "Binary sketch size... " erscheint, muss man kurz den 
Reset-Taster des Pro Mini betätigen, damit der Upload ohne Fehler 
beendet werden kann.

Siehe auch hier: 
http://hartgeloetet.blogspot.de/2013/04/programmieren-eines-arduino-mini-pro.html

: Bearbeitet durch User
von Sebastian A. (wastl46)


Lesenswert?

Ich möchte ihn ja mit der ISP-SChnittstelle programmieren, nicht wie 
beim Link mit uart.
Bei mir kommt nun immer:
stk500_recv() programmer is not responding

Ich glaub ich kauf mir bald einen wo der programmer oben ist. Das 
funktioniert ja nie wirklich gut -.-

von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:
> stk500_recv() programmer is not responding

stk500? Brauchen wir nicht. Hast Du die avrdude-kommandozeile angepasst? 
Die sollte so ähnlich wie
1
/usr/bin/avrdude -C/etc/avrdude.conf -pm328p -cusbasp -Pusb -Uflash:w:main.hex
aussehen.

von Sebastian A. (wastl46)


Lesenswert?

Es tut mir leid ich habe Praktisch noch nicht viel Erfahrung mit den 
ganzen uC Programmierungen.

Wie änder ich die? Oder besser gesagt wo?
Ich arbeite mit Arudino 1.0.5

Was bedeutet das stk500?

von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:
> Es tut mir leid ich habe Praktisch noch nicht viel Erfahrung mit den
> ganzen uC Programmierungen.

Macht doch nix, wir leben um zu lernen!

> Wie änder ich die? Oder besser gesagt wo?
> Ich arbeite mit Arudino 1.0.5

K.a., hab ich noch nicht benutzt. In irgendeinem config-menü wirds ne 
Option "Programmer: (x) usbasp" o.s.ä. geben...

> Was bedeutet das stk500?

Das ist dieses Dev-Board, mit dem Deine nicht funktioniert habende 
USB-Seriell-Wandler/Bootloader-Kombination kompatibel gewesen wäre.

von Chr. M. (snowfly)


Lesenswert?

@Sebastian
stelle einfach den Programmer ein (USBASP, einen Menupunkt weiter als 
auf deinem letzten Bild)
und dann Menupunkt Datei/Hochladen mit Programmer.

Das stk500 ist ein Evalboard/Programmierprotokoll von Atmel,
der Arduino emuliert das wenn du den über die USB Schnitstelle
programmierst.

von Sebastian A. (wastl46)


Angehängte Dateien:

Lesenswert?

Hallo,

neue Microcontroller und es funktioniert mit dem USBasp Programmer.
:)
Das komische ist, ich muss extra unter:
-Datei
-Upload mit Programmer gehen

sonst macht er nichts.. Aber trotz allem kommt diese Fehlermeldung:
avrdude: warning: cannot set sck period. please check for usbasp 
firmware update.

von Lutz M. (themroc)


Lesenswert?

Sebastian AD schrieb:
> Hallo,
>
> neue Microcontroller und es funktioniert mit dem USBasp Programmer.
> :)

Glückwunsch!

> Aber trotz allem kommt diese Fehlermeldung:
> avrdude: warning: cannot set sck period. please check for usbasp
> firmware update.

Die kommt bei mir auch, hat mich aber nie wirklich gestört :) Kannst ja 
die neueste USBasp-Firmware (http://www.fischl.de/usbasp/) auf den 
ProMini aufspielen, ein USB-Kabel dranlöten und damit dann den 
Programmer updaten...

von Chr. M. (snowfly)


Lesenswert?

Sebastian AD schrieb:
> Das komische ist, ich muss extra unter:
> -Datei
> -Upload mit Programmer gehen

TIP:
Shift gedückt halten und den UploadButton(Pfeil) drücken geht auch.

In irgend einer config Datei kann man auch den Default uploadmodus 
einstellen.

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

auch wenn diese Diskussion hier schon eine ganze Weile zurückliegt, 
möchte ich noch beschreiben, was ich unternommen habe, um einen kaputten 
Arduino Pro Mini wieder zum laufen zu bekommen. Vielleicht findet es ja 
der ein oder andere hilfreich.

Den Bootloader beim Arduino Pro Mini updaten

Es kann vorkommen, dass die China-Arduinos einen falschen Bootloader 
besitzen und deshalb kein Programm über die serielle Schnittstelle 
geflasht werden kann.
Falls dies der Fall ist, kann mit einem USBasp Adapter ein neuer 
Bootloader geflasht werden.
Dazu verbindet man:
1
USBasp    Arduino
2
Mosi ------------- 11
3
Miso ------------- 12
4
sck  ------------- 13
5
rst  ------------- rst
6
gnd  ------------- gnd

Danach den Arduino mit Strom versorgen und testen ob die Verbindung mit 
dem USBasp Adapter funktioniert:
1
avrdude - c usbasp -p m328p

Falls alles OK ist, kann über /Arduino.app/ der Bootloader geflasht 
werden:
1
-> Tools -> Board "Arduino Pro or Pro Mini"
2
-> Tools -> Processor "Atmega 328 (3.3V, 8MHz)"
3
-> Tools -> Programmer "USBasp"
4
-> Tools -> Burn Bootloader

Falls das nicht funktioniert, kann man aus 
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders 
/atmega  einen speziellen Bootloader auswählen und diesen über das 
Terminal flashen. Zum Beispiel:
1
avrdude -c usbasp -p m328p -e -U flash:w:ATmegaBOOT_168_atmega328_pro_8MHz.hex

Nun sollte der Arduino auch über einen FTDI-Adapter programmiert werden 
können.

Noch ein Hinweis:
Ich habe festgestellt, dass die Pro Mini Arduinos aus China oft mit 
einer falschen Frequenz ausgezeichnet sind. Bestellt habe ich mir einen 
Arduino mit 16MHz, dabei war es dann aber einer mit 8MHz. Also beim 
Auswählen des Typs aufpassen!

Hilfreiche Links:
https://www.arduino.cc/en/Hacking/Programmer
http://www.fischl.de/usbasp/
http://electronics.stackexchange.com/questions/96805/how-to-program-arduino-nano-pro-mini-pro-micro-clone-that-has-no-usb-port
http://www.elecrom.com/2009/04/15/avrdude-tutorial-burning-hex-files-using-usbasp-and-avrdude/
http://angryelectron.com/how-to-update-the-bootloader-on-arduino-pro-mini-328/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.