Forum: Mikrocontroller und Digitale Elektronik Ansteuerung BLDC für Gimbal - AVR


von Nico H. (nixmeister)


Lesenswert?

Hallo,

Ich möchte mir selber ein Gimbal bauen. Dafür möchte ich diese 
Brushless-Motoren verwenden:
http://cdn.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=53929

Zur Ansteuerung der Motoren würde ich diesen Halbbrückentreiber nehmen:
http://at.farnell.com/stmicroelectronics/l6234/half-bridge-treiber-triple-6234/dp/1094225?ost=st+l6234

Wie sollten die Signale vom Ausgang des Atmega-µC aussehen, damit der 
Motor in einer fixen Position bleibt ?
Kann ich dafür PWM-Signale verwenden ?

(Für Positionsregelung werde ich den Atmega mit den Daten von einem 
Gyro- und Beschleunigungsmesser über i2c füttern)

Danke schon im Vorraus für eure Hilfe

nixmeister

von Alex S. (thor368)


Lesenswert?

Tach nixmeister!
Ayayay, da hast du dir aber was vorgenommen. Normalerweise verwendet man 
für eine Gyrostabilisieriung Servos. Der Motor den du dir da angelacht 
hast hat deutlich zu viel power und ist eigentlich für Antriebe gedacht 
nicht für einen Stellservo.

Beispielsweise:
http://cdn.hobbyking.com/hobbyking/store/__16269__HK15138_Standard_Analog_Servo_38g_4_3kg_0_17s.html

Die Teile steuerst du tatsächlich mit einem modifizierten PWM an 
(Stichwort PPM -> Puls Pausen Modulation). Damit codierst du den 
Sollstellwinkel, wobei sich dann der Servo drum kümmert den auch zu 
erreichen. Die Reglung befindet sich also bereits im Servo.

Das ganze mit dem BLDC zu machen, den du dir ausgesucht hast ist 
allerdings auch nicht komplett unmöglich: Da es sich um einen 
Synchronmotor handelt kannst du davon ausgehen, dass, wenn die Last am 
Motor klein genug ist, er dem vorgegebenen Feld einfach folgen wird. Du 
könntest dir also mittels Raumzeigermodulation die PWM Signale für ein 
drei Phasen System generieren.

Für eine Detailierte Beschreibung des Verfahrens siehe Artiel 
Frequenzumrichter mit Raumzeigermodulation: Modulation

Thor

von STK500-Besitzer (Gast)


Lesenswert?

Nico Härtl schrieb:
> Zur Ansteuerung der Motoren würde ich diesen Halbbrückentreiber nehmen:
> 
http://at.farnell.com/stmicroelectronics/l6234/half-bridge-treiber-triple-6234/dp/1094225?ost=st+l6234
>
> Wie sollten die Signale vom Ausgang des Atmega-µC aussehen, damit der
> Motor in einer fixen Position bleibt ?
Du musst die drei Phasen des Motors so betromen, dass sie im richtigen 
Verhältnis zu einander stehen, welches dem geforderten Winkel 
entspricht.

> Kann ich dafür PWM-Signale verwenden ?
Ja, musst du sogar.

Die Angelegenheit solltest du aber noch mal überdenken, sofern du keine 
Ahnung von Regelungstechnik hast.
Guck mal nach "Alexmos gimbal". Das ist ein Regler, der genau das macht, 
was du möchtest - ohne Servos.

Alex S. schrieb:
> Das ganze mit dem BLDC zu machen, den du dir ausgesucht hast ist
> allerdings auch nicht komplett unmöglich: Da es sich um einen
> Synchronmotor handelt kannst du davon ausgehen, dass, wenn die Last am
> Motor klein genug ist, er dem vorgegebenen Feld einfach folgen wird. Du
> könntest dir also mittels Raumzeigermodulation die PWM Signale für ein
> drei Phasen System generieren.

Genau.

von MaWin (Gast)


Lesenswert?

Alex S. schrieb:
> Da es sich um einen Synchronmotor handelt kannst du davon ausgehen,
> dass, wenn die Last am Motor klein genug ist, er dem vorgegebenen
> Feld einfach folgen wird.

Nein, kann er nicht, es ist ja schliesslich ein BLDC.
Immerhin angeblich ein Gimbal-BLDC, also für langsamste Drehzahl mit 
hohem Rastmoment (obwohl er absolut nicht danach aussieht).
Aber er hat ggf. über Gyro oder Incrementalencoder ein Feedback.

Ein klassischer Modellbauservo dürfte zu langsam sein, aber I2C über 
ATmega an PWM zum motor ist auch nicht rans d schnell. Kommt also drauf 
an, was er damit wie stabilisieren will, ich würde analog angesteuerte 
voice coil nehmen.

von Nils P. (ert)


Lesenswert?

Alex S. schrieb:
> Normalerweise verwendet man
> für eine Gyrostabilisieriung Servos. Der Motor den du dir da angelacht
> hast hat deutlich zu viel power und ist eigentlich für Antriebe gedacht
> nicht für einen Stellservo.

Oha, das ist aber Wissen von vorgestern :-)

BLDC-Gimbals gibt es zuhauf.
--> 
https://www.google.de/search?q=bldc+gimbal&client=firefox-a&hs=uZz&rls=org.mozilla:de:official&channel=sb&source=lnms&tbm=isch&sa=X&ei=FUh4VN7CKKTjywOg4YK4DQ&ved=0CAkQ_AUoAg&biw=1277&bih=575
Auch mit genug Steuerungen... Alexmos, Martinez sind da die passenden 
Suchworte für Google. Alexmos hat es gut hinbekommen. Ist aber 
Closed-Source, Martinez ist Freeware.

Wenn man schon fragst wie man einen solchen Motor ansteuert, ist die 
Eigenleistung welche man investieren willst viel zu gering. Vergiss das 
Projekt...

von Alex S. (thor368)


Lesenswert?

MaWin schrieb:
> Nein, kann er nicht, es ist ja schliesslich ein BLDC.
Ah, interessant dann begründe doch bitte deine Meinung.

MaWin schrieb:
> Ein klassischer Modellbauservo dürfte zu langsam sein,
Woher weißt du das? Der Fragesteller sagt nichts zum Anwendungsgebiet.
Also @nixmeister: Was soll das werden?

Nils P. sagt:
> Oha, das ist aber Wissen von vorgestern :-)
>
> Wenn man schon fragst wie man einen solchen Motor ansteuert, ist die
> Eigenleistung welche man investieren willst viel zu gering. Vergiss das
> Projekt...
Wie du schon richtig erkannt hast hat der Fragesteller wohl nicht die 
Fähigkeiten aus dem Stand eine BLDC Gimbal Steuerung zu bauen. Servos 
sind einfach und auch für einen Anfänger zu beherrschen. Daher meine 
Empfehlung.

Thor

von Nico H. (nixmeister)


Lesenswert?

Alex S. schrieb:
> oher weißt du das? Der Fragesteller sagt nichts zum Anwendungsgebiet.
> Also @nixmeister: Was soll das werden?

Es soll ein Gimbal entworfen werden, dass unten an einem Hexacopter 
angebracht werden kann. (Gimbal erhält eigenen Akku)

STK500-Besitzer schrieb:
> Guck mal nach "Alexmos gimbal". Das ist ein Regler, der genau das macht,
> was du möchtest - ohne Servos.

Nils P. schrieb:
> Auch mit genug Steuerungen... Alexmos, Martinez sind da die passenden
> Suchworte für Google. Alexmos hat es gut hinbekommen. Ist aber
> Closed-Source, Martinez ist Freeware.
>
> Wenn man schon fragst wie man einen solchen Motor ansteuert, ist die
> Eigenleistung welche man investieren willst viel zu gering. Vergiss das
> Projekt...
...nein.

Diese fertigen Platinen sind ja gut und recht, jedoch soll es noch 
möglich sein, das Gimbal extern zu steuern. Soll heißen: Ich kann 
während des Fluges die Position der Kamera ändern.


Da jedoch der Zeitplan verschärft wurde, werde ich die Servos nehmen und 
nicht die Brushless-Motoren.

von Nils P. (ert)


Lesenswert?

Nico Härtl schrieb:
> Diese fertigen Platinen sind ja gut und recht, jedoch soll es noch
> möglich sein, das Gimbal extern zu steuern. Soll heißen: Ich kann
> während des Fluges die Position der Kamera ändern.

Oha, da hast du dich aber recht wenig mit den Boards beschäftigt... Geht 
ohne Probleme über PPM_Signale. Kann man alles recht intuitiv über eine 
GUI einstellen.

Servos gehen aber auch, hatte ich auch mal. Man hat halt nur immer das 
"Reglerrauschen" auf der Aufnahme.

Viel Erfolg noch
G Ert

von Nico H. (nixmeister)


Lesenswert?

Zur Rechtfertigung:
STK500-Besitzer schrieb:
> Die Angelegenheit solltest du aber noch mal überdenken, sofern du keine
> Ahnung von Regelungstechnik hast.
Ich habe sehr wohl Ahnung von Regelungstechnik.


Nils P. schrieb:
> Vergiss das
> Projekt...

Nils P. schrieb:
> Oha, da hast du dich aber recht wenig mit den Boards beschäftigt... Geht
> ohne Probleme über PPM_Signale. Kann man alles recht intuitiv über eine
> GUI einstellen.

Da dies ein Schulprojekt ist, bei dem man mehr oder weniger alles selbst 
entwickeln soll, kann ich leider nicht das Projekt vergessen und nicht 
auf solche fertigen Boards zurückgreifen.

Werde nun nochmals probieren, ob ich die Brushlessmotoren zum Laufen 
kriege. Verwende einen Atmega2560 für die Ansteuerung der 2 Motoren über 
die Dreiphasentreiber L6234.

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.