PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brushlessmotor ansteuern



datatom
28.04.2010, 15:50
Hallo,

ich habe mir folgenden Motor gekauft:

Graupner Brushlessmotor Compact 345Z - 7,4 Volt.

Ich möchte diesen Motor mit meinem Mikrocontroller per PWM steuern.

Benötige ich dazu einen Regler oder kann ich den Motor mit dem Controller regeln?

datatom

PICture
28.04.2010, 16:01
Hallo datatom!

Für mich lassen sich brushless Motoren, wegen eigenen Controller (der nur mit DC klar kommt), mit PWM überhaupt nicht regeln, bin aber kein Experte... :)

MfG

datatom
28.04.2010, 16:08
Wie lässt sich denn ein Brushlessmotor vom Mikrocontroller aus steuern?

Brauch ich ggf. dazu einen Regler?

PICture
28.04.2010, 16:23
Laut meinen bisherigen Experimenten mit bruschless Motoren habe ich festgestellt, dass seine durchschnitliche Drehzahl nur durch vollständiges Aus- und Einschalten mit einem Zeitabstand um Sekunden erreicht werden könnte. Das müsste man rein softwaremässig realisieren können.

Am besten und am schnellsten für mich ist immer selber probieren... :)

MfG

Hessibaby
28.04.2010, 16:48
In den Drehzahlstellern für die BLDC-Motoren sind µController drin, allerdings ist die Software dazu nicht ganz so trivial. Es gibt aber von fast allen Herstellern entsprechende Applikation Notes.
Z.B. mal auf der Atmel Seite mit BLDC suchen

BurningBen
28.04.2010, 16:49
Also entweder du baust dir mit deinem Mikrocontroller nen Steller für den Brushless auf, was ziemlich umständlich werden könnte und keine Ressourcen für weitere Anwendungen auf dem µC lässt.

Oder du verwendest einen Modellbaubrushlesscontroller und steuerst den mit der Standard-Servo-PWM an. (20ms Periode, zw. 1 und 2ms High)

Waldschrat
28.04.2010, 22:52
Das sind Permanenterregte Synchronmotoren, wenn ich mich nicht irre mit 3 Phasen (Könnten auch zwei mit rausgeführtem Sternpunkt sein). Wenn du die ansteuern möchtest, musst du also ein Dreiphasensystem an den Motor anlegen mit drei Sinusförmigen Spannungen die 120° zu einander verschoben sind. Das Problem hierbei besteht dass du die Frequenz mit der Drehzahl des Motors abstimmen (regeln) musst weil dir sonst der Motor durchbrennt und hierin liegt meines Erachtens auch das Größte Problem an der ganzen Sache.
Ich würde lieber wie BurningBen vorschlägt einen Modellbauregler kaufen und den mit einer "normalen" PWM ansteuern

Gruß

PICture
28.04.2010, 23:38
Hallo!

@ datatom

Die BLDC Motoren sind so wie der Waldschrat schon geschrieben hat Synchronmotoren. In anfachen Anwendungen z.B. bei PC Lüfter sind sie als 2-Phasen Synchromotoren mt 4 Spulen auselegt und durch rein hardware Controller mit magnetischer Rückkopplung gesteuert. Als Beispiel, sehe http://www.datasheetcatalog.com/datasheets_pdf/A/H/2/8/AH282.shtml .

MfG

Andree-HB
29.04.2010, 06:12
Ich habe mal Experimente mit einen Brushless-Regler und Festplattenmotoren gemacht, das geht supersimpel...

http://www.pixelklecks.de/images/brushless2.jpg

http://www.youtube.com/watch?v=01G8iGeYab4

Siggi_White
29.04.2010, 09:34
Unter
http://www.mikrokopter.de
wird ein Brushlessregler beschrieben. Diesen kann man dort im Shop auch kaufen. Der Vorteil hierbei ist:
1. Du bekommst dort neben der Hardware auch den Sourcecode für den Mikrocontroller (muss man ein bischen auf der Seite suchen, wird auf Subversion verlinkt), sowie einen Schaltplan.
2. Dieser Regler lässt sich auch per I2C ansteuern, was je nach Anwendungsfall evtl. besser geht als mit Servo-PWM. Mit Servo-PWM kann er aber, wenn ich mich nicht irre, auch umgehen.

Ich würde aber an Deiner Stelle dort noch anfragen, ob es Beschränkungen bei der Drehzahl oder Links-/Rechtslauf gibt. Ich habe ihn was das angeht nicht ausprobiert...

nflatjor555
01.05.2010, 00:30
@waldschrat, PICture:
PMSM und BLDC sind schon sehr aehnlich aber unterscheiden sich in wie die Wicklungen gewickelt sind und wie sie angesteuert werden sollten. PMSM werden Sinuskommutiert, BLDC eher Trapezenfoermig kommutiert. Den Typ des Motors kann man untersuchen indem man dem mit einem Bohrer o.Ae. antreibt und die Form der Generatorspannung sich am Oszi anschaut. Sinus=PMSM, Trapez=BLDC.

Waldschrat
03.05.2010, 00:00
hmm OK wieder mal was dazugelernt ;-) Danke nflatjor555.
LG

datatom
04.05.2010, 06:18
2 Fragen:
Woher weiß ich eigentlich mit welcher min. und max. Taktfrequenz ich den Motor ansteuern kann? Im Datenblatt des Motors steht nix, s.u. .

Was ist eigentlich der Ausgangspunkt für die Berechnungen des PWM-Signals, das muss doch irgendeine Angabe vom Motor sein, oder?

Technische Daten des Motors Graupner Compact 345Z 7,4V:

Nennspannung: 7,4 V
Betriebsspannungsbereich: 7,2 ... 11,1 V
Leerlaufdrehzahl: 11000
Umdrehungen/Volt: 1500
Stromaufnahme bei max. Wirkungsgrad: 20 ... 35 A
Höchster Wirkungsgrad: 78%
Zulässige Motorlaufrichtung: R und L
Länge über alles ca. 54 mm
Gehäuselänge ohne Welle ca. 34,5 mm
Durchmesser ca. 35,5 mm
Freie Wellenlänge ca. 17 mm
Wellendruchmesser ca. 4 mm
Gewicht ca. 105 g
Empf. Luftschrauben: 11x6" 2LiPo
Fluggewicht ca. 750 - 1500 g
Empf. Regler: GRAUPNER GENIUS 30 G3,5 (Best.-Nr. 2895.G35)

PICture
04.05.2010, 06:56
Hallo!


Umdrehungen/Volt: 1500...Empf. Regler: GRAUPNER GENIUS 30 G3,5 (Best.-Nr. 2895.G35)

MfG

datatom
04.05.2010, 11:33
Ich habe mir zu dem Regler das Datenblatt runtergeladen. Ausserdem habe ich mir von meinem Mikrocontrollerhersteller ein Beispielprogramm für BLDC-Motoren runtergeladen und werde mich mal für ca. 1 bis 2 Jahre zurückziehen.

datatom
04.05.2010, 16:26
Ich habe in dem Datenblatt des Reglers gelesen. Wie lang eine Periode und wie lang das low- und high-Signal sein müssen, habe ich nicht gefunden. Kann mir jemand weiterhelfen?

Der Link zu dem Regler:
http://www.graupner.de/fileadmin/downloadcenter/anleitungen/20060112082315_2894_2895_2896_2897_D.pdf

Waldschrat
04.05.2010, 23:02
meinst du das Steuerungssignal für den Regler? Das ist wie Siggi_White schon geschrieben hat einfach eine Servo-PWM
http://www.rn-wissen.de/index.php/Servos

LG

datatom
05.05.2010, 04:13
Ja ich meinte das Steuersignal für den Regler. Aber sind die Signale denn bei allen Reglern gleich? Da ich mir noch einen Regler bestellen muss, frag ich erst blöd, anstatt es auszuprobieren.

Gut, ich gehe jetzt davon aus, dass es so ist.

Rabenauge
05.05.2010, 10:25
Die Signale sind weitgehend gleich, denn die Regler sind zur Fernsteuerung hin natürlich (meist, manche machen etwas Stress) kompatibel.
Wäre ja blöd, wenn jeder Fernsteuerempfänger sein eigenes Süppchen kochen würde.
Die praktischen Unterschiede liegen in den
Funktionen der Regler, manche verfügen über Bremse, manche sogar nen Rückwärts"gang", anderen können die Knüppelwege einprogrammiert werden usw.
Manche Regler verfügen sogar über eine echte Regelfunktion: dort gibst du per PWM nur eine Soll-Drehzahl vor und der Regler versucht, die auch unter unterschiedlichen Lastbedingungen zu halten.
Das entnimmst du der Doku zum Regler.

datatom
07.05.2010, 21:08
Ich werde das Signal für den Brushlessmotor mit Compare-Register erstellen: http://www.atmel.com/dyn/resources/prod_documents/doc32012.pdf Punkt: 2.4 Waveform Mode.

Ich nehme ein Beispielprogramm zur Anleitung.
file:///C:/Dokumente%20und%20Einstellungen/Renate/Eigene%20Dateien/Projekt/sonstiges/avr32110/doxygen/index.html

Liege ich da richtig oder laufe ich in die falsche Richtung?

datatom
17.05.2010, 20:45
Aste mich gerade durch die Datenblätter. Werde den Motor mit einem Timer steuern. Ich werde allerdings mit einem Servo beginnen, weil mir der Fahrtregler noch fehlt.

Kann mir jemand sagen, was TOGGLE im Zusammenhang mit Registern bedeutet?

Siehe auch den Link: http://www.atmel.com/dyn/resources/prod_documents/doc32012.pdf

nflatjor555
18.05.2010, 00:06
Toggle= Bitwert wechseln (Pin = !Pin)
d.h. wen ein Bit getoggelt wird, wird er:
- von 0 auf 1 bzw.
- von 1 auf 0
geaendert.

datatom
18.05.2010, 06:40
Bedeutet das, wenn die Register bei Timern von 0x0000 auf 0xFFFF hogezählt weden, dann wieder von 0xFFFF auf 0x0000 zurück gezählt werden?

Oder bedeutet es den Pin auf high und low im Wechsel einer bestimmten Frequenz zu setzen?

Richard
18.05.2010, 11:29
Ich habe mir zu dem Regler das Datenblatt runtergeladen. Ausserdem habe ich mir von meinem Mikrocontrollerhersteller ein Beispielprogramm für BLDC-Motoren runtergeladen und werde mich mal für ca. 1 bis 2 Jahre zurückziehen.

G*****,kann ich nachvollziehen.

Gruß Richard

nflatjor555
18.05.2010, 22:39
@datatom:
"Toggle" ist in Figur 2.3. in der von dir angegebenen AppNote zu sehen.
Immer wenn der Zaehler gleich mit RB wird, toggelt Pin TIOB (wechselt von 0 auf 1 oder von 1 auf 0).

Was ich aus Figur 2.3. lesen kann:
- Mit Register RC stellst du die Periodezeit, also 1/Frequenz
- Mit Register RA kannst du die Pulsweite am TIOA stellen
- Mit Register RB kannst du einen Rechteck-signal erzeugen, mit 50% Tastverhaeltnis (1 Periode AN, naechste Periode AUS).
. - RC bestimmt dann die Frequenz (f=1/(2xPeriodezeit)), und RB bestimmt auf welchem Punkt in der Rampe der Wechsel von TIOB immer kommt.

-> Um ein Servosignal zu erzeugen musst du RC so stellen dass die Periodezeit etwa 20ms wird, und RA so stellen dass die Pulszeit etwa 1-2ms wird.

datatom
19.05.2010, 09:59
@nflatjor555: Erst einmal vielen Dank. Ich werde das jetzt mal nachvollziehen und mich sicherlich wieder melden:-)

Malec
23.11.2016, 11:43
Hallo, hier muss ich was zu schreiben, auch wenn dieses Posting schon älter ist.

ich sehe auf Seite 1 das Andree-HB einen uC für einen gekauften Regler benutzt.
Da ich auch eine eigne BLDC-Platine gebaut habe, möchte ich das ganze Spiel mal mit einem
gekauften Regler testen den ich hier liegen habe.

Ich kenne aber nicht das Protokoll der I2C Schnittstelle
zum Regler

Könnte jmd Helfen, im Internet finde ich nichts.

mfg malec