Quadrocopter + Arduino Mega + MPU-9150 + Multiwii | Stand in the air

Status
Nicht offen für weitere Antworten.
#1
Hallo Leute,
Ich arbeite an einem Projekt dass wie folgt aussieht:
Mein Quadrocopter mit einem Arduino Mega und MPU-9150 ausgestattet sollte selbstständig in der Luft stehen. Ich weiß, er kann sich zwar regulieren aber er wird nicht auf der Stelle stehen bleiben, das werde ich mit einer Kinect regeln, aber das ist wieder ein anderes Thema. In diesem Post möchte ich nur ein paar Fragen über Multiwii stellen. Achso und er soll keine Fernsteuerung besitzen

A Ist der erste Teil, also das alleinige ausbalancieren mit dem Mega MPU-1950 und Multiwii überhaupt möglich?
B Wenn A der Fall sein sollte,
1.Wo kann ich die Output ports angeben, an welchen die ESCs hängen?
2.Wo kann ich die Input pins vom MPU-9150 angeben?

Also danke schonmal für eure Hilfe im Vorraus
Ich häng noch ein paar Bilder von meinem Quadrocopter an, falls des jmd, interessiert:)
 

Anhänge

Zuletzt bearbeitet:

Vampire

Erfahrener Benutzer
#2
Hi!

Versteh ich das richtig? Du willst die MultiWii Firmware auf den Arduino Mega aufspielen und die Ports die die MultiWii verwended auf die Pins des Arduino Mega mappen?
Hast Du denn Ahung von? Programmierung mit Arduino? Wenn ja, dann check erstmal, ob der Arduino überhaupt alle benötigen Ein und Ausgänge hat. Zudem wirst Du nicht drumherum kommen, Dir genau anzusehen welche Pins benötigt werden und so weiter. Meines Wissen läuft die MultiWii zudem nur mit dem MPU-6050. Di willst hier einen anderen Sensor verwenden, das wird ohne größere Anpassungen in der MultiWii Firmware nicht klappen.
Für mich hört sich das ein wenig nach einem Schnellschuss an. Aber ich lasse mich gern überraschen. Zu Deiner Frage: Ich kann Dir leider nicht sagen, welche Pins auf welche Pins gemappt werden müssen, dass musst Du sicher selbst herausfinden.

Gruß, Markus
 

schnellmaleben

Erfahrener Benutzer
#3
Die Pins finden sich in jeder (besseren) Mega-basierten Flight Control Doku, z.B. hier unter Files 'MWC Pro Pinouts". Es gibt doch eine zweite Stelle wo man so was hervorragend nachgucken kann, und das ist der Quellcode, da stehts sowohl als Kommentar als auch als Pin-Nummern drin (bezogen auf die PORTs).

MultiWii (2.3) unterstützt neben der MPU6050 noch andere, aber die 9150 eben gerade nicht, da ist noch was zu tun. Ohne mir das Datasheet angeguckt zu haben, vermute ich mal die kommt wie alle anderen an den I2C-Bus.
 
#4
Hast Du denn Ahung von? Programmierung mit Arduino?
Ja, bin seit ca. einem Jahr begeisterter Arduino und Quadrocopter fan

Wenn ja, dann check erstmal, ob der Arduino überhaupt alle benötigen Ein und Ausgänge hat.
Müsste er haben, ich hab schonmal ein kleines Script geschrieben, dass die Motoren laufen lässt und den MPU-9150 konnte ich auch ohne Probleme auslesen.

Für mich hört sich das ein wenig nach einem Schnellschuss an
Also ich habe jetzt schon viel zu viel Zeit, Mühe und vorallem Geld in das Projekt investiert um aufzugeben :)


Ok, was haltet ihr davon wenn ich ein fertiges Multiwii-Board nehme. Kann ich dem dann auch über Seriell Daten übertragen, also zb. dass er nach recht bzw. links gehen soll?
 

Vampire

Erfahrener Benutzer
#5
Ja das kannst Du auch machen! Vielleicht ist es sinnvoll einfach Dein Arduino Board zwischen Funkempfänger und MultiWii Board zu klemmen, dann kannst Du die Steuerdaten für die MutiWii selbst noch modifizieren und optional auch ohne Funke fliegen, wie Du ja wolltest Ich würde Dir aber empfehlen, es so zu machen, dass Du jederzeit die Steuerung mit einer normalen Funke übernehmen kannst. Allein schon wegen der Rechtslage.

Ich bin mal gespannt wie Du das alles anstellen willst. Erscheint mir jedenfalls recht Komplex.

Gruß, Markus
 
#6
Ok wenn ich zb. ein board wie das Multiwii Pro nehme, das wird ja per usb programmed, kann ich dann über die USB Schnittstelle auch die Seriellen Daten reinfüttern?
 

Vampire

Erfahrener Benutzer
#7
Du kannst die Steuerdaten direkt über die dafür vorgesehenen PCM (PWM) Eingänge einführen (Da wo normalerweise der Funkempfänger angeschlossen wird). Ob Du die USB Schnittstelle als UART nutzen kannst weiß ich nicht, müsstest Du mal ausprobieren.

Gruß, Markus
 

quansel

Erfahrener Benutzer
#8
Ich fang mal weiter vorne an: was haste damit genau vor ... Ganz ohne Fernsteuerung?
Das Problem könnte sein, dass autonome Flüge sich irgendwo zwischen verboten und
Grauzone befinden. Daher kann ich Dein Projekt nicht ganz nachvollziehen ...
 

ernieift

Erfahrener Benutzer
#9
Mal abgesehen von den Gefahren, die von dem Projekt ausgehen, wenn das Teil außer Kontrolle gerät. Es ist möglich über die normalen seriellen multiwii Kommandos die Fernsteuerungskanäle nicht nur zu lesen sondern auch zu schreiben. Also einfach einen zweiten Arduino (oder BT-Modul) an den seriellen Port hängen und per $-Kommandos übertragen. Ist nicht dokumentiert, geht aber.
 
#11
Also wenn das ganze bis jetzt noch ein wenig sinnlos erscheint, ich will das ganze dann vom Boden aus mit einer Kinect steuern.
Als Transmitter zwischen PC und Quadrocopter hätte ich an einen Raspberry pi gedacht, an den die Daten über Wlan geschickt werden. Achso und das ganze soll nicht in einem großen Raum sein also 5x5m vlt.
 

schnellmaleben

Erfahrener Benutzer
#12
Ich hatte, bevor ich mit dem ganzen RC-; FPV- und Copter-Kram angefangen habe, auch so gedacht; WLan/Raspi... Man ist halt versucht das zu nehmen was man kennt, so wars jedenfalls bei mir ;) Inzwischen sehe ich das anders, ein RC-Link ist einfach aufgebaut, einfach zu verstehen, sehr robust und auch einfach von externerer Technik zu steuern (z.B. Lehrer/Schüler-Buchse, PPM rein und fertig), mal abgesehen von dem Vorteil im Notfall einfach eingreifen zu können.
Für Dein Vorhaben, schau Dir mal die (3DR) Telemetrie-Module an (gibt auch funktionsäquivanente Alternativen mit anderen Funktechniken, aber diese sind preislich auch sehr attraktiv), die machen den seriellen Link drahtlos und Du kannst das von ernieift erwähnte RCSerial so vom Boden/der Kinect(-Station) reinreichen. Dann sparst Du auf der Strecke schon mal deutlich Latenz, die Kinect wird je nach Bildverarbeitssoftware nämlich ordentlich zusätzliche Latenz verursachen.
 

Vampire

Erfahrener Benutzer
#13
WLAN ist nicht echtzeitfähig. Da bekommst Du nur Probleme. Ich benutze udn empfehle immer wieder die Funkmdoule DNT24P. Könne auch als "Kabelersatz" mit niedriger Latenz und Echtzeitfähigkeit betrieben werden. Sie werden einafch an eine UART angeschlossen.

Mir scheint, es fehlt Dir noch einiges an Erfahrung mit Eingebetteten Systemen aber das ist nicht schlimm, so hat jeder angefangen.

Gruß, Markus
 
#14
Könnte ich eigentlich nicht auch einen Empfänger von einer Fernsteuerung an den Arduino bzw das Multiwii Board hängen, und dann vom Pc aus auf gleichem Kanal funken, müsste natürlich auch dafür ausgelegt sein, weil ja jede Fernsteuerung nur auf einen Empfänger passt.
Oder was wäre denn mit einem Bluetooth Modul das müsste ja in Echtzeit gehen oder nicht?
 
Zuletzt bearbeitet:

Vampire

Erfahrener Benutzer
#15
Geht beides. Musst Du nur mal ausprobieren und herusfinden, wie Du diese fertigen Komponenten ansteuern kannst. Da bleibt Dir ne Menge Recherche nicht ersparrt.
 

ernieift

Erfahrener Benutzer
#16
Ein Problem bei RCserial bleibt glaube ich noch. Der copter bekommt nicht mit, wenn keine Daten mehr übertragen werden. D.h. Du hast kein failsafe o.ä. Dazu müsstest Du noch ein TimeOut in die Multiwii einbauen. Sonst fliegt Dir das Teil mit ACC sonstwo hin... Ich kann mich aber auch irren.
 
#17
So hab jetzt mal ne Nacht drüber geschlafen und hab mir folgedes überlegt: Auf dem Quadrocopter sitzt ein Multiwii Board zb. Multiwii Pro v2. Multiwii sorgt dafür, dass der Quadrocopter überhaupt fliegt. Dann sitzt noch ein Arduino drauf der an die Ports angeschlossen ist wo auch der Empfänger von der Fernsteuerung wäre. Der Arduino bekommt seine Daten von einem Funkmodul(geht da das 3dr telemetrie modul mit 933mhz?).
Am Pc angeschlossen ist die Kinect. Die Daten von der Kinect werden von einem Java Programm ausgelesen und verarbeitet. kann ich das Telemetire modul jetzt direkt per Java ansteuern oder muss ich da noch einen Arduino zwischen schalten?
 

schnellmaleben

Erfahrener Benutzer
#18
Ja, das geht direkt: Per Java Serial Library kannst Du auf die serielle Schnittstelle die das PC-seitige Funkmodul per USB/FTDI bereitstellt direkt (lesen)/schreiben.

Dein Aufbau auf dem Copter macht so auch Sinn. Ich würde den klassischen Empfänger aber trotzdem mit anschließen, und zwar vor dem Arduino der Empfänger/RC-Signalerzeuger spielt, dann kannst Du z.B. per RC-Kanal und/oder ab Erkennung gültiger Signale vom Boden zwischen Automatik und Manuell hin- und herschalten (entweder Bodensignale weiterleiten oder RC-Empfänger-Signale).
Ich habe so was mal mit einem autonomen Fahrzeug gebaut, man braucht den manuellen Eingriff am Anfang wirklich ständig, bevor die Automatik perfekt läuft.
 
#19
Also ich habe jetzt mal eine Liste angefertigt mit den Teilen die ich brauchen werde:
3dr telemetrie:
http://www.quadrostore.de/produkt/3dr-radio-telemetrie-set-433-mhz/

Arduino Mega:
http://www.reichelt.de/ARDUINO-MEGA...ICLE=119696&artnr=ARDUINO+MEGA&SEARCH=arduino

Kinect:
http://www.future-x.de/microsoft-kinect-f%FCr-microsoft-xbox-360-p-77646/?pv=16

Akku 2x:
http://www.conrad.de/ce/de/product/...2400-mAh-Stecksystem-XT60-XH?ref=searchDetail

Propeller:
4x http://flyduino.net/8x45-Carbon-reinforced-AP-Propeller-Set-black-2-CW-and-2-CCW
4x http://flyduino.net/10x45-GF-reinforced-Propeller-Set-orange
4x http://flyduino.net/8x45-Propeller-Set-Green

Multiwii Board:
http://flyduino.net/Multikopter-FC-Multiwii-BaseFlight

Wen wem was auffält was nicht passt oder ich was vergessen habe bitte melden. Als Fernsteuerung habe ich eine alte robbe mars 35 mhz. Geht die den noch? Und passt das Multiwii board was ich rausgesuch habe?
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten