Rapid Control Prototyping BLDC-Motoren mit Arduino oder Raspberry Pi regeln

Aktualisiert am 03.05.2024 Von Dipl.-Ing. (FH) Michael Richter 4 min Lesedauer

Wer schnell testen möchte, ob eine Regelstrategie umsetzbar ist, ist oftmals auf Prototyping-Plattformen angewiesen. Häufig ist die Ziel-Hardware nicht verfügbar, doch Regelungen müssen bereits getestet werden. Hier erfahren Sie, wie sie mit preiswerten Plattformen komplexe Regelverfahren testen können - und wo die Grenzen liegen.

(Bild:  frei lizenziert /  Pixabay)
(Bild: frei lizenziert / Pixabay)

Arduino und Raspberry Pi sind sehr populäre Plattformen für DIY-Projekte und Prototyping. Dies gilt auch für die Steuerung von bürstenlosen Gleichstrommotoren (BLDC). Ihre Eignung für solche Aufgaben hängt jedoch stark von den spezifischen Anforderungen des Projekts ab, wie Leistung, Komplexität der Steuerung, Echtzeitfähigkeiten und Schnittstellen.

Die Vor- und Nachteile von Arduino

Die Vorteile eines Arduinos liegen auf der Hand. Arduino-Boards sind ideal für einfache Projekte und Einsteiger. Die Programmierung ist unkompliziert, und es gibt viele Bibliotheken und Beispiele. Dies gilt auch für die Steuerung von BLDC-Motoren. Da der Code direkt auf dem Mikrocontroller ausgeführt wird, lassen sich Motorgeschwindigkeit und -position präzise regeln.

Jedoch gibt es auch einige Nachteile. Bei komplexen Regelungen oder wenn mehrere Motoren gleichzeitig gesteuert werden müssen, könnte die Rechenleistung von Arduino-Boards nicht ausreichend sein.

Fortgeschrittene Regelungstechniken für BLDC-Motoren, wie z.B. Field Oriented Control (FOC), benötigen wiederkehrende Berechnungen. Diese oft rechenintensiven Operationen können die Rechenkapazität eines Arduino schnell übersteigen. Somit wäre auch eine Regelung von mehreren Motoren gleichzeitig nicht möglich. Auch die Nutzung von Sensordaten zur Regelung beansprucht stark die Rechenleistung des Geräts.

Raspberry Pi als Alternative

Wenn also auf dem Arduino nicht genügend Rechenleistung zur Verfügung steht, warum dann nicht einen Raspberry Pi als Lösung hernehmen? Dieser hat eine deutlich höhere Rechenleistung. Mehr als man eigentlich benötigen würde. Außerdem lässt er sich mit einer großen Zahl von Programmiersprachen nutzen, was ihn für eine breite Masse an Anwendern attraktiv macht. Doch der Nachteil liegt an einer anderen Stelle. Durch die Tatsache, dass eben ein Betriebssystem auf dem Gerät läuft, was all diese Sprachen ermöglicht, ist das Gerät nicht wie der Arduino echtzeitfähig. Interrupts vom Betriebssystem könnten die Regelung unterbrechen und die Ausführung verzögern, was die Regelstrategie stören könnte.

Echtzeitbetriebssysteme (Real Time Operating System, RTOS) können hier jedoch Abhilfe schaffen. Echtzeitfähigkeit in der Steuerung von Systemen wie BLDC-Motoren ist deshalb so wichtig, weil sie sicherstellt, dass Aufgaben innerhalb eines vorhersehbaren und garantierten Zeitrahmens ausgeführt werden. Das bedeutet, dass das System in der Lage ist, auf Eingaben zu reagieren und Ausgaben in Echtzeit oder innerhalb einer spezifizierten Zeitspanne zu liefern, unabhängig von anderen laufenden Prozessen. Feedback-Schleifen und Synchronisation verschiedener Abläufe sind bei einer präzisen Regelung unerlässlich.

Funktion einer FOC

Um den Rechenaufwand hinter einer gängigen Regelungsstrategie zu verstehen, wird nun gezeigt, welche Schritte notwendig sind, um eine feldorientierte Regelung umzusetzen. Die Field-Oriented Control, auch bekannt als vektorielle Regelung, ermöglicht eine hochpräzise Steuerung der Drehmoment- und Drehzahlregelung von Drehstrommotoren, indem der Strom in zwei orthogonale Komponenten zerlegt wird. Eine Komponente ist für die Erzeugung von Drehmoment verantwortlich ist, die andere beeinflusst den magnetischen Fluss.

  • Für die FOC ist ein präzises Feedback über die Position des Rotors notwendig. Dies wird typischerweise durch Hallsensoren, einen Encoder oder durch sensorlose Methoden ermittelt.
  • Die gemessenen Phasenströme werden von einem dreiphasigen System (a, b, c) in ein zweiphasiges System (alpha, beta) transformiert. Diese Transformation (Clarke-Transformation) vereinfacht die anschließende Regelung, indem sie die Steuerung in eine zweidimensionale Ebene bringt.
  • Um die Regelung zu vereinfachen, werden nun die Clarke-transformierten Signale durch die Park-Transformation in ein rotierendes Koordinatensystem (d, q) überführt, welches mit dem Rotor mitrotiert. In diesem Koordinatensystem kann der Strom unabhängig für Drehmoment- und Flussregelung geregelt werden. Da es rotiert, sind die Regelparameter unabhängig von der Drehzahl.
  • Für beide d- und q-Komponenten können nun Proportional-Integral (PI)-Regler verwendet werden, um die gewünschten Stromwerte einzustellen. Die Ausgangsgrößen dieser Regler sind die Sollwerte für den Vektor der Spannung oder des Stroms.
  • Mittels inverser Park-Transformation werden nun die Sollwerte aus den PI-Reglern wieder zurück in das ursprüngliche Alpha-Beta-Koordinatensystem transformiert. Anschließend werden die transformierten Sollwerte genutzt, um die PWM-Signale für die Ansteuerung der Motorphasen zu erzeugen, was den Motor entsprechend den gewünschten Parametern für Drehmoment und Drehzahl steuert.

Mit verschiedenen Shields können Motoren jedoch trotzdem genutzt werden. Diese für Arduino und teilweise auch für den Raspberry Pi verfügbaren Erweiterungen ermöglichen die Echtzeitregelung von BLDC-Motoren und anderen Motorarten. Sie können eine wesentliche Verbesserung für Projekte darstellen, die eine präzise Motorsteuerung erfordern, da sie oft mit Hardware ausgestattet sind, welche speziell für die Motorregelung und für Echtzeitanforderungen konzipiert wurden. Oftmals lässt sich aber die Regelungsstrategie nicht anpassen. Wer also selbst entwickeln möchte, sollte versuchen, eine eigene Regelung auf einem echtzeitfähigen Betriebssystem oder einer leistungsstärkeren Hardware laufen zu lassen.  (mr)

(ID:49995539)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung