Blindes Fahren eines bürstenlosen Gleichstrommotors BLDC

8

Ich möchte einen BLDC-Controller mit einer MCU herstellen und habe die atmel-Anleitung AVR444 gelesen, in der ein Design und eine Software beschrieben werden, die für einen sensorlosen Back-EMK-Treiber mit Zeitsteuerung erforderlich sind.

Ich erweitere mein Verständnis des Themas. Die Anwendung, die ich mir anschaue, ist für einen RC-Quadcopter, daher ist die Geschwindigkeitsgenauigkeit nicht kritisch, solange der Gesamtschub mit einer ziemlich schnellen Reaktion variieren kann. Die Last wird auch nicht stark variieren. Der Motor wird dreiphasig (Y-Wicklungen) sein, ungefähr 5-10 V, <10 A, wie ich mir vorstellen kann.

Ich verstehe das Konzept der Gegen-EMK in den schwimmenden Wicklungen, um die Drehung des elektrischen Feldes zu synchronisieren. Mein Verständnis ist jedoch auch, dass das am Rotor erlebte Drehmoment proportional zur Rotationsdifferenz zwischen dem elektrischen Feld und dem permanenten Rotorfeld ist. Daher bleibt der Rotor normalerweise leicht zurück, wodurch das Drehmoment ihn zwingt, aufzuholen.

Der AVR444-App-Hinweis entwirft die Software, um den Motor blind zu fahren (unter Verwendung eines festen Timings), und beschleunigt ihn bis zu einem Punkt, dann lässt er die Software zur Steuerung der Gegen-EMK übernehmen. Das macht für mich vollkommen Sinn, aber was mich neugierig macht, ist die Einschränkung, den Motor blind zu fahren?

Solange es keinen großen Unterschied zwischen der Rotordrehzahl und der Drehzahl des elektrischen Feldes gibt, beschleunigt das Drehmoment den Rotor und zwingt ihn, sich an das elektrische Feld anzupassen. Da das elektrische Feld von der Software gesteuert wird, was wäre das Problem, wenn das elektrische Feld blind angesteuert wird und angenommen wird, dass der Rotor Schritt hält? Es ist wahrscheinlich, dass es ab und zu zu Rotationen kommt, aber bei einigermaßen hohen Geschwindigkeiten (1000 bis 5000 U / min) und mit einem gewissen Grad an Trägheit wird sich dies sicherlich herausrechnen? Wenn die Geschwindigkeit beispielsweise um 100 U / min variiert, bin ich nicht zu aufgeregt.

Bei Verwendung einer festen Spannung für den Motorantrieb und einer festen Drehfrequenz erwarte ich, dass der Strom in den Wicklungen mit dem Drehmoment variiert, das der Rotor benötigt, um das Tempo an die elektrische Drehung anzupassen. Ein Strombegrenzer am Netzteil könnte alles zu Verrückte stoppen.

Gedanken? Mir ist klar, dass die bevorzugte Methode die Verwendung von Gegen-EMK in einem Regelkreis ist, aber ich suche nach einer Idee, welche Einschränkungen es hätte, keinen Regelkreis zu verwenden und einen BLDC-Motor blind anzutreiben.

EDIT: Es ist nicht nur ein interessanter Forschungspunkt, sondern hat auch praktischen Nutzen. Das blinde Antreiben von BLDC-Motoren ist eine ziemlich triviale Aufgabe, die eine einzelne Steuer-MCU ausführen könnte. Das aktuelle Design, das ich betrachte, erfordert kleine, separate MCUs, um enge Regelkreise pro Motor zu betreiben. Bei einem Design mit 4 Motoren (möglicherweise mehr) ist dies der Unterschied zwischen 1 und 5 MCUs auf der Platine.

Oliver
quelle
"Auf einen Blick" Ich würde sagen, Sie würden einen schweren Leistungsverlust über die richtige Kontrolle hinnehmen. Der Grund für den Start mit offenem Regelkreis ist, dass keine Rückmeldung verfügbar ist - im Gegensatz zu sensorgestützten Systemen, bei denen Sie die Steuerung vom stationären Bereich aus geschlossen haben. Mit der Gegen-EMK-Rückmeldung im geschlossenen Regelkreis können Sie den Motor so weit wie möglich an seine maximal mögliche Leistung bringen, indem Sie zulassen, dass sich der Winkel zwischen Antriebs- und angetriebenen Feldern bis zu einem Grenzwert erhöht, von dem Sie entscheiden, dass er keinen Schlupf verursacht. Ohne Rückkopplung haben Sie keine Ahnung, was der Rotor tut. ...
Russell McMahon
... Kommentar: Ich habe vor ungefähr 2 Jahren mit BLDC Motor Control gespielt und seitdem nicht viel praktische Erfahrung gesammelt. Meine Kommentare basieren auf praktischen, aber verblassten Erinnerungen Eintauchen in die Vergangenheit: Es geht nicht nur um "Rutschrotationen", sondern um eine kontinuierliche Fahrt in die gewünschte Richtung. Wenn Sie rutschen, kehrt sich die Antriebsrichtung um und der Rotor ist Verzögerungskräften ausgesetzt. Wenn sich das Feld relativ zum Rotor weiter dreht, betreten Sie einen Bereich mit Vorwärtsantrieb und gehen dann, wenn Sie immer noch rutschen, wieder in den Rückwärtsantrieb usw. ...
Russell McMahon
... Der Motor kann gut und schnell synchronisiert werden, aber möglicherweise nicht. Bei jedem Ausrutschen kann es zu Schwingungen des Antriebs kommen. | Ich bezweifle, dass es sich wirklich um eine 1 oder 5 MCU-Entscheidung handelt - wenn Sie Wert darauf legen, eine MCU mit Remote-Motoren zu haben, sollte dies machbar sein. Die Kosten einer MCU sind jedoch im Vergleich zu allen anderen Kosten äußerst gering, und die mehrfache Replikation eines ordnungsgemäßen Designs kostet nur billige Hardware.
Russell McMahon
Ich nehme deinen Punkt. Wenn eine Drehung verrutscht, läuft sie erst bei der nächsten aus - sie erfährt ein negatives Drehmoment, wodurch sie sich verlangsamt und Schwingungen verursachen kann.
Oliver
@ Oliver: Nicht ganz. Sobald es rutscht, geht Ihr durchschnittliches Drehmoment plötzlich auf Null und der Motor wird vollständig abwürgen. Grundsätzlich können Sie sich ohne ein anderes Feedback nicht erholen. Überlegen Sie, was ein Ausrutscher ist. Sie haben versucht, den Motor schneller anzutreiben, als er fahren konnte. Kurzfristig wird es ein negatives Drehmoment geben, so dass es schlimmer wird. Es gibt dann keinen Mechanismus, um den Motor zu beschleunigen und ihn wieder zu synchronisieren. Warum nicht Hallsensoren verwenden? Dies würde ein effizientes Fahren ermöglichen, was wichtig ist, wenn mit Batteriestrom betrieben wird.
Olin Lathrop

Antworten:

11

Das Fahren eines Motorrollos ist aus mehreren Gründen eine schlechte Idee:

  1. Es ist ineffizient. Die effizienteste Art, den Motor zu betreiben, besteht darin, dass das magentische Feld 90 ° vor dem Rotor liegt. Anders ausgedrückt ist das Drehmoment am Rotor das Kreuzprodukt des Antriebsmagnetfelds und der magnetischen Ausrichtung des Rotors.

    Mit der Positionsrückmeldung kann das Magnetfeld nahe am optimalen Winkel gehalten werden, was bedeutet, dass der Strom den Motor tatsächlich drückt, anstatt ihn an Ort und Stelle zu halten. Anders ausgedrückt, die Amplitude ist genau das, was sie benötigt, um den Motor in der Konfiguration mit maximalem Drehmoment auf der gewünschten Drehzahl zu halten. Wenn Sie nicht wissen, wo sich der Rotor befindet, wird der Motor übersteuert.

    Eine andere Sichtweise ist, dass das Fahrfeld eine Sinus- und Cosinuskomponente aufweist. Angenommen, der Cosinus ist der Teil, der 90 ° vor dem Rotor liegt, und der Sinusteil befindet sich dort, wo sich der Rotor derzeit befindet. Jeder Phasenwinkel kann nur als eine andere Mischung der Sinus- und Cosinuskomponenten betrachtet werden. Nur die Kosinuskomponente bewegt jedoch den Motor. Die Sinuskomponente verursacht nur Erwärmung und steht für Energieverschwendung.

  2. Sobald Sie die Sperre verlieren, ist das Spiel beendet. Bei einem festen Antrieb liegt der Antriebswinkel bei geringem Drehmoment nur wenig vor dem Rotor. Wenn die Drehzahl zunimmt (und die effektive Antriebsspannung aufgrund der Gegen-EMK automatisch abnimmt) oder die Last zunimmt, wird der Festantrieb bis zu 90 ° vor dem Rotor.

    Zu diesem Zeitpunkt befindet es sich jedoch direkt am Rand und jede Änderung führt zu einem geringeren Drehmoment. Wenn die Belastung des Motors zunimmt, wird der Rotor mehr als 90 ° nach hinten kommen, was weniger Drehmoment verursacht, was dazu führt, dass er noch mehr nach hinten kommt. Während der nächsten 1/4 Umdrehung des Schlupfes nimmt das Vorwärtsdrehmoment auf Null ab. Für die nächste halbe Umdrehung danach drückt das Antriebsmoment den Rotor tatsächlich nach hinten.

    An diesem Punkt bist du total fertig. Denken Sie daran, dass Sie in erster Linie in diese Situation geraten sind, weil das Antriebsmoment nicht mit der Last mithalten konnte und Sie in der letzten 3/4-Kurve gerade einen negativen Nettoantrieb erlebt haben. Wenn die Last plötzlich entfernt wird und Sie sehr viel Glück haben, kann der Rotor möglicherweise beschleunigen, um im nächsten 1/4 Zyklus mit dem Antrieb zu synchronisieren, aber sicherlich nicht, wenn die Bedingung das Problem überhaupt verursacht hat noch vorhanden.

    Sobald der Rotor nicht mehr synchron ist, beträgt das Nettodrehmoment über eine Umdrehung 0. Das Produkt aus zwei Sinuswellen unterschiedlicher Frequenz wird unabhängig vom Phasenwinkel zwischen ihnen immer auf 0 gemittelt.

Olin Lathrop
quelle
Wäre es erwähnenswert, dass Schrittmotoren und bürstenlose Motoren konzeptionell sehr ähnlich sind und erstere im Allgemeinen so konstruiert sind, dass sie 100% der Nennbetriebsleistung sicher als Wärme ableiten können, die meisten bürstenlosen Motoren jedoch nicht sicher auf diese Weise behandelt werden können?
Supercat
@ Olin gut nach all den Jahren ist sensorloser oder blinder Antrieb immer noch grob minderwertig. Ich habe keine Arbeit daran gemacht, also denke ich, dass Sie richtig sind +1. Ich erinnere mich, als ich Haare hatte und kein College-Mitarbeiter übergewichtig war, der daran arbeitete Seine Meister. Dies war 1986, als ich einen Forschungsposten hatte und einen Kurs über Steuerungssysteme wiederholte. Ich zeigte ihm meine Sachen und er zeigte mir das BLDC-Motor-Setup. Ich half ihm nicht, es war alles Mikromaterial. Was er tat, war angemessen für eine Waschmaschine. Es war nicht perfekt. Es wundert mich, dass nach all den Jahren der Blindantrieb nicht perfektioniert wurde.
Autistisch
@Aut: Sensorloser und blinder Antrieb sind völlig unterschiedlich. Sensorlos ist eine andere Methode, um auf die Rotorposition zu schließen, verwendet jedoch letztendlich die angenommene Position, um den Motor anzutreiben. Sensorless kann bei ordnungsgemäßer Implementierung recht gut funktionieren.
Olin Lathrop
0

Daher ist das Maß an Geschwindigkeitsgenauigkeit nicht kritisch, solange der Gesamtschub mit einer ziemlich schnellen Reaktion variieren kann

nicht wirklich, wie es funktioniert, googeln Sie einfach, wie neue Escs für Quadcopter aus Gründen der Geschwindigkeit und Präzision über das Standard-Servo-PWM hinausgehen.

Zweitens hat der "Blindstart" den einzigen Zweck, den Rotor zufällig, aber in Bewegung zu bringen, so dass seine Ausgangsposition durch die von ihm induzierte Gegen-EMK bestimmt werden kann

Denken Sie auch daran, dass BLDC Synchronmotoren sind, "Slip" hat hier keinen großen Platz. Große Ressourcen, um die "mathematische", aber grundlegende Theorie auf "menschliche" Weise zu lernen, finden Sie in den "Endloskugel" -Foren :-)

Caterpillaraoz
quelle