Arduino: Problem beim Upload über Serial0

#1
Hallo,
Ich hab ein "Multiwii Pro 2.0" Board. Bei dem ist mir vor einiger Zeit der USB-Anschluss abgebrochen.
Daher verbinde ich jetzt das Board über FTDI am Serial0. Das klappt auch soweit. Ich bekomme mit dem Missionplanner eine Verbindung.
Jetzt wollte ich mir die Version 3.0.1 hochladen, ich bekomme aber immer folgende Fehlermeldung :

Building for MegaPirateNG
Excluding arduino core from include paths
Excluding arduino core from link
Binäre Sketchgröße: 224.142 Bytes (von einem Maximum von 258.048 Bytes)
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

COM-Port passt und als Programmer im Arduino ist "AVRISP mkII" eingestellt.

Max
 

QSXE

Erfahrener Benutzer
#2
Hallo Max,

Mir ist vor einiger Zeit genau das gleiche wie dir mit dem Board passiert und so weit ich mich Erinnern kann lags bei mir an nem kaputten FTDI adapter. Könnte natürlich aber auch auf eine kalte Lötstelle oder Steckverbindung zwischen Board und Adapter zurückzuführen sein.

Felix
 

Spencer

Vollthrottle
#3
MPNG 3.0.1 - R1 ?
This release support only boards with MPU6050 and MS5611 chips!!! Mainly I'm tested it on RCTimer Crius v1 and v2. Generally, you may try to run it on other boards with same chips.
Beschreibe bitte mal welche Firmware, welcher Arduino. Klappt es denn MultiWii 2.2 aufzuspielen?

VG

Sven
 
#4
Hier mein Board-Layout (ist zwar nicht das multiwii pro 2.0, aber die Pins sind identisch mit meinem board):

und hier der Link zu meinem ftdi-Adapter von ELV:
http://www.elv.de/mini-usb-modul-um2102-komplettbausatz.html
Die Firmware ist die Megapirateng 2.8. Aber ich glaube das ist irrelevant. Arduino hab ich die 1.0.3 (downgeloaded nach dem Howto von www.megapirateng.com).
Ich vermute, das Problem ist der FTDI-Adapter. Ich habe folgende Verdrahtung:
TxD -> RX0
RxD -> TX0
GND -> GND
+5V -> 5V

auf dem FC-Board gibts noch DTR. Das habe ich versuchsweise schon mit allen möglichen Pins des FTDI-Adapters verbunden, bringt aber nichts. Ich habe folgende Pins auf dem FTDI: RTS, CTS, SUSPEND, RI, DSR, DTR, DCD.
 

Rangarid

Erfahrener Benutzer
#5
Wenn du sagst du hast den ISP ausgewählt benutzt du dann auch die Funktion Firmware hochladen über ISP? Wenn du nur den FTDI dran hast musst du nämlich die Firmware auch über FTDI hochladen, das hat mit einem ISP nichts zutun.

//EDIT ach jetzt seh ichs, du hast RST nicht verbunden. Das braucht der Arduino um neuzustarten und in den Bootloader zu gehen. Alternativ kannst du auch genau in dem Moment wo er anzeigt, dass das Compilieren fertig ist (die Meldung mit xxx kb von xxx kb verbraucht) den Reset Knopf drücken. Das erfordert aber etwas Übung.

Wenn du einen FTDI Adapter hast verbinde ihn doch mal bitte komplett mit den FTDI-Heraders, es hat ja einen Sinn, dass das FTDI Kabel aus 6 Adern besteht und die FTDI-Headers zu sechst sind.
 
Zuletzt bearbeitet:
#7
Hallo Quadmax,

das Problem ist das der Arduino Bootloader nach dem Reset bzw. nachdem der Atmel Spannung bekommen hat nur einen kleinen Moment wartet ob er neu programmiert werden soll.

Bei der Programmierung über die Arduino IDE wird kurz vor dem Programmiervorgang ein Reset des Atmels ausgelöst, dies geschieht durch kurzeitiges setzen des DTR auf Low (Minus), dadurch wird wieder der Bootloader aktiv und der Programmiervorgang kann beginnen.

Entweder Du löst selbst von Hand einen Reset des Atmels kurz vor dem eigentlichen Programmiervorgang aus, ist aber dann glückssache ob man den richtigen Zeitpunkt trifft.

Oder Du verbindest DTR von deinem ELV Adapter über einen kleinen Kondensator mit der Reset Leitung des Atmels der FC.

Siehe dazu die Grafik in folgendem Post: http://forums.adafruit.com/viewtopic.php?f=25&t=29807#p150144

Ist aber vermutlich ein anderer Atmel als der den Du auf deinem FC hast, also nicht einfach den Pin aus der Grafik übernehmen!

Gruß, André

Jetzt habe ich gerade noch gesehen das auf deiner FC ja ein DTR herausgeführt ist, also normalerweise solltest Du diesen Pin dann mit dem DTR von deinem ELV Adapter verbinden, dann sollte es eigentlich gehen.
 
Zuletzt bearbeitet:
#9
Ich hab alles ausprobiert. Was jetzt noch sein kann: Falscher "Programer" in der Arduino IDE eingestellt.
Worauf ich aber jetzt noch mehr tippe: Der Bootloader ist zerschossen. Ich hab nämlich dämlicherweise aus Verzweiflung gestern versucht, per USB zu uploaden. Da ja mein USB Anschuß abgebrochen ist hab ich ihn einfach mit der Hand auf die Kontakte geddrückt. Während des Uploads hab ich dann wahrscheinlich den Kontakt wieder verloren und der Upload wurde mittendrin abgebrochen.
Gibt´s hier irgendwo eine detailierte Anleitung wie ich den Bootloader wieder draufbekomme (Multii pro 2.0).
 
#10
Das Problem war ein Bug in der 3.0.1 R1. Ich hab den Bootloader neu geflasht und die Version 3.0.1 R2 draufgespielt. Jetzt geht´s. Allerdings kann ich keine neue Firmware uploaden ohne vorher den Bootloader zu flashen. Wahrscheinlich hab ich noch ein "Reset-Problem" mit meiner FTDI-Verdrahtung.
 

Spencer

Vollthrottle
#11
Funktioniert das hier ohne den Bootloader neu aufzuspielen?

#define BOOTLOADER_BUGFIX "234fs34567hf"

Ersetze (“234fs34567hf”) mit zufäligen Buchstaben und Zahlen und versuche die Firmware neu aufzuspielen.
VG

Sven
 
FPV1

Banggood

Oben Unten