PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wald vor lauter Bäumen - Diskreter BLDC-Controller für Arduino



easter91
14.04.2015, 15:18
Hallo zusammen,

ich würde gerne einen 10W bzw. 50W BLDC-Motor (sensorlos) mit Hilfe eines Arduino-Boards steuern können. Ich habe bisher einen fertigen Regler von Conrad verwendet (Modelcraft Best.-Nr. 20 78 63), und mit der Servo-Bibliothek angesteuert. Leider unterstützt dieser aber keine Drehrichtungsänderung und ich wurde das ganze sowieso gerne diskret aufbauen.

Letzten Endes muss ich ja nur die drei entsprechenden Anschlüsse in der richtigen Reihenfolge auf GND bzw. VCC legen, wie hier (http://elabz.com/brushless-dc-motor-with-arduino/)zu sehen, korrekt ?
Vom Stromfluss erwarte ich 50W/7.4V (2S-Lipo) in etwa 7 Ampere Dauerbelastung. Die Frage ist welche Anlaufströme ich zu erwarten habe...

Vom Prinzip her muss ich doch "nur" 3 halbe H-Brücken aufbauen, um per HIGH (3.3V) / LOW-Pegel (0V) des µCs die Anschlüsse ggn. VCC/GND durchsteuere. Ist das korrekt ?
Würde sich dafür prinzipiell folgende Schaltung eignen, wenn ich die FETs durch leistungsfähigere ersetze ? Tipps dazu ?
30068

Pardon wenn es etwas viele Fragen sind, und vielen Dank im Vorraus für die Hilfe.
mfg,

Christian

RoboHolIC
15.04.2015, 00:12
Es gibt hier im Forum mehrere Threads zu genau diesem Thema. Bitte lies dich dort in die Thematik ein oder suche nach Application Notes der üblichen verdächtigen Hersteller (sogar Atmel und Microchip bieten passendes an).

Das soll jetzt kein 'Abbürsten' sein, aber deine aufgezeigte Basisschaltung ist meines Erachtens meilenweit von etwas befriedigend funktionierendem entfernt. Und die Software ist auch weitaus komplexer als ein bloses Durchschalten von Ansteuerungsmustern, wie du es evtl. von einer elementar-diskreten Stepperansteuerung her kennst.

Die von dir verlinkte Website selbst ist zwar gut, um ein grobes Verständnis für die Funktionsweise eines Synchronmotors (und darum handelt es sich bei einem BLDC) zu bekommen, klammert aber ziemlich alle Knackpunkte aus, die bei einem realen BLDC-Regler (z.B. aus dem RC-Modellbau) von den Entwicklern der Hard- und Firmware gelöst werden müssen.

i_make_it
15.04.2015, 06:03
Der Leistungsteil sind tatsächlich "nur" 3 Halbbrücken,
aber mit deren zeitdiskreter Ansteuerung fängt der Spaß erst an.
Einfach nur "durchsteuern" ist nicht.
Damit würde man nur ganz schnell den Motor grillen.
Wie so oft liegt der Teufel in den vielen kleinen Details die man Know How nennt.

http://www.mpoweruk.com/images/BLDCControl.gif
1 | 2 | 3 | 4 | 5 | 6 |
-----------------------------|
0 | 0 | 0 | x | 1 | x | 0°
50%| 0 | 0 | 0 | 1 | x | 30°
1 | 0 | 0 | 0 | 1 | x | 60°
1 | 0 | 0 | 0 |50%| x | 90°
1 | x | 0 | 0 | 0 | x |120°
1 | x |50%| 0 | 0 | 0 |150°
1 | x | 1 | 0 | 0 | 0 |180°
50%| x | 1 | 0 | 0 | 0 |210°
0 | x | 1 | x | 0 | 0 |240°
0 | 0 | 1 | x |50%| 0 |270°
0 | 0 | 1 | x | 1 | 0 |300°
0 | 0 |50%| x | 1 | 0 |330°
0 | 0 | 0 | x | 1 | x |360°=0°

Die Kunst ist die "x" zu ersetzen.

Vom Prinzip geht es darum einen 3 Phasen Wechselrichter für eine induktive Last in Sternschaltung zu entwickeln mit variabler Kreisfrequenz (Drehzahlsteller) und der Möglichkeit die Phasenlage von 2 Phasen zu vertauchen (Wechsel der Drehrichtung).

easter91
15.04.2015, 11:44
Danke für eure Tipps. Dann werde ich wohl durch erst einmal versuchen, den fertigen Brushless-Regler wieder ans laufen zu bekommen.

i_make_it
15.04.2015, 12:10
Eine Drehrichtungsumkehr lässt sich problemlos extern nachrüsten. Die Bauteile müssen nur den Strom aushalten.
Der Motor wird mit Drehstrom betrieben, weshalb zwichen den drei Kabeln die vom Regler zum Motor führen ein Drehfeld entsteht.
Beispiel:
Ausgänge Regler: A;B;C
Eingänge Motor: X; Y; Z

Rechtsdrehend
A-X
B-Y
C-Z

Linksdrehend
A-X
B-Z
C-Y

Man braucht also einen "Kreuzschalter" in zwei der drei Zuleitungen um die Drehrichtung umzukehren.