Brushless Gimbal Controller

Status
Nicht offen für weitere Antworten.

RC FAN2

Erfahrener Benutzer
so , hab jetzt mal den internen DMP vom MPU angeschmissen :)
ich bin schon etwas begeistert davon ^^ sogar achsenkopplung macht er von haus aus , toll !
Werde wohl mal den DMP im aktuellen dev code mit einbauen :D
 

muvid

Erfahrener Benutzer
Hey Ludwig,

sieht doch erstmal gut aus....den Rest schaffen wir auch noch;)
Spielst du die noch den Code auf bevor du versendest?
@gfunk
einer der Beta´s bekomme ich:) aber wer sind die anderen drei?
Gruß Ertan
 

MiniOlli

Erfahrener Benutzer
Hi Alex,
ich denke hier sind auch noch ein paar Regelungstechnik-Experten, so können sich alle dran beteiligen.

edge hat gesagt.:
PID regler

Hey Minolli,
ich habe nochmal eine Frage an dich, nämlich wie regelst du deinen BLDC.
Ich habe schon mehrere Wege getestet, bin aber noch nicht 100%ig zufrieden.
Möglichkeit 1, ich schmeiße meine MPU daten in den PID regler rein und es kommt dann eine gewisse zahl an schritte raus, die mein motor macht und dann wieder von vorne.
andere möglichkeit, ich berechne mit dem PID die pause zwischen den schritten, je näher ich an mein mittelpuinkt kommt, desto größer werden die pausen.
wie hast du den regelkreis aufgebaut? Bzw hast du noch filter auf die MPU losgelassen?
LG Alex
Ich nutze die Variante 1.
In einem Regelkreis ist es nicht einfach die Ursache für Schwingungen usw. zu finden, daher mal den Kreis öffnen und die einzelnen Werte unter die Lupe nehmen. Also z.B. Sollwertsprünge oder Rampen ganz ohne IMU - nur Regler und Stellglied. So habe ich geprüft, ob das Stellglied (Motor) dem Signal überhaupt folgen kann.
Das geruckel in Eurem Speigelvideo kommt nicht vom PID sondern von schlechten Eingangssignalen oder einem Stellglied was nicht das macht was es soll. Die Einstellungen müssen so gewählt werden, dass das Stellglied den maximalen Eingangssignalen folgen und aber im statischen Verhalten keine unnötigen Störungen hervorruft. Sonst jittert es um den Nullpunkt. Wenn man pech hat und eine Resonanzstelle des Systems trifft, dann hilft u.U. ein Filter. Nur welche Frequenz willste denn filtern?
Kannst Du Dir die Signale anzeigen lassen? Ich nutze von Freescale den Freemaster, da kann ich im 16khz Takt alle werte aufzeichnen, wie ein Oszi - damit kann man arbeiten:D
Bist Du sicher, dass der Motor gleichmaßig läuft? Du kannst ihn ja mal laufen lassen und dir dabei die IMU-Signale ansehen, ob dort "Sprünge" zu sehen sind.
...eben alles nach und nach eingrenzen.
Viel Erfolg,
Olli
 

RC FAN2

Erfahrener Benutzer
Hi Olli ,

Danke für deine Tipps :)

Hätte mal noch 2 fragen :

- Mit welcher Sensorauflösung arbeitest du ? (ich momentan mit 1/100 °) und hast du ein deadband mit drin ?
- Was genau Regelst du ? die Schritte oder die Geschwindigkeit ?

Danke ;)

Edit : ok , 2 frage kann man mit richtig lesen auch selber beantwortet ^^
 
Zuletzt bearbeitet:

edge

Erfahrener Benutzer
erstmal vielen dank!
also nur zum grundlegenden aufbau, du hast ein PID regler, der die mpu daten auswertet und dann als output schritte ausgibt und dann den motor diese schritte drehen lässt?
 

MiniOlli

Erfahrener Benutzer
Hi Olli ,

Danke für deine Tipps :)

Hätte mal noch 2 fragen :

- Mit welcher Sensorauflösung arbeitest du ? (ich momentan mit 1/100 °) und hast du ein deadband mit drin ?
- Was genau Regelst du ? die Schritte oder die Geschwindigkeit ?

Danke ;)

Edit : ok , 2 frage kann man mit richtig lesen auch selber beantwortet ^^
Wenn ich behilflich sein kann, sehr gern:D
Bei mir sind die Reglerasugänge direkt die Schritte der Motoren. Die Auflösung um die Schritte in einen Drehwinkel zu wandeln ist bei mir 51,xx° <=> 1024 bit, das hatte ich aber vor gefühlten 30 Seiten in dem anderen Thread geschrieben:p
Der Eingang des Reglers ist prinzipiell die Auslenkung der IMU-Einheit.
Ein Totband habe ich nicht. Wenn ich mir die Sollschritte im Stillstand anschaue (also Reglerausgang), dann sehe ich ca. 80% Nullen, 10% Einsen und 10% Minuseinsen.

...aber schaut Euch erstmal jeden einzelnen Wert an. Ich denke nicht, dass es an der Auflösung liegt.
Grüße, Olli
 

MiniOlli

Erfahrener Benutzer
erstmal vielen dank!
also nur zum grundlegenden aufbau, du hast ein PID regler, der die mpu daten auswertet und dann als output schritte ausgibt und dann den motor diese schritte drehen lässt?
Ja, genau.
Ich hatte das ja nur mal zum Zeitvertreib gemacht, da ich auf meine Fräse warten musste:D Jetzt bin ich seit Tagen im Keller:eek: und die Fräse läuft und läuft.
Bei mir hatte die Gimbalaufhängung gewackelt, sodass ich noch keine gescheiten Onboardvideos machen konnte. ...oder ich bastel mal mein Quadframe Gimbal auf BLDC um - mal schaun.
 
I see you have some trouble with PID settings and filters integration...
it could take you some time till you set it right by yourself, alone.

maybe you could use multiwii code for reading sensor, and processing all data,
it works great, especially with MPU6050 that you are also using.





only modify output part, to suit your motor drivers.

it already has gimbal function, so you have 2 channels that output motion in relation to sensor angle, could be usefull...

http://youtu.be/k5Bm9QObn_0


it works on same CPU you are using, 328 atmega, no changes needed there :)






at the end, it has a nice GUI for setting PIDs,
it seems alex is also using it...


there are people that can help you make GUI for tuning gimbal specific options, and implement your output code into mwii...

code is here
http://code.google.com/p/multiwii/downloads/list

people are here
http://www.multiwii.com/forum/
just make a topic and you will get help if needed
 
Zuletzt bearbeitet:

RC FAN2

Erfahrener Benutzer
Hi TomRi ,

Problem at the Multiwii Gimbal code is , that it works only with Sensor at the Copterframe .
The Maingoal is , to place the MPU direct on the gimbal to measure the real angle .
So in this case there is only the Sensor Read and Fusion Code from Multiwii interesting for us .
But now i use the beautiful Onboard Digital Mosion Porcesor from the MPU which does done all this parts ;)

So , for now its important to find the right PID Values and maybe a LPF ....
 
I know that MWii works with IMU on model, and your gimbal works with IMU on camera plate,
because BL motors don't have encoders to tell right position, like servo gimbal does.

but as you said, you could use mwii for low pass filter and whole sensor integration and calculation thing, and gui pid tuning...
take a look at mwii code, maybe you can c/p something at least, if not use it 100%.

at least to help you get it done faster :)
 
Zuletzt bearbeitet:

RC FAN2

Erfahrener Benutzer
so , ganzen tag wieder programmiert ^^
Code leuft jetzt mit dem DMP vom MPU , Achsenentkopplung geht auch wunderbar ....
Morgen gehts weiter mit dem ruckelproblem , wir haben auch schon einen lösungsansatz , ist jetzt aber zu spät dafür .
Naja , morgen ist ein neuer tag ;)

Schönen Abend euch allen noch
 

Mayday

Expert somehow
Jau, finde ich auch schick.
Sobald ich mal Elektronik in der Hand halte, kann ich die Teile auch in das Gimbal implementieren. Von GoProBoxen existieren ja schon einige. Da wäre es leicht, ein Compartment für die Elektronik einzurichten. Auch dicht, wenn es sein muß.
Ich habemich mal um elektrisches Zubehör gekümmert. Vielleicht telefonieren wir nachher noch mal, wenn Du noch nicht früh im Koma liegst... ;-)
Gerade bei Tests eine Nex3 und Weitwinkelobjektiv geschrottet. Schade auch... Egentlich sollte die in das medium Gimbal. Kamera ist nicht so schlimm, da habe ch noch welche. Aber das Objektiv für die Balance.
Wie gesagt: Gimbals sind geändert und sollten nun allgemein passen und einen passenden Verstellbereich haben.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten