Eine Publikation der Binkert Medien AG
Hochdynamische Drive-Control-Systeme mit FPGAs schnell realisieren : Ausgabe 01/2015, 09.04.2015

FPGA-Motorregelung leicht gemacht

Die Anforderungen an Drive-Control-Systeme steigen stetig an. Hohe Regelraten und immer komplexere Bewegungsberechnungen machen es zunehmend schwierig, die Systeme mit Mikro- und Signalprozessoren zu realisieren. FPGA-basierte Lösungen erfüllen auch hohe Anforderungen an die Dynamik der Bewegungssteuerung. Lesen Sie, wie der Einstieg in die neue Technologie auch ohne FPGA-Know-how gelingt.

Motorensteuerungen werden meistens mit DSPs oder Mikrocontrollern realisiert. Sinkende Preise für FPGAs kombiniert mit steigender Rechenleistung machen die programmierbare Logik, insbesondere wenn hohe Schalt- und Regelfrequenzen gefragt sind, zur Technologie der Wahl. Weitere Vorteile von FPGAs sind eine hohe Integrationsdichte, die Langzeitverfügbarkeit und die Möglichkeiten zur zukünftigen Weiterentwicklung, ohne dass eine Überarbeitung der Hardware nötig wird.

Unterschiedliche Anforderungen an Motion-Control-Systeme

Die in Motion-Control-Systemen anfallenden Berechnungen lassen sich in zwei Kategorien einteilen:

  • Immer gleichbleibende Berechnungen mit harten Echtzeitanforderungen, die hauptsächlich Additionen, Multiplikationen und Begrenzungen benötigen. Beispiele hierfür sind PID-Regler, feldorientierte Kommutierung für bürstenlose Motoren oder die Rückintegration von Trajektorien.
  • Relativ komplexe Algorithmen, die allerdings nicht in Echtzeit berechnet werden müssen. Dazu gehören unter anderem die Bahnplanung, 3D-Interpolation und applikationsspezifische High-Level-Control- sowie Kommunikationsaufgaben, beispielsweise Feldbus-Zugriffe.

Applikationsspezialisten müssen den Prozessor programmieren können

Für alle Echtzeitberechnungen ist es wichtig, dass diese immer genau gleich ablaufen und exakt gleich lange dauern, da Jitter auf dem Regelzeitpunkt und/oder der Verarbeitungszeit die Regelgüte beeinträchtigt. Die Rechenleistung für diese Berechnungen ist aus zwei weiteren Gründen kritisch: Einerseits können mit mehr Rechenleistung höhere Regelraten erzielt werden, andererseits kann die Berechnungszeit verkürzt werden, was die Verzögerung im Regelkreis verkleinert und so die Phasenreserve erhöht: Der Weg zu qualitativ besseren Regelresultaten führt immer über mehr Rechenleistung, wie sie FPGAs mit ihrer inhärent parallelen Architektur bieten.

Bei den Algorithmen, die nicht in Echtzeit ablaufen müssen, ist ein Prozessor meist unabdingbar. Operationen wie das Wurzelziehen oder das numerische Lösen von Gleichungssystemen, die in vielen Regelalgorithmen eine wichtige Rolle spielen, lassen sich anders kaum sinnvoll realisieren. Ausserdem ist ein in C/C++ programmierbarer Prozessor für Spezialisten mit applikationsspezifischem Know-how einfacher zugänglich als die Programmierung eines FPGAs mit VHDL. Nur Applikationsspezialisten können eine hohe Qualität des Endproduktes garantieren. Deshalb ist es wichtig, dass die Implementierung auch von Spezialisten ohne FPGA-Know-how vorgenommen werden kann. Moderne FPGAs lösen dieses Dilemma, indem sie neben der FPGA-Logik auch über einen leistungsfähigen integrierten Prozessor verfügen.

FPGA und ARM: Das Power-Duo für Motion Control

Mit den Xilinx-Zynq-7000- und Altera-Cyclone-V-SoC-Familien bieten die beiden grössten FPGA-Hersteller Bausteine mit einem fest eingebauten, äusserst leistungsfähigen Dual-Core-ARM-Cortex-A9-Prozessorsystem mit einer Taktfrequenz von bis zu 1 GHz an. Sie sind ideale Plattformen, um auch regelungstechnisch anspruchsvolle Aufgaben zu lösen. Diese Chips machen zudem für FPGAs erstmals das riesige ARM-Ecosystem zugänglich, sowie unterschiedliche Betriebssysteme von Android über Linux bis VxWorks, Software Libraries oder Programmiersprachen. Vor allem aber fallen für Software-Entwickler die Hürden der Programmierung in VHDL weg. So kann jeder Programmierer das ihm vertraute Entwicklungstool weiter verwenden und gleichzeitig die hohe Leistungsfähigkeit und Flexibilität der FPGAs nutzen.

FPGA-Module vereinfachen das Hardware-Design

Mithilfe von IP Cores, fertigen Funktionsblöcken für den Logikbereich des FPGAs, wie zum Beispiel Drive-Control-Regelkreisen oder Feldbus-Anbindungen, lässt sich ein FPGA-System mit wenig spezifischem Wissen erstellen. Die Entwicklung der applikationsspezifischen FPGA-Logik kann an ein FPGA-Engineering-Unternehmen ausgelagert werden. Eine solche Zusammenarbeit kann auch dann sinnvoll sein, wenn das System später betriebsintern gewartet und weiterentwickelt werden soll. Durch die enge Zusammenarbeit mit FPGA-Spezialisten können interne Mitarbeiter von einer steilen Lernkurve profitieren und werden wesentlich schneller in der Lage sein, ein FPGA-basiertes Motion-Control-System zu verstehen, zu warten und weiter zu entwickeln, als wenn sie sich alles von Grund auf selbst erarbeiten müssten.

Auf der Hardware-Seite gibt es FPGA-Module, die einfach einsetzbar sind und die technologiespezifische Komplexität kapseln. Damit wird das Hardware-Design sogar wesentlich einfacher, als wenn ein herkömmlicher Mikrocontroller eingesetzt würde. Der Weg über FPGA-Module ist speziell bei kleinen und mittleren Stückzahlen sehr interessant, kann aber auch bei Produkten mit hohen Stückzahlen für den Einsatz während der Prototypenentwicklung mehr als nur eine Überlegung wert sein.

Infoservice


Enclustra GmbH
Technoparkstrasse 1, 8005 Zürich
Tel. 043 343 39 43, Fax 043 343 39 44
info15@enclustra.com, www.enclustra.com



Mit FPGAs lassen sich auch anspruchsvolle mehrachsige Motion-Systeme realisieren


Konzept des Universal Drive Controller IP Cores

Universal Drive Controller IP Core

Der von Enclustra entwickelte, modular aufgebaute Universal Drive Controller IP Core umfasst vom A/D-Wandler-Interface über Positions-, Geschwindigkeits- und Stromregler, Positionserfassung mittels Encoder oder Resolver und Ansteuerungslogik für Leistungsstufen alles, was für die Regelung von bis zu acht Achsen mit Regelraten über 200 kHz nötig ist. Es werden DC-, BLDC- und 2- oder 3-phasige Schrittmotoren unterstützt. Für Brushless-Motoren ist eine feldorientierte Kommutierung vorhanden, bei Schrittmotoren wird Micro-stepping unterstützt. www.enclustra.com/universaldrivecontroller

Enclustra im swissT.net

Sektion 19: Embedded Computing