EUR | USD

Schnelle Implementierung von Motorsteuerungsentwürfen mit einem Treiber-IC mit integriertem Mikrocontroller

Von Jacob Beningo

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von Digi-Key

Der Einsatz von Motoren nimmt in Anwendungen wie Automobilen, Robotik, industriellen Steuerungen und Luftfahrzeugen stetig zu. Die Motorelektronik ist jedoch traditionell schwer, sperrig, ineffizient und aufgrund der hohen Antriebsspannungen schwierig zu handhaben. Angesichts der steigenden Nachfrage der Konstrukteure nach niedrigeren Stücklistenkosten, höherer Effizienz und Elektronik mit kleinerem Platzbedarf sowie größerer Flexibilität und schnellerer Markteinführung ist ein höherer Grad an Integration und Benutzerfreundlichkeit erforderlich.

Dieser Artikel stellt STMicroelectronics' STSPIN32F32F060x-Familie von System-in-Package (SiP)-3-Phasen-Motorcontrollern mit eingebautem Mikrocontroller vor und zeigt, wie sie eingesetzt werden können, um diese Design-, Kosten- und Markteinführungsherausforderungen zu erreichen.

Wie wird ein 3-Phasen-Motor angetrieben?

Um einen 3-Phasen-Motor erfolgreich anzutreiben, müssen mehrere Hardware-Blöcke in die Konstruktion eingebaut werden:

  • Ein Mikrocontroller
  • Ein Motorantriebs-IC
  • Hochspannungs-MOSFETs oder IGBTs (die das eigentliche Schalten durchführen)

Bei einem traditionellen Motor-Controller-Design hat ein Entwickler in der Regel einen Abschnitt der Leiterplatte, der für alle drei Blöcke bestimmt ist. Normalerweise sendet der Mikrocontroller pulsbreitenmodulierte (PWM) Signale an den Motortreiber-IC, der diese Signale zusammen mit dem Ausgangsstrom und der Ausgangsspannung, die am Ausgang des Motorcontrollers erzeugt werden, sorgfältig überwacht, um die MOSFETs anzusteuern. Der Mikrocontroller kommuniziert oft auch über einen I2C- oder SPI-Bus mit dem Motortreiber-IC, um benutzerdefinierte Merkmale und Funktionen zu ermöglichen, oder er verwendet etwa ein halbes Dutzend diskrete GPIO-Signale, um das Verhalten der Brücke zu steuern.

Die Herausforderung bei einem externen Brückentreiber-IC im heutigen Entwicklungszyklus besteht darin, dass sie zusätzliche Kosten und Komplexität mit sich bringen und kostbaren Platz auf der Leiterplatte verbrauchen, ganz zu schweigen von den Eingangs- und Ausgangssignalen (E/A-Signalen) auf dem Mikrocontroller, die andernfalls für etwas anderes verwendet werden könnten. Hier vereinfacht eine neue Klasse von integrierten Mikrocontrollern und Brückenschaltungen Anwendungen der Motorsteuerung bei gleichzeitiger Senkung der Stücklistenkosten und Minimierung der Leiterplattenfläche.

Warum STSPIN32F060x verwenden?

Diese Klasse wird durch die STMicroelectronics STSPIN32F060x SiP-Bauelemente der Serie STSPIN32F060x repräsentiert, in die ein STM32F031x6x7 Arm® Cortex®-M0 Mikrocontroller mit einem 600-Volt-Dreifach-Halbbrücken-Gate-Treiber eingebettet ist (Abbildung 1). Jede Halbbrücke kann zur Ansteuerung eines MOSFETs oder IGBTs auf jeder Phase eines bürstenlosen Gleichstrommotors (BLDC) verwendet werden.

Schema der STMicroelectronics STM32F060x integriert einen STM32F031 Arm Cortex-M0 (zum Vergrößern anklicken)Abbildung 1: Der STM32F060x integriert einen STM32F031 Arm Cortex-M0 mit einem 600-Volt-Dreifach-Halbbrücken-Gate-Treiber, um Kosten, Leiterplattenplatz und Gehäusepins zu sparen. (Bildquelle: STMicroelectronics)

Die Serie bietet einige sehr interessante Merkmale und Schutzmechanismen. Die Teile umfassen zum Beispiel:

  • Ein Komparator mit einer fortschrittlichen intelligenten Abschaltfunktion (smart shutdown, smartSD), die einen schnellen und wirksamen Schutz gegen Überlastung und Überstrom gewährleistet
  • Integrierte Hochspannungs-Bootstrap-Dioden
  • Anti-Kreuzleitungsschutz
  • Totzeitschutz
  • UVLO-Schutz

Der eingebaute Mikrocontroller arbeitet mit 48 Megahertz (MHz) und umfasst 32 Kilobyte (Kbytes) Flash mit 4 Kbytes RAM, was sich perfekt für die Implementierung einer feldorientierten Steuerung (FOC) eignet.

Der STM32F060x umfasst derzeit zwei Teile der Familie, den STSPIN32F0601 und den STSPIN32F0602. Der Hauptunterschied zwischen den beiden besteht darin, dass der 0601 Gate-Ansteuerströme bis zu 0,35 Ampere (A) unterstützt, während der 0602 Gate-Ansteuerströme bis zu 1,0 A unterstützt.

Beachten Sie, dass der IC-interne Mikrocontroller STM32F031 über mehrere gehäuseinterne GPIO-Leitungen mit dem Gate-Treiber verbunden ist. GPIO PA11 wird verwendet, um den Gate-Treiber zu aktivieren, und GPIO PB12 wird verwendet, um zu erkennen, ob ein Fehler in der Brücke vorliegt. Die GPIOs PA8 - PA10 werden für die High-Side-Eingänge des Gate-Treibers verwendet, während die GPIOs PB13 - 15 für die Low-Side-Eingänge des Gate-Treibers verwendet werden. Dies erspart es Entwicklern, externe GPIO-Pins zur Steuerung eines Gate-Treibers zu verwenden, und vermeidet gleichzeitig, dass auf der Leiterplatte Platz benötigt wird, um Leiterbahnen zu einem separaten IC zu führen. Die Integration beider Komponenten vereinfacht die Hardware- und Designkomplexität und kann die Stücklistenkosten erheblich reduzieren.

Beschleunigen Sie die Entwicklung mit dem Entwicklungsboard EVSPIN32F0601S1

Der STSPIN32F060x wird vom Entwicklungsboard EVSPIN32F0601S1 unterstützt, einem kompletten 3-Phasen-Wechselrichter-Starterkit, das die gesamte Elektronik enthält, die erforderlich ist, um einen BLDC-Motor mit dem STSPIN32F0601-Controller in Betrieb zu nehmen (Abbildung 2). Die EVSPIN32F0601S1 ist in fünf Hauptabschnitte unterteilt:

  • Die STSPIN32F0601
  • Ein abnehmbarer STLINK-Debugger
  • Ein Feedback-Netzwerk
  • Eine Leistungsstufe
  • Eine Stromversorgung

Bild der STMicroelectronics EVSPIN32F0601S1 EntwicklungsplatineAbbildung 2: Das Entwicklungsboard EVSPIN32F0601S1 enthält die gesamte Elektronik, die erforderlich ist, um einen BLDC-Motor mit dem STSPIN32F0601-Controller zum Laufen zu bringen. (Bildquelle: STMicroelectronics)

Der STLINK-Debugger auf der Leiterplatte kann auf Wunsch von der Entwicklungsplatine entfernt werden, so dass Entwickler die Platinengröße verkleinern können, so dass er in Prototypen und Proof-of-Concept (PoC)-Gehäusen verwendet werden kann. Entwickler können weiterhin ein externes STLINK-V3SET (Abbildung 3) anschließen, indem sie es an die SWD-Header auf der Entwicklungsplatine anschließen.

Bild des STMicroelectronics STLINK-V3SET-DebuggersAbbildung 3: Der STLINK-V3SET-Debugger ist ein externer Debugger, der zum Programmieren und Debuggen von Anwendungen verwendet werden kann, die mit einem STM32-Mikrocontroller geschrieben wurden. (Bildquelle: STMicroelectronics)

Die Entwicklungsplatine umfasst auch ein Rückkopplungsnetzwerk, das für Motorsteuerungsalgorithmen verwendet werden kann, die Sensoren zur Bereitstellung der Spannungs- und Stromrückkopplung benötigen. In vielen modernen Designs können diese Rückkopplungsnetzwerke entfernt und ein FOC-Algorithmus verwendet werden. Hierbei handelt es sich um einen sensorlosen Motorsteuerungsalgorithmus, der die Stücklistenkosten und die Größe der resultierenden Leiterplatte weiter reduzieren kann.

Die Leistungsstufe stellt Entwicklern High- und Low-Side-MOSFETs oder IGBTs zur Verfügung, die zum Schalten der Spannung über die verschiedenen Motorwicklungen verwendet werden. Das Interessante am Platinendesign ist, dass die Footprints entweder für DPAK- oder PowerFlat-Gehäuse vorgesehen sind, so dass Entwickler die Entwicklungsplatine modifizieren können, wenn sie sich dafür entscheiden, ihren eigenen MOSFET oder IGBT zu verwenden.

Schließlich kann das Netzteil einen Eingangsspannungsbereich von 50 Volt bis 280 Volt DC/AC liefern. Der eingebaute Sperrwandler kann auch +15 und +3,3 Volt zur Verwendung in der Anwendung erzeugen.

Um mit dem Entwicklungsboard experimentieren zu können, muss man einen BLDC wie den QBL4208-41-04-006 von Trinamic Motion Control GmbH anschließen (Abbildung 4). Jede Phase des BLDC-Motors wird über die entsprechenden Ausgangs-Schraubklemmen an den EVSPIN32F0601S1 angeschlossen.

Bild von Trinamic Motion Control GmbH QBL4208-41-04-006 BLDC-MotorAbbildung 4: Der BLDC-Motor QBL4208-41-04-006 läuft mit 4000 U/min und kann zusammen mit dem Entwicklerboard EVSPIN32F0601S1 zur Entwicklung einer Vielzahl von Anwendungen verwendet werden. (Bildquelle: Trinamic Motion Control GmbH)

Während das Entwicklungsboard EVSPIN32F0601S1 über die gesamte Hardware verfügt, die für die Ansteuerung eines BLDC-Motors erforderlich ist, erfordert ein 3-Phasen-Motor auch Software. Um einen Motor erfolgreich anzutreiben, können Entwickler das X-CUBE-MCSDK Motorsteuerungs-Software-Entwicklungskit von STMicroelectronics nutzen. Diese Bibliothek kann mit Softwarepaketen wie ST32CubeIDE und ST32CubeMx verwendet werden, um eine Motorsteuerungslösung einfach zu konfigurieren.

Ansteuerung eines BLDC-Motors mit Software

Das Softwarepaket X-CUBE-MCSDK umfasst zwei High-Level-Anwendungen: die MotorControl Workbench und den Motor Profiler. Mit der Motorsteuerungs-Workbench kann ein Entwickler ein Motorsteuerungsprojekt zum einfachen Betrieb eines Motors erstellen. Zur Ansteuerung des Motors können verschiedene Motor-Algorithmen, einschließlich LWL, sowie verschiedene Rückkopplungstopologien wie z.B:

  • Ein Shunt-Widerstand
  • Drei Shunt-Widerstände
  • Zwei isolierte Stromsensoren

Der Motor Profiler ermöglicht es einem Entwickler, seine allgemeinen Motorparameter einzugeben und dann den Motor vollständig zu profilieren. Diese Profilierung liefert die allgemeinen Motorparameter, die von Algorithmen wie FOC benötigt werden, um den Motor erfolgreich anzutreiben.

Das Erstellen eines Projekts innerhalb der Motorsteuerungs-Workbench ist einfach. Ein Entwickler muss die Motorsteuerungs-Workbench öffnen und ein neues Projekt auswählen. Sie können dann ihre Parameter wie in Abbildung 5 dargestellt eingeben:

  • Art der Anwendung
  • Die Anzahl der Motoren, die gesteuert werden sollen
  • Ihre Steuerungs- und Leistungskonfigurationen
  • Die Motorparameter wie Pole, Drehzahl, Spannung und Nennstrom

Imaeg des Motorsteuerungs-Workbench-ProjektsAbbildung 5: Die Konfiguration des Motorsteuerungs-Workbench-Projekts ermöglicht es einem Entwickler, die Projekteinstellungen für seine Hardware anzupassen. (Bildquelle: Beningo Embedded Group)

Nachdem die Informationen für das Projekt ausgewählt wurden, können die Entwickler auf OK klicken, was sie dann zur Motor Control Workbench bringt (Abbildung 6). Von der Werkbank aus können Entwickler das Verhalten ihrer Anwendung anpassen. Dies schließt die Fähigkeit zur Konfiguration ein:

  • Firmware-Einstellungen wie das Startprofil, Antriebseinstellungen und Abtastoptionen
  • Digitale E/A-Einstellungen wie die Enkoderschnittstelle, Hall-Sensoren, serielle Kommunikation und Start- und Stopptasten
  • Digital/Analog-Wandler (DAC)-Funktionalität
  • Analoge Eingangs- und Schutzeinstellungen für die Rückkopplung von Phasenstrom, Busspannung, Temperatur und der PFC-Stufe.

Bild der Motor Control WorkbenchAbbildung 6: Die Motor Control Workbench bietet einem Entwickler die Möglichkeit, seine Firmware anzupassen, MCU- und Taktfrequenzen zusammen mit dem Schutz der digitalen E/A, DAC und analogen Eingänge einzustellen. (Bildquelle: Beningo Embedded Group)

Entwickler haben sogar die Möglichkeit, Einstellungen durch Anklicken eines Kontrollkästchens zu aktivieren und zu deaktivieren:

  • Busspannungserkennung
  • Temperaturerfassung
  • Strommessung mit Überstromschutz
  • Geschwindigkeitsmessung

Ein Entwickler muss nicht einmal eine einzige API oder Codezeile sehen, um seine Motorsteuerungsanwendung vollständig zu konfigurieren.

Fazit

Entwickler und Konstrukteure von Motorsteuerungssystemen sehen sich zunehmendem Druck ausgesetzt, niedrigere Kosten, höhere Effizienz und Elektronik mit kleinerem Platzbedarf zu erreichen. Wie gezeigt, verringert der STSPIN32F060x SiP für 3-Phasen-BLDC-Motorcontroller-Anwendungen nicht nur die Stücklistenkosten, sondern auch den Platzbedarf auf der Leiterplatte und die Systemkomplexität. Darüber hinaus verfügt es über ein effektives Ökosystem, einschließlich eines Entwicklungsboards und einer Software, mit der Entwickler schnell und einfach mit Motorsteuerungsanwendungen arbeiten können.

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

Über den Autor

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 Digi-Key