Forum: Mikrocontroller und Digitale Elektronik Quadrocopter selber bauen


von Felix (Gast)


Lesenswert?

Hallo Allerseits,

Ich habe vor, einen Quadrocopter zu bauen, bin aber noch etwas planlos, 
was die benötigten Sensoren anbelangt.
Grundsätzlich möchte ich mit einem AVR
-(Hab bereits für den ATmega328p-pu eine PWM-Motorsteuerung geschrieben, 
bei der ich die Pulsbreite über ein Potentiometer steuere (allerdings 
für einen DC-Bürsten-Motor, aber mehr brauch ich ja nicht))-
das Ganze realisieren.
Ich frage mich nur, ob ich, z.B. einen Sensor der den aktuellen 
Neigungswinkel des Quadrocopters misst verwenden soll, um Flüge wie 
vorwärts, rückwärts, seitwärts zu steuern. Angenommen ich will Vorwärts 
fliegen:

1) Ich drücke den Steuerknüppel für Vorwärtsflug
2) Im AVR-Wird der AD-Wert des Steuerknüppels(Poti) eingelesen und in 
einen Winkel umgeformt
3) Dann werden die vorderen 2 Motoren so lange gedrosselt, bis mein vom 
Poti eingelesener Winkel mit dem Winkel übereinstimmt, der mir vom 
Winkelsensor auf meinem Quadrocopter zurückgegeben wird,der ja den 
aktuellen Winkel misst.

Oder sollte ich auf so einen Winkelsensor verzichten, und bei Drücken 
des Steuerknüppels für Vorwärtsflug einfach die Pulsbreite der vorderen 
2 Motoren verändern ?
Oder gibt es noch andere Methoden ??

Danke schon mal im Voraus,

LG Felix

von Alex P. (alex2203)


Lesenswert?

Einen Winkelsensor würde ich mir deswegen schon überlegen, um einen 
stabilen Schwebeflug zu realisieren. Sonst musst du doch ständig 
nachtriggern wie beim Heli?! Oder sehe ich das falsch?

von profi (Gast)


Lesenswert?

Alex P. schrieb:
> Einen Winkelsensor würde ich mir deswegen schon überlegen, um einen
> stabilen Schwebeflug zu realisieren. Sonst musst du doch ständig
> nachtriggern wie beim Heli?! Oder sehe ich das falsch?

Das mindeste ist nicht ein Sensor, sondern drei Beschleunigungssensoren 
(für jede Achse einen). Und dazu noch drei Gyrosensoren. Das ganze gibts 
auch zusammen als IMU.
https://de.wikipedia.org/wiki/Inertiale_Messeinheit

Das ist eigentlich das Mindeste. Dazu kommt dann noch die Software, die 
das ganze steuert. Einfach nur "Hebel nach vorn verändert die PWM" 
bringt dich ganz sicher zum Absturz...

Lies dich lieber erstmal in die Thematik ein. Du findest reichlich 
Lesestoff im Internet. Das erspart dir viel Kummer...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Felix schrieb:
> Ich habe vor, einen Quadrocopter zu bauen, bin aber noch etwas planlos,
> was die benötigten Sensoren anbelangt.
Du hast Glück, denn du bist nicht der Erste, der sowas machen will. 
Deshalb kannst du einfach mal bei Anderen schauen, wie die ihr Ding in 
die Luft bekommen haben...

von Sascha (Gast)


Lesenswert?

Quadrocopter fliegen auch nur mit den Motoren und ohne Sensoren.

Aber dann bist DU der Regler, der das Ding daran hindern muss vom Himmel 
zu fallen.
Vorteil ist allerdings, dass das Ding dann auch aus dem Stand nen 
Looping machen kann.

Da ich davon ausgehe, dass das ein normaler Quadrocopter werden soll der 
auch in der Luft von allein stehen können soll während man sich ne Tasse 
Kaffee holt: Ja, Sensoren, Ja Regelungstechnik.

Es gibt verschiedenste Möglichkeiten die Fluglage zu überwachen, 
Accelerometer gehören zu den besseren.

Im einfachsten Fall baust du davon eins mittig im Quadrocopter ein (am 
besten im Schwerpunkt) und machst dann PID Regler für die Raumrichtungen 
X, Y, Z.

Wenn du dich in eine Richtung bewegen willst, änderst du den Sollwert. 
Zum Beispiel soll X dann 10° sein.
Dann kippt der Quadrocopter um 10° nach links und fliegt seitlich in 
X-Richtung.

Wenn du nur ein Accelerometer hast, kannst du nur die Ebene regeln in 
der sich dein Copter bewegt, nicht die Neigung um die Hochachse. Das 
spielt aber eigentlich nur eine Rolle wenn du zum Beispiel eine Kamera 
in eine feste Richtung ausrichten willst.

Das ganze musst du dann noch mit BLDC-Motor Ansteuerung verknüpfen und 
mit deinem Funkmodul.

@profi: Eine ICBM will der TE nicht bauen glaube ich. Und möglicherweise 
will er auch keine Flugstrecke vorgeben die der Copter dann autonom 
abfliegt.
Aus diesem Grund ist inertiale Navigation dann doch etwas Overkill.

von Frank G. (frank_g53)


Lesenswert?


von Peter B. (funkheld)


Lesenswert?

----------------------
Quadrocopter fliegen auch nur mit den Motoren und ohne Sensoren.
---------------------

Du bist ein Fantast....

von profi (Gast)


Lesenswert?

Nur alleine mit Beschleunigungssensoren kriegst du ihn nicht stabil. Ich 
rede nicht vom programmierten Streckenflug. Nur alleine für die stabile 
Fluglage ist ein Beschleunigungssensor nicht ausreichend. Mit ihm kann 
man NICHT den Winkel zur Erdoberfläche feststellen. Er erfaßt ALLE 
Kräfte, die auf das Gerät einwirken, nicht nur die Gravitation. Wenn der 
Kopter fliegt, dann addieren sich die Vektoren der Gravitation und der 
Beschleunigung in Flugrichtung. Du hast keine Chance, die "Neigung" 
während des Fluges festzustellen. Das kannst du nur mit einem Gyro (pro 
Achse) machen, dessen Signale du über einen Kalman-Filter mit den 
Beschleunigungssensoren verknüpfst. Lies mal ein wenig... :-)

von profi (Gast)


Lesenswert?

Sorry, hab den Adressaten vergessen. Das ging an @Sascha

von Piep (Gast)


Lesenswert?

Luneberger würde auch gehen meine ich? Hab sowas in 1 bis 2 Jahren 
vor... Aber dauert noch. Muss auch noch lernen.

Ohne regler kannste knicken, das wird nichts, zu viele Störgrößen. Wind, 
motorkonstanten,...

von Sascha (Gast)


Lesenswert?

Peter B. schrieb:
> ----------------------
> Quadrocopter fliegen auch nur mit den Motoren und ohne Sensoren.
> ---------------------
>
> Du bist ein Fantast....

Wenn man die Aussage aus dem Zusammenhang reisst, dann ja.

@profi: Das sind die dynamischen Kräfte der Beschleunigung, ja. Und Wind 
etc. kann man damit auch nicht erkennen.

Aber da man die Kräfte über die Zeit integrieren kann, bekommt man das 
wieder rausgerechnet.
Denn die Erdbeschleunigung ist ja konstant, also muss der Rest den der 
Sensor misst die Beschleunigung des Fluggeräts sein.

Ich hab das aber als Minimallösung bezeichnet weil das natürlich 
Mathematik ist, die man sich mit mehr Sensoren sparen kann.

von noch n Gast (Gast)


Lesenswert?

Piep schrieb:
> Ohne regler kannste knicken, das wird nichts, zu viele Störgrößen. Wind,
> motorkonstanten,...

Warum das.

RC Helikopter sind schon vor 50 Jahren geflogen, Da waren Computer noch 
so groß wie Wohnzimmer.

Die Vorstellung wie sie Felix haben wird kann man jedoch ohne 
entsprechende Sensoren, Acc - Gyro - evtl Magnet, wohl kaum umsetzen 
können.

Die Enwicklung der entsprechende Software dazu ist schon anspruchvoll. 
3D Winkel - Vektor rechnungen. Das schwierigste daran ist die Räumliche 
Vorstellung.

Viel Glück
 noch n Gast

von Hupsi (Gast)


Lesenswert?

> Ich hab das aber als Minimallösung bezeichnet weil das natürlich
> Mathematik ist, die man sich mit mehr Sensoren sparen kann.

Ohne Gyro geht es defintiv nicht - durch keine Mathematik der Welt. 
Jeder Quadro hat immer auch einen Gyro.

Gyro und ACC zu verrechnen ist kein Hexenwerk. Der Gyro bestimmt den 
Winkel und der ACC kompensiert die Gyro-Integral-Drift.

Der Ist-Winkel wird mit dem Soll-Winkel verglichen und in einem 
PID-Regler verarbeitet. Anschließend geht das Ergebnis in den 
Motormischer und fertig.

Es ist kein Kallmanfilter nötig oder sonstige höhere Mathematik.

Einen Quadro komplett ohne Reglung zu steuern ist unmöglich. Das schafft 
kein Mensch.

von Sascha (Gast)


Lesenswert?

Die billigen RC-Helis haben aber auch 2 gegenläufige Rotoren obendrauf 
sodass sich die Drehmomente aufheben.

Und der Schub ist immer oberhalb des Schwerpunktes, unabhängig vom 
Betrag des selbigen.

Beim Quadrocopter kann der Schubvektor irgendwo stehen und in völlig 
beliebige Raumrichtungen zeigen.

von noch n Gast (Gast)


Lesenswert?

Lieber Felix
Um mal konkreter zu werden.

Ich bin selber dabei eine Stabilisierung aufzubauen (nicht für die 
Luft). Ich habe mir hierfür die IMU AltIMU-10 v4 von Pololu ausgesucht.

Alle Sensoren ansprechbar über I2C Bus. Die kann ich dir empfehlen.

hier mal ein Link (ist keine Webung)
https://www.pololu.com/product/2470
die bekommst du auch von deutschen Lieferanten.

noch n Gast

von Piep (Gast)


Lesenswert?

@noch n Gast und alle die meinen es ginge ohne Regler oder mit einen 
Regler für Arme (PID) :-)

Die Sache ist Folgendes: Wenn du vorwärts fliegen möchtest, lässt du 
einen Motor sich schneller drehen. Jetzt bekommt der Quadrocopter 
gleichzeigtig eine Kraft, die Ihn um um die Z-Achse drehen lässt, die 
Luft wird ja von den Rotoren schräg weggedrückt. Zwei Motoren drehen 
sich ja rechts und 2 links rum usw... Das kann man so als Mensch alles 
nicht mehr kontrollieren wenn alle Größen voneinander gegenseitig 
abhängen und dann braucht es eben doch höhere Mathematik, 
Matrizenrechnung und fortgeschrittene Regelungstechnik. Aber hier geht 
es ja auch schon ziemlich ans Eingemachte. Selbst einen kleinen 
Spielzeugroboter kann ich ohne Sensoren nicht geradeaus fahren 
lassen....

Und denjenigen, der einen Quadrocopter auf >20m höhe OHNE Regelung noch 
steuern kann - der wird ja immer kleiner in der ferne - den jenigen 
möchte ich sehen. :-)

Gute Nacht.

von Jojo S. (Gast)


Lesenswert?

ich habe so ein Spielzeug: 
http://www.amazon.de/ACME-Fernsteuerung-Flipfunktion-Geschwindigkeiten-Deutschland/dp/B00NP2RC4W
Und selbst mit Regelung ist der schon schwierig genug richtig 
kontrolliert zu fliegen. Im Wohnzimmer habe ich schon einige 
Orchideenblätter abgesäbelt und habe da Flugverbot :-)

von Felix (Gast)


Lesenswert?

Ok, danke vielmals für die vielen Info´s.
Jetzt weiß ich schon mal, wo ich anfangen muss ;D

LG Felix

von Wolfgang (Gast)


Lesenswert?

Frank G. schrieb:
> So würde ich es heute machen:
> Ein fertiges Board: ...
> Und Software: ...
Dann kannst du fast auch gleich in den Laden gehen und dir einen 
fertigen Bausatz kaufen ...

Hupsi schrieb:
> Es ist kein Kallmanfilter nötig oder sonstige höhere Mathematik.

Nur weil das Filter nach Rudolf E. Kálmán benannt ist, musst du keine 
Angst davor haben.

Ein Kalman-Filter kennt mehr dynamischen Eigenschaften vom Modell, weiss 
wie doll die Sensoren rauschen und wie dynamisch die Störgrößen sind 
(i.e., was es ausregeln soll). Mit den Informationen bringt es deine 
Sensordaten unter einen Hut (Sensor Fusion) und kann dir viel besser 
gefilterte Daten liefern, weil es die Eigenschaften vom Modell kennt.

Beispielsweise wird ein einfach mit einem Tiefpass gefilterter 
barometrischer Höhenmesser im Sinkflug immer eine zu große Höhe liefern, 
weil das Filter den dauernd sinkenden Werten hinterher läuft. Ein 
Kalman-Filter stellt fest, "Oh ich befinde mich im Sinkflug mit ...m/s" 
und filtert die Höheninformation nicht zu einem konstanten, 
hinterherlaufenden Mittelwert sondern liefert gleich die richtige Höhe 
zusammen mit der Sinkgeschwindigkeit (ohne Zeitversatz), weil es die 
Sinkgeschwindigkeit mit schätzt und bei den Filterung der Höhe mit 
berücksichtigt.

Und du kannst dir sicher vorstellen, welche Vorteile es bietet, bei 
dynamischen Flugmanoevern insbesondere in Bodennähe, aktuelle 
Höheninformationen für die Steuerung zu haben und nicht irgendwelche 
durch dumme Filterung hinterherlaufenden Werte.

Für den reinen Schwebeflug mag das egal sein - aber ein stabiler 
Schwebeflug wird irgendwann langweilig.

von Wolfgang (Gast)


Lesenswert?

Sascha schrieb:
> Und der Schub ist immer oberhalb des Schwerpunktes, unabhängig vom
> Betrag des selbigen.
>
> Beim Quadrocopter kann der Schubvektor irgendwo stehen und in völlig
> beliebige Raumrichtungen zeigen.

Du wirst aber nicht drumhin kommen, den Gesamtschubvektor so zu regeln, 
das für eine stabile Höhe die Vertikalkomponente konstant ist. Sonst 
schmiert das Ding einfach ab, sobald es vorwärts geht ;-)

von Piep (Gast)


Lesenswert?

@Wolfgang, Zustimmung.

Mit Matlab und der Control System Toolbox, mit der man sowas heutzutage 
sowas machen würde kann man "einen"(muss kein guter sein) Regler 
innerhalb von einer Stunde entwerfen, wenn man darin Übung hat. Das geht 
relativ schnell. Aber das testen und wenn etwas nicht klappt wie es 
soll, da sollte man dann schon die Kurven und Parameter verstehen und 
wissen was Matlab rechnet um die Ergebnisse interpretieren zu können.
Am schwierigsten stelle Ich mir die Abhängigkeit zwischen Rotordrehzahl 
und resultierender Kraft gescheit ins Modell zu bekommen. Aber dann 
würde man glaube Ich auch erst immer einfache Annahmen machen und dann 
wenn nötig immer weiter verfeinern.
Aber ohne Matlab macht man sowas wie das entkoppeln und simulieren 
heutzutage nicht mehr. Bringt einen einfach einen Haufen zeitersparnis. 
(bin zwar nur Angehender Regelungstechniker, aber die Aussage traue Ich 
mir zu).

Gruß

von Philipp K. (philipp_k59)


Lesenswert?

Wenn Du Spaß an dem Fluggerät haben willst solltest Du auf fertige 
libraries aufbauen. Das ganze ist so komplex und es wird tieferes Wissen 
benötigt das Du am Ende so oder so In Beispielcodes rumfleddern wirst. 
Das Du Dir am Ende als einziger erzählst das Du es selbst gemacht hast.

von Jonny O. (-geo-)


Lesenswert?

> @noch n Gast und alle die meinen es ginge ohne Regler oder mit einen
> Regler für Arme (PID) :-)

so gut wie jeder Quadrokopter fliegt mit einem einfachen PID Regler. 
Habe selbst schon einen gebaut und der steht wie eine 1. :-)

Selbst die berühmten Mikrokopter haben (oder hatten) nichts weiter als 
einen PID-Regler implementiert. ;-)

PS: Bei Mikrokopter konnte man damals auch den Sourcecode (für Atmega) 
runterladen. Weiß aber nicht ob das immernoch so ist. Ist bei mir schon 
eine Weile her...

: Bearbeitet durch User
von Alexander S. (alesi)


Lesenswert?

Felix schrieb:
> Ich habe vor, einen Quadrocopter zu bauen, ...

Zur Motivation für Dein Projekt gibt es auf www.heise.de gerade
das passende Video (Quadcopter mit 70 km/h durch Gebäude):

  http://www.heise.de/newsticker/meldung/Quadcopter-vom-US-Militaer-mit-wahnsinniger-Geschwindigkeit-3101981.html

von Felix C. (felix_c13)


Lesenswert?

Hi,

Ich wünsche dir echt viel Glück zu deinem Projekt und kann dir nur 
raten, dir nicht zu viel auf einmal vorzunehmen bzw. kleine Ziele zu 
setzen. Ausserdem merk dir..Keep it simple.

Bin selber seit gut 2 Jahren dabei ein ROV - ferngesteuertes U-Boots - 
zu bauen. Hatte davor noch kaum Ahnung von uControllern. Meine Erfahrung 
hat gezeigt, dass man nur allzu schnell die Motivation verliert. Und das 
was du dir da vorgenommen hast, wird ein grosses Projekt, auch wenn es 
zu Beginn nicht so aussieht.

Wie viele bereits geschrieben haben, wirst du einen Regler brauchen. 
Vergiss nicht, selbst wenn das Ding schon gebaut wäre, würdest wohl kaum 
wissen, wie das Ding steuern, wie auch. Als IMU kann ich dir einen 
CMPS11 empfehlen. Der mag auf den ersten Blick teuer sein, aber du wirst 
schnell merken wie viel Arbeit das alles macht. Da bist du heilfroh, 
wenn du für ne Handvoll Euronen dir eine Menge Ärger ersparen kannst.

Ausserdem kannst du das mit den Bürsten-Motoren vergessen. Viel zu 
schwer und ineffizient. Du wirst Bruhsless Motoren brauchen. ALs Akku 
nen LiPo. Das ganze muss ja leicht bleiben.

Viel Glück

Felix

von Piep (Gast)


Lesenswert?

> @noch n Gast und alle die meinen es ginge ohne Regler oder mit einen
> Regler für Arme (PID) :-)

"so gut wie jeder Quadrokopter fliegt mit einem einfachen PID Regler.
Habe selbst schon einen gebaut und der steht wie eine 1. :-)

Selbst die berühmten Mikrokopter haben (oder hatten) nichts weiter als
einen PID-Regler implementiert. ;-)

PS: Bei Mikrokopter konnte man damals auch den Sourcecode (für Atmega)
runterladen. Weiß aber nicht ob das immernoch so ist. Ist bei mir schon
eine Weile her..."

Woher möchtest du wissen, dass heutzutage so gut wie jeder Quadrocotper 
mit PID Regler fliegt? Das kann gar nicht sein. Ich habe selber auch 
einen kleinen Spielzeugquadricopter und der kann sich auf der Stelle um 
die Z-Achse drehen, ohne Höhe zu verlieren. Außerdem kann der das so 
schnell, da merkt man mal wie groß die Querkräfte sind, die in den 
Rotoren entstehen. ...Sowas geht zB schon nicht mit einem PID Regler. 
Das ist ja ein sogar nichtlineares MIMO System. Das ist schon nicht 
einfach und da gibt es kein Kochrezept. Da ergibt sich die 
Reglerstruktur durch die Lösungsalgorithmen und das System. Das macht 
man das nicht mehr mit PI PID oder sonstwie, die sind ja nur bei SISO 
Systemen.

Außerdem ist ein Mikrocopter auch einfacher als ein Quadrocopter, weil 
der nur eine Achse hat. Das vereinfacht das schon mal einiges, trotzdem 
ist der würde Ich sagen auch ein MIMO System. Ich glaube ja du schmeißt 
da etwas mit den Mikro- und Quadrocoptern durcheinander.

Ich würde dem Threadstarter auch empfehlen entweder einen fertigen 
Regler zu verwenden, oder wenn überhaupt sein müsste einen Mikrocopter 
zu bauen. Aber das ist auch schon mehr als schwer genug.

von Thomas E. (picalic)


Lesenswert?

Alexander S. schrieb:
> das passende Video (Quadcopter mit 70 km/h durch Gebäude):
>
> 
http://www.heise.de/newsticker/meldung/Quadcopter-vom-US-Militaer-mit-wahnsinniger-Geschwindigkeit-3101981.html

Laaaangweilig ! ;)

Wie wär's damit: http://race-fpv.de/

von min (Gast)


Lesenswert?


von spess53 (Gast)


Lesenswert?

Hi

>Laaaangweilig ! ;)

>Wie wär's damit: http://race-fpv.de/

Stimmt. Der fliegt nicht mal 50 km/h.

MfG Spess

von Felix C. (felix_c13)


Lesenswert?

Thomas E. schrieb:
> Laaaangweilig ! ;)
>
> Wie wär's damit: http://race-fpv.de/

Das is nice, aber zieht euch das hier mal rein...das is so ****ing 
nice!!!! :DDD Heilige Scheisse....

https://www.youtube.com/watch?v=KQYn4L_Vdmg

von Alexander S. (alesi)


Lesenswert?

Thomas E. schrieb:
> Laaaangweilig ! ;)

Naja, der eine fliegt autonom und der andere "nur" ferngesteuert.

von W.A. (Gast)


Lesenswert?

Back to Topic

Erstmal muss das Ding überhaupt flugfähig werden
https://www.youtube.com/watch?v=bCsS3sXxsLc

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.