[HOWTO]Crius MultiWii Lite update auf MultiWii 2.2

evilknivel

Neuer Benutzer
#1
Erstmal eine hallo in die Runde ich bin der neue :-D

Habe erst vor ca. 1er Woche angefangen mich mit dem Thema Multicopter zu beschäftigen bin aber doch schon recht tief eingestiegen. Mein Copter ist zwar noch nicht Flug fertig aber dennoch möchte ich meine Erfahrungen mit dem Crius Multiwii Lite mit euch teilen.

Ich muss ja zugeben von "never touch a running system" bin ich kein freund ich brauche immer eine aktuelle Version. Deshalb habe ich mich auch vor dem ersten Flug entschieden mein Crius auf Multiwii 2.2 zu aktualisieren.

Das einzige Problem war das ich auf Teufel komm raus keine Verbindung in der Arduino IDE bekam. ich konnte einfach keinen Sketch hoch laden. Die "FTDI" RS232 Verbindung stelle ich per FOCA 2.2 FT232RL BOB her.
Auch da hatte ich Probleme denn die Beschriftungen am FTDI Port auf den Crius sind Vertauscht. (Bei TTL ist das nicht der Fall!)

Also der Anschluss erfolgt so:

FTDI BOB Crius FTDI port

tx ---- TXO
rx ---- RXI
vccio ---- VCC
gnd ---- GND
dtr ---- DTR
cts ---- CTS

Als Treiber habe ich den von der Arduino IDE mitgelieferten genommen. (C:\****\arduino\driver\FT232R oder so)

Aber der Upload funktionierte trotzdem nicht also entschied ich mich dazu ein Update (oder viel mehr eine Neuinstallation) des Bootloaders durch zu führen. Aber auch das lief nicht per FTDI. Also ein UsbASP lag ehh noch rum also ran an den ISP auf dem Crius (Pin1 ist mit einer kleinen Linie gekennzeichnet). Die aktuellste WinAVR Version ist dabei Pflicht.

Das Crius MiltiWii Lite hat einen ATMEGA328P mit 5V und 16MHz Quarz und basiert auf einem Arduino Pro Mini. (Hat auch bissel gedauert das raus zu finden Anfänger halt :p)

Hier einmal der ein Auszug aus der Boards.txt der Aruino IDE

Code:
##############################################################

pro5v328.name=Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328

pro5v328.upload.protocol=arduino
pro5v328.upload.maximum_size=30720
pro5v328.upload.speed=57600

pro5v328.bootloader.low_fuses=0xFF
pro5v328.bootloader.high_fuses=0xDA
pro5v328.bootloader.extended_fuses=0x05
pro5v328.bootloader.path=atmega
pro5v328.bootloader.file=ATmegaBOOT_168_atmega328.hex
pro5v328.bootloader.unlock_bits=0x3F
pro5v328.bootloader.lock_bits=0x0F

pro5v328.build.mcu=atmega328p
pro5v328.build.f_cpu=16000000L
pro5v328.build.core=arduino
pro5v328.build.variant=standard

##############################################################
Flashen tute ich immer mit AVRDUDE und das über die Kommandozeile(cmd).

also 1. Boodloader Bereich im Speicher entsperren mit
(in boards.txt hinterlegt pro5v328.bootloader.unlock_bits=0x3F):

Code:
avrdude -p m328p -c usbasp -U lock:w:0x3F:m
2. Fusebits und die Bootloader HEX flaschen mit
(bootloader sind auch im Ordner der Aruino IDE unter Hardware zu finden):

Code:
avrdude -p m328p -c usbasp -U efuse:w:0x05:m -U hfuse:w:0xDA:m -U lfuse:w:0xFF:m -U flash:w:ATmegaBOOT_168_atmega328.hex
und 3. den bootloader wieder abschließen:
(auch in boards.txt hinterlegt pro5v328.bootloader.lock_bits=0x0F)

Code:
avrdude -p m328p -c usbasp -U lock:w:0x0F:m
USBASP wieder in die Ecke feuern wo er die ganze Zeit davor schon lag.

Und das Crius wieder per FTDI an den Rechner hängen.

Anschließend könnt ihre den Crius über die Arduino IDE mit der MultiWii 2.2 Sketch bespielen und alles läuft :)
Dazu einfach asl Board den Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328 wählen, Programmer ist der AVRISP mkII und den richtigen com-Port einstellen.

Ich hoffe geholfen zu haben und bitte immer her mit den Anregungen.
 
#2
Sehr interessant. Ich hab hier auch noch so ein Board ich bekomm immer beim flashen mit Arduino diese Fehlermeldung:

Binäre Sketchgröße: 18.142 Bytes (von einem Maximum von 30.720 Bytes)
avrdude: stk500_getsync(): not in sync: resp=0x00

könnte das auch am Bootloader liegen? Wenn ja wie genau flashe ich den?

Gruss Robert
 

JUERGEN_

Generation 60++
#3
eigentlich ist es viel einfacher einen neuen Bootloder aufzuspielen.
mit der ARDUINO-IDE selber.

und so viele ARDUINO mit einem ATMEGA328 und 16MHz Quarz gibt es ja nu auch nicht.


und wenn schon neu, dann heute auf einem ATMEGA328 den ARDUINO-UNO anwählen.
(gibt sogar noch ein paar Bytes mehr auf dem Prozessor)

den Passenden Programmer auswählen,
geht sogar mit einem ARDUINO selbst. ;)
- http://arduino.cc/en/Tutorial/ArduinoISP

dabei ist das ganz egal wie der ARDUINO heisst.



auch ein MWC, kann einem MWC ein Bootloder verpassen.

... es kann nie schaden etwas mehr über ARDUINO zu lesen. ;)
 
Zuletzt bearbeitet:
#4
Nachdem mich das besagte Wii Board nun schon über ein Jahr geärgert hat hab ich mich heute entschossen eine HerzOp durchzuführen. Zum wegschmeißen war es mir zu schade da ein Baro und Magnetometer drauf sind.

Als Spender diente ein Arduino Pro. Diesem hab ich mittels AOYUE Heißluftstation den ATMEGA328P AU entlockt.
Anschließend auf das Wiiboard gelötet. Mir tun noch die Augen weh von den kleinen Pins.

Ob ich das nun fachmannisch gemacht hab oder nicht weiß ich nicht - es geht zumindest wieder alles.
Hier ein paar Bilder.
 

Anhänge

JUERGEN_

Generation 60++
#5
....
Als Spender diente ein Arduino Pro. Diesem hab ich mittels AOYUE Heißluftstation den ATMEGA328P AU entlockt.
Anschließend auf das Wiiboard gelötet. Mir tun noch die Augen weh von den kleinen Pins.
es ist immer gut,
eine AOYUE Heißluftstation im Hause zu haben. ;)
zumal sie nicht nur zum löten zu gebrauchen ist. (Heisskleber dein Freund)


aber meine "MultiWii Lite" sieht immer noch so aus.

AERODUINO-MPU.jpg

jedes Bit, einzeln auswechselbar. :D
 
Zuletzt bearbeitet:

DietmarG

Neuer Benutzer
#6
Hallo evilknivel,
habe Deine Flashanleitung gefunden, komme aber überhaupt nicht klar weil ich bieher keine Ahnung vom flashen habe. Ich habe folgendes Problem, meine Crius SE v2.5 läßt sich nicht mehr programmieren. Nicht mit FTDI und auch nicht mit USBISP. Gibt es eine Anleitung zum aufspielen des Bootloaders für Doofe?
Grüße DietmarG
 
FPV1

Banggood

Oben Unten