Einen bürstenlosen Gleichstrommotor mit einer Hardware-Software-Kombination in weniger als einer Stunde zum Laufen bringen

Von Jacob Beningo

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Innerhalb der Verteidigungsindustrie, im industriellen Bereich und im Bereich Robotik gibt es eine Vielzahl von Anwendungen, die ein eingebettetes System für die Verwendung eines bürstenlosen DC-Motors (BLDC) erfordern. Das Antreiben eines Motors scheint zwar unkompliziert, dennoch ist es eine komplexe Angelegenheit, die zur Verzögerung von Projekten führen kann, wenn Entwickler sich mit Motordrehzahl, Drehmoment, elektrischen und elektromagnetischen Eigenschaften sowie auch mit der Messung der Stromrückkopplung vertraut machen müssen.

Dabei wird sogar noch davon ausgegangen, dass die passende Hardware zum Ausführen des Algorithmus für den Antrieb des Motors bereits feststeht, die eine reibungslose Steuerung des gesamten Bewegungsbereichs der Anwendung mit einer nur minimalen Anzahl an Komponenten ermöglicht.

Was wir benötigen, ist ein integriertes Hardware- und Softwarepaket, mit dem eine erhebliche Reduzierung der Entwicklungszeit möglich ist und mit dem Entwickler sich auf die finale Anwendung konzentrieren können, ohne sich zu sehr mit der Motorsteuerung beschäftigen zu müssen.

In diesem Artikel wird ein solches Paket von Texas Instruments vorgestellt, in dem ein Mikrocontroller und eine Entwicklungskit-Hardware mit der InstaSPIN™-Software für die feldorientierte Motorsteuerung und weitere Tools kombiniert werden. Anschließend wird beschrieben, wie diese Kombination von auf diesem Gebiet eher unerfahrenen Entwicklern eingesetzt werden kann, um Motorparameter leicht zu bestimmen und einen komplexen BLDC-Motor in weniger als einer Stunde zum Laufen bringen zu können.

Was ist InstaSPIN-FOC und ist die Lösung wirklich so leicht zu verwenden?

Was die InstaSPIN-Lösung von Texas Instruments so einzigartig macht, ist, dass sie einen Motor in weniger als einer Stunde zum Laufen bringen kann – selbst wenn Sie bei der Entwicklung bei null anfangen. Entwickler, die diese Lösung schon einmal verwendet haben, können einen Motor sogar in weniger als zehn Minuten einsetzen. Da in diesem Kit die feldorientierte Steuerung (field-oriented control, FOC) anstelle eines Encoders zum Einsatz kommt, müssen Entwickler lediglich die Stromversorgung anschließen, den Motor erden und danach jede Antriebsphase verbinden. An dieser Stelle sind die elektrischen Vorbereitungen bereits abgeschlossen. Encoder oder eine andere komplexe Elektronik ist nicht erforderlich.

Es gibt natürlich noch andere Steuermechanismen neben FOC, die keine Sensoren oder Encoder erfordern, z. B. die Messung des Nulldurchgangs der elektromotorischen Gegenkraft. InstaSPIN überwacht jedoch den Motorfluss, um festzustellen, wann die Kommutierung des Motors erfolgen soll. Der Entwickler kann das Flusssignal in einem Plot-Fenster überwachen und über den Schieberegler den „Fluss-Schwellenwert“ festlegen, an dem der Motor kommutiert wird. Eine optimale Kommutierung kann durch Beobachtung der angezeigten Wellenformen für Phasenspannung und Strom kontrolliert werden.

Die InstaSPIN-FOC-Lösung umfasst vier Hauptkomponenten:

  • eine Mikrocontroller-Karte
  • eine Motortreiberkarte
  • die InstaSPIN-FOC GUI
  • einen BLDC-Motor

Die Mikrocontroller-Karte umfasst die Informationen für die Ausführung der FOC-Algorithmen und die Benachrichtigung des Motortreibers, wann einzelne Motorphasen ein- und auszuschalten sind. Gleichzeitig wird die Kommunikation mit der GUI gesteuert, über die Entwickler die Flusswerte und andere Parameter abrufen können. Der Motortreiber bietet die Schnittstelle für den Antrieb des eigentlichen Motors. Diese beinhaltet die elektrischen Schaltungen zum Schutz des Mikrocontrollers vor hohen Spannungen, für die Durchführung von Messungen und die Feststellung von Motorfehlern.

Die InstaSPIN-FOC GUI ist eine universelle GUI aus der Online-Entwicklungsgalerie von Texas Instruments. Entwickler können die GUI direkt über einen Webbrowser ausführen oder eine lokal ausführbare Version auf ihren Computer herunterladen.

Die finale Komponente ist der dreiphasige BLDC-Motor mit Dauermagnet.

Im Folgenden betrachten wir jeden dieser Bereiche detailliert sowie auch eine mögliche Hardware-Lösung, mit der der BLDC-Motor zum Laufen gebracht werden kann.

BLDC-Motortreiber und Mikrocontroller

Für den Antrieb ihres BLDC-Motors können Entwickler aus mehreren Lösungen wählen: InstaSPIN-FOC und das MotorControl-SDK von TI werden mit ihrem TMS320F280049C-LaunchPad LAUNCHXL-F280049C (Abb. 1) und dem LaunchPad Booster Pack BOOSTXL-DRV8323RS kombiniert. Beim LaunchPad TMS320F28049C handelt es sich um eine kostengünstige Entwicklungskarte, die einen integrierten XDS110-Debugger, Erweiterungsports und den TMS320F280049C-Piccolo™-Mikrocontroller F280049CPMS umfasst.

Bild des LaunchPads TMS320F280049C von Texas InstrumentsAbbildung 1: Das LaunchPad TMS320F280049C enthält eine isolierte USB-Debugging-Sonde XDS110, einen Piccolo-Mikrocontroller F280049C und die Elektronik für den Antrieb von zwei Booster-Packs, die für anwendungsspezifische Hardware verwendet werden können. (Bildquelle: Texas Instruments)

Der Mikrocontroller TMS320F280049C nutzt einen C2000-Mikrocontrollerkern – beinhaltet 256 KB Flash, 100 KB RAM – und läuft bei 100 MHz. Die FOC-Motorsteuerungsalgorithmen von TI sind im ROM des TMS320F280049C integriert, somit müssen Entwickler keinen wertvollen Code-Platz vergeuden.

Das LaunchPad TMS320F280049C ist aber nicht die einzige Möglichkeit für Entwickler, den Mikrocontroller TMS320F280049C zu nutzen. Die Steuerkarte TMDSCNCD280049C für den Mikrocontroller TMS320F280049C ist ebenfalls verfügbar (Abb. 2). Diese Karte kann bei der Prototyperstellung oder von Entwicklern verwendet werden, die Mikrocontroller in ihrer Anwendung flexibel austauschen möchten oder eine bessere Erweiterbarkeit benötigen. Die Steuerkarte kann in eine Docking-Station gesteckt werden und ermöglicht Entwicklern den Zugriff auf die Ein- und Ausgänge des Mikrocontrollers.

Bild der Steuerkarte TMS320F280049C von Texas InstrumentsAbbildung 2: Die Steuerkarte TMS320F280049C bietet Kapazitäten zur Motorsteuerung in einem kleinen Modulpaket. Sie kann in einer Docking-Station verwendet werden, um auf die Ein- und Ausgänge des Mikrocontrollers zuzugreifen. (Bildquelle: Texas Instruments)

Das LaunchPad Booster Pack DRV8323RS ist eine Erweiterungskarte, die auf dem LaunchPad TMS320F280049C angebracht wird und die erforderliche Zusatzhardware für den Antrieb des BLDC-Motors stellt (Abb. 3).

Bild des LaunchPad Booster Packs DRV8323RS von Texas InstrumentsAbbildung 3: Das LaunchPad Booster Pack DRV8323RS enthält den Motortreiber-Controller, FETs und zusätzliche Schaltungen für den Antrieb eines BLDC-Motors. (Bildquelle: Texas Instruments)

Die DRV8232RS-Karte kann im Erweiterungsbereich in Position 1 oder 2 angebracht werden. Bei Position 1 handelt es sich jedoch um die Position, die das MotorControl SDK erwartet. Entwickler können ihren BLDC-Motor über drei Steckverbinder mit der Karte verbinden und diese dann extern mit Strom versorgen, um den Motor anzutreiben. Das LaunchPad Booster Pack DRV8232RS versorgt gleichzeitig die TMS320F280049C-Karte. Die auf der Karte abgebrachten LEDs zeigen an, dass die Stromversorgung aktiv ist und ob ein Fehler vorliegt.

Das Herz des LaunchPad Booster Packs DRV8232RS ist der intelligente, dreiphasige Gate-Treiber DRV8230. Der Gate-Treiber sorgt für die Low-Side-Strommessung und den direkten Antrieb der MOSFETs, die für einen Betrieb mit bis zu 60 Volt ausgelegt sind.

Mit dem LaunchPad TMS320F280049C und dem LaunchPad Booster Pack DRV8232RS können Entwickler eine Vielzahl verschiedener BLDC-Motoren antreiben. Eine Motoroption, die sich wunderbar als Ausgangspunkt eignet, ist der QBL4208-41-04-006 von Trinamic (Abb. 4).

Der Motor von Trinamic läuft mit einer Speisung von 24 Volt, erreicht eine Drehzahl von bis zu 4000 U/min und bietet ein Drehmoment von 62,5 mNm.

Bild des BLDC-Motors QBL4208-41-04-006 für 4000 U/min von TrinamicAbbildung 4: Der BLDC-Motor QBL4208-41-04-006 für 4000 U/min von Trinamic läuft mit einer 24-Volt-Stromversorgung und erzeugt ein Drehmoment von 62,5 mNm. (Bildquelle: Trinamic Motion Control GmbH)

Nachdem nun die Mindestanforderungen für Entwickler in Bezug auf die BLDC-Motorsteuerung beschrieben wurden, betrachten wir als Nächstes, wie die Motorparameter mithilfe der InstaSPIN-FOC GUI ermittelt werden können.

Ermittlung der BLDC-Motorparameter und Nutzung des Motors

Bevor ein Motor über die InstaSPIN-FOC GUI angetrieben werden kann, muss sie die Motoreigenschaften kennen, um die FOC-Steuerung für Drehzahl oder Drehmoment umzusetzen. Dafür muss der Algorithmus u. a. folgende Eigenschaften kennen:

  • Widerstand
  • Induktivität
  • Motorfluss
  • Magnetisierungsstrom

Diese Eigenschaften können binnen weniger Minuten über die InstaSPIN-FOC GUI bestimmt werden. Die GUI kann über einen Browser ausgeführt werden und lädt automatisch MotorControl SDK Lab 5 herunter, das für den Einsatz mit der TMS320F280049C- und der DRV8232-Erweiterungskarte entwickelt wurde. Lab 5 zeigt, wie Entwickler einen Motor identifizieren und seine Parameter abrufen können. Die vollständigen Details lassen sich in der Schnellstartanleitung der GUI und im Lab-Handbuch finden.

Als Erstes müssen Entwickler die InstaSPIN-FOC GUI über die Entwickler-Seite von TI öffnen. Als Nächstes finden Sie innerhalb der GUI-Umgebung eine Schaltfläche „Run“ wie in jeder anderen Entwicklungs-IDE. Durch Anklicken dieser Schaltfläche wird der Motoridentifizierungscode auf ihr LaunchPad geladen und ausgeführt.

Zunächst geschieht nichts weiter, da der Entwickler die Software erst aktivieren muss. Dies kann über das Kontrollkästchen „Enable System“ in der GUI erfolgen. An diesem Punkt kann der Motoridentifizierungscode noch nicht ausgeführt werden, da das Kontrollkästchen „Run“ ebenfalls markiert werden muss. Sobald „Run“ aktiviert wurde, führt der Code eine Sequenz aus, mit der der Motor identifiziert werden soll. Messungen werden durchgeführt, um die für den Betrieb des Motors erforderlichen Parameter abzurufen. Der gesamte Identifizierungsprozess dauert mehrere Minuten. Dabei fährt der Motor hoch und runter und läuft mehrere Minuten lang mit einer geringen Drehzahl.

Nach Abschluss dieses Prozesses kann die GUI eines Entwicklers in etwa so aussehen, wie in Abb. 5 dargestellt wird.

