DE102004050434A1 - Hardwarebasierte konfigurierbare Bewegungssteuerungseinrichtung und Verfahren - Google Patents

Hardwarebasierte konfigurierbare Bewegungssteuerungseinrichtung und Verfahren Download PDF

Info

Publication number
DE102004050434A1
DE102004050434A1 DE102004050434A DE102004050434A DE102004050434A1 DE 102004050434 A1 DE102004050434 A1 DE 102004050434A1 DE 102004050434 A DE102004050434 A DE 102004050434A DE 102004050434 A DE102004050434 A DE 102004050434A DE 102004050434 A1 DE102004050434 A1 DE 102004050434A1
Authority
DE
Germany
Prior art keywords
motion control
module
motion
control
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102004050434A
Other languages
English (en)
Other versions
DE102004050434B4 (de
Inventor
Toshio Rancho Palos Verdes Takahashi
William Alpine Banzhof
Jean Ramona Lindstrom
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies Americas Corp
Original Assignee
International Rectifier Corp USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Rectifier Corp USA filed Critical International Rectifier Corp USA
Publication of DE102004050434A1 publication Critical patent/DE102004050434A1/de
Application granted granted Critical
Publication of DE102004050434B4 publication Critical patent/DE102004050434B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36025Link, connect icons together to form program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36031Programming in assembler, machine or high level language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36036Motion, graphical motion control language gmcl

Abstract

Vorrichtung zur Erzeugung eines Bewegungssteuerungsalgorithmus zur Steuerung einer elektrischen Wechselstrom-Maschine, die Vorrichtung umfassend eine Bewegungssteuerungseinrichtung, umfassend einen Bewegungssteuerungs-Sequencer, einen Bewegungssteuerungsprogrammspeicher, einen Port-Speicher, eine Vielzahl an Bewegungssteuerungsmodulen und eine Vielzahl an Bewegungsperiphermodulen, wobei der Bewegungssteuerungs-Sequencer eine Sequenz an Instruktionen, die in dem Bewegungssteuerungsprogrammspeicher gespeichert sind, ausführt, die den Sequencer anleitet, Bewegungssteuerungsmodule und Bewegungsperiphermodule in einer spezifizierten Sequenz und mit einer spezifizierten Verbindung von Moduleingängen und Modulausgängen und Betriebsparametern, die in dem Port-Speicher gespeichert sind, auszuführen, um den Bewegungssteuerungsalgorithmus zu erzeugen. Ein Mikrocontroller kann an den Motorsteuerungsprogrammspeicher und den Port-Speicher gekoppelt sein, um den Ausgang der Bewegungssteuerungseinrichtung zu überwachen.

Description

  • Die vorliegende Anmeldung beansprucht die Priorität der U.S. Provisional Application S.N. 60/511,782, eingereicht am 15. Oktober 2003 (IR-2596 Prov), mit dem Titel HARDWARE BASED KONFIGURABLE MOTION CONTROL ALGORITHM, und der U.S. Provisional Application S.N. 60/514,419, eingereicht am 23. Oktober 2003 (IR-2612 Prov), mit dem Titel HIGH PERFORMANCE AC DRIVE BY SINGLE CHIP MOTION CONTROL ENGINE IC.
  • Die vollständigen Offenbarungen dieser beiden Dokumente sind hierbei in Form einer Referenz einbezogen.
  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Design und zur Konfiguration eines Bewegungssteuerungsalgorithmus einer Wechselstrom-Maschine (z. B. eines Induktionsmotors oder Permanentmagnetmotors). Das neue Verfahren, welches Bewegungssteuerungseinrichtung (MOTION CONTROL ENGINE, „MCE") genannt wird, stellt eine Vielzahl an grundlegenden funktionellen Steuerungselementen bereit, welche in Hardware implementiert sind, und verwendet einen einzigartigen Bewegungssteuerungs-Sequencer zur Erzeugung von Verbindungen zwischen Steuerungselementen. Der Bewegungssteuerungs-Sequencer routet Signale zwischen funktionalen Steuerungselementen, wie durch den Benutzer spezifiziert, um voll konfigurierbare Steuersignalverbindungen zu erzielen.
  • Im Gegensatz zum traditionellen Entwicklungsverfahren für Bewegungssteuerungsalgorithmen, welches entweder auf Mikrocontroller oder DSP (Digital Signal Processor) Programmierung basiert, stellt die MCE eine schnellere Berechnung, eine kleinere Silizium-Plättchen-Fläche und eine signifikante Verringerung der Designzeit bereit.
  • Das Design von Servo-Steuerungssystemen mit hoher Performance ist eine komplexe Aufgabe. Hierfür sind im Normalfall eine Vielzahl an Fähigkeiten aus verschiedenen technologischen Gebieten erforderlich. Aus diesem Grund ist typischerweise eine Vielzahl an Design-Ingenieuren in den Design-Prozess involviert, der ein tiefes Verständnis von der Technologie der Leistungselektronik, der Hardware-Integration, fortgeschrittener Steuerungsalgorithmen, flexibler Benutzerschnittstellen, Netzwerkkommunikation, usw. erfordert.
  • Zu diesen Design-Faktoren gehören Steuerungsalgorithmen, die die endgültige System-Performance auf kritische Art und Weise beeinflussen. Steuerungsalgorithmen umfassen verschiedene Elemente zur Bereitstellung einer Schnittstelle mit Sensoren, die mit einem Leistungselektronikschaltkreis und Elementen eng gekoppelt sind. Position, Geschwindigkeit und Strom stellen essentielle Variablen dar, welche von entsprechenden Sensoren rückgeführt werden müssen. Die Steuerung eines drei-phasigen AC Motors erfordert eine Steuerung der Feldorientierung (Field Orientation Control, FOC). Die Aufgabe der FOC besteht darin, eine lineare Steuerung des Drehmoments bereitzustellen, indem Drei-Phasen AC Strom und Spannung transformiert werden.
  • Die FOC erfasst den drei-phasigen Motorstrom und transformiert die erfassten Ströme in zwei Variablen, Drehmomentstrom und Feldstrom, so dass sie die Drehmomentsteuerung vereinfacht. Somit umfasst die Stromsteuerung mit geschlossener Schleife tatsächlich zwei getrennte Stromsteuerungsschleifen. Eine ist für den Drehmomentstrom und die andere ist für den Feldstrom. Jede Schleife ist identisch und besteht aus mehreren Steuerungselementen. Vektor, Rotator, Clark Transformation, proportional plus integral (PI), PWM, und Stromerfassung sind einige dieser essentiellen Steuerungselemente in jeder Stromsteuerung mit geschlossener Schleife.
  • Neben den PWM und Stromerfassungs-Funktionen sind alle Steuerungselemente traditionell in Form von Softwarecode in einem Bewegungssteuerungs-DSP oder Mikrocontroller implementiert. In einer Echtzeit-Steuerungsumgebung mit einem DSP und einem Mikrocontroller sind diese Stromsteuerungsschleifen in Funktionen mit hoher Priorität implementiert. Es erfordert intensives Wissen oder Echtzeit-Steuerung zur sequenziellen Ausführung jedes Steuerungselements zur Vervollständigung der Berechnung innerhalb eines spezifizierten Zeitintervalls.
  • Diese Funktionen (tasks), welche oft durch spezifische Hardware-Ereignisse/Unterbrechungen getrieben werden, erfordern eine präzise Ausführungszeiteinteilung der Software, welches eine Sequenzierung des Instruktionscodes erfordert, um die Hardware zu bestimmten Zeiten zu manipulieren, um einen Motor zu steuern.
  • Beim Design-Prozess eines Bewegungssteuerungsalgorithmus, wie die Steuerung der Feldorientierung (FOC), sind normalerweise zwei Arbeitsgänge involviert. Der erste Arbeitsgang besteht darin, die erforderliche Steuerungsstruktur in Form eines Steuerungsblockdiagramms herauszufinden (ein Beispiel hierfür ist in 1 gezeigt). Der zweite Arbeitsgang besteht darin, durch Programmierung den Code zu implementieren, welcher durch den ausgewählten Mikrocontroller oder den DSP ausgeführt wird.
  • Der erste Arbeitsgang besteht aus der Aufgabe, die genaue Struktur des Steuerungsschemas mit jedem Steuerungselement, Abtastfrequenz, Datenbereich, Quantisierungsfehler, Auflösung und Datenformat zu definieren. Diese Aufgabe wird normalerweise durch einen Steuerungsingenieur ausgeführt. Ein Beispiel hierfür ist in 1 gezeigt. Der zweite Arbeitsgang besteht darin, einen definierten Algorithmus in einem Software-Code zu implementieren, wie Assembly-Sprache und/oder C-Sprache, und den implementierten Code zu testen. Diese Aufgabe wird durch einen Software-Ingenieur oder durch den selben Steuerungs-Ingenieur implementiert, abhängig von dem Projekt.
  • Wenn die Implementierung in Form eines Software-Codes erfolgt, wobei ein herkömmlicher Mikrocontroller oder ein DSP verwendet wird, variiert die Ausführungszeit durch den ausgewählten Mikrocontroller oder den DSP abhängig von der Fähigkeit und der Programmiererfahrung des Software-Ingenieurs. Falls die Ausführungszeit die ursprüngliche Spezifikation nicht erfüllen kann, wird die Bandbreite der Steuerung nicht akzeptabel sein, wodurch die dynamische Performance des Motorantriebes verringert wird. Die Lesbarkeit des Codes hängt auch von der Fähigkeit jeder Person ab, unabhängig von der Programmiersprache, welche der Ingenieur wählt. Dies führt oft zu einem ungewünschten Resultat, welches nicht das ursprüngliche Performance-Ziel erfüllt. Genauer gesagt kann die Rechenzeit oder Ausführungszeit der Steueraufgabe (d. h. die Stromsteuerung mit geschlossener Schleife) die gewünschte Zeit aufgrund unangemessener Programmiertechnik kombiniert mit der Natur der sequenziellen Ausführung auf Seiten des Mikrocontrollers oder des DSP übertreffen.
  • Die FOC für eine Servo-Anwendung und sensorfreier Steuerung ist normalerweise in Assembly-Sprache geschrieben und nicht in einer Sprache hoher Ebene. Dies liegt daran, dass diese Anwendungen oft schnelle Berechnung und Update-Raten erfordern, um eine steigende Nachfrage nach höherer dynamischer Performance zu befriedigen. Manchmal werden spezielle Programmiertechniken (d. h. die Verwendung von Shift-Instruktionen) zur Erzielung schneller Vervielfach/Teilungs-Funktionen verwendet, um eine schnelle Berechnung zu erreichen, um die Trägheit klassischer Rechenleistung zu überwinden.
  • Unabhängig von einer Sprache hoher Ebene (d. h. C, C++, etc.) oder einer Assembly-Sprache niedrigen Levels und unabhängig von der Verwendung eines DSP oder eines Mikrocontrollers erfordert die Programmierung die spezifische Fähigkeit, einen Bewegungsablauf in alle sequenziellen Rechenbeschreibungen, welche aus tausenden von Instruktionszeilen bestehen, zu schreiben. Dann werden alle Source-Code-Elemente der Softwaremodule (d. h. dass die Software normalerweise modularisiert ist kompiliert und miteinander verbunden. Schließlich wird daraus ein großer ausführbarer Objekt-Code, der alle Funktionen einschließlich die Steuerung mit geschlossener Schleife, Sequenzierung der Benutzerschnittstelle, Netzwerkkommunikation, etc. enthält. Falls Fehler oder Irrtümer existieren, müssen sie entdeckt und auf Ebene des Source-Codes behoben werden und wiederum rekompiliert und verbunden werden, um die revidierte Version des ausführbaren Objekt-Codes zu erhalten. Dieser Prozess wird normalerweise mehrere Male wiederholt, um das endgültige Produkt zu erhalten.
  • Auch variiert die Entwicklungszeit, welche zur Programmierung und Codierung erforderlich ist. Ein erfahrener Software-Ingenieur benötigt hierfür weniger Zeit. Software-Aufgaben werden manchmal zwischen Aufgaben aufgeteilt, welche nicht mit der Steuerung (oder nicht mit Echtzeit) in Verbindung stehen, und Aufgaben, welche mit der Steuerung (oder Echtzeit) in Verbindung stehen. In eiligen Fällen arbeiten mehrere Software-Ingenieure zusammen an dem selben Projekt. Z. B. ist ein Software-Ingenieur damit beauftragt, an den Steuerungsaufgaben zu arbeiten, während ein anderer Software-Ingenieur damit beauftragt ist, an der Kommunikation und den Funktionen der Benutzerschnittstelle zu arbeiten. Zeiteinteilungs-Schnittstelle und Daten-Schnittstelle zwischen diesen Aufgabenbereichen oder Funktionen wird bei der Entwicklung einer vollständigen Software sehr kritisch und erzeugt zusätzliche Anstrengung.
  • Obgleich es während der letzten beiden Dekaden das etablierte Entwicklungsverfahren war, erfordert Mikrocontroller und/oder DSP Programmierung immer besondere Aufmerksamkeit, um die Entwicklungszeit zu minimieren und gleichzeitig Ausführungszeit oder Rechenzeit des implementierten Codes einzuhalten.
  • Ein weiterer Kompromiss besteht in der Instandhaltung des Codes. Die Code-Instandhaltungskosten sind im Normalfall versteckte Kosten und treten zu Beginn der Entwicklungsphase nicht in Erscheinung.
  • Demzufolge ist die Entwicklung eines schnellen Bewegungssteuerungsalgorithmus bei gleichzeitiger Erzielung hoher Performance immer noch eine anspruchsvolle Aufgabe für die Entwicklung eines Servo-Systems mit hoher Performance und eines sensorfreien AC Motorantriebssystems.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der Erfindung wird eine Bewegungssteuerungs-Maschine (Motion Control Engine, MCE) bereitgestellt, umfassend in Silizium implementierte Hardware, z. B. welche eine schnellere Ausführung des Steueralgorithmus ermöglicht und die Entwicklungszeit im Vergleich zu traditionellen Programmierverfahren in Verbindung mit einem Mikrocontroller oder DSPs verringert.
  • Eine Aufgabe der Erfindung besteht darin, die Bandbreite zu erhöhen und somit die dynamische Performance zu erhöhen, indem die Rechenzeit durch Hardware-Steuerung verkürzt wird, während zur gleichen Zeit das Entwicklungsverfahren des Steueralgorithmus vereinfacht werden.
  • Gemäß der Erfindung wird eine Vorrichtung zum Erzeugen eines Bewegungssteuerungsalgorithmus zur Steuerung einer elektrischen Wechselstrom-Maschine bereitgestellt, die Vorrichtung umfassend, eine Bewegungssteuerungseinrichtung umfassend, einen Bewegungskontroll-Sequencer, einen Bewegungssteuerungsprogrammspeicher, einen Port-Speicher, eine Vielzahl an Bewegungssteuerungsmodulen; und eine Vielzahl an Bewegungsperiphermodulen, wobei der Bewegungssteuerungs-Sequencer eine Sequenz an Instruktionen, welche in dem Bewegungssteuerungsprogrammspeicher gespeichert ist, ausführt, welche den Sequencer anleitet, ausgewählte Module aus den Bewegungssteuerungsmodulen und den Bewegungsperiphermodulen in einer spezifizierten Sequenz und mit einer spezifizierten Verbindung von Moduleingängen und Modulausgängen und Betriebsparametern, welche in dem Port-Speicher gespeichert sind, auszuführen, um den Bewegungssteuerungsalgorithmus zu erzeugen. Ein Mikrocontroller kann an den Motorsteuerungsprogrammspeicher und den Port-Speicher zur Überwachung des Ausgangs der Bewegungssteuerungseinrichtung gekoppelt sein.
  • Gemäß einem weiteren Aspekt wird ein Verfahren zur Erzeugung eines Bewegungssteuerungsalgorithmus zur Steuerung einer elektrischen Wechselstrom-Maschine bereitgestellt, das Verfahren umfassend, Bereitstellung einer Bewegungssteuerungseinrichtung umfassend, einen Bewegungssteuerungs-Sequencer, einen Bewegungssteuerungsprogrammspeicher, einen Port-Speicher, eine Vielzahl an Bewegungssteuerungsmodulen und eine Vielzahl an Bewegungsperiphermodulen, und Ausführung, unter Verwendung des Bewegungssteuerungs-Sequencers, einer Sequenz an Instruktionen, gespeichert in dem Bewegungssteuerungsprogrammspeicher, zur Anleitung des Sequencers, ein ausgewähltes Modul der Bewegungssteuerungsmodule und Bewegungsperiphermodule in einer spezifizierten Sequenz und mit einer spezifizierten Verbindung der Moduleingänge und Modulausgänge und der in dem Port-Speicher gespeicherten Betriebsparameter auszuführen, wodurch der Bewegungssteuerungsalgorithmus erzeugt wird. Die Erfindung kann nicht nur zur Motorsteuerung verwendet werden, sondern auch für andere Anwendungen, wie digitale Leistungsversorgungssteuerungen und digitale Leistungselektroniksteuerungen.
  • Andere Eigenschaften und Vorteile der vorliegenden Erfindung werden im Zusammenhang mit der folgenden Beschreibung der Erfindung, welche sich auf die beigefügten Zeichnungen bezieht, offensichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNG(EN)
  • Die Erfindung wird nun im größeren Detail in der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die Zeichnungen beschrieben:
  • 1 ist ein Blockdiagramm eines Beispiels einer Steuerungsstruktur für die Steuerung einer Wechselstrom-Maschine, welche durch das erfindungsgemäße System implementierbar ist;
  • 2 zeigt die grundlegende Architektur des Systems gemäß der Erfindung;
  • 3 zeigt ein Beispiel für einen MCE Instruktionssatz;
  • 4 zeigt beispielhafte Bewegungssteuerungsmodule;
  • 5 zeigt beispielhafte Bewegungsperiphermodule;
  • 6 zeigt eine andere Steuerungsstruktur, welche durch die Erfindung implementierbar ist;
  • 7 zeigt einen Graph der Stufenantwort der Drehmomentsteuerungsschleife der 6;
  • 8A zeigt typische drei-phasige PWM Wellenformen und 8B zeigt entsprechende Wellenformen des erfindungsgemäßen Schaltkreises;
  • 9 zeigt eine vereinfachte Version des Schaltkreises von 6, welcher einen Motor steuert; und
  • 10 zeigt eine Anzeige von einem PC Design-Werkzeug, welches im Zusammenhang mit dem Schaltkreis von 9 nützlich ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Nun unter Bezugnahme auf die Zeichnungen. 2 zeigt die grundlegende Architektur des MCE-Systems, beispielhaft kombiniert mit einem Mikrocontroller-System.
  • In diesem Beispiel führt die MCE 10 die zeitkritische Rechenaufgabe der Stromsteuerung mit geschlossener Schleife (s. 1) der Wechselstrom-Maschine in Verbindung mit sensorfreier Steuerung, Geschwindigkeitssteuerung, PWM (Pulsbreitemodulation) und Stromerfassung aus. Die MCE 10 ist mit einem generischen Mikrocontroller 100 über einen internen Bus verbunden. Der Mikrocontroller 100 kann z. B. ein 8 Bit Mikrocontroller bekannter Bauart sein und führt nicht-zeitkritische Aufgaben durch, wie die Kommunikation mit einer Host-Schnittstelle, Überwachung und Sequenzierung I/O, wie in diesem Beispiel.
  • Die MCE 10 besteht aus einem MCE Sequencer 20, einem MCE Programmspeicher 30, einem dualen Port-Speicher 40, Bewegungssteuerungsmodulen 50 und Bewegungsperiphermodulen 60. Der MCE Sequencer 20 führt Instruktionen aus, welche im MCE Programmspeicher 30 gespeichert sind. Diese Instruktionen leiten den MCE Sequencer 20 an, Bewegungssteuerungsmodule 50 und Bewegungsperiphermodule 60 in einer spezifizierten Sequenz und mit einem spezifizierten Mapping oder „Verbindung" von Moduleingängen und -ausgängen und Betriebsparametern, welche im dualen Port-Speicher 40 gespeichert sind, auszuführen.
  • Der MCE Sequencer 20 steuert die Ausführung und das I/O Mapping von Bewegungssteuerungsmodulen 50 und Bewegungsperiphermodulen 60. Der Sequencer 20 funktioniert vorzugsweise als ein Reduced Instruction Set Controller (RISC), welcher codierte Instruktionen ausführt, die im MCE Programmspeicher 30 gespeichert sind. Ein beispielhafter Instruktionssatz ist in 3 gezeigt. Der Instruktionssatz ist an die hoch spezialisierten Operationen angepasst, welche der MCE Sequencer 20 ausführen muss. Die Instruktionen können in drei Kategorien gruppiert werden:
    • a. Bewegungsinstruktionen, verwendet zum Laden von Modul-Eingaben und Speichern von Modul-Ausgaben;
    • b. Arithmetische Instruktionen, verwendet zur Manipulation von Daten während dem Mapping-Prozess oder der Verbindung von Modul-Eingängen und -Ausgängen;
    • c. Prozessor- und Programmsteuerinstruktionen, verwendet zur Ausführung von Bewegungssteuerungsmodulen und Bewegungsperiphermodulen und zur Modifikation des Programmflusses.
  • Ein spezialisierter Satz an Entwicklungs-Werkzeugen, umfassend einen MCE Compiler, ermöglicht es einem Steuerungs-Ingenieur (der „Benutzer"), ein grafisches Bewegungssteuerungs-Design zu kreieren und dieses Design im MCE Programmcode zu „kompilieren" (der Instruktionssatz, von dem ein Beispiel in 3 gezeigt ist), welcher einzigartig die exakten Designanforderungen des Benutzers implementiert.
  • Unter Verwendung grafischer Bilder auf einem Bildschirm des Entwicklungs-Werkzeuges wählt der Benutzer Bewegungssteuerungsmodule und Bewegungsperiphermodule aus, verbindet ihre Eingänge und Ausgänge in einer gewünschten Sequenz und spezifiziert, welche Eingänge während der Laufzeit als Betriebsparameter bereitgestellt werden sollen und welche Ausgaben die MCE 10 zum Zweck der Überwachung und Diagnose extern bereitstehen sollen.
  • Der MCE Compiler analysiert das grafische Design, um zu ermitteln:
    • a. die optimale Sequenz der Modulausführung;
    • b. die Betriebsparameter, welche als Modul-Eingängen definiert werden müssen;
    • c. die Modul-Ausgängen, welche extern zugreifbar sein sollen; und
    • d. das Routing der Modul-Eingangs- und -Ausgangs-Signale.
  • Daraufhin bestimmt der MCE Compiler ein passendes Layout der Datenbenutzung in dem dualen Port-Speicher 40 und codiert eine detaillierte Sequenz von MCE Instruktionen (MCE Instruktionssatz), um Eingänge zu laden und Ausgänge zu routen, für jedes Modul, das ausgeführt werden soll.
  • Im Allgemeinen führt die MCE Instruktionssequenz die folgenden Operationen für jedes Bewegungssteuerungsmodul 50 und Periphermodul 60, welches ausgeführt werden soll, aus:
    • a. Bewege für jede der Modul-Eingänge einen Datenwert von einem Platz in dem dualen Port-Speicher 40 an eine Speicher-gemappte Hardware-Registeradresse des Moduls, die für diesen spezifischen Modul-Eingang reserviert ist. Die Source-Adresse kann sein: (1) ein Platz, der einem Betriebsparameter zugewiesen ist; (2) ein temporärer Speicherplatz, der eine gespeicherte Ausgabe von einem Modul, welches zu einem früheren Zeitpunkt in der Ausführungssequenz ausgeführt wurde, speichert; oder (3) ein Platz, der zur Speicherung eines gespeicherten Modul-Ausgangs zugeordnet ist, zugreifbar durch einen externen Prozessor für Überwachungs- und Diagnosezwecke.
    • b. Schreibe, wenn alle Modul-Eingangsregister geladen sind, an das Steuerungs-/Statusregister des Moduls, um die Ausführung des Moduls zu starten, und überprüfe den Wert des Steuerungs-/Statusregisters des Moduls, um die Modulvervollständigung abzufragen. Zu beachten ist, dass der Betrieb des MCE Sequencers 20 während der Modulausführung nicht blockiert wird, wodurch es einer Vielzahl von MCE Steuermodulen 50 und/oder Periphermodulen 60 ermöglicht wird, gleichzeitig ausgeführt zu werden.
    • c. Bewege für alle Modul-Ausgängen den Datenwert, welcher durch das Modul in seinem entsprechenden Speicher-gemappten Hardware-Ausgaberegister gespeichert ist, zu einem Platz in dem dualen Port-Speicher 40, wenn die Modulausführung vollendet ist. Die Zieladresse kann sein: (1) ein temporärer Speicherplatz, welcher als Eingang zu einem Modul, welches zu einem späteren Zeitpunkt in der Ausführungssequenz ausgeführt wird, zu verwenden ist; oder (2) ein Platz, welcher zur Speicherung des Modul-Ausgangs zugeordnet ist, wo er extern für Überwachungs- und Diagnosezwecke zugreifbar ist.
  • Der MCE Programmspeicher 30 wird zur Speicherung der Instruktionen verwendet, welche durch den MCE Sequencer 20 ausgeführt werden. Bei einem Reset beginnt der MCE Sequencer 20 die Programmausführung an einem ersten Platz in dem MCE Programmspeicher 30. Ein Programmzähler wird bei jeder Instruktionsausführung erhöht, so dass Instruktionen sequenziell ausgeführt werden, indem die Adressen in dem Programmspeicher ansteigen. Bestimmte Instruktionen („branch" z. B.) modifizieren den Wert des Programmzählers und ändern somit die Sequenz der Instruktionsausführung. MCE Instruktionen können nicht den Inhalt des Programmspeichers modifizieren.
  • Der duale Port-Speicher 40 ermöglicht es einem externen Prozessor, wie dem Mikrocontroller 100, den MCE Betrieb zu konfigurieren und zu überwachen. Die MCE verwendet den dualen Port-Speicher 40 zum:
    • a. Abfragen von Betriebsparametern, welche als Eingaben in die Bewegungssteuerungsmodule 50 und/oder Bewegungsperiphermodule 60 konfigurierbar sind;
    • b. Speichern von bestimmten Modulausgaben zum Zugriff durch einen externen Prozessor zwecks Überwachung und Diagnose; und
    • c. temporären Speichern von Modul-Ausgaben zum Transfer zu Eingängen von Modulen, welche zu einem späteren Zeitpunkt in der Ausführungssequenz ausgeführt werden.
  • Der MCE Programmcode definiert die spezifische Zuordnung von Daten innerhalb des dualen Port-Speichers 40, abhängig von benutzerdefinierten Betriebsparametern, Modulsequenz und Signalverbindungen, und gewünschter Datenpunkte für Überwachungs- und Diagnosezwecke.
  • Die Bewegungssteuerungsmodule 50 stellen eine Ansammlung an Steuerelementen dar, jedes davon eine individuell funktionale Hardwarekomponente, designed als ein unabhängiges Stück Hardware. Beispiele für die Bewegungssteuerungsmodule sind in 4 gezeigt. Obgleich einige Elemente ähnlich zu den analogen äquivalenten Funktionen sind (d. h. Niedrig-Pass-Filter, PI-proportinal plus integral, Komparator, etc.), werden alle vorzugsweise in digitaler Hardware durch z-Transformation implementiert. Jedes funktionale Element weist definierte Eingänge und Ausgänge auf und kann Betriebsparameter nutzen, welche während der Laufzeit spezifiziert werden. Die Eingänge und Ausgänge jedes Moduls sind entsprechenden Hardware-Registern zugeordnet.
  • Wenn der Steuer-Ingenieur die Steuerstruktur (s. beispielsweise 1) eines Bewegungssteuerungsalgorithmus entwirft, ist jedes funktionale Element einzigartig mit anderen verbunden, um die gewünschte Steuerfunktion zu erzielen. Diese Verbindungsinformation ist durch den dualen Port-Speicher 40 implementiert, welcher Daten speichert, die von einem funktionalen Block zu einem anderen übertragen wurden. Gegenwärtige Datenübertragung wird durch den MCE Sequencer 20 gesteuert, welcher Instruktionskommandos ausführt, die die spezifischen Ausgabedaten eines funktionalen Elementblocks spezifizieren, welcher zu der spezifischen Eingabe eines anderen funktionalen Elementblocks mittels einem spezifischen Platz des dualen Port-Speichers 40 übertragen werden soll.
  • Die Bewegungsperiphermodule 60 sind, ebenso wie die Bewegungssteuerungsmodule 50, eine Ansammlung an unabhängigen Hardwarekomponenten. Beispiele der Bewegungsperiphermodule sind in 5 gezeigt. Jedes Bewegungsperiphermodul 60 stellt ein Interface an ein externes (peripheres) Bauteil bereit. Der MCE Sequencer 20 steuert die Verbindungen zwischen den Bewegungsperiphermodulen 60 und den Bewegungssteuerungsmodulen 50 in der selben An und Weise wie oben beschrieben. Beispiele der Bewegungsperiphermodule umfassen Mehrfach-Raumvektor-Pulsbreiten-Modulation (Multiple Space Vector Pulse Width Modulation; MULTSVPWM), Stromfaktor-Korrektur PWM (Power Factor Correction PWM; PFCPWM) Single Current Shunt (Einfachstrom-Kurzschluß), A/D und D/A.
  • 6 zeigt eine andere beispielhafte Steuerungsstruktur, die durch die Erfindung implementiert werden kann, und als ein integrierter Schaltkreis (IC), der auf Servo-Anwendungen mit hoher Performance und sensorfreie Steueranwendungen abzielt, bereitgestellt wird. Der Schaltkreis kann auf einem kosteneffizienten 100-PIN QFP Baugruppen-IC oder auf einem 80-PIN QFP Baugruppen-IC implementiert werden. Diese ICs erfordern einfach einen billigen Kristallresonator zur Speisung der Uhr. Die ICs vereinfachen die Aufgabe, das Servo-Treibersystem zu designen und ermöglichen schnell einen Servo-Antrieb mit hoher Performance und können beispielsweise sinusartige sensorfreie Steuerung von AC Motoren mit Permanentmagneten mit hoher Performance erzielen. Sobald mit dem IC Hardware realisiert ist, ist beispielsweise sofort eine Motorsteuerung möglich, ohne dass die Zeit und der Aufwand von Programmierung erforderlich ist. Alle Funktionen sind Hardware-seitig implementiert. Anders als bei einem traditionellen DSP für Bewegungssteuerung enthält der IC nicht nur Bewegungsperipherfunktionen (d. h. PWM, Codierzählerschaltung, Stromerfassungsschnittstelle, etc.), sondern auch einen vollständigen Feldorientierungssteuerungsalgorithmus und einen Geschwindigkeitssteuerungsalgorithmus in Form von Hardware, die MCE.
  • Die MCE besteht aus Steuerelementen (d. h. proportional plus integral, Vektorrotator, Clark Transformation, etc.), welche notwendig sind für die Steuerungen mit geschlossener Schleife, die Bewegungshardwareperipherien (d. h. Space Vector PWM, Motorstrom-Feedbackschnittstelle, Codierfeedback) und Flusssteuerungslogik, welche eine parallele Multischleifen-Steuerung ermöglicht. Somit ist kein Multi-Tasking erforderlich. Eine synchrone Ausführung der Geschwindigkeitssteuerung mit geschlossener Schleife und der Stromsteuerung mit geschlossener Schleife ist in der Hardwarelogik eingeschlossen.
  • Der Schaltkreis der 6 ist ein digitaler integrierter Schaltkreis, welcher alle notwendigen Funktionen der codierbasierten Servo-Steuerung in festverdrahteter Logik implementiert. Somit ist die Struktur vor-konfiguriert, wie in 6 gezeigt, ermöglicht aber dennoch eine unterschiedliche Struktur des Steueralgorithmus. Ein Vektor-gesteuerter Induktionsmotor ist ein Beispiel. Die interne Steuerungsstruktur weist einen Feed Forward Slip Gain Path 20 auf zur Erzeugung des Vektorwinkels. Ein Schließen des entsprechenden Schalters 20 auf dem Pfad kann diese Steuerungskonfiguration ermöglichen. Somit kann eine Aktivierung und Deaktivierung der Induktionsmotorsteuerung einfach durch Schließen oder Öffnen des Schalters durchgeführt werden, präziser durch Schreiben eines Wertes „1" oder „0" in das entsprechende Schreiberegister durch den PC. Der Schaltkreis unterstützt andere strukturelle Änderungen, wie das Verbinden mit Stromsensoren unterschiedlichen Typs eher als der IR 2175 stromerfassende IC, der dargestellt ist (220), Aktivierung/Deaktivierung des Feed Forward Gain Path in der Stromsteuerung, Aktivierung/Deaktivierung der Geschwindigkeitssteuerung mit geschlossener Schleife und die Auswahl der Quelle des Geschwindigkeitskommandos.
  • Der Schaltkreis von 6 erfordert keine Programmierung und/oder Codierung. Somit kann er in einen logischen IC mit fester Funktion und festverdrahtet konvertiert werden, als alleinstehende Servo-Steuerung, ohne das Erfordernis einer PC-Schnittstelle. Der Konfigurationsprozess zur Anpassung eines neuen Motors und zur Abstimmung verwendet Host-Register, die entweder von einem PC oder einem entsprechenden Mikroprozessor durch eine RS232C serielle Schnittstelle oder SPI serielle Schnittstelle oder eine parallele Schnittstelle 230 ausgelesen oder beschrieben werden können. Das Schreiben spezifischer Werte in die entsprechenden Register konfiguriert einen Servo-Antrieb sehr schnell mit der gewünschten Performance und Funktionen. Wenn beispielsweise eine 10 kHz PWM Schaltfrequenz zur Invertierung der Leistungselektronik gewählt wird, schreibt der Benutzer einen entsprechenden Wert in das entsprechende Register. Der Benutzer muss nicht Codes schreiben, um den PWM Algorithmus zu implementieren. Sobald der Antrieb durch das Schreiben in die Host-Register konfiguriert ist, ist kein weiterer Schritt erforderlich (es ist keine Software-Kompilierung und Assemblierung des finalen Objekt-Codes erforderlich).
  • Ein signifikanter Vorteil der Bewegungssteuerungseinrichtung liegt in der sehr kurzen Rechenzeit zur Komplettierung des Steueralgorithmus mit geschlossener Schleife mit deterministischer Zeiteinteilung. Eine schnelle Berechnung beeinflusst die dynamische Performance des Drehmoments und der Geschwindigkeit eines Servo-Systems direkt. Je schneller die Update-Rate der Stromsteuerung mit geschlossener Schleife ist, desto höher ist die Bandbreite der Drehmomentsteuerung. Dies wiederum beeinflusst die Umkehrzeit des Systems oder die Zykluszeit der Maschine. Beispielsweise erfordert eine Maschine zur Einbringung einer Oberflächenbefestigungskomponente schnelle Aufnahme-und-Platzierungszeiten, um die gesamte Zykluszeit zur Vervollständigung der Komponentenanordnung zu verkürzen.
  • Ein digitaler Servo-Antrieb reicht hinsichtlich hoher Bandbreitenperformance, insbesondere hinsichtlich einer Drehmomentsteuerung hoher Bandbreite, noch lange nicht an analoge Servo-Antriebe heran, obgleich er sehr flexibel ist. Dies liegt hauptsächlich an DSP und Mikrocontrollerdurchsatzgrenzen, welche von sequenziellen Berechnungsmechanismen zur Ausführung großer Zahlen von Instruktionen eine nach der anderen herrühren.
  • Der integrierte Schaltkreis der 6, welcher mit der Bewegungssteuerungseinrichtung ausgestattet ist, entfernt diese Barriere. Der Schaltkreis kann mit einer 40 kHz PWM Update-Rate oder Update-Rate höherer Frequenz, die ähnlich ist zu einem analogen Servo-Antrieb-Gegenstück, laufen. 7 zeigt die Stufenantwort der Drehmomentsteuerungsschleife. Die beiden Kurven stellen die Drehmoment-Strom-Referenz („Iq Referenz") und das Drehmoment-Strom-Feedback („Iq Feedback") dar. Die Daten wurden an einem blockierten Rotor (Stalled Rotor) 40 kHz PWM Frequenz und einer 40 kHz Update-Konfiguration der Stromsteuerschleife aufgenommen. Die Referenzamplitude liegt bei 50 % des eingestuften Motorstroms. Wie gezeigt dauert es nur etwa 350 Mikrosekunden, damit der Drehmomentstrom die Referenz erreicht.
  • Der Schaltkreis der 6 reduziert die Rechenzeit einer sensorfreien Stromsteuerung mit geschlossener Schleife signifikant. Dies wirkt sich günstig auf Anwendungen aus, welche eine sinusförmige sensorfreie Steuerung benötigen, wie beispielsweise Antriebe von Kompressormotoren von häuslichen Klimaanlagesystemen. Beispielsweise wird in den jüngsten zu Hause verwendeten Klimaanlagesystemen ein 32-Bit RISC Mikroprozessor hoher Performance verwendet. Mit diesem Mikroprozessor erreicht die Rechenleistung 50 MIPS. Trotzdem dauert es immer noch 60 Mikrosekunden, um den sensorfreien Steueralgorithmus auszuführen. Da Klimaanlageanwendungen nicht nur eine einzelne Motorsteuerung durch einen sensorfreien Algorithmus erfordern, sondern auch eine zusätzliche sensorfreie Motorsteuerung für den Kühlerlüfter und eine Steuerung für die PFC (Power Factor Control) Funktion, muss die gesamte Rechenzeit des Mikroprozessors noch immer gekürzt werden, um alle diese Leistung erfordernde Bedürfnisse zu befriedigen. Ebenso wird auch die Speicherbenutzung gesteigert, da der Instruktionssatz auf 33 Bits basiert. Gemäß der zitierten Anmeldung erfordert dies 128 kB an Instruktionsspeicher.
  • Der Schaltkreis von 6 verringert die Rechenzeit auf 11 Mikrosekunden, anstatt der 60 Mikrosekunden, welche vom Stand der Technik benötigt werden. Dies erzeugt mehr Zeit für schnellere Update-Raten mit höheren PWM Trägerfrequenzen. Ultrahochgeschwindigkeitsanwendungen, welche Motoren mit Permanentmagneten verwenden, werden von der Erfindung einfach dahingehend profitieren, indem die PWM Trägerfrequenz eingestellt wird, dass sie sogar bei 40 kHz oder höher läuft. Beispiele für die Verwendung einer derartig hohen Trägerfrequenz PWM mit dem Schaltkreis der 6 sind Hochgeschwindigkeitsspindeln und dentale Bohranwendungen.
  • Der Schaltkreis der 6 wendet ein niedrig-verlustiges und Low EMI Space Vector PWM Verfahren zum Schalten eines Ausgangs zu den IGBT Leistungseinheiten an. Verglichen zur traditionellen drei-phasigen PWM reduziert es den Leistungsverlust und das EMI Rauschen um etwa 20 % oder mehr. Eine typische Spannungs-Schaltungs-Wellenform und Motor-Strom-Wellenform sind in 8A gezeigt. 8A zeigt eine traditionelle drei-phasige PWM. 8B zeigt die niedrig-verlustigen Low EMI PWM Wellenformen des Schaltkreises der Erfindung.
  • Es sind eine Anzahl von Schaltkreisen notwendig, um den IC der 6 in einer Motor-Antriebsschaltung zu verwenden. Nimmt man den Prozess von der Erstellung eines Prototyps bis zur Ausgabe des Produktes des vollständigen Servo-Antriebssystems, sind das Design der Leistungselektronikschaltung, der analogen Signalkonditionierungsschaltung, der Schaltungsmodus-Leistungsversorgungsschaltung und der Sensorschnittstellenschaltung Beispiele für Schaltungsdesigns und essentielle Elemente des vollständigen Servo-Verstärkersystems. Insbesondere erfordert das Design der Leistungselektronikschaltung kombiniert mit thermischem Management spezielles technisches Talent und Erfahrung und hindert Benutzer häufig daran, ein Hardwaredesign fertigzustellen.
  • Um den Benutzer bei seinen Designanstrengungen umfassender zu unterstützen, kann, wie in 9 gezeigt, eine Designplattform verwendet werden. Diese Designplattform umfasst die notwendige Hardware, einschließlich der Wärmesenke und den Verbindungen. Diese Hardwareplattform ist nahe an dem tatsächlichen Produkt, da ihr Design zahlreiche Industriestandards enthält. Beispielsweise folgt das PCB Layout dem UL 508C, welches zwischen Potenzialspuren hoher Spannung die Hochspannungskriechstrecke ermöglicht. Der Benutzer kann augenblicklich die Systemperformance des Schaltkreises evaluieren, ohne zu dem Schaltkreis etwas hinzuzufügen oder ihn zu modifizieren. Die Designplattform kann in Verbindung mit einem IGBT Intelligent Module 300, z. B. IRAMY20U60A oder IRAMY16U60A verwendet werden, welche von der International Rectifier Corporation erhältlich sind.
  • Die Module 300, basierend auf fortgeschrittene IMS Technologie, schließen sich mit dem IR2136-Drei-Phasen-Hochspannungsgateantrieb IC 310 innen zusammen. Die Erfassung des Motorstroms ist durch den IR 2175 monolithischen Hochspannungs-IC 220 implementiert. Dieser IC ist fähig zur direkten Verbindung mit dem MCE IC 150 und kann in einer kleinen SO-8 Packung bereitgestellt werden, um eine sehr kompakte und einfache Motorstromerfassungsfunktion für eine komplizierte Motorsteuerungsanwendung mit geschlossener Schleife zu ermöglichen. Es kann ein dreibeiniger Low Side Shunt-Widerstand, basierend auf Stromerfassung, verwendet werden.
  • Der Bewegungssteuerungs-IC 150 kombiniert mit dem intelligenten IGBT 300 Modul und IR 2175 stromerfassenden IC 220 vereinfacht das Design der Leistungselektronik des Benutzers signifikant und verringert die Bauteilzahl und die Baugruppengröße.
  • Der Schaltkreis 150 umfasst weiterhin vorzugsweise eine Schutzschaltung für Überstrom/Kurzschluss (nicht gezeigt), um vor jeder Art eines Antriebsdefekts bedingt durch Überstrom zu schützen. Auch werden eine geschaltete Leistungsversorgung mit multipler Ausgabe (Multiple Output Switched Mode Power Supply) und alle notwendigen Sensorschnittstellenschaltungen bereitgestellt.
  • Obgleich die Konfiguration der Host-Register ein einfacher Prozess ist und keine Programmierung oder Codierung erfordert, erfordert sie dennoch das Schreiben spezifischer Werte in jedes entsprechende Register. ServoDesignerTM ist ein Windows-basiertes PC-Werkzeug, welches verwendet werden kann, um Schreiben und Lesen der Host-Register ohne weitere Werkzeuge oder Reparation zu ermöglichen. 10 zeigt ein Beispiel dieses Werkzeugs. Dieses Werkzeug kann auch verwendet werden, eine Einstellung der Faktor-Parameter eines Benutzers durchzuführen.
  • Das Werkzeug ist sehr flexibel. Der Benutzer kann definieren, auf welche Register zugegriffen werden soll, die Registernamen ändern und Lese- und Schreiberegistergruppen in Form von Subgruppen anpassen.
  • Die Definition und die Hinzufügung neuer Funktionen ermöglicht eine starke Expansion und eine spezifische Performanceverifikation. Z. B. kann der Benutzer die Sequenz von Bewegung erzeugen, welche aus einem vielfachen Start- und -Stop Geschwindigkeitsprofil mit unterschiedlicher Beschleunigung/Verzögerung besteht. Diese interaktive Bewegungsprofilerzeugung stellt ein schnelles Verifikationswerkzeug für die gewünschte Performance bereit und erleichtert und minimiert die Zeit für den Entwicklungsprozess der Anwendung.
  • Der ServoDesignerTM erleichtert die Diagnosefunktion. Antriebsdefekt und Status, anzeigend entweder, ob der Antrieb läuft oder sich in einem Stopmodus befindet oder defekt ist, wird immer auf dem Bildschirm dargestellt, ohne irgendeinen Konfigurationsaufwand.
  • ServoDesignerTM umfasst auch ein interaktives HELP Menü und eine Beschreibung von jedem Host-Register, um ein effektives Konfigurations-Anleitungswerkzeug für den Benutzer bereitzustellen.
  • Die Konfiguration von Registern kann weiterhin erleichtert werden, indem eine ExcelTM Tabelle verwendet wird. ServoDesignerTM stellt eine zusätzliche ExcelTM Tabelle als Template zur Anpassung und Konfiguration eines neuen Motors bereit. Alles, was der Benutzer zu tun hat, ist, die Daten der Motorennamensplatte in die Tabelle hineinzuschreiben, wie etwa der Motorstrom, Geschwindigkeit und Codier-Linien-Zählung (Encoder Line Count). Daraufhin berechnet und erzeugt die Tabelle die Werte, welche in jedes spezifische Host-Register geschrieben werden sollen. Daraufhin kann der Benutzer diese Tabellendaten in die ServoDesignerTM Register „importieren".
  • Das Werkzeug umfasst eine EEPROM Schreib/Lese-Einheit, so dass der Benutzer eingestellte Parameter speichern kann und sich wiederholende Konfigurationen löschen kann.
  • Obgleich die vorliegende Erfindung in Verbindung mit bestimmten Ausführungsformen beschrieben wurde, sind dem Fachmann viele andere Variationen und Modifikationen und andere Verwendungen offensichtlich. Daher soll die vorliegende Erfindung nicht durch die hier dargelegte spezifische Offenbarung limitiert sein, sondern nur durch die beigefügten Ansprüche.

Claims (62)

  1. Vorrichtung zum Erzeugen eines Bewegungssteuerungsalgorithmus zur Steuerung einer elektrischen Wechselstrom-Maschine, die Vorrichtung umfassend: eine Bewegungssteuerungseinrichtung, umfassend: einen Bewegungssteuerungs-Sequencer; einen Bewegungssteuerungsprogrammspeicher; einen Port-Speicher; eine Vielzahl von Bewegungssteuermodulen; und eine Vielzahl von Bewegungsperiphermodulen; wobei der Bewegungssteuerungs-Sequencer eine Sequenz an Instruktionen, die in dem Bewegungssteuerungsprogrammspeicher gespeichert ist, ausführt, welche den Sequencer anleitet, ein ausgewähltes Modul aus den Bewegungssteuerungsmodulen und den Bewegungsperiphermodulen in einer spezifizierten Sequenz und mit einer spezifizierten Verbindung von Moduleingängen und Modulausgängen und Betriebsparametern, die in dem Port-Speicher gespeichert sind, auszuführen, um den Bewegungssteuerungsalgorithmus zu erzeugen.
  2. Die Vorrichtung nach Anspruch 1, weiterhin umfassend einen Mikrocontroller, gekoppelt an den Motorsteuerungsprogrammspeicher und den Port-Speicher, zur Überwachung des Ausgangs der Bewegungssteuerungseinrichtung.
  3. Die Vorrichtung nach Anspruch 1, wobei der Bewegungssteuerungs-Sequencer einen Reduced Instruction Set Controller (RISC) umfasst, der codierte Instruktionen, die in dem Bewegungssteuerungsprogrammspeicher gespeichert sind, ausführt.
  4. Die Vorrichtung nach Anspruch 3, wobei die codierten Instruktionen einen Instruktionssatz aufweisen, umfassend: Bewegungsinstruktionen, die verwendet werden, um die Eingänge der Motorsteuerung und der Motorperiphermodule zu laden und Modulausgänge zu speichern; arithmetische Instruktionen, die verwendet werden, um Daten in dem Prozess des Verbindens von Moduleingängen und -ausgängen zu manipulieren; und Prozessor- und Programmsteuerungsinstruktionen, die verwendet werden, um Bewegungssteuerungs- und Bewegungsperiphermodule auszuführen und einen Programmfluss zu modifizieren.
  5. Die Vorrichtung nach Anspruch 4, weiterhin umfassend einen Satz an Entwicklungswerkzeugen, einschließend einen Compiler, um die Kreation eines grafischen Bewegungssteuerungsdesigns zu ermöglichen und um das Design in einen Instruktionssatz zu kompilieren.
  6. Die Vorrichtung nach Anspruch 5, wobei das grafische Bewegungssteuerungsdesign eine Vielzahl an grafischen Bildern umfasst, welche auf einem Displaybauteil der Entwicklungs-Werkzeuge dargestellt werden, die verwendet werden, Bewegungssteuerungsmodule und Bewegungsperiphermodule auszuwählen, Eingänge und Ausgänge der Bewegungssteuerungsmodule und Bewegungsperiphermodule in einer gewünschten Sequenz zu verbinden und Eingänge zu spezifizieren, die als Betriebsparameter während einer Laufzeit des Bewegungssteuerungsalgorithmus geliefert werden sollen, und verfügbare externe Ausgänge, die der Bewegungssteuerungseinrichtung zur Überwachung und zu diagnostischen Zwecken bereitgestellt werden sollen.
  7. Die Vorrichtung nach Anspruch 6, wobei die Bewegungssteuerungseinrichtung das grafische Bewegungssteuerungsdesign analysiert, um zu bestimmen: eine optimale Sequenz der Modulausführung; Betriebsparameter, die als Moduleingänge definiert werden sollen; Modulausgaben, die extern zugreifbar sein sollen; und Routen von Moduleingangs- und -ausgangssignalen.
  8. Die Vorrichtung nach Anspruch 7, wobei der Compiler ein passendes Layout der Datenbenutzung in dem Port-Speicher bestimmt und eine Sequenz von Bewegungssteuerungseinrichtungsinstruktionen codiert, um Eingänge zu laden und Ausgänge zu routen, für jedes auszuführende Modul.
  9. Die Vorrichtung nach Anspruch 8, wobei die Bewegungssteuerungseinrichtung eine Sequenz von Bewegungssteuerungseinrichtungsinstruktionen für jedes auszuführende Modul ausführt, umfassend: Verschieben eines Datenwerts, für jeden Moduleingang, von einem Platz in dem Port-Speicher an eine Speicher-gemappte Hardwareregisteradresse, die für einen spezifischen Moduleingang reserviert ist; wenn alle Moduleingangsregister geladen sind, Schreiben in ein Steuer/Status-Register des Moduls, um eine Modulausführung zu starten; und wenn die Modulausführung abgeschlossen ist, Verschieben, für jeden Modulausgang, eines Datenwerts, der von dem Modul in einem reservierten Speicher-gemappten Hardware-Ausgangsregister gespeichert ist, zu einem Platz in dem Port-Speicher.
  10. Die Vorrichtung nach Anspruch 9, wobei eine Source-Adresse für einen Datenwert in dem Port-Speicher umfasst: einen Platz, der einem Betriebsparameter zugeteilt ist; und einen temporären Speicherplatz, der einen gespeicherten Ausgang von einem Modul, das zu einem früheren Zeitpunkt in der Ausführungssequenz ausgeführt wurde, speichert; oder einen Platz, der zugeteilt ist, um einen gespeicherten Modulausgang zu speichern, der verfügbar ist für einen externen Prozessor zur Überwachung und zu diagnostischen Zwecken.
  11. Die Vorrichtung nach Anspruch 9, wobei die Bewegungssteuerungseinrichtung den Wert des Steuerungs/Status-Registers des Moduls prüft, um eine Vervollständigung der Modulausführung abzufragen.
  12. Die Vorrichtung nach Anspruch 11, wobei der Betrieb des Bewegungssteuerungs-Sequencers während der Modulausführung nicht blockiert wird, was eine multiple Bewegungssteuerung und/oder simultane Ausführung peripherer Module ermöglicht.
  13. Die Vorrichtung nach Anspruch 9, wobei eine Zieladresse einen temporären Speicherplatz umfasst, der für den Eingang eines Moduls, welches zu einem späteren Zeitpunkt in der Ausführungssequenz ausgeführt wird, verwendet wird; oder einen Platz, zugeordnet zum Speichern eines Modulausgangs, wo er extern für Überwachung und diagnostische Zwecke zugreifbar ist.
  14. Die Vorrichtung nach Anspruch 9, wobei der Bewegungssteuerungsprogrammspeicher verwendet wird, um die Instruktionen, welche durch den Bewegungssteuerungs-Sequencer ausgeführt werden, zu speichern.
  15. Die Vorrichtung nach Anspruch 14, wobei bei einem Reset der Bewegungssteuerungs-Sequencer die Programmausführung an dem ersten Platz im Bewegungssteuerungsprogrammspeicher beginnt und ein Programmzähler bei jeder Instruktionsausführung erhöht wird, so dass Instruktionen sequenziell durch ansteigende Adressen im Programmspeicher ausgeführt werden.
  16. Die Vorrichtung nach Anspruch 15, wobei bestimmte Instruktionen den Programmzählerwert modifizieren und somit die Sequenz der Instruktionsausführung verändern.
  17. Die Vorrichtung nach Anspruch 16, wobei Bewegungssteuerungsinstruktionen den Inhalt des Programmspeichers nicht modifizieren können.
  18. Die Vorrichtung nach Anspruch 2, wobei der Port-Speicher es dem Mikrocontroller ermöglicht, den Betrieb der Bewegungssteuerungseinrichtung zu konfigurieren und zu überwachen.
  19. Die Vorrichtung nach Anspruch 18, wobei die Bewegungssteuerungseinrichtung den Port-Speicher verwendet für: Abrufen von Betriebsparametern, die als Eingänge für Bewegungssteuerungs- und/oder Bewegungsperiphermodule konfigurierbar sind; Speicherung von bestimmten Modulausgängen zum Zugriff durch den Mikrocontroller für Überwachungs- und Diagnosezwecke; und temporäre Speicherung von Modulausgängen für eine Übergabe an Moduleingänge, welche zu einem späteren Zeitpunkt in der Ausführungssequenz ausgeführt werden.
  20. Die Vorrichtung nach Anspruch 19, wobei der Bewegungssteuerungseinrichtungsprogrammcode die spezifische Zuteilung der Daten innerhalb des Port-Speichers definiert, abhängig von einer Benutzerdefinition von Betriebsparametern, Modulsequenz und Signalverbindungen, und gewünschten Datenpunkten für Überwachungs- und Diagnosezwecke.
  21. Die Vorrichtung nach Anspruch 1, wobei die Bewegungssteuerungsmodule eine Vielzahl an Steuerelementen umfassen, wobei jedes davon eine individuell funktionale Hardwarekomponente ist, die als unabhängiges Stück Hardware designed ist.
  22. Die Vorrichtung nach Anspruch 21, wobei die Bewegungssteuerungsmodule in Form von digitaler Hardware durch z-Transformation implementiert sind und funktionale Elemente umfassen, wobei jedes definierte Eingangs- und Ausgangssignale aufweist und Betriebsparameter, die während der Laufzeit spezifiziert werden, verwenden kann.
  23. Die Vorrichtung nach Anspruch 22, wobei jedes Bewegungssteuerungsmodul Eingänge und Ausgänge aufweist, die reservierten Hardware-Registern zugeordnet sind.
  24. Die Vorrichtung nach Anspruch 23, wobei jedes funktionale Element mit anderen durch eine benutzerspezifizierte Verbindung einzigartig verbunden ist, um eine gewünschte Steuerungsfunktion zu erzielen.
  25. Die Vorrichtung nach Anspruch 24, wobei die Verbindungsinformation durch den Port-Speicher implementiert ist, der Daten speichert, die von einem funktionalen Block zu einem anderen übergeben werden.
  26. Die Vorrichtung nach Anspruch 25, wobei die Datenübergabe durch den Bewegungssteuerungs-Sequencer gesteuert wird, der Instruktionskommandos ausführt, welche die spezifischen Ausgangsdaten eines funktionalen Elementblocks spezifizieren, der dem spezifischen Eingang eines anderen funktionalen Elementblocks mittels einem spezifischen Platz des Port-Speichers übergeben werden soll.
  27. Die Vorrichtung nach Anspruch 21, wobei die Bewegungssteuerungsmodule eine oder mehrere der folgenden Funktionen umfassen: PI, Tiefpassfilter, Hochpassfilter, Rampe, Limit, Winkelabschätzung, Clark Transformation, inverse Clark Transformation, Vektor-Rotation, Subtraktion, Addition, Multiplikation/Division mit Vorzeichen, Multiplikation/Division ohne Vorzeichen, Arcustangens, Vergleich, Schalten und einen Funktionsblock, der durch eine zwei oder drei oder n-dimensionale Nachschlagetabelle implementiert ist, um jede nicht-lineare Funktion zu erzielen.
  28. Die Vorrichtung nach Anspruch 1, wobei die Bewegungsperiphermodule eine Vielzahl an unabhängigen Hardwarekomponenten umfassen, die eine Schnittstelle zu einem externen Bauteil bereitstellen, und wobei der Bewegungssteuerungs-Sequencer die Verbindung zwischen Bewegungsperiphermodulen und Bewegungssteuerungsmodulen steuert.
  29. Die Vorrichtung nach Anspruch 1, wobei die Bewegungsperiphermodule eine oder mehrere der folgenden Funktionen umfassen: Multiple Space Vector PWM, Leistungsfaktorkorrektur PWM, single current shunt mit Phasenstromrekonstruktion, A/D und D/A.
  30. Die Vorrichtung nach Anspruch 1, wobei der Port-Speicher einen dualen Port-Speicher umfasst.
  31. Ein Verfahren zum Erzeugen eines Bewegungssteuerungsalgorithmus für die Steuerung einer elektrischen Wechselstrom-Maschine, das Verfahren umfassend: Bereitstellung einer Bewegungssteuerungseinrichtung, umfassend: einen Bewegungssteuerungs-Sequencer; einen Bewegungssteuerungsprogrammspeicher; einen Port-Speicher; eine Vielzahl an Bewegungssteuerungsmodulen; und eine Vielzahl an Bewegungsperiphermodulen; und Ausführen, unter Verwendung des Bewegungssteuerungs-Sequencers, einer Sequenz an Instruktionen, die in dem Bewegungssteuerungsprogrammspeicher gespeichert sind, zur Anleitung des Sequencers, ein ausgewähltes Modul der Bewegungssteuerungsmodule und Bewegungsperiphermodule in einer spezifizierten Sequenz und mit einer spezifizierten Verbindung der Moduleingänge und Modulausgänge und Betriebsparameter, die in dem Port-Speicher gespeichert sind, auszuführen, wodurch der Bewegungssteuerungsalgorithmus erzeugt wird.
  32. Das Verfahren nach Anspruch 31, weiterhin umfassend die Verwendung eines Mikrocontrollers, der an den Motorsteuerungsprogrammspeicher und den Port-Speicher gekoppelt ist, um den Ausgang der Bewegungssteuerungseinrichtung zu überwachen.
  33. Das Verfahren nach Anspruch 31, wobei der Schritt der Ausführung der Bewegungssteuerungssequenz eine Ausführung codierter Instruktionen umfasst, die in dem Bewegungssteuerungsprogrammspeicher gespeichert sind, unter Verwendung eines Reduced Instruction Set Controllers (RISC).
  34. Das Verfahren nach Anspruch 33, wobei der Schritt der Ausführung der codierten Instruktionen den Gebrauch eines Instruktionssatzes umfasst, umfassend: Bewegungsinstruktionen, die zum Laden von Motorsteuerungs- und Motorperiphermoduleingängen und zur Speicherung von Modulausgängen verwendet werden; arithmetische Instruktionen, die zur Manipulation von Daten in dem Prozess des Verbindens von Moduleingängen und -ausgängen verwendet werden; und Prozessor- und Programmsteuerungsinstruktionen, die zur Ausführung von Bewegungssteuerungs- und Bewegungsperiphermodulen und zur Modifikation von Programmfluss verwendet werden.
  35. Das Verfahren von Anspruch 34, weiterhin umfassend eine Verwendung eines Satzes an Entwicklungs-Werkzeugen, umfassend einen Compiler zum Erzeugen eines grafischen Bewegungssteuerungsdesigns und zum Kompilieren des Designs in den Instruktionssatz.
  36. Das Verfahren von Anspruch 35, wobei der Schritt der Erzeugung eines grafischen Bewegungssteuerungsdesigns die Verwendung einer Vielzahl von grafischen Bildern umfasst, die auf einem Display-Bauteil der Entwicklungs-Werkzeuge dargestellt werden, um Bewegungssteuerungsmodule und Bewegungsperiphermodule auszuwählen, Eingänge und Ausgänge der Bewegungssteuerungsmodule und Bewegungsperiphermodule in einer gewünschten Sequenz zu verbinden und Eingänge, die als Betriebsparameter während der Laufzeit des Bewegungssteuerungsalgorithmus geliefert werden sollen, und verfügbare externe Ausgänge, die der Bewegungssteuerungseinrichtung für Überwachungs- und Diagnosezwecke bereitgestellt werden sollen, zu spezifizieren.
  37. Das Verfahren nach Anspruch 36, weiterhin umfassend den Schritt der Analyse des grafischen Bewegungssteuerungsdesigns, um zu bestimmen: eine optimale Sequenz der Modulausführung; Betriebsparameter, die als Moduleingänge definiert werden sollen; Modulausgänge, die extern zugreifbar sein sollen; und Routen von Moduleingangs- und -ausgangssignalen.
  38. Das Verfahren nach Anspruch 37, weiterhin umfassend ein Kompilieren eines passenden Layouts einer Datenbenutzung in dem Port-Speicher und Codieren einer Sequenz an Bewegungssteuerungseinrichtungsinstruktionen, um Eingänge zu laden und Ausgänge zu routen, für jedes auszuführende Modul.
  39. Das Verfahren von Anspruch 38, weiterhin umfassend eine Ausführung einer Sequenz von Bewegungssteuerungseinrichtungsinstruktionen für jedes auszuführende Modul, umfassend: Verschieben eines Datenwerts, für jeden Moduleingang, von einem Platz in dem Port-Speicher an eine Speicher-gemappte Hardwareregisteradresse, die für einen spezifischen Moduleingang reserviert ist; wenn alle Moduleingangsregister geladen sind, Schreiben in ein Steuer/Status-Register des Moduls, um eine Modulausführung zu starten; und wenn die Modulausführung abgeschlossen ist, Verschieben, für jeden Modulausgang, eines Datenwerts, der von dem Modul in einem reservierten Speicher-gemappten Hardware-Ausgangsregister gespeichert ist, zu einem Platz in dem Port-Speicher.
  40. Das Verfahren von Anspruch 39, weiterhin umfassend eine Definition einer Source-Adresse für einen Datenwert in dem Port-Speicher, umfassend: einen Platz, der einem Betriebsparameter zugeteilt ist; und einen temporären Speicherplatz, der einen gespeicherten Ausgang von einem Modul, das zu einem früheren Zeitpunkt in der Ausführungssequenz ausgeführt wurde, speichert; oder einen Platz, der zugeteilt ist, um einen gespeicherten Modulausgang zu speichern, der verfügbar ist für einen externen Prozessor zur Überwachung und zu diagnostischen Zwecken.
  41. Das Verfahren nach Anspruch 39, weiterhin umfassend ein Prüfen des Wertes des Steuerungs-/Status-Registers des Modules, um eine Modulvervollständigung abzufragen.
  42. Das Verfahren nach Anspruch 41, wobei der Betrieb des Bewegungssteuerungs-Sequencers während der Modulausführung nicht blockiert wird, was eine multiple Bewegungssteuerung und/oder simultane Ausführung peripherer Module ermöglicht.
  43. Das Verfahren nach Anspruch 39, wobei eine Zieladresse einen temporären Speicherplatz umfasst, der für den Eingang eines Moduls, welches zu einem späteren Zeitpunkt in der Ausführungssequenz ausgeführt wird, verwendet wird; oder einen Platz, zugeordnet zum Speichern eines Modulausgangs, wo er extern für Überwachung und diagnostische Zwecke zugreifbar ist.
  44. Das Verfahren nach Anspruch 39, weiterhin umfassend eine Speicherung der Instruktionen, die von dem Bewegungssteuerungs-Sequencer ausgeführt werden, in dem Bewegungssteuerungsprogrammspeicher.
  45. Das Verfahren von Anspruch 44, weiterhin umfassend, bei Reset, ein Beginnen der Programmausführung bei einem ersten Platz im Bewegungssteuerungsprogrammspeicher und ein Erhöhen eines Programmzählers bei jeder Instruktionsausführung, so dass Instruktionen sequenziell durch Ansteigen der Adressen im Programmspeicher ausgeführt werden.
  46. Das Verfahren von Anspruch 45, weiterhin umfassend ein Ausführen bestimmter Instruktionen, um den Programmzählerwert zu modifizieren und somit die Sequenz der Instruktionsausführung zu verändern.
  47. Das Verfahren von Anspruch 46, wobei die Bewegungssteuerungsinstruktionen den Inhalt des Programmspeichers nicht modifizieren können.
  48. Das Verfahren von Anspruch 32, weiterhin umfassend eine Verwendung des Port-Speichers, um es dem Mikrocontroller zu ermöglichen, einen Bewegungssteuerungseinrichtungsbetrieb zu konfigurieren und zu überwachen.
  49. Das Verfahren nach Anspruch 48, weiterhin umfassend eine Verwendung des Port-Speichers für: Abrufen von Betriebsparametern, die als Eingänge für Bewegungssteuerungs- und/oder Bewegungsperiphermodule konfigurierbar sind; Speicherung von bestimmten Modulausgängen zum Zugriff durch den Mikrocontroller für Überwachungs- und Diagnosezwecke; und temporäre Speicherung von Modulausgängen für eine Übergabe an Moduleingänge, welche zu einem späteren Zeitpunkt in der Ausführungssequenz ausgeführt werden.
  50. Das Verfahren von Anspruch 49, weiterhin umfassend eine Definition, in dem Programmcode, der spezifischen Zuteilung von Daten innerhalb des Port-Speichers abhängig von einer Benutzerdefinition von Betriebsparametern, Modul-Sequenz und Signalverbindungen, und gewünschten Datenpunkten für Überwachungs- und Diagnosezwecke.
  51. Das Verfahren von Anspruch 31, weiterhin umfassend ein Bereitstellen der Bewegungssteuerungsmodule als eine Vielzahl an Steuerungselementen, wobei jedes davon eine individuell funktionale Hardwarekomponente ist, die als ein unabhängiges Stück an Hardware designed ist.
  52. Das Verfahren von Anspruch 51, weiterhin umfassend eine Implementierung der Bewegungssteuerungsmodule in Form von digitaler Hardware durch z-Transformation als funktionale Elemente, wobei jedes definierte Eingangs- und Ausgangssignale aufweist und optional Betriebsparameter verwendet, die während einer Laufzeit spezifiziert sind.
  53. Das Verfahren nach Anspruch 52, weiterhin umfassend eine Bereitstellung von Eingängen und Ausgängen für jedes Bewegungssteuerungsmodul, die reservierten Hardware-Registern zugeordnet sind.
  54. Das Verfahren nach Anspruch 53, weiterhin umfassend ein Angeben von jedem funktionalen Element einzigartig durch eine benutzerspezifizierte Verbindungsinformation an andere, um eine gewünschte Steuerungsfunktion zu erzielen.
  55. Das Verfahren nach Anspruch 54, weiterhin umfassend eine Implementierung der Verbindungsinformation durch den Port-Speicher, der Daten speichert, die von einem funktionalen Block an einen anderen übergeben wurden.
  56. Das Verfahren nach Anspruch 55, weiterhin umfassend eine Überprüfung von Datenübergabe durch den Bewegungssteuerungs-Sequencer, der Instruktionskommandos ausführt, welche die spezifischen Ausgangsdaten eines funktionalen Elementblocks spezifizieren, der den spezifischen Eingang eines anderen funktionalen Elementblocks mittels einem spezifischen Platz des Port-Speichers übergeben werden soll.
  57. Das Verfahren von Anspruch 51, wobei der Schritt der Bereitstellung der Bewegungssteuerungsmodule eine Bereitstellung einer oder mehrere der folgenden Funktionen umfasst: PI, Tiefpassfilter, Hochpassfilter, Rampe, Limit, Winkelabschätzung, Clark Transformation, inverse Clark Transformation, Vektor-Rotation, Subtraktion, Addition, Multiplikation/Division mit Vorzeichen, Multiplikation/Division ohne Vorzeichen, Arcustangens, Vergleich, Schalten und einen Funktionsblock, der durch eine zwei oder drei oder n-dimensionale Nachschlagetabelle implementiert ist, um jede nicht-lineare Funktion zu erzielen.
  58. Das Verfahren nach Anspruch 31, wobei der Schritt der Bereitstellung der Bewegungsperiphermodule eine Bereitstellung einer Vielzahl an unabhängigen Hardwarekomponenten umfasst, die eine Schnittstelle zu einem externen Bauteil bereitstellen, und weiterhin eine Verwendung des Bewegungssteuerungs-Sequencers umfasst, um die Verbindung zwischen Bewegungsperiphermodulen und Bewegungssteuerungsmodulen zu steuern.
  59. Das Verfahren nach Anspruch 31, wobei der Schritt der Bereitstellung der Bewegungsperiphermodule eine Bereitstellung einer oder mehrerer der folgenden Funktionen umfasst: Multiple Space Vector PWM, Leistungsfaktorkorrektur PWM, Einzelstrom Shunt mit Phasenstromrekonstruktion, A/D und D/A.
  60. Das Verfahren nach Anspruch 31, weiterhin umfassend eine Bereitstellung des Port-Speichers als dualer Port-Speicher.
  61. Vorrichtung zur Bereitstellung eines Leistungselektroniksteuerungsalgorithmus, umfassend: eine Leistungselektroniksteuerungseinrichtung, umfassend: einen Leistungselektroniksteuerungs-Sequencer; einen Leistungselektroniksteuerungsprogrammspeicher; einen Port-Speicher; eine Vielzahl an funktionalen Steuerungsmodulen; und eine Vielzahl an funktionalen Periphermodulen; wobei der funktionale Steuerungs-Sequencer eine Sequenz an Instruktionen ausführt, die in dem funktionalen Steuerungsprogrammspeicher gespeichert sind, welche den Sequencer anleitet, ein ausgewähltes Modul der funktionalen Steuerungsmodule und funktionalen Periphermodule in einer spezifizierten Sequenz und mit einer spezifizierten Verbindung der Moduleingänge und Modulausgänge und Betriebsparameter, die in dem Port-Speicher gespeichert sind, auszuführen, um den funktionalen Steuerungsalgorithmus zu erzeugen.
  62. Die Vorrichtung nach Anspruch 1, wobei der Leistungselektroniksteuerungsalgorithmus einen Bewegungssteuerungsalgorithmus zur Steuerung einer elektrischen Wechselstrom-Maschine umfasst und wobei die funktionale Steuerungsmaschine eine Bewegungssteuerungseinrichtung umfasst; der funktionale Steuerungs-Sequencer umfasst einen Bewegungssteuerungs-Sequencer, der funktionale Steuerungsprogrammspeicher umfasst einen Bewegungssteuerungsprogrammspeicher; das funktionale Steuerungsmodul umfasst Bewegungssteuerungsmodule und die funktionalen Periphermodule umfassen Bewegungsperiphermodule.
DE102004050434A 2003-10-15 2004-10-15 Hardwarebasierte konfigurierbare Bewegungssteuerungsvorrichtung und Verfahren Expired - Fee Related DE102004050434B4 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US51178203P 2003-10-15 2003-10-15
US60/511,782 2003-10-15
US51441903P 2003-10-23 2003-10-23
US60/514,419 2003-10-23
US10/965,386 2004-10-14
US10/965,386 US7166982B2 (en) 2003-10-15 2004-10-14 Hardware based configurable motion control apparatus and method

Publications (2)

Publication Number Publication Date
DE102004050434A1 true DE102004050434A1 (de) 2005-06-16
DE102004050434B4 DE102004050434B4 (de) 2008-06-19

Family

ID=34557343

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004050434A Expired - Fee Related DE102004050434B4 (de) 2003-10-15 2004-10-15 Hardwarebasierte konfigurierbare Bewegungssteuerungsvorrichtung und Verfahren

Country Status (4)

Country Link
US (2) US7166982B2 (de)
JP (1) JP2005168282A (de)
CN (1) CN100422980C (de)
DE (1) DE102004050434B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008036704A1 (de) 2008-08-07 2010-02-11 Clauß, Ulrich, Dr.-Ing. Gleichstrom-Maschine mit elektronischer Kommutierung

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145300B2 (en) * 2003-05-05 2006-12-05 International Rectifier Corporation Multi-axis AC servo control system and method
JP4836195B2 (ja) 2004-07-07 2011-12-14 日立オートモティブシステムズ株式会社 車載用モータ制御装置
EP1650862B1 (de) * 2004-10-22 2019-08-07 Dialog Semiconductor GmbH System-On-Chip für Hochspannungsanwendung
NL1029659C2 (nl) * 2005-08-02 2007-02-05 Atlas Copco Airpower Nv Verwerkingseenheid.
US7928677B2 (en) * 2007-04-20 2011-04-19 International Rectifier Corporation Motor control circuit and method with mechanical angle reconstruction
US7965052B2 (en) * 2008-07-22 2011-06-21 Pratt & Whitney Canada Corp. Motor driving system and method for starting a motor
EA201170290A1 (ru) * 2008-07-31 2011-08-30 Джама Текнолоджи Корп. Система для удаленного управления и поддержки множества сетей и систем
US10282285B2 (en) * 2008-09-30 2019-05-07 Rockwell Automation Technologies, Inc. Human interface module for motor drive
CN102025312B (zh) 2009-09-16 2014-01-29 株式会社东芝 马达控制元件及电气设备
GB201003456D0 (en) * 2010-03-02 2010-04-14 Trw Ltd Current sensor error compensation
JP5808922B2 (ja) * 2011-03-16 2015-11-10 三菱電機株式会社 空調機制御インターフェース装置、空気調和機および空調機制御システム
JP5783802B2 (ja) * 2011-05-27 2015-09-24 ミネベア株式会社 モータ駆動装置、集積回路装置、モータ装置、及びモータ駆動システム
US9350811B1 (en) 2012-04-04 2016-05-24 Nectar Services Corp. Load balancing networks and load balancing methods
US9300235B2 (en) * 2013-03-27 2016-03-29 Allegro Microsystems, Llc System and method for serial communication by an electronic circuit
WO2015087540A1 (ja) * 2013-12-12 2015-06-18 パナソニックIpマネジメント株式会社 モータ駆動装置
CN104121217B (zh) * 2014-07-31 2016-08-24 佛山市顺德万和电气配件有限公司 抽油烟机直流风机恒功率控制装置
CN104503835A (zh) * 2014-12-30 2015-04-08 浪潮(北京)电子信息产业有限公司 一种可用于atca结构服务器的管理模块程序自动切换方法及装置
JP6305365B2 (ja) 2015-03-13 2018-04-04 株式会社東芝 モータ制御用デバイス
CN106291352A (zh) * 2015-05-26 2017-01-04 江森自控空调冷冻设备(无锡)有限公司 电机故障检测方法和装置以及电机故障保护系统
CN104965451A (zh) * 2015-06-23 2015-10-07 中国航空工业集团公司西安飞机设计研究所 一种互锁控制电路及系统及互锁控制电路控制方法
FR3044432B1 (fr) * 2015-12-01 2017-12-29 Messier Bugatti Dowty Systeme d'actionnement pour aeronef.
FR3045171B1 (fr) * 2015-12-15 2017-12-15 Sagem Defense Securite Procede de surveillance d'un systeme d'actionnement electromecanique
CN107092215B (zh) * 2017-06-13 2019-11-05 浙江大学 一种多轴运动控制器
CN110365280A (zh) * 2018-04-03 2019-10-22 东元电机股份有限公司 马达控制系统及其方法
US11165381B2 (en) * 2019-11-27 2021-11-02 Infineon Technologies Austria Ag Speed contant control and power constant control of a permanent magnet synchronous motor
CN111371355A (zh) * 2020-04-02 2020-07-03 上海钧正网络科技有限公司 一种电机自适应适配方法、电机控制器和存储介质
CN116700134B (zh) * 2023-08-08 2023-10-27 华软盛科技有限公司 一种可以简化代码的工业数控方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452419A (en) * 1992-03-06 1995-09-19 Pitney Bowes Inc. Serial communication control system between nodes having predetermined intervals for synchronous communications and mediating asynchronous communications for unused time in the predetermined intervals
WO1996032674A2 (en) * 1995-04-13 1996-10-17 Cirrus Logic, Inc. Semiconductor memory device for mass storage block access applications
US6594752B1 (en) * 1995-04-17 2003-07-15 Ricoh Company, Ltd. Meta-address architecture for parallel, dynamically reconfigurable computing
KR100245078B1 (ko) * 1996-11-15 2000-02-15 김영환 고속 버스트 제어 방법 및 장치
JP2000057122A (ja) * 1998-08-06 2000-02-25 Yamaha Corp デジタル信号処理装置
JP4293568B2 (ja) * 2001-03-13 2009-07-08 株式会社リコー 画像形成装置
CN1209722C (zh) * 2003-04-29 2005-07-06 上海交通大学 基于单处理器结构的教学机器人控制系统
JP2007060627A (ja) * 2005-07-27 2007-03-08 Victor Co Of Japan Ltd 再生装置および再生方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008036704A1 (de) 2008-08-07 2010-02-11 Clauß, Ulrich, Dr.-Ing. Gleichstrom-Maschine mit elektronischer Kommutierung
DE102008036704B4 (de) * 2008-08-07 2015-02-12 Ulrich Clauss Gleichstrom-Maschine mit elektronischer Kommutierung

Also Published As

Publication number Publication date
CN1641630A (zh) 2005-07-20
US20070108932A1 (en) 2007-05-17
US7586282B2 (en) 2009-09-08
CN100422980C (zh) 2008-10-01
JP2005168282A (ja) 2005-06-23
US7166982B2 (en) 2007-01-23
DE102004050434B4 (de) 2008-06-19
US20050093501A1 (en) 2005-05-05

Similar Documents

Publication Publication Date Title
DE102004050434B4 (de) Hardwarebasierte konfigurierbare Bewegungssteuerungsvorrichtung und Verfahren
JP5334579B2 (ja) 電気的/電子的な負荷をシミュレートする方法と装置
DE10054594B4 (de) Vorrichtung zum Erfassen der Rotorposition in einem bürstenlosen Gleichstrommotor
JP4727291B2 (ja) ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ
WO2009112130A1 (de) Vorrichtung zur steuerung einer anlage und verfahren zur einrichtung und bedienung der steuerung einer anlage
Rodriguez-Resendiz et al. Adjustable speed drive project for teaching a servo systems course laboratory
EP1211774A1 (de) Sichere Geschwindigkeitsüberwachung für geberlose Drehstromantriebe
Duma et al. Rapid prototyping of control systems using embedded target for TI C2000 DSP
Mohamed et al. Implementation of a PID control system on microcontroller (DC motor case study)
US10333435B2 (en) Multi-motor controller
DE102014004375B4 (de) Host-steuerung zur erzeugung einer positionssteuerungsverstärkung
Raghavan Digital control for speed and position of a DC motor
Rusu et al. Embedded motor drive prototype platform for testing control algorithms
US6978186B2 (en) Modular functional block for an electronic control system
CN106017535B (zh) 一种电机驱动阀位置传感器标定装置和方法
Polyuschenkov Development of Double-motor Electric Drive for Screen Wipers
DE102010039689A1 (de) Vorrichtung zur Ansteuerung einer Leistungsendstufe eines elektrischen Geräts mit Reglerkomponenten
Duma et al. Rapid control prototyping toolbox for Renesas M32C87 microcontroller
Rusu et al. Model based design controller for the stepper motor
Low et al. A microprocessor based fully digital AC servo drive
Luo et al. Speed control of BLDCM for industrial sewing machine based on dSPACE
Fadul et al. Low-cost controller for multi-axes stepper motors
WO2022243067A1 (de) Lastsimulationsumrichter und testvorrichtung
CN112865618A (zh) 一种电机控制系统
Huang Study on the Motor Control System based on Microcontroller

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: DR. WEITZEL & PARTNER, 89522 HEIDENHEIM

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AMERICAS CORP., EL SEGUN, US

Free format text: FORMER OWNER: INTERNATIONAL RECTIFIER CORP., EL SEGUNDO, CALIF., US

R082 Change of representative

Representative=s name: DR. WEITZEL & PARTNER PATENT- UND RECHTSANWAEL, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee