Brushless Gimbal Controller - SOFTWARE

Status
Nicht offen für weitere Antworten.

ahahn

Erfahrener Benutzer
Hi,
ist schon komisch. Ich poste etwas später nochmal nen Gui Screenshot und ein kleines Video dazu.
Tatsächlich merkwürdig.
Voraussgesetzt die Regelung funktioniert grundsätzlich;
Dann kann es nur eine Vorgabe vom RC Kanal sein. Das Gimbal würde auch in die Waagrechte fahren wenn der RC Kanal nicht bzw. schlecht erkannt wird. Beispielsweise wenn die Pulszeit > 2ms oder kleiner 1 ms wäre.
 

Maggi

Erfahrener Benutzer
Hallo zusammen,
hat mir hier evtl einer einen Tip? Ich bekomme mein Gimbal (Martinez nicht original) einfach nicht zum laufen.
Ich kann zwar die Werte verändern aber das war es dann auch schon.Wenn ich bei der Software auf Start drücke tut sich auch nichts. Hatte auch schon mehrere Sensoren dran. Ach ja wenn ich den Contoller mit Usb oder dem Akku verbinde leutet in der Mitte eine Grüne Led. Laut Herstellerbeschreibung sollte die aber blau sein.
Wenn ich den Akku anschließe zucken zwar die Motoren mehr aber auch nicht.

Gruß Rainer
 

ahahn

Erfahrener Benutzer
Eine Frage an die BruGi Tester.
Bei meinen Videos mit r161 und Gopro ist mir aufgefallen dass die Regelung auf Pitch manchmal leicht ruckelt. Man sieht es nur am Video, am ehesten wenn man weit entfernte waagrechte Kanten im Bild hat, zB Horizont. Am Tisch ist es kaum zu sehen.
Jetzt ist mir aifgefallen dass der Effekt ohne angeschlossene RC Eingänge nicht vorhanden ist.
Es dürfte aber nicht direkt mit der RC Messung zusammenhängen, weil z.B. mit RCmin und RCmax=0 sind die Ruckler trotzdem vorhanden.
Hat jemand ähnliches beobachtet? Und mit welchen RC Empfängern?
Ich hab jetzt noch nicht viele Experimente gemacht,
Ich verwende die RC Ausgänge des Mikrokopter.
Viellleicht hängt es mit der Impulsrate zusammen

Wenn man es etwas eingrenzen könnte, dann liese sich das Problem leichter lösen.
Hab derzeit nicht soviel Zeit, aber ich will das Problem fixieren, weil es stört mich :)
 

oskar5

Erfahrener Benutzer
@ahahn
Bei mir das Gleiche. Ein leises zittern, ab und zu. Bekomme ich nicht weg. Stört mich sehr, wenn das nicht wäre, dann alles perfekt. Ich habe den Spektrum AR8000 Empfänger. Die Nickfunktion habe ich jetzt nicht mehr über den Spektrum-Empfänger, sondern über den Naza-Ausgang für Servo-Gimbal geschaltet. Aber noch nicht getestet. (RC-Timer Gimbal mit Martínez-Board)
Gruß
Axel
 

chris.a

Erfahrener Benutzer
So hier mal der Screenshot von meinen GUI Einstellungen.
Bei meinem Pitch PWM Wert hab ich das Gefühl das er nicht reicht aber wenn ich Ihn erhöhe fangen die Motoren an zu vibrieren.
Ich krieg die Kamera wie vorher beschrieben nicht auf 90Grad nach unten geneigt da der Gimbal auf ca. 45Grad wieder zurück fällt auf die Horizontalposition.
Desweiteren habe ich ziemlich starke Vibrationen auf dem Bild. Props und Motoren sind gewuchtet. Kann es sein das es was mit der LPF Einstellungen zu tuen hat?
 

quadraf

Erfahrener Benutzer
So hier mal der Screenshot von meinen GUI Einstellungen.
Bei meinem Pitch PWM Wert hab ich das Gefühl das er nicht reicht aber wenn ich Ihn erhöhe fangen die Motoren an zu vibrieren.
Ich krieg die Kamera wie vorher beschrieben nicht auf 90Grad nach unten geneigt da der Gimbal auf ca. 45Grad wieder zurück fällt auf die Horizontalposition.
Desweiteren habe ich ziemlich starke Vibrationen auf dem Bild. Props und Motoren sind gewuchtet. Kann es sein das es was mit der LPF Einstellungen zu tuen hat
Hi Cris,

Einige hinweise:
PWM und P gehoren zu einander und sollen so ausgewuchted werden das PWM niedrig und P soviel wie moglich gemacht werd fur optimalen torque von motor ( PWM niedriger und P mehr machen).
Weiterhin ist es so das wan ein camera unter 45 grad steht das es moglich ist das einen unbalance entsteht in gewichtsverteilung um die pitch-achse (wan den lens aus den camera fahrt).
Auch den I werte soll soviel wie moglichs sein um den gimbal schnell in horizontal lage zu bekommen lassen.

@Alois
Ein test um zu machen:
In software den motor nummer umsetzen und den motor connectoren mit einander wechselen um zu sehn ob das problem nach den anderen chip fahrt (um den board treiber chips zu testen).
Ich habe leider erfunden das meinen treiberchips nicht geleichwertig sind und deshalb anliche probleme habe...

Beste grusse Hans
 

chris.a

Erfahrener Benutzer
Hallo Hans,
vielen Dank für die ausführliche Erklärung. Wenn ich meinen I-Wert auf über 0,8 setzte fängt der Gimbal an sich zyklisch auf und ab zu bewegen. Ist das normal? Hab hier mal ein Video hochgeladen von heute. Dort sieht man deutlich was ich meine.
Die kleinen unregelmässigen Ruckler machen das Material relativ unbrauchbar, kann der Gimbal sowas theoretisch ausgleichen und wenn ja mit welchem Parameter kann man feinjustieren? Der eigentliche Ausgleich funktoniert ja schonmal hervorragend.
http://www.youtube.com/watch?v=WNkl6kTp-DE
 
Hallo Hans,
vielen Dank für die ausführliche Erklärung. Wenn ich ................
Der eigentliche Ausgleich funktoniert ja schonmal hervorragend.
.........Video...........
hallo chris.a,
ich hab auch einiges an versuchen und tests hinter mir.
so wie es bei deinem video aussieht, glaube ich an die entkoppelung des gimbal.
das es nicht einfach ist, denn richtigen weg zu finden, hab ich selbst auch erfahren.
mein gimbal ist jetzt vom kopter durch 6 stk. dämpfergummis (hart) getrennt, wobei ich beim überlegen bin auf 8 stk. zu erhöhen, nur muss ich da die entkopplung neu aufbauen.
sieh dir meine letzten filmchen an.
---.vimeo.com/72292312
---.vimeo.com/71677825
besser geht immer, nur ist der weg schwer und lang.
lg
fritz
 

chris.a

Erfahrener Benutzer
Hi Fritz,
bei dir sieht das schon so aus wie ich das ungefähr haben will. Auch schön der Achensee - da war ich schonmal zu Urlaub machen.
An die Dämpfung habe ich auch schon gedacht. Hab zwei Carbonplatten die mit relativ weichen Quetschgummis verbunden sind.
Ich werde die mal mit ein paar Kabelbindern etas zusammenziehen. Ich glaub die Schwingen zu viel nach. Ausserdem werd ich mich nochmal den Gain-Werten meiner FC annehmen. Falls es ein gutes Resultat gibt schieb ich nochmal ein Video nach.
 

Roberto

Erfahrener Benutzer
Halihallo.
Ich habe mir grad mal den source vom Brugi angesehen (auf der Suche nach einem besseren IMU Teil). Mangels Hardware kann ich da natürlich nichts über die Funktion sagen. Durch das Herumgefummel mit GPS und dem mwii controller denke ich, dass man eventuell den "D" Teil der Regelung verbessern könnte. Mit dem moving average von der mwii und dem freq. cut/pt1 Element vom Arducopter in Kombination auf dem "D" Anteil habe ich gute Erfahrungen gemacht.

Hier das getD
https://github.com/Crashpilot1000/SummerGames2.5/blob/master/src/navigation.c#L322

Hier die Berechnung (einmal berechnen, oder als Festwert wie hier: http://code.google.com/p/multiwii/source/browse/trunk/MultiWii/GPS.ino#39) des Freq. Cut
GPSDpt1freqCut = 1.0f / (2.0f * M_PI * (float)cfg.gpspt1cut);

In dem Fall dürfte ein "gpspt1cut" von 15Hz ok sein.
Wie gesagt, es ist nur eine Idee. Vielleicht bringts auch etwas beim Brugi.
Vielleicht könnte man dadurch höhere P & I Werte "fahren" ohne Aufschwingen ("Zittern").

LG
Rob

Edit:
Mal abgesehen davon, müsste nicht bei dem "D" durch die Zeit geteilt werden statt der Multiplikation hier: http://code.google.com/p/brushless-gimbal/source/browse/trunk/_BruGi/_BruGi.ino#209
->
Code:
int32_t out = (Kp * error) + *errorSum + Kd * (error - *errorOld) * DTms;
also etwas in der Richtung: (siehe http://en.wikipedia.org/wiki/PID_controller#Derivative_term)
Code:
int32_t out = (Kp * error) + *errorSum + Kd * (error - *errorOld)  / DTms;
Natürlich müsste man dann das Kd anders skalieren und ggf. das Vorzeichen neu bewerten. Oder man schenkt sich das Deltatime komplett für I und D, wenn die Ausführungszeit ausreichend konstant ist.

Ich habe hier mal etwas zusammengestellt (die Änderungen sind mit "Crashpilot" markiert):
https://github.com/Crashpilot1000/BruGi170PIDidea
 
Zuletzt bearbeitet:

quadraf

Erfahrener Benutzer
Hi cris,

Leider keinen einstellung minimiert das zittern der art. Mogliche hinweise nebst eine bessere aufhangung sind minimieren von propwash und wind...

Hans
 

chris.a

Erfahrener Benutzer
Hallo hans,
super dann weiss ich ja schonmal das ich meine Zeit nicht mit stundenlangem PID_Tuning verschwenden muss.
Ich werde mich dann mal der Aufhängung widmen, danke!
Wind hatte es keinen heute Nachmittag. Hab zur Zeit ziemlich steife 13" CFK Props drauf, werde morgen nochmal 12er aus Kunstoff mit Carbonanteil testen.......
 

ahahn

Erfahrener Benutzer
@ahahn
Bei mir das Gleiche. Ein leises zittern, ab und zu. Bekomme ich nicht weg. Stört mich sehr, wenn das nicht wäre, dann alles perfekt. Ich habe den Spektrum AR8000 Empfänger. Die Nickfunktion habe ich jetzt nicht mehr über den Spektrum-Empfänger, sondern über den Naza-Ausgang für Servo-Gimbal geschaltet. Aber noch nicht getestet. (RC-Timer Gimbal mit Martínez-Board)
Gruß
Axel
Hallo Axel,
ist das kurze Zittern weg, wenn du ohne RC fliegst, also ohne ein Kabel anzuschliessen ?
Alois
 

ahahn

Erfahrener Benutzer
Halihallo.
Ich habe mir grad mal den source vom Brugi angesehen (auf der Suche nach einem besseren IMU Teil). Mangels Hardware kann ich da natürlich nichts über die Funktion sagen. Durch das Herumgefummel mit GPS und dem mwii controller denke ich, dass man eventuell den "D" Teil der Regelung verbessern könnte. Mit dem moving average von der mwii und dem freq. cut/pt1 Element vom Arducopter in Kombination auf dem "D" Anteil habe ich gute Erfahrungen gemacht.

Hier das getD
https://github.com/Crashpilot1000/SummerGames2.5/blob/master/src/navigation.c#L322

Hier die Berechnung (einmal berechnen, oder als Festwert wie hier: http://code.google.com/p/multiwii/source/browse/trunk/MultiWii/GPS.ino#39) des Freq. Cut
GPSDpt1freqCut = 1.0f / (2.0f * M_PI * (float)cfg.gpspt1cut);

In dem Fall dürfte ein "gpspt1cut" von 15Hz ok sein.
Wie gesagt, es ist nur eine Idee. Vielleicht bringts auch etwas beim Brugi.
Vielleicht könnte man dadurch höhere P & I Werte "fahren" ohne Aufschwingen ("Zittern").

LG
Rob

Edit:
Mal abgesehen davon, müsste nicht bei dem "D" durch die Zeit geteilt werden statt der Multiplikation hier: http://code.google.com/p/brushless-gimbal/source/browse/trunk/_BruGi/_BruGi.ino#209
->
Code:
int32_t out = (Kp * error) + *errorSum + Kd * (error - *errorOld) * DTms;
also etwas in der Richtung: (siehe http://en.wikipedia.org/wiki/PID_controller#Derivative_term)
Code:
int32_t out = (Kp * error) + *errorSum + Kd * (error - *errorOld)  / DTms;
Natürlich müsste man dann das Kd anders skalieren und ggf. das Vorzeichen neu bewerten. Oder man schenkt sich das Deltatime komplett für I und D, wenn die Ausführungszeit ausreichend konstant ist.

Ich habe hier mal etwas zusammengestellt (die Änderungen sind mit "Crashpilot" markiert):
https://github.com/Crashpilot1000/BruGi170PIDidea
Hallo,
das ist ein interessanter Input. Ich werde mir die Details näher ansehen. Ich hoffe ich finde bald Zeit dafür :)
Danke
Alois
 

Roberto

Erfahrener Benutzer
@ahahn: Bitte !!
Unglaublich was da von Dir und den Anderen in so kurzer Zeit an Hard und Software zusammengestellt wurde! Leider bin ich nicht so der Foto und Gimbaltyp .... hoffentlich hat der kleine Beitrag einen praktischen Nutzen für Euer Projekt.

So long
Rob
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten