IMU + OSD + Datalink + GPS + Baro; Tauglich für FlyDuino/MultiWii Arduino?

Status
Nicht offen für weitere Antworten.
#1
Hallo Community,

ich war zwar immer leser, möchte heute aber erstmal was Fragen! Zu mir: Ich bin Alex, habe vor ein paar Tagen zum ersten mal mit Videolink mein Flugzeug geflogen und bin nun etwas darauf "versessen" :)

Ich habe hier zum testen eine IMU (eigendlich ein kompletter Bordrechner) die zwar läuft, aber ich mich frage ob dieses FlyDuino-Projekt (MultiWii Arduino) soweit anpassbar wäre, damit ich diese Elektronik verwenden kann (der Grund ist einfach, FlyDuino ist Quelloffen und ich habe schonmal mir nen Arduino Uno zum "spielen" zugelegt):

Als Anhang hab ich mal ein Foto eines solchen Boards gepostet (dies ist etwas älter und es fehlen die Pins, mein neues hat mehr Komponenten drauf wie Max7456, GPS MTK3329, BTM222, MPU6050, BMP085 und KMC6343). Programmieren kann ich es über den ISP. Das kann Arduino sogar über USBasp. Ein passenden Bootloader für Arduino hab ich leider keinen, sonst könnte ich RxD und TxD vom Board nehmen (alle Pins sind rausgeführt).

Kurz zum Board:
Das Board ist ein vorbestücktes Board mit den Sensoren drauf und ich würde gerne die FlyDuino darauf anpassen (später für meinen QuattCopter, momentan aber für mein Flugzeug, vorallem wegen OSD :cool: ).
Das Board mit OSD etc. funktioniert. Die Firmware ist aber Closed :-( . Allerdings habe ich das Pinout für die Komponenten (die sind frei, falls man wie ich Arduino verweden möchte) um selber was anpassen zu können:
Ein FlyDuino-Projekt von dem Ding gibt es aber nicht!

uC: ATMega128 @16MHz
MAX7456:
CS -> PC1
SDin -> PC2
Sclk -> PC5
SDOut -> PC3
LOS -> PC0
Max_Reset -> PC4

Sensoren: MPU6050; BMP085; HMC6343;
I2C:
SCL an PD0
SDA an PD1

GPS: Mediatek MTK 3329
3D-Fix -> PA0 (zeigt dem uC sofort Fix an ohne das er die Daten abfragen muss; soll wohl zur einfacheren Auswertung sein)
GPS-Tx -> PD3 (von uC zu GPS)
GPS-Rx -> PD2 (von GPS zu uC)

Eingang für Fernsteuerung:
Summensignal -> PD4 (das ist der ICP-Pin am AVR)

BlueTooth BTM222:
PE5 -> B_RxD (zum BTM)
PE4 -> B_TxD (vom BTM)
PE3 -> B_CTS (die beiden gehören
PE2 -> B_RTS wohl zur Flussteuerung)

Und jetzt etwas knifflig:
Die Servoansteuerung erfolgt mit nem Mega8 @16MHz
S1 bis S6 -> PD2 bis PD7
S7 - S8 -> PB1 - PB2

PD0 -> RxD (Servobefehl vom Mega128)
PD1 -> TxD (zum Mega128, wird aber nicht verwendet)

Alternativ hängt der M8 noch mit I2C am Bus. Aber dafür habe ich keine Firmware. Musste mir also selbst was stricken. Der Steuerbefehl sieht etwa so aus Char(XX);Char(YY);Word(0-65535)
Char XX ist ein Sync zur Erkennung das ein Befehl kommt. YY ist der Servoausgang 1-8- Word ist die zweiByte-Menge um den Timer 0-655535 auszugeben. Somit kann ich alle Servos 0-100% ausfahren (eigendlich sogar mehr ;-) )

Bei I2C wäre die M128- TxD und RxD voll frei für UserCommands! Wäre somit auch interessannt ein GSM-Modem anzuschließen und das Ding bei nem Notfall per Handy/SMS zum Startpunkt zu befehlen (Stichwort Notfallredundanz)

Mein eigendliches Problem ist momentan das ich mich in dem Massen von Quellcodezeilen garnicht mehr zurecht finde. Ich habe mal nur versucht die Sensoren auszuwerten, aber komme auf keinen grünen Zweig! Basic liegt mir etwas besser, aber dafür ist die Hardware wohl zu komplex.

Als "Firmware" wollte ich diese hier hernehmen:
"MultiWii_dev_2013_07_15_r1539"
http://code.google.com/p/multiwii/downloads/list

Die "MultiWii"-Firmware habe ich selber schonmal bei nem sehr guten Kumpel auf seinen QuatCopter mit NanoWii geflashed. Das Ding fliegt! Ich hab aber 1.) einen Flieger und 2.) gesehen das MultiWii auch Flugzeuge kann, so dachte ich es sollte möglich sein diese Firmware für das Board zu verwenden (um auch später durch "umstöpseln" meinen Quatt im Schrank zu fliegen)

So, hoffe Euch jetzt mit dem riesentext nicht etwa verärgert zu haben, hoffe aber darauf das mir jemand erklärt wo ich was abändern muss!

Viele Grüße
Alex (heist das nich Hals und Beinbruch??)
 

Anhänge

Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten