Lageregelung
#1 Lageregelung
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
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
#2 Re: Lageregelung
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
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
#3 Re: Lageregelung
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.

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.
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" anZuse hat geschrieben:gibt es einen Grund, das Rad neu zu erfinden?
#4 Re: Lageregelung
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!!!
Danke frankyfly für die Antwort!!!
#5 Re: Lageregelung
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)
#6 Re: Lageregelung
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)
- 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)
#7 Re: Lageregelung
Danke 
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.
Aber durch den Beschleunigungssensor wird der Winkel ja immer größer da dieser auch noch dazu addiert wird.
MFG Martin
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.
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.
#8 Re: Lageregelung
Klingt schonmal nicht verkehrt, ich glaube ich muss nicht "malen"
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 ?
wass passiert wenn man einen negativen Wert zu etwas Addiert?
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 ?
Wie gibt denn der Sensor an in welche Richtung die Beschleunigung wirkt?Murmele hat geschrieben:Aber durch den Beschleunigungssensor wird der Winkel ja immer größer da dieser auch noch dazu addiert wird.
wass passiert wenn man einen negativen Wert zu etwas Addiert?
#9 Re: Lageregelung
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?frankyfly hat geschrieben: wass passiert wenn man einen negativen Wert zu etwas Addiert?
#10 Re: Lageregelung
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
, )
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
#11 Re: Lageregelung
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
Sorry für die blöden Fragen aber ohne Fragen kommt man zu nichts ^^
MFG Martin
#12 Re: Lageregelung
Sorry aber so wird das nichts, ich glaube wir reden an einander vorbei *Stiftsuch*
- crashmaster
- Beiträge: 586
- Registriert: 18.01.2007 12:19:56
- Wohnort: Bonn *
#13 Re: Lageregelung
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:Den Lagesensor will ich später auch noch verwenden für andere Projekte und deshalb will ich auch verstehen wie dieser funktioniert.
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.... )Murmele hat geschrieben:Also muss ich den Beschleunnigungssensor gerade auf den Tisch legen und dann die Spannung messen.
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
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
#14 Re: Lageregelung
Sorry -Stift gefunden, aber dann von einem Grill abgelenkt worden
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.crashmaster hat geschrieben:(Mal abgesehen davon, dass en Beschleunigungssensor sowieso keine Daten zur Lage liefert, sondern Beschleunigungswerte.... )
#15 Re: Lageregelung
Es gib viele Sensoren die noch analoge singnal liefern. Auch Gyroskope . Z.B.: http://www.st.com/internet/com/TECHNICA ... 254127.pdfcrashmaster hat geschrieben:Die heutigen Sensoren liefern keine analoge Spannung, sondern direkt ein digitales Signal, z.B. via i2c-Bus.