Lageregelung

Murmele
Beiträge: 7
Registriert: 14.08.2012 19:34:17

#1 Lageregelung

Beitrag von Murmele »

Hi,
bin gerade dabei mir einen quadrocopter zu bauen. Aber ich habe keine Ahnung, wie ich das mit der Lageregelung hinkriege. Ich weiß schon dass man die Lage mit einem Gyroskop berechnen kann durch integrieren der Winkelgeschwindigkeiten. Aber da nach einiger Zeit rundungs, ungenauigkeiten auftreten braucht man Beschleunigungssensoren, mit der man diese Ungenauigkeiten entfernt. Wie kann ich die Beschleunigung und die Winkelgeschwindigkeiten miteinander verrechnen um den genauen Winkel zu bekommen?

Danke für Antworten
MFG Martin
Zuse
Beiträge: 210
Registriert: 02.04.2011 22:55:27
Wohnort: Köln

#2 Re: Lageregelung

Beitrag von Zuse »

Hallo Martin,

gibt es einen Grund, das Rad neu zu erfinden?
Wenn Du Dich mit der WiiCopter Software "zufrieden geben" kannst, kannst Du Dich voll und ganz auf das Bauen des Copters konzentrieren.

Gruss
Manfred
Benutzeravatar
frankyfly
Beiträge: 12239
Registriert: 09.07.2006 20:47:03

#3 Re: Lageregelung

Beitrag von frankyfly »

Erstmal willkommen im Forum!

Im Prinzip ist das ganz einfach. Das Stichwort dazu nennt sich "Kaskadenregelung"

Zuerst arbeitest du nur mit den Gyros >> Regelung der Drehraten damit ist der Copter schon mal Flugfähig.
dann gehst du hin und kümmerst dich um die Lagenregelung diese "Umschließt" die Drehratenregelung >> Ausgang der Lageregelung ist also Eingang der Drehratenregelung.

Schau dir mal das MultiWii-Projekt an, das ist Open Source, da kannst du dir bestimmt ein paar Gute Anregungen holen, es als Basis für dein Projekt nutzen oder was natürlich noch besser wäre - deine "manpower" in das Projekt stecken.
Zuse hat geschrieben:gibt es einen Grund, das Rad neu zu erfinden?
vermutlich um zu verstehen wie es genau Funktioniert und um zu üben, warum sonnst fängt so gut wie jeder "Programmierer" mal mit einem "Hello World" an ;)
Murmele
Beiträge: 7
Registriert: 14.08.2012 19:34:17

#4 Re: Lageregelung

Beitrag von Murmele »

Den Lagesensor will ich später auch noch verwenden für andere Projekte und deshalb will ich auch verstehen wie dieser funktioniert.
Danke frankyfly für die Antwort!!!
Murmele
Beiträge: 7
Registriert: 14.08.2012 19:34:17

#5 Re: Lageregelung

Beitrag von Murmele »

Habe im Internet eine Formel gefunden für die Berechnung des Winkels. Könnt ihr mit bestätigen, dass diese auch stimpt? angle = (0.98)*(angle + gyro*dt) + (0.02)*(x_acc)
Benutzeravatar
frankyfly
Beiträge: 12239
Registriert: 09.07.2006 20:47:03

#6 Re: Lageregelung

Beitrag von frankyfly »

wenn du eine eigene copterfirmware auf die Beine stellen willst, solltest du so einfache Zusammenhänge wie in der Formel wiedergegeben selber verstehen können!
- also denk noch was darüber nach was die formel bedeutet. ggf hab ich heute Abend was Zeit. Solltest du das bis dahin nicht selber herausgefunden hast male ich dir ein Bild (auf Papier geht das für mich schneller und wird für dich übersichtlicher) :wink:
Murmele
Beiträge: 7
Registriert: 14.08.2012 19:34:17

#7 Re: Lageregelung

Beitrag von Murmele »

Danke :D

Ich glaub ich hab die Formel verstanden. der Winkel besteht aus 98% aus dem alten Winkel + dem integrierten Wert des Gyro + 2% aus der Beschleunigung der x Achse. Wenn du heute Abend aber trotzdem Zeit hast kannst du mir das mal aufzeichnen wie es wirklich ist? Nur wenn du Zeit und Lust hast. :wink:
Aber durch den Beschleunigungssensor wird der Winkel ja immer größer da dieser auch noch dazu addiert wird.


MFG Martin
Zuletzt geändert von Murmele am 15.08.2012 15:49:33, insgesamt 1-mal geändert.
Benutzeravatar
frankyfly
Beiträge: 12239
Registriert: 09.07.2006 20:47:03

#8 Re: Lageregelung

Beitrag von frankyfly »

Klingt schonmal nicht verkehrt, ich glaube ich muss nicht "malen" :) :wink:

Noch ein paar kleine Denkanstöße:
- Was ist "Der Winkel" ? ein Absolutwert oder evtl. die Abweichung vom Sollwert die man versucht auf Null zu bekommen ?
Murmele hat geschrieben:Aber durch den Beschleunigungssensor wird der Winkel ja immer größer da dieser auch noch dazu addiert wird.
Wie gibt denn der Sensor an in welche Richtung die Beschleunigung wirkt?
wass passiert wenn man einen negativen Wert zu etwas Addiert?
Murmele
Beiträge: 7
Registriert: 14.08.2012 19:34:17

#9 Re: Lageregelung

Beitrag von Murmele »

frankyfly hat geschrieben: wass passiert wenn man einen negativen Wert zu etwas Addiert?
Also muss ich den Beschleunnigungssensor gerade auf den Tisch legen und dann die Spannung messen. Diese Spannung ist dann meine Mittelstellung beim ADC. Wenn ich 8 Bit ADC habe dann muss ich also wenn der Wert kleiner als 128 wird z.B 120 dann muss ich 128-120 = 8 in der Formel einsetzen als acc Wert?
Benutzeravatar
frankyfly
Beiträge: 12239
Registriert: 09.07.2006 20:47:03

#10 Re: Lageregelung

Beitrag von frankyfly »

Im Prinzip ja. Bei den meisten Systemen Läuft das so das der Copter ein mal wagerecht ausgerichet werden muss. dann wird der acc kalibriert und auf diese Werte wird immer wieder zurückgegriffen.

ein Problem /Nachteil den ich bei der Formel sehe ist das sich die beiden Einflusfaktoren gegenseitig "ausbremsen".

Angenommen der copter steht schräg - während der acc-teil "wil das der Copter gerade steht , "will" der Gyro-teil das er sich nicht mehr dreht. der eine versucht ihn also zu drehen, der andere das zu verhindern.

eine "saubere" Regelung ist das nicht.
besser wäre es der acc-teil "sagt" dem Gyro-teil das sich der Copter drehen soll. Der dreht ihn dann solange bis der Acc-Teil zufrieden ist.

(ich merke schon, ich muss doch malen ;), )
Murmele
Beiträge: 7
Registriert: 14.08.2012 19:34:17

#11 Re: Lageregelung

Beitrag von Murmele »

Also wenn ich jetz z.B sage der Quadro steht 45° dann sagt mir der Gyro dass ich mich in einer bestimmten Zeit diese 45° gemacht habe. dann stell ich den Gyro so ein dass dieser meint er ist wieder auf den Ursprungswinkel zurückgekehrt und wenn dies gemacht wird wird dann noch mit dem Acc geprüft ober er total in der waagrechte ist und wenn nicht dann muss ich den Gyro halt bisschen nachstellen und dann diesen auf Nullstellen nicht dass der Gyro dann sich dagegen dreht. Oder so meinst du das?

Sorry für die blöden Fragen aber ohne Fragen kommt man zu nichts ^^

MFG Martin
Benutzeravatar
frankyfly
Beiträge: 12239
Registriert: 09.07.2006 20:47:03

#12 Re: Lageregelung

Beitrag von frankyfly »

Sorry aber so wird das nichts, ich glaube wir reden an einander vorbei *Stiftsuch*
Benutzeravatar
crashmaster
Beiträge: 586
Registriert: 18.01.2007 12:19:56
Wohnort: Bonn *

#13 Re: Lageregelung

Beitrag von crashmaster »

Murmele hat geschrieben:Den Lagesensor will ich später auch noch verwenden für andere Projekte und deshalb will ich auch verstehen wie dieser funktioniert.
Gerade dann würde ich dir empfehlen, erstmal einen Wii-Copter draus zu machen. Die Arduino-Hardware ist sehr schön für eigene Projekte geeignet, und die WiiCopter-Software relativ simpel und ganz gut zu durchblicken.
Murmele hat geschrieben:Also muss ich den Beschleunnigungssensor gerade auf den Tisch legen und dann die Spannung messen.
Autsch, nein, so funktioniert das nicht. Die heutigen Sensoren liefern keine analoge Spannung, sondern direkt ein digitales Signal, z.B. via i2c-Bus. So werden auch die Sensoren am WiiCopter ausgelesen. (Mal abgesehen davon, dass en Beschleunigungssensor sowieso keine Daten zur Lage liefert, sondern Beschleunigungswerte.... )

Ich hab' meinen Wii-Copter im Grunde auch nur gebaut, um rauszukriegen wie das alles funktioniert und davon zu lernen. Mach das erstmal, wenn's dann klappt kannst Du immernoch weiter basteln, das ist ja der Witz bei OpenSource. Aber wie Manfred schon schrieb, das Rad neu zu erfinden ergibt keinen Sinn.

Gruß,
Claus
T-Rex 250+450 Pro, Microbeast (das taucht ja wirklich! :-))
Protos 500 CFK, SH-1250MG, BLS251, HK-3026-880V2, Roxxy 960-6, VStabi 5.1
Logo 600 3D VStabi, HK4035, CC BEC Pro JIVE HV80+, SC-1257, SH-1290
6HV, TT, Roxxy, Keto, Beast
Graupner/JR mx-16s mit JETI-Duplex 2.4 GHz inkl. MUI-Sensor; Phoenix; DMFV

Videos vom 5. DMFV Scale-/Semi-Scale Hubschrauber Meeting
Benutzeravatar
frankyfly
Beiträge: 12239
Registriert: 09.07.2006 20:47:03

#14 Re: Lageregelung

Beitrag von frankyfly »

Sorry -Stift gefunden, aber dann von einem Grill abgelenkt worden
crashmaster hat geschrieben:(Mal abgesehen davon, dass en Beschleunigungssensor sowieso keine Daten zur Lage liefert, sondern Beschleunigungswerte.... )
aber damit kann man indirekt auf die Lage schleißen, zumindest wenn man in Normallage keine Querbeschleunigungen hat, was beim Copter z.B.der Fall ist.
Murmele
Beiträge: 7
Registriert: 14.08.2012 19:34:17

#15 Re: Lageregelung

Beitrag von Murmele »

crashmaster hat geschrieben:Die heutigen Sensoren liefern keine analoge Spannung, sondern direkt ein digitales Signal, z.B. via i2c-Bus.
Es gib viele Sensoren die noch analoge singnal liefern. Auch Gyroskope . Z.B.: http://www.st.com/internet/com/TECHNICA ... 254127.pdf
Antworten

Zurück zu „Allgemeines“