Hersteller integrieren immer häufiger drehzahlgeregelte Antriebe in ihre Lösungen, um die Energieeffizienz von Kühlschränken, Waschmaschinen und anderen Geräten zu steigern und den Energieverbrauch zu senken. Allerdings erfordert die komplexe Funktionsweise dieser Antriebe einen höheren Entwicklungsaufwand, der zu einem erheblichen Teil bedeutet: Software schreiben. Lösungen, die den Entwicklungs- und Programmieraufwand verringern, sind daher für Entwickler besonders nützlich. Effiziente Entwicklungsumgebungen vereinen dabei flexible Prototypen-Hardware, Lösungen zur einfachen Regelung und Visualisierung des Motorverhaltens und Tools, die Tests und Feinabstimmung vereinfachen.

Vector Control (VC) oder feldorientierte Regelung (FOC) gilt als bevorzugte Option für viele Anwendungen. Sie erfüllt hohe Anforderungen hinsichtlich Effizienz, leisem Betrieb und langfristiger Zuverlässigkeit zu einem wettbewerbsfähigen Preis. Durch die Feinregelung der Motorströme und -spannungen in Bezug auf die Rotorachsen ermöglicht FOC eine sanfte und reaktionsschnelle Regelung ohne hohe Rechenleistung, wie sie bei herkömmlichen sinusförmigen Ansteuerungstechniken bei hohen Drehzahlen erforderlich wäre.

Gut kombiniert

Ein leistungsfähiger Mikrocontroller mit FOC-Firmware stellt eine flexible Plattform für Entwickler zur Verfügung, die energieeffiziente Dreiphasen-BLDC-Antriebe bereitstellen wollen. Mit einer Standard-MCU-Entwicklungsumgebung und einem entsprechenden grafischen Konfigurations- und Analyse-Tool ist es möglich, Antriebssteuerungen für industrielle und Consumer-Anwendungen, die verschiedene Applikationen und Leistungsklassen abdecken, zu entwickeln, zu testen und abzustimmen.

Funktionsblöcke (IP) für die Umsetzung der FOC haben sich in den letzten Jahren schnell weiterentwickelt. Designer können wählen, ob sie Software-Algorithmen, registerkonfigurierbare Hardware oder eine Kombination aus proprietären Algorithmen und Prozessoren oder Leistungshalbleitern verwenden wollen. Eine komplett Software-basierte FOC lässt sich in einen digitalen Signalprozessor (DSP) implementieren oder in einen hochleistungsfähigen Mikrocontroller (MCU).

Toshiba hat für diese Aufgabe die Mikrocontrollerfamilie TMPM37x mit wichtigen FOC-Algorithmen in Hardware ausgestattet, was die ARM Cortex-M3-CPU dieser MCU-Famulie entlastet. Die Rechenleistung der CPU steht dann für andere Aufgaben auf Anwendungsebene bereit. Der TMPM37x bietet zwei getrennte Funktionsblöcke zur Regelung eines 3-Phasen BLDC-Motors: PMD (Programmable Motor Drive) und VE (Vector Engine). Toshiba hat den notwendigen Software-Anteil bereits in den Controller integriert: Dieser Firmware-basierte Ansatz bietet den Entwicklern genau die Flexibilität, die sie zur Kombination ihrer eigenen Algorithmen mit den Funktionsblöcken des Herstellers benötigen. Damit lässt sich der optimale Mix aus Kosten, Leistungsfähigkeit und differenzierenden Leistungsmerkmalen erzielen. Entwickler können zudem auch CPU-Sleep-Modi nutzen, um den Energieverbrauch der Steuer- und Regelkreise zu minimieren.

Programmable Motor Drive und Vector Engine

Der PMD-Block des TMPM37x enthält einen Dreiphasen-PWM-Generator, Totzeit-Controller, Schutzschaltkreise und ein A/D-Wandler-Timing-Netzwerk. Auf Wunsch können Entwickler mit ihren proprietären Motorsteuerungsalgorithmen die Funktionen des PMD-Blocks frei kombinieren. Alternativ wird Toshibas VE zusammen mit den integrierten PMD-Funktionen verwendet. Die VE agiert dann als Coprozessor und entlastet die Haupt-CPU. Innerhalb der VE sorgt ein Scheduler für die Event- und Prioritätssteuerung. Ein Rechen-Core und Decoder, eine Operation Unit, eine Multiply-Accumulate-Einheit und FOC-Module verarbeiten das Signal des Dreiphasen-Stromeingangs vom A/D-Wandler der MCU und führen den FOC-Algorithmus aus.

Wer die PMD- und VE-Blöcke zusammen verwendet, muss nur ein paar einfache Registereinstellungen erledigen, um alle Motorsteuerungsfunktionen zu verwalten: Dreiphasen-PWM-Signalerzeugung mit 16 Bit Auflösung, Drehzahlregelung und Positionsbestimmung. Im Vergleich zu softwarebasierter FOC, bei der die CPU Daten bei jeder PWM-Periode generiert, reduziert dieser Ansatz die Prozessorlast auf nur eine Berechnung pro Rotorpositions-Update, also nur noch eine Berechnung pro 60°-Intervall.

PWM-synchronisierter ADC

Die MCU enthält auch einen 12-Bit-A/D-Wandler für die schnelle PWM-synchronisierte Analog-zu-Digitalwandlung sowie einen Komparator zur Erkennung von Not-Aus-Bedingungen. Einige Produkte in dieser Familie beinhalten zusätzlich programmierbare Verstärker, die eine flexible, programmierbare Verstärkungseinstellung für die Motorphasenströme ermöglichen.

Um Antriebssteuerungen mit einem TMPM37x-MCU zu entwickeln, muss man die PMD- und VE-Blöcke konfigurieren und proprietäre Funktionsblöcke integrieren. Schließlich gilt es, die Anwendung zu testen und sicherzustellen, dass der Motor mit der Prototypen-Hardware die gewünschte Leistung liefert.

Flexibilität macht den Unterschied

Für die Applikationsentwicklung stehen dank der ARMs Cortex-M-Prozessorarchitektur der MCU zahlreiche Entwicklungsumgebungen zur Verfügung, zum Beispiel Atollic True Studio, IAR Kickstart oder Embedded Workbench sowie Keil MDK. Toshiba bietet ein Motorsteuerungs-Starterkit mit getrennten Datenverarbeitungs- und Leistungselektronik-Boards als Prototypen-Hardware. Das CPU-Board wird über USB an einen Host-PC angeschlossen. Damit lassen sich Anwendungen herunterladen, die mit der jeweiligen Entwicklungsumgebung kompiliert wurden. Die Schaltkreise auf dem Board liefern PWM-Ausgangssignale und andere Steuersignale an einen Steckverbinder.

Dank der Trennung des Prozessor-Boards vom Treiber-Board, das die Leistungselektronik inklusive der Mosfet-Brücke zur Ansteuerung des Motors enthält, können Entwickler auf Wunsch ihre eigene Leistungsstufe verwenden, wenn bereits ein bewährtes Leistungselektronik-Design vorhanden ist. Außerdem ist eine Isolierung mit Optokopplern möglich, womit sich die PC-Tools und die Logikentwicklung in einer sicheren Betriebsspannungsumgebung befinden. Entwickler können auch jederzeit verschiedene Leistungselektronik-Boards anschließen und damit flexibel verschiedene Motoren mit unterschiedlichen Strom- und Spannungswerten ansteuern.

Besserer Einblick in das Motorverhalten

Um die Entwicklungsarbeit mit der Motorsteuerungs-MCU, den Applikations-Entwicklungstools und der Starterkit-Hardware zu beginnen, muss der Anwender die Motorparameter einrichten und steuern, das Motorverhalten visualisieren und die Motorleistung feinjustieren. Zu diesem Zweck hat Toshiba ein PC-basiertes, grafisches Tool entwickelt: Motormind. Damit kann der Entwickler wichtige Motorparameter eingeben, auf das Evaluierungsboard übertragen und den Motor sofort mit den neuen Einstellungen starten, ohne dafür die Firmware erneut kompilieren zu müssen. In den meisten Fällen entsteht damit eine kundenspezifische Einstellung des Motors innerhalb sehr kurzer Zeit. Die Werte lassen sich auch während der Laufzeit ändern. Damit verkürzt sich die Entwicklungszeit, da die Auswirkungen jeder Designänderung sofort ersichtlich sind und das Überarbeiten sowie erneute Testen schneller vonstatten gehen.

Mit der grafischen Benutzeroberfläche des Tools konfiguriert der Anwender die Motorparameter und die Drehzahl und überwacht den Motor in Echtzeit. Das Display zeigt dabei die Zieldrehzahl, die aktuelle Drehzahl und das Drehmoment. Auch eine Digital-Speicheroszilloskop-Funktion (µDSO) mit erweiterten Trigger-Einstellungen ist integriert.

Bild 1: Die Motorparameter lassen sich über die Oberfläche von Motormind bequem einstellen und hochladen.

Bild 1: Die Motorparameter lassen sich über die Oberfläche von Motormind bequem einstellen und hochladen.Toshiba

Konfigurieren statt programmieren

Motorparameter wie die Polpaarzahl, Strom, Drehrichtung, Beschleunigung und Encoder-Details trägt der Entwickler bequem in die GUI ein und überträgt sie mittels Click-to-Upload-Befehl auf das CPU-Board (Bild 1). Auch Einstellungen des PI-Reglers (Proportional-Integral) und der Systemparameter wie Totzeit, PWM-Frequenz und Abschalt-/Neustart-Verhalten sind über die Oberfläche möglich. Vom CPU-Board lassen sich Einstellungen auch abfragen – entweder über Mausklick oder durch automatischen Download beim Start des Tools.

Bild 2: Die GUI bietet umfassenden Einblick in das Motor- und Applikationsverhalten: Es zeigt die Signale in Echtzeit an.

Bild 2: Die GUI bietet umfassenden Einblick in das Motor- und Applikationsverhalten: Es zeigt die Signale in Echtzeit an.Toshiba

Die grafische Oberfläche bietet mehrere Fenster, einschließlich einer Anzeige für die Systemlast (CPU-Nutzung), sowie ein Fenster für die Motorkonfiguration, das eine Start-/Stopp-Taste und einen Schieberegler zur Drehzahleinstellung enthält. Zwei größere Fenster zeigen Statistiken über die Motordrehzahl, das Drehmoment und den Strom über der Zieldrehzahl, sowie die DSO-Darstellung (siehe Bild 2).

Die integrierte µDSO-Funktion stellt erfasste Signale mit einer Auflösung von bis zu 50 µs bei einer PWM-Frequenz von 20 kHz dar. Bis zu acht VE- und Firmware-Parameter lassen sich gleichzeitig anzeigen, die der Anwender aus einer Liste von 32 möglichen Signalen wählen kann. Dazu zählen Phasenspannungen, Phasenströme, d- und q-Achsen-Ströme, Referenzströme, Proportionalkoeffizienten und andere interne Signale der in der MCU integrierten Vector Engine (Bild 3).

Bild 3: Mit der Oberfläche von Motormind kann der Entwickler Signale an vielen Stellen der Vector Engine auslesen – ganz wie bei einem Oszilloskop.

Bild 3: Mit der Oberfläche von Motormind kann der Entwickler Signale an vielen Stellen der Vector Engine auslesen – ganz wie bei einem Oszilloskop.Toshiba

Fast wie ein komplettes Oszilloskop

Der Anwender kann auch Triggerquellen auswählen und Triggerbedingungen setzen, etwa bei steigender oder fallender Flanke, Zentrums- oder Links-Trigger, als auch den Schwellenwert für den Trigger einstellen – wie bei einem herkömmlichen Speicheroszilloskop. Darüber hinaus lassen sich die Funktionen so programmieren, dass jedes n-te Ereignis protokolliert wird (bis zu n = 256 für längere Aufzeichnungen). Die Tick- und Gesamtaufzeichnungs-Dauer werden um unteren Rand des Fensters angezeigt.

Mit der Motormind-GUI beobachtet der Entwickler in Echtzeit, wie sich Änderung verschiedener Parameter auswirken – auf das Motorverhalten und die MCU-Performance während der Beschleunigung, des Betriebs bei der Zieldrehzahl und beim Verzögern. Fehler sind damit schon beim Prototyping und Testen schnell aufzuspüren und zu beheben. Die Parameter lassen sich einfach in eine Header-Datei exportieren und anschließend in Firmware kompilieren. Eine Speicher- und Ladefunktion erlaubt den Einsatz der Software in verschiedenen Antriebssteuerungen.

Abgerundet

Neben dem Motorsteuerungs-Evaluierungskit und dem Motormind-Tool liefert Toshiba auch Beispielanwendungen und Code sowie Anwendungsleitfäden, die zum Beispiel den Anschluss von Hall-Sensoren abdecken. Schaltpläne für Baugruppen wie das CPU-Board und die Leistungselektronik-Module stehen ebenfalls zur Verfügung und vereinfachen die Produktentwicklung.