Bild der InstaSPIN-FOC GUI kurz nach Identifizierung eines MotorsAbbildung 5 InstaSPIN-FOC GUI kurz nach Identifizierung eines Motors (Bildquelle: Jacob Beningo)

Achten Sie darauf, dass Abbildung 5 mehrere Werte enthält, die in der oberen rechten Ecke der GUI eingetragen wurden. Dabei handelt es sich um die Motorparameter, die erfasst werden sollten, damit sie später für den Antrieb des Motors im Drehmoment- oder Drehzahlmodus eingesetzt werden können. Auf der linken Seite können Sie sehen, dass die Anzeige „Motor Identified“ von grau zu grün gewechselt ist. An dieser Stelle können wir die Motordrehzahl direkt über die GUI steuern.

Die Motordrehzahl wird einfach durch eine Änderung im Feld „speedRef(Hz)“ in der GUI eingestellt. Beachten Sie bitte, dass die Motorbeschleunigung über diesen Referenzparameter sehr schnell ist. Das Abbremsen erfordert dagegen die Eingabe mehrerer Sollwerte unter dem speedRef-Wert. Durch Entfernen der Markierung im Kontrollkästchen „Run“ kann der Motor sofort komplett gestoppt werden.

Tipps und Hinweise für die Verwendung eines BLDC-Motors mit InstaSPIN-FOC von TI

Die folgenden bewährten Praktiken müssen von Entwicklern bei der Arbeit mit BLDC-Motoren und der InstaSPIN-FOC-Lösung von TI beachtet werden:

  • Auswahl eines Mikrocontrollers mit integrierten Motoralgorithmen im internen Flash-Speicher Damit verringert sich Code-Speicherplatz, der für Motoralgorithmen verwendet wird. Gleichzeitig kann eine Verbesserung der Leistung bei ihrer Ausführung erreicht werden.
  • Nutzen Sie im Launchpad F280049C Position 1 als Standardposition für das Launchpad Booster Pack DRV8323RS. Bei Verwendung von Position 2 müssen Änderungen an der Software vorgenommen werden.
  • Nehmen Sie sich Zeit, um alle 13 Beispiel-Labs durchzusehen, die mit dem MotorControl SDK von TI bereitgestellt werden. Diese Labs decken alles ab – von der Identifizierung der Motorparameter bis hin zur Steuerung des Motors über die Drehzahl- und Drehmoment-Regelung.
  • Nutzen Sie das Beispiel in Lab 5, um Ihre eigenen Motorparameter zu finden. Wenn Sie MOTOR_TYPE_PM verwenden, achten Sie auch darauf, die folgende Definition für die erfolgreiche Kompilation des Labs hinzuzufügen. Nutzen Sie dann den eingestellten Wert:

    define #define USER_MOTOR_INERTIA_Kgm2           (7.06154e-06)

  • Starten Sie die BLDC-Versuche mit der InstaSPIN-FOC Online-GUI.

Fazit:

Der Antrieb eines BLDC-Motors über die Drehmoment- und Drehzahlsteuerung kann sich komplex gestalten und leicht über die Kenntnisse eines Embedded Software Engineers hinausgehen, was zu Verzögerungen in der Projektentwicklung führen kann. Wir haben gezeigt, dass durch Verwendung von InstaSPIN und der MotorControl SDK von Texas Instruments und der verbundenen Hardware ein BLDC-Motor auch mit eingeschränkten Kenntnissen der Steuerungstechnik schnell zum Laufen gebracht werden kann.

 
DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo ist ein Berater für eingebettete Software, der derzeit mit Kunden in mehr als einem Dutzend Ländern zusammenarbeitet, um ihr Unternehmen durch die Verbesserung von Produktqualität, Kosten und Markteinführungszeit dramatisch zu transformieren. Er hat mehr als 200 Artikel über Entwicklungstechniken für eingebettete Software veröffentlicht, ist ein gefragter Redner und technischer Trainer und verfügt über drei Abschlüsse, darunter einen Masters of Engineering der University of Michigan. Bei Interesse können Sie ihn unter jacob@beningo.com kontaktieren oder besuchen Sie seine Website www.beningo.com und melden Sie sich für seinen monatlichen Embedded Bytes Newsletter an.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey