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.