Asynchronmotor-Steuerung mit Fuzzy-Mikrocontroller

Unscharfe Logik für exakte Prozesse

STMicroelectronics hat unter der Bezeichnung ST52 eine Familie von 8-Bit Fuzzy-Mikrocontrollern entwickelt, die sich für unterschiedliche Anwendungsgebiete, unter anderem für Motorsteuerungen, eignet.

In den zurückliegenden zwei Jahrzehnten war zu beobachten, dass Gleichstrommotoren immer mehr von Wechselstrommotoren verdrängt wurden. Diese Tendenz war in zahlreichen Anwendungsbereichen feststellbar – von Servomotoren für Werkzeugmaschinen und Roboter über Traktionsanwendungen bis hin zu großen industriellen Antrieben. Ausschlaggebend für diesen Wandel ist der günstige Preis und die robuste Konstruktion der Asynchronmotoren und die Vorteile, die sich aus ihrem kollektorlosen Aufbau ergeben. Weiterentwicklungen der Halbleitertechnologie auf seiten der elektronischen Leistungsschalter und Mikrocontroller haben ebenfalls die Voraussetzungen für diese Umstellung geschaffen.
Wenn Asynchronmotoren als Antriebe mit variabler Drehzahl oder als Servoantriebe eingesetzt werden, kommt es auf die Drehzahlregelung und eine rasche und präzise Reaktion auf Änderungen des Lastdrehmoments an, die bei allen Drehzahlen ohne Oszillationen erfolgen muss. Ausschlaggebend hierfür können der Wunsch nach Energieersparnis (z. B. bei Pumpen und Lüftern) oder Automationserfordernisse sein, wie beispielsweise bei Aufzügen oder bei Servoantrieben für Werkzeugmaschinen oder Roboter.

Die Fuzzy-Mikrocontroller des Typs ST52
Wie der Name bereits andeutet, bestehen die Mikrocontroller der ST52 DuaLogic-Familie aus einem speziellen Fuzzy-Logik-Kern, einer Booleschen ALU und Peripheriefunktionen für verschiedene Anwendungsbereiche, deren Spektrum von der Regelung thermischer Prozesse bis zu Motorsteuerungen reicht. ST52-Chips stellen Ein-Chip-Lösungen für Fuzzy-Berechnungen sowie arithmetische und logische Operationen dar und zeichnen sich durch ein ausgewogenes Verhältnis zwischen Kostenaufwand und Leistungsfähigkeit aus. Mit der Familie lässt sich das der Fuzzy-Logik innewohnende Potential ausnutzen, um fortschrittliche Modellierungs- und Regelungsfunktionen zu implementieren, ohne dass auf die Eigenschaften eines herkömmlichen Mikrocontrollers, wie beispielsweise auf einen geeigneten Satz an Rechen- und Assembler-Anweisungen und auf leistungsstarke On-Chip-Peripherie, verzichtet werden muss.
Der ST52 gestattet die Implementierung von Fuzzy-Regeln der Form „IF x1 IS AND x2 IS OR … THEN y1 IS AND … Yn IS…“ mit trapez- oder dreieckförmigen Zugehörigkeitsfunktionen für die Fuzzy-Mengen.
Um für ein Höchstmaß an Flexibilität zu sorgen, wurde die Kernarchitektur des ST52 so konzipiert, dass innerhalb eines Programms mehrere unabhängige Fuzzy-Algorithmen unterstützt werden. Auf diese Weise können – ergänzend zum eigentlichen Fuzzy-Regelungsalgorithmus – auch bestimmte Fuzzy-Überwachungsfunktionen sowie Signalverarbeitung, Modellierung und virtuelle Sensorik implementiert werden.
Die Verwendung von Fuzzy-Algorithmen für virtuelle Sensorik und Modellierung kann besonders in jenen Applikationen sinnvoll sein, in denen die Kosten für Sensoren einen kritischen Aspekt darstellen. Ein typisches Beispiel ist die Steuerung eines Staubsaugers. Informationen über den Luftdurchsatz werden hier mit Hilfe eines kostengünstigen passiven Bauelements eingeholt. Zum Beispiel kann mit einem NTC-Widerstand die Lufttemperatur im Saugrohr gemessen werden. Mit Hilfe einer im ST52 implementierten Fuzzy-Zuordnung, die mit der Fuzzy-Regelung des Universalmotors gekoppelt ist, wird aus der Temperatur auf den Luftdurchsatz geschlossen. Zur Drehzahlschätzung wird ein Fuzzy-Modell des Motors verwendet, bei dem Strom und Spannung als Eingangsinformationen dienen und die Drehzahl die Ausgangsinformation darstellt.
Die einzelnen Fuzzy-Mikrocontroller der ST52-Familie unterscheiden sich durch ihre Peripheriebestückung. Auf Motorsteuerungs-Anwendungen spezialisiert sind die Typen ST52x301 und ST52x420. Der für Taktfrequenzen von 5, 10 und 20 MHz geeignete ST52x301 (Bild 1) erlaubt die Verarbeitung mehrerer Fuzzy-Algorithmen mit vier Eingängen und zwei Ausgängen bis zu einem Gesamtumfang von 300 Fuzzy-Regeln. Zu den Peripheriefunktionen des ST52x301 gehören ein 4-kanaliger 8-Bit A/D-Wandler, ein programmierbarer Timer mit 16-Bit Vorteiler, ein serielles UART/SCI-Port und ein TRIAC/PWM-Treiber. Letzterer gestattet die direkte Ansteuerung eines Leistungshalbleiters (SCR, TRIAC) im PWM-, Phasenwinkelstellungs- oder Burst-Verfahren. Mit dem Nulldurchgangsdetektor des Mikrocontrollers ist im Phasenwinkel- oder Burst-Modus eine Synchronisation zur Netzfrequenz möglich. Über einen externen Interrupt besteht außerdem die Möglichkeit der Synchronisation zu externen Ereignissen. Der Chip ist mit einem geeigneten Bestand an Standard-Anweisungen und Fuzzy-Befehlen ausgestattet. Der ST52x301 bietet eine EPROM-Kapazität von 2 KByte und besitzt ein Kunststoffgehäuse mit 44 Pins. Für das Prototyping wird außerdem ein Keramikgehäuse mit Löschfenster angeboten.
Der ST52x420 (Bild 2) ist das jüngste Produkt der ST52-Familie. Er besitzt den selben DuaLogic-Kern, verfügt allerdings über eine flexiblere Architektur mit anderer Peripheriebestückung. Die Fuzzy-Algorithmen können bis zu 8 Eingänge und 128 Ausgänge haben. Die Anzahl der Fuzzy-Regeln wird lediglich durch die Speicherkapazität (gegenwärtig 4 KByte EPROM und 128 Bytes Daten-RAM) begrenzt. Neben einem 8-kanaligen 8-Bit A/D-Wandler enthält der ST52x420 drei programmierbare Timer mit 16-Bit Vorteilern, die jeweils einen PWM- und einen Komplementärausgang besitzen und im Pulsgenerator-Modus aktiv sind. Einer der Timer verfügt über eine Input-Capture- und eine Output-Compare-Funktion und lässt sich von einem externen oder dem internen Takt ansteuern, dessen Frequenz 5, 10 oder 20 MHz beträgt. Ein Watchdog-Timer steht ebenfalls zur Verfügung.
Der Befehlssatz wurde im Vergleich zum ST52x301 aufgewertet und enthält Hardware-Multiplikations-, Divisions- und Call-Anweisungen. Aus Flexibilitätsgründen sind 20 I/O-Pins rekonfigurierbar. Der ST52x420 wartet mit Power-Save-Funktionen auf und wird im PDIP-, SO- und CDIP-Gehäuse (letzteres mit Löschfenster) als OTP oder reprogrammierbare EPROM-Version angeboten.

Softwaretools für die ST52-Familie
Sämtliche ST52-Mikrocontroller werden durch ein spezielles Software-Tool unterstützt, zu dem der Software-Emulator FUZZYSTUDIO gehört. Dank der grafischen Benutzeroberfläche kann sich der Entwickler auf System- und Steuerungsaspekte konzentrieren, anstatt sich mit dem Schreiben des Codes auseinanderzusetzen. So kommt das Tool einer zügigen Programmentwicklung zugute. FUZZYSTUDIO unterstützt sämtliche Designaspekte der ST52-Programmierung – von der grafischen Definition der Zugehörigkeitsfunktionen und Fuzzy-Regeln bis hin zu den Booleschen Befehlen, zu der per Dialogboxen abgewickelten Einstellung der Peripheriefunktionen und der Definition der Interrupt-Routinen wahlweise im Grafik- oder Text-Modus. Bestandteil der Entwicklungsumgebung sind außerdem ein Compiler und ein Debugger für die umfassende Simulation des Mikrocontrollers.
Die ergänzende Software AFM steht ebenfalls für die Fuzzy-Modellierung zur Verfügung. AFM stützt sich auf ein Neuro-Fuzzy-Netzwerk, das auf der Grundlage geeigneter Ein- und Ausgangsmesswerte die Parameter des Fuzzy-Modells (Schwerpunkte von Zugehörigkeitsfunktionen, Vorgaben und resultierende Fuzzy-Mengen) extrahieren und einen minimierten Satz mit Fuzzy-Regeln generieren kann. Das Modell lässt sich anschließend in C oder einen FUZZYSTUDIO-kompatiblen Code exportieren. FUZZYSTUDIO und AFM können kostenlos von der Fuzzy Products Web-Site www.st.com/stonline/prodpress heruntergeladen werden.
Für jeden Mikrocontroller der Familie wird ein Starter-Kit angeboten, das neben den Software-Tools FUZZYSTUDIO und AFM auch den Assembler-Editor FSASM und ein Programmier-Board enthält. Letzteres lässt sich an einen herkömmlichen PC anschließen, um das per FUZZYSTUDIO entworfene Projekt in den Speicher des ST52 zu laden.

Asynchronmotor-Drehzahlregelung mit dem ST52
Es folgen einige Beispiel dafür, wie Fuzzy-Mikrocontroller der ST52-Familie zur Drehzahlregelung von Asynchronmotoren eingesetzt werden können. Unter dem Einfluss wechselnder Belastungen erfolgt die Regelung der Motordrehzahl durch Variieren von Höhe und Frequenz der Statorspannung (V und F). Hierfür bieten sich verschiedenen Methoden an (V/F-Konstantregelung zur Gewährleistung eines gleichbleibenden Flusses im Luftspalt des Motors oder Schlupfkompensation zur Flussoptimierung und Minimierung der Verluste im Luftspalt). Diese Methoden können zudem mit unterschiedlichen Modulationsverfahren kombiniert werden.
Zur Drehzahlregelung eines Drehstrommotors kann mit dem ST52x301 auf einfache Weise eine Rechteckwellen-VSI-Sechsstufen-Modulation implementiert werden. Bild 3 zeigt das entsprechende Schaltbild, Bild 4 das mit Hilfe von FUZZYSTUDIO 3.0 entwickelte Projekt.
Die in sechs Stufen unterschiedene Statorspannung V wird aus einer Verknüpfung der Signale U, Z und W gewonnen, die an den digitalen Ausgängen des ST52x301 zur direkten Ansteuerung der Umrichter vorliegen. Die Totzeit zwischen den Momenten der drei Signale (U*, Z*, W*) und ihren Komplementärwerten (/U*, /Z*, /W*) wird softwaremäßig berechnet.
Zur Implementierung einer V/F-Konstantregelung wurden zwei unabhängige Fuzzy-Algorithmen entworfen. Die Frequenz F des sechsstufigen Signals für die Statorspannung wird durch einen Satz aus Fuzzy-Regeln (Block „Calc_dF“ in Bild 4) berechnet. Als Eingangsinformationen dient hier der Drehzahlfehler, das heißt die Differenz zwischen der gemessenen Drehzahl und der Referenzdrehzahl. Der Fuzzy-Algorithmus wurde auf der Basis dreier Fuzzy-Mengen für den variablen Drehzahlfehler und dreier Fuzzy-Regeln der Form „IF speed_err IS … THEN F IS …“ aufgebaut. Die Abstimmung der Parameter geschah auf der Basis von gemessener, Nenn- und Solldrehzahl sowie der Zeitkonstanten des Asynchronmotors.
F wird daraufhin in den Zähler/Zeitgeber des ST52 geladen, um die Frequenz von (U*, Z*, W*) und (/U*, /Z*, /W*) und damit die Synchronfrequenz F der Statorspannung des Motors zu verändern.
Als Abhilfe gegen den fehlenden Multiplikationsbefehl des ST52x301 wurde ein zweiter Satz von Fuzzy-Regeln („Calc_V“ in Bild 4) entworfen, der zur Berechnung von V dient. Ausgehend von F als Eingangssignal, berechnet CALC_V auf der Basis der konstanten Beziehung zwischen V und F die Höhe der Spannung V. Dies geschieht mit zwei Fuzzy-Regeln der Form „IF F IS … THEN V IS …“.
V wird nunmehr benutzt, um das PWM-Tastverhältnis im TRIAC-Treiber des ST52 festzulegen. Der TRIAC-Ausgang steuert die Umrichterstufe an und moduliert deren Schaltfrequenz so, dass das sechsstufige Spannungssignal V in der gewünschten Weise verändert wird.
Wie aus Bild 4 hervorgeht, wird der Hauptteil der Software des Projekts innerhalb der Timer-Interrupt-Routine verarbeitet, die bei jeder fallenden Flanke von Timerout aufgerufen wird, nachdem bis zum Kehrwert der berechneten Frequenz F hochgezählt wurde. Bild 5 zeigt die Dialogbox zum Einstellen der Timer-Peripheriefunktion – nähere Infos in der Applikationsschrift AN1112 auf der ST-Web-Site.
Autoren: C. Vinci, M. Di Guardo – STMicroelectronics

STMicroelectronics
Tel. (0049-89) 460 06-0
online.de@st.com
http://www.st.com

Vorteile der Fuzzy-Regelung mit dem ST52

Die Vorzüge, die der Einsatz eines ST52 für Motorregelungen bietet, lassen sich an zahlreichen Beispielen erläutern. Erstens lässt sich das Regelungsgesetz mit Fuzzy-Logik umgehend aufstellen, und die Auswirkungen von Abstimmaßnahmen an den Fuzzy-Regeln und -Mengen sind leichter zu verstehen, als wenn (wie bei herkömmlichen Mikrocontrollern nötig) ein Parameter in C- oder Assembler-Programmzeilen verändert wird. Zweitens hilft die Fuzzy-Methode beim Hinzufügen weiterer, hier nicht beschriebener Merkmale (Modellierung, Verarbeitung, virtuelle Sensorik) zum Regelungsblock in der Rückkoppelschleife. Drittens hat die Fuzzy-Regelung ihre Eignung für zahlreiche Anwendungsgebiete bewiesen.
Den Mikrocontrollern der ST52-Familie ist eine sehr flexible Architektur zu bescheinigen, die konventionelle Operationen unterstützt, aber auch spezielle Befehle zur Implementierung von Fuzzy-Logik-Algorithmen aufweist. Dies gewährleistet einen geringen Speicherbedarf (typisch 600 KByte für eine V/F-Konstantregelung oder eine Rechteckwellen-VSI-Regelung für einen Drehstrommotor). Beschleunigt wird die Designphase durch ein sehr direktes, grafisches Software-Tool, das die Prototyp-Phase verkürzt. Die Entwicklung von C- oder Assembler-Code ist nicht notwendig, obwohl auch ein ASM-Editor zum Umfang des Starter-Kits gehört.
Die Vielseitigkeit der Mikrocontroller ST52x301 und ST52x420 beim Einsatz in Motorregelungen stützt sich auf die integrierten Peripheriefunktionen. Der ST52x301 erlaubt mit seinem eingebauten TRIAC-Treiber die Implementierung einer Rechteckwellen-Modulation für eine V/F-Konstantregelung und eine Schlupfkompensation, wenn in dem betreffenden Drehstrommotor ein analoges Drehzahlsignal zur Verfügung steht.
Dank des Phasenwinkelstellungs-Modus dieser Peripheriefunktion ist auch der Einsatz in anderen Regelungen für Einphasen- und Universalmotoren möglich.
Noch mehr Flexibilität ergibt sich mit dem ST52x420, dessen drei Timer auch für den PWM-Modus geeignet sind. Ergänzend zu den zuvor genannten Regelungstechniken für Asynchronmotoren erlaubt der ST52x420 auch die PWM-Modulation und die Schlupfkompensation, wenn ein digitales oder analoges Drehzahlsignal verfügbar ist. Beide Fuzzy-Mikrocontroller können zur Ansteuerung von kollektorlosen Motoren und Gleichstrommotoren eingesetzt werden.
Siehe auch die Applikationsschriften AN1113 und AN1115 unter www.st.com.