Quadrocopter mit PWM

Hi Leute,
ich will die vier Motoren eines Quadrocopters mit einem Raspberry Pi ansteueren. Ich weiß, dass das kein Raspberry Pi Forum ist aber darum geht es auch nicht.

Glaubt ihr dass PWM Signale genau genug sind um den Quadrocopter gerade zu halten und zu lenken?
Und kann ich die Geschwindigkeit der Motoren so steuern wie beim Arduino eine Led dimmen?

Danke für eure hilfe schonmal im Vorraus

Was denkst du denn, wie auf "andere Weise" die Steuerung gemacht wird?
Das geht nur per PWM..

Ich halt übrigens den Pi für das völlig falsche Teil für nen QuadC. Da ist ein dino entscheiden besser geegnet, da Steuern und regeln nicht unbedingt das ist, wofür ein Pi gedacht ist.
Hat ein Dino einfach die besseren Voraussetzungen. Dass ers ohne weiteres kann, ist ja bewiesen.

Prinzipiell werden die Motoren schon so gesteuert, wie eine LED gedimmt wird- kommt halt drauf an, was deine Motortreiber brauchen.

Ok Danke aber es geht nicht nur darum ihn zu steuern, sondern er soll z.B selbstständig landen oder auf der Stelle stehenbleiben.
Ich habe leider von Dino noch nichts gehört und weiß nicht was der kann und es ist halt so dass ich mich jetzt mit Linux und besonders dem Raspberry einigermaßen auskenne.

Aber glaubt ihr dass die Pwm Signale mit Motortreiber genaugenug sind? oder brauche ich da noch irgendwelche anderen Bauteile? Wie zum Beispiel einen Speed Controller?

Wenn nicht dann sieht das alles jetzt so aus:

Raspberry Pi --> Motortreiber --> Motor

Die Motoren die ich dazu benötige sind ja brushless Motoren. die haben ja auch drei Kabel also plus minus und das dritte ist soweit ich weiß der Regler.

Wenn ich einen qcopter bauen sollte, würde ich mir als LETZTES Gedanken über die Auflösung und Reaktionsgeschwindigkeit der Steuerung für den Antrieb machen.
Viel (!) entscheidender ist doch der Gyrosensor und der entsprechende Stabiliserungsalgorithmus. Ich denke das macht 99.9% eines qcopter-Projekts aus. Die Funktion viod HaltMaGeradeDieKiste(float args[]) ist doch das A und O.
Ich behaupte einfach mal ob brushless oder nicht, ob ein drittes Kabel oder nicht, die PWM ist sicher NICHT im Motor enthalten. Das musst du extern regeln, da wirst du noch auf nette Probleme kommen - aber da ich Leute hasse, die immer nur haten und sagen "lass es" wünsche ich frohes Schaffen :slight_smile:
Wenns was gibt, wobei ich helfen kann, mach ich das gern. Interessantes Projekt!
Was hast du denn bereits ?

Moinsen. Also ich arbeite ja gerade auch an einem Arduino Quadrocopter, den man hinterher mit Wlan steuern kann.
Was du auf jeden Fall brauchst sind ESC's oder auch UBEC's, die den Motor steuern und die über PWM vom Arduino getseuert werden. Außerdem würde ich dir den Arduino Mega für diese Aufgabe empfehlen.
Ps: Falls du Fragen hast oder mal nicht weiter weißt dann frag mich ruhig, da ich mich schon etwas länger mit Arduino und Quadrocoptern befasse. Es ist zwar kein einfaches Thema, aber wie BesterMann schon sagt, es gibt immer Probleme, aber das schafft man schon :slight_smile:

