N'Abend
Es kam an anderer Stelle die Frage auf, ob der externe PID-Regelaufwand nicht vergebens sei, da der Controller (Cheap Red Brushless Controller - ab hier von mir nur noch CRBC genannt) das eigentlich von Haus aus erledigen sollte.
Ursprünglich wollte ich für mein Projekt nur den CRBC anschließen und fertig. Hätte nie gedacht, dass daraus eine eigene Forschungsfrage wird. Aber jetzt möchte ich es doch genau wissen - und aufgrund der Beliebtheit und des unschlagbaren Preises vom CRBC ist es vielleicht auch für andere interessant. Dazu sind solche Foren ja gedacht.
Also betrachten wir die Sache mal gründlich (Vorweg: ich bin nur Maschinenbauer, kein E-Techniker...):
BLDC-Motoren haben, wie "normale" Bürstenmotoren auch, eine ziemlich lineare Kennlinie bzgl. Drehzahl und Drehmoment. Hier ein Beispiel von einem nanotec-Motor mit sehr ähnlichen Werten (
https://www.nanotec.com/eu/de/produkte/640-db42l01):
Kennlinie_BLDC.jpg
Legt man die Nennspannung an (beim ACT-Motor 24V) stellt sich ohne Last die Nenndrehzahl ein (ca. 5000 1/Min).
Wird nun bei gleichbleibender Spannung ein steigendes Lastmoment aufgebracht, sinkt die Drehzahl proportional zum Moment, bis der Motor irgendwann nahezu stillsteht. Dann haben wir das maximale Moment, dass der Motor bei Nennspannung aufbringen kann.
Wenn nun die Spannung am Motor reduziert wird (sagen wir mal auf die Hälfte = 12V) verschiebt sich die Kennlinie parallel nach unten. Das Drehmoment-Drehzahl-Verhalten bleibt aber grundsätzlich gleich.
Der CRBC stellt die Drehzahl deshalb über eine variable Spannung an den drei Spulenanschlüssen des Stators ein. Damit er weiß, welche Spulen gerade dran sind, bekommt er entsprechende Signale von den drei Hall-Sensoren hinten am Motor.
So kann man auf das mechanische Umpolen via Bürsten und Schleifringe verzichten. Die "variable" Spannung wird nicht absolut, sondern in Form einer Rechteckspannung mit fester Frequenz und variabler Signalbreite ("Einschaltzeit" pro Periode aka duty-cycle) erzeugt. Die wirksame Gleichspannung ergibt sich als gemittelter Wert der Rechteckspannung.
Wir halten bis hierhin fest (nichts wirklich neues):
Gleiches Lastmoment und höhere Spannung --> höhere Drehzahl
Gleiche Spannung und höheres Lastmoment --> niedrigere Drehzahl.
Die Gretchenfrage ist nun: CRBC, wie hälst du es mit dem geschlossenen Regelkreis? Bist du willens und in der Lage, bei sinkender Drehzahl (durch eine höhere äußere Last) mit einer Spannungserhöhung zu kontern, um somit die Drehzahl wieder auf das geforderte Niveau zu bringen?
Über die Hall-Sensoren bzw. den Speed-Ausgang ist ja schließlich die information über die aktuelle Drehzahl im System vorhanden und kann mit dem Speed-Eingang verglichen werden.
Schauen wir zunächst auf das Datenblatt des verbauten Controlller-IC namens "JY01". Z.B. hier online zu finden:
https://www.bldcmotor-driver.com/sale-1 ... ol-ic.html
Dort steht u.a. folgendes:
Current closed loop: Yes
Speed adjustment: linear
JY01 for Hall sensor motor driver, connect Pin 1 to Vss or connect 5V while power on, JY01 will drive as Hall way.
JY01 for Sensorless motor driver, offer 0.1V -4V to Pin 1, JY01 will drive as Sensorless way.
Letzteres ist schon mal interessant - der Chip kann theoretisch also beides: Hall- und Hall-less mode.
Bzgl. des "Current closed loop" gibt es keine weiteren Informationen, was damit genau gemeint ist. Verdächtig ist aber, dass es keine Möglichkeit gibt, das evtl. vorhandene Regelverhalten zu beeinflussen. Für einen stabilen Regler, der schnell Störungen ausregelt, dabei aber nicht schwingt, wäre das jedoch erforderlich.
Je nach Anwendungfall (Elektro-Roller, Drohne oder Nähmaschine) ist das Verhalten der Regelstrecke komplett unterschiedlich. Die Parameter müssen dazu passen (ich spreche da aus eigener Erfahrung).
Hilft also nichts, wir müssen dem Chip bei der Arbeit zuschauen. Im Anhang sind dazu drei Videos:
- Video 1: ohne Last mit dem Signal an einem der drei Spulen-Ausgänge. Man sieht sehr gut die Änderung der Pulsbreite.
- Video 2: mit Last aber ohne externe PID-Regelung. Hier zeigt sich deutlich, dass dem CRBC der Drehzahlabfall ziemlich Schnuppe ist. Er bleibt stoisch bei seinem PWM-Signal, das lediglich vom Timing her an die geringere Drehzahl angepasst wird.
- Video 3: mit Last und mit meiner externen PID-Regelung: So soll es sein! Die Pulsbreite wird dynamisch an die äußere Last angepasst, sodass die Drehzahl halbwegs konstant bleibt.
Mein Fazit:
nach allem, was ich bis jetzt so an Daten und Berobachtungen gesammelt habe, bin ich der Überzeugung: der CRBC kiegt es allein nicht geregelt. Da ist es gut, ihm einen Mikrocontroller zur Seite zu stellen, der ihm ab und zu mal (z.B. alle 50ms) auf die Finger klopft, wenn die Drehzahl nicht mehr zum Gaspedal passt.
Das Board ist weiterhin für seinen Preis unschlagbar gut und macht ansonsten alles, was es soll! Und vor allem ist es schön klein.
Puh..das ist jetzt ziemlich lang geworden. Man kann die Sache auch abkürzen und ohne lange Theorie zu einem Ergebnis kommen:
Ich bau das jetzt so ein und werde dann ja sehen, ob es funktioniert und wie lange es hält
Grüße
Nils