xxxmicroxxx Du hast ganz falsche Ideen und Informazionen.
wie Pram sagt werden die Brushlessmotoren durch ESC angesteuert und diese wiederum wie Servos mit PPM Signal (ein Impuls von 1mS bis 2mS alle 20mS (50Hz) Das ist zwar in einem gewissen Bereich gleich einem PWM- Signal.

Lies Dich in das Thema ein denn so wie jetzt kommst Du nie zu einem fünktionstüchtigen Quadrocopter

Grüße Uwe

Stimmt uwefed ... ich glaube du kennst ja mittlerweile alle Probleme die ich bisher hatte :smiley:
Bis jetzt fliegt er leider immer noch nicht, aber ich gebe niemals auf !

wieso nimmst du nicht ein direkt für Quadrocopte roptimiertes board, wo direkt die nötigen sensoren drauf verbaut sind?
da kannst du dir ann megapirate oder so aufspielen:

http://witespyquad.gostorego.com/flight-controllers/multiwii-pro-2-0-flight-controller.html

Oder alternativ gleich ein arducopter board:

zwischen board und motoren kommen dann ESCs

In diesem Bereich gibt es mittlerweile eine irrsinnige Auswahl.

Beispiele:

Für den Anfang: Nach MultiWii, Wiicopter und Flyduino googlen.
Später: Nach APM2.5 und Arducopter googlen.

Fang klein an.

Gruß Chris

PS: Um einen Quadrocopter in die Luft zu bekommen reicht ein einziger Gyro. :wink:

ich bin ja noch ganz neu in der Arduino-Welt, weil er wirklich ein paar praktische Vorteile liefert, aber vorher hab ich wirklich alles selbst auf ics von TI programmiert - selbst meine soft-PWM musste ich selbst machen. Das birgt den Vorteil, dass man jetzt verstanden hat, was passiert, wenn ich beim Arduino einfach irgendwelche highlevel Codefetzen zusammenbaue.

Meine Frage an den Threadersteller: Soll das Ding einfach irgendwie fliegen, das so einfach und schnell wie möglich und du willst gerade noch so rechtfertigen können, dass du sagst, dass du es "selbst gebaut" hast - oder willst du einfach wie Lego für Erwachsene fertiges Zeug zusammen bauen ? Beides könnte ich gut verstehen, aber ich gehe momentan mal von letzterem Aus ?
Dann nimm das Board, das hier erwähnt wurde, auf dem alle Sensoren drauf sind, da gibts dann sicher auch einen fertigen Code für und dann wird das schon fliegen.
Interesse an so einem Projekt hätte ich auf jeden Fall. Willst du den Rahmen etc selbst bauen/schweißen oder einen fertigen nehmen?
Ach ja, wenn ich mal ins Blaue raten sollte, ist das dritte Kabel das Tachosignal des Motors ? Keine Ahnung, aber das würd irgendwie Sinn ergeben...

MFG
Daniel

Kein Tacho.
Bürstenlose Motoren sind -im Prinzip- nämlich Wechselstrommotoren.
Dort müssen die Spulen einzeln so angesteuert werden, dass sich das Ding dreht- die Spulen selber bewegen sich nicht, es dreht sich nur der "Magnet" um die Spulen.
Genaugenommen sind da immer mehrere Spulen miteinander verschalten...und es wird sozusagen die Phase verschoben, ähnlich nem Schrittmotor.
Drei Kabel sind da das minimalste, im Grunde könnt man auch jede Spule einzeln ansteuern, dann liefen die Brushless-Motoren auch deutlich besser.

Also ich habe mich heute morgen mal ein bisschen in das Thema Quadrocopter und Ansteuerung von Brushless Motoren über ETCs eingelesen. Was ich auf keinen Fall will ist ein fertiges Bord kaufen die Motoren verkabeln, dann ein fertiges Programm draufspielen, das ganze auf einen Rahmen setzen und das Ding dann fliegen lassen.

Also für den Anfang reicht es mir dass er auf der Stelle stehen bleibt was ja mit einem Gyrosensor relativ "einfach" zu realisieren wäre. Aber wenn ich jetzt mal erkläre was das Ding im laufe der Zeit können soll ist glaube ich klar das ich lieber einen Raspberry pi als einen Arduino nehme.

  1. Auf der Stelle stehen bleiben (wäre ja mit einem Arduino noch relativ leicht machbar)
  2. Automatisches anfliegen von GPS Koordinaten und Aufnahme von Bildern (Da stößt der arduino wahrscheinlich schon an seine Grenzen)

Desweiteren geht es mir nicht nur um die Realisierung des Projektes sondern auch darum mehr Erfahrung mit dem Raspberry Pi und der Ansteuerung von Hardware über die GPIO Ausgänge mittels Phyton zu sammeln.

Und wenn ich das jetz richtig verstehe funktioniert das ja so:
Bei servo wird eine Gradzahl angegeben die er anfährt.
Bei Brushless Motoren wird auch eine Gradzahl angeben und je nach der Höhe der Zahl bewegt sich der Motor schnell oder Langsam

Und kann mir jemand einen genauen Gyrosensor empfehlen? Weil ich will jetzt keinen Chinaschrott (also nichts gegen Chinaware aber es doch so billige Sachen kann man nicht mit hoher Qualität herstellen) kaufen der dann zu ungenau ist und mein ganzes Projekt "sabotiert"

Du hast nicht die geringste Ahnung von dem, was du da vor hast. Tut mir leid-ich helfe gerne aber du willst dir nicht helfen lassen.
Alleine der Satz:

Also für den Anfang reicht es mir dass er auf der Stelle stehen bleibt was ja mit einem Gyrosensor relativ "einfach" zu realisieren wäre.

zeigt deutlich, dass du eben nicht weisst, worauf du dich einlässt. Genau das nämlich ist das Problem, an dem sich die meisten erfahrenen Leute momentan die Zähne ausbeissen.
Da ist mit nem bisschen Gyrosensor nix zu machen...
Wobei: stehn bleiben geht sogar ganz ohne Technik: stell ihn auf den Tisch und fertig. :wink:

Auch dein Beharren auf dem Pi (wahrscheinlich haste den grade da? ) ist Nonsens-er eignet sich keineswegs besser, wird sich nie besser eignen und wird mehr Probleme aufwerfen, als du bewältigen kannst (in nächster Zeit jedenfalls).
Wenn du Punkt 2 so weit reduzierst, dass die Bilder nicht auch noch in dem Ding verarbeitet werden müssen, sondern lediglich der "Auslöser gedrückt werden muss" seh ich im übrigen nicht, wieso zumindest der MEGA da an irgendwelche Grenzen stossen sollte. Die FPV-Flieger haben auch oft Arduinos oder ähnliches drin, und "fliegen quasi mit".
Und Bildverarbeitung in Echtzeit, Flugsteuerung und GPS zusammen- das wird wohl auch mitm Pi bisschen knapp.

Dass ungesteuerte Flugdrohnen in Deutschland rechtlich höchst kritisch sind, ist die im übrigen hoffentlich bewusst- genau die willst du nämlich bauen.
Dann will ich mal noch eins drauf setzen: da so ein Ding ohne weiteres höher als 30m aufsteigen kann, brauchst du zwingend eine Modellflug-Haftpflicht.

Auch dein Beharren auf dem Pi (wahrscheinlich haste den grade da? ) ist Nonsens-er eignet sich keineswegs besser, wird sich nie besser eignen und wird mehr Probleme aufwerfen, als du bewältigen kannst (in nächster Zeit jedenfalls).

Das nehme ich mir wirklich alles sehr zu Herzen also denkt bitte keinesfalls dass ich mich jetzt so sehr in den Pi verbissen hätte :), es ist nurmal so, dass ich mit dem Pi nunmal schon deutlich mehr Erfahrung habe als mit dem Arduino. Und was sollte der Raspberry den für Probleme aufwerfen, da er ja auch als Microcontroller fungieren kann, genug Pins hat er doch auch oder sehe ich das falsch und vom Gewicht dürfte der an den Arduino Mega auch rankommen.

Du hast nicht die geringste Ahnung von dem, was du da vor hast. Tut mir leid-ich helfe gerne aber du willst dir nicht helfen lassen.
Alleine der Satz:
Quote
Also für den Anfang reicht es mir dass er auf der Stelle stehen bleibt was ja mit einem Gyrosensor relativ "einfach" zu realisieren wäre.

zeigt deutlich, dass du eben nicht weisst, worauf du dich einlässt. Genau das nämlich ist das Problem, an dem sich die meisten erfahrenen Leute momentan die Zähne ausbeissen.
Da ist mit nem bisschen Gyrosensor nix zu machen...
Wobei: stehn bleiben geht sogar ganz ohne Technik: stell ihn auf den Tisch und fertig. smiley-wink

wenn ich da mal so darüber nachdenke ist das wahrscheinlich das Problem wenn er ein bisschen kippt stellt das Programm die Drehzahl der Motoren solange um 1 hoch bis er wieder im Gleichgewicht ist. Allerdings braucht der Quadrocopter ja auch eine gewisse Zeit bis er wieder ins gleichgewicht kommt. und in der Zeit wird immer noch um 1 erhöht. Das ist jetzt nur so eine Vermutung was das Problem sein könnte bitte stellt das Problem richtig dar.

Dass ungesteuerte Flugdrohnen in Deutschland rechtlich höchst kritisch sind, ist die im übrigen hoffentlich bewusst- genau die willst du nämlich bauen.
Dann will ich mal noch eins drauf setzen: da so ein Ding ohne weiteres höher als 30m aufsteigen kann, brauchst du zwingend eine Modellflug-Haftpflicht.

Also um eine Modelhaftschutzversicherung werde ich mich kümmern sobald das Ding fertig ist. Unteranderem dürfte es doch keine rechtlichen Konsequenzen haben wenn ich das Gerät nur Indoor benutze oder?

Achso ich glaube das habe ich noch nicht erwähnt. Der quadrocopter soll die GPS Koordinaten von einem Webserver beziehen. Den internetzugang würde ich hierfür mit einem Surfstick einrichten.

Auch dein Beharren auf dem Pi (wahrscheinlich haste den grade da? ) ist Nonsens-er eignet sich keineswegs besser, wird sich nie besser eignen und wird mehr Probleme aufwerfen, als du bewältigen kannst (in nächster Zeit jedenfalls).

Das nehme ich mir wirklich alles sehr zu Herzen also denkt bitte keinesfalls dass ich mich jetzt so sehr in den Pi verbissen hätte :), es ist nurmal so, dass ich mit dem Pi nunmal schon deutlich mehr Erfahrung habe als mit dem Arduino. Und was sollte der Raspberry den für Probleme aufwerfen, da er ja auch als Microcontroller fungieren kann, genug Pins hat er doch auch oder sehe ich das falsch und vom Gewicht dürfte der an den Arduino Mega auch rankommen.
[/quote]
Auf dem Pi läuft ein Betriebssystem, welches die Performance stark reduziert. Das Timing ist fürn A****.

wenn ich da mal so darüber nachdenke ist das wahrscheinlich das Problem wenn er ein bisschen kippt stellt das Programm die Drehzahl der Motoren solange um 1 hoch bis er wieder im Gleichgewicht ist. Allerdings braucht der Quadrocopter ja auch eine gewisse Zeit bis er wieder ins gleichgewicht kommt. und in der Zeit wird immer noch um 1 erhöht. Das ist jetzt nur so eine Vermutung was das Problem sein könnte bitte stellt das Problem richtig dar.

So eine Regelung wird nicht gelingen. Du musst schon eine komplexere Regelstrecke wählen -> zB. PID

Achso ich glaube das habe ich noch nicht erwähnt. Der quadrocopter soll die GPS Koordinaten von einem Webserver beziehen. Den internetzugang würde ich hierfür mit einem Surfstick einrichten.

Hast dir schon gedanken gemacht über die Größe? Was du alles da einbauen willst, wird sehr viel Strom ziehen. Da müssen schon ein paar Trümmer von Lipos rein, was wieder zur Folge hat, dass deine Motoren deutlich Leistungsstärker werden müssen.

Auf dem Pi läuft ein Betriebssystem, welches die Performance stark reduziert. Das Timing ist fürn A****.

Ok ich habe jetzt nicht gedacht dass das Betriebssystem so viel Resourcen braucht dass das Timing so schlecht ist.
Dann steht es also fest ich werde einen Arduino nehmen. Welchen Arduino soll ich nehmen? Micro vielleicht oder hat der zuwenig Pins für 4 ESC, Gyro und GPS Modul?

Hast dir schon gedanken gemacht über die Größe? Was du alles da einbauen willst, wird sehr viel Strom ziehen. Da müssen schon ein paar Trümmer von Lipos rein, was wieder zur Folge hat, dass deine Motoren deutlich Leistungsstärker werden müssen.

Also: Arduino, GPS Modul, Gyrosensor, das wars eigentlich ich habe mir jetzt überlegt, dass ich den Arduino halt um ihm die Koordinaten mitzuteilen an den Laptop anschließe.

So eine Regelung wird nicht gelingen. Du musst schon eine komplexere Regelstrecke wählen -> zB. PID

Sorry hab ich noch nie gehört für was steht das, unter Pid sagt mir google nichts

xxxmicroxxx:
Ok ich habe jetzt nicht gedacht dass das Betriebssystem so viel Resourcen braucht dass das Timing so schlecht ist.

Es geht eher darum, dass da überhaupt ein Betriebssystem drauf ist und damit das Zeitverhalten nicht deterministisch ist.

Nicht umsonst gibt es spezielle Echtzeit-Betriebssysteme wenn man ein genau vorhersehbares Zeitverhalten benötigt.

Sorry hab ich noch nie gehört für was steht das, unter Pid sagt mir google nichts

http://www.rn-wissen.de/index.php/Regelungstechnik
http://playground.arduino.cc/Code/PIDLibrary

Vielen dank ich werde es mir durchlesen
Aber was für ein Arduino eignet sich am besten?