DE102021100418A1 - Rotorwinkelfehlerkompensation für Motoren - Google Patents

Rotorwinkelfehlerkompensation für Motoren Download PDF

Info

Publication number
DE102021100418A1
DE102021100418A1 DE102021100418.7A DE102021100418A DE102021100418A1 DE 102021100418 A1 DE102021100418 A1 DE 102021100418A1 DE 102021100418 A DE102021100418 A DE 102021100418A DE 102021100418 A1 DE102021100418 A1 DE 102021100418A1
Authority
DE
Germany
Prior art keywords
rotor
current
neural network
generate
value
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.)
Pending
Application number
DE102021100418.7A
Other languages
English (en)
Inventor
Christopher Roemmelmayer
Radovan Vuletic
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 AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102021100418A1 publication Critical patent/DE102021100418A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/14Estimation or adaptation of machine parameters, e.g. flux, current or voltage
    • H02P21/18Estimation of position or speed
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/0003Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P21/0014Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control using neural networks
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/14Estimation or adaptation of machine parameters, e.g. flux, current or voltage
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P25/00Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
    • H02P25/02Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details characterised by the kind of motor
    • H02P25/022Synchronous motors
    • H02P25/024Synchronous motors controlled by supply frequency
    • H02P25/026Synchronous motors controlled by supply frequency thereby detecting the rotor position
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P27/00Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
    • H02P27/04Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
    • H02P27/06Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters
    • H02P27/08Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters with pulse width modulation
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/06Rotor flux based control involving the use of rotor position or rotor speed sensors
    • H02P21/10Direct field-oriented control; Rotor flux feed-back control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P2207/00Indexing scheme relating to controlling arrangements characterised by the type of motor
    • H02P2207/05Synchronous machines, e.g. with permanent magnets or DC excitation

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)
  • Control Of Ac Motors In General (AREA)

Abstract

Eine Vorrichtung zum Treiben eines Motors umfasst eine Motorschaltung und eine neuronale Netzschaltung. Die Motorschaltung ist so konfiguriert, dass sie auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert erzeugt und auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert erzeugt. Die Motorschaltung ist ferner so konfiguriert, dass sie Spannung an den mehreren Phasen auf Grundlage des momentanen d-Achsen-Spannungswertes erzeugt. Die neuronale Netzschaltung ist dafür konfiguriert, einen Rotorwinkelversatz basierend auf einer momentanen Rotordrehzahl am Motor zu erzeugen. Die neuronale Netzschaltung wurde so trainiert, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren. Der fehlerkompensierte Rotorwinkel basiert auf dem Rotorwinkelversatz.

Description

  • Technisches Gebiet
  • Diese Offenbarung betrifft Elektromotoren und insbesondere Verfahren und Schaltungen im Zusammenhang mit Vektorregelung (field oriented control, FOC) für Elektromotoren.
  • Hintergrund
  • Der Betrieb von Elektromotoren kann durch eine Motorschaltung erfolgen. Die Motorschaltung steuert eine Rotordrehung des Motors basierend auf einer Position des Rotors relativ zu einer Statorwicklung des Motors. Zum Beispiel kann die Motorschaltung den Strom an jeder Phase des Motors basierend auf der Position des Rotors treiben, um das vom Motor abgegebene Drehmoment zu maximieren.
  • Kurzdarstellung
  • Es werden eine Vorrichtung zum Treiben eines Motors nach Anspruch 1 oder 16 und ein Verfahren zum Treiben eines Motors nach Anspruch 14 bereitgestellt. Die abhängigen Ansprüche definieren weitere Ausführungsformen.
  • Die Offenbarung beschreibt Methoden, Einrichtungen und Systeme zum Verbessern des Betriebs von Motorschaltungen zum Treiben eines Motors. Anstatt eine Prüftabelle oder nichtlineare Funktionen heranzuziehen, um einen Rotorwinkelversatz zu schätzen, um die Abweichung einer gemessenen oder geschätzten Rotorposition des Motors von einer tatsächlichen Rotorposition zu kompensieren, kann eine neuronale Netzschaltung trainiert werden, um einen Rotorwinkelversatz zu erzeugen. Auf diese Weise kann die Motorschaltung einen Rotorwinkelversatz verwenden, der im Vergleich zu Systemen, die eine Prüftabelle, eine lineare Funktion oder eine nichtlineare Funktion heranziehen, genauer ist.
  • In einem Beispiel ist die Offenbarung auf eine Vorrichtung zum Treiben eines Motors gerichtet, wobei die Vorrichtung Folgendes umfasst: eine Motorschaltung, die konfiguriert ist, um: auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert zu erzeugen; auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert zu erzeugen; und auf Grundlage des momentanen d-Achsen-Spannungswerts Spannung an der Vielzahl von Phasen zu erzeugen; und eine neuronale Netzschaltung, die so konfiguriert ist, dass sie einen Rotorwinkelversatz auf Grundlage einer momentanen Rotordrehzahl am Motor erzeugt, wobei die neuronale Netzschaltung so trainiert wurde, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren, und wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  • In einem anderen Beispiel ist die Offenbarung auf ein Verfahren gerichtet, das Folgendes umfasst: durch eine Verarbeitungsschaltung und auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors erfolgendes Erzeugen eines momentanen d-Achsen-Stromwerts; durch die Verarbeitungsschaltung erfolgendes Erzeugen eines momentanen d-Achsen-Spannungswerts auf Grundlage des momentanen d-Achsen-Stromwerts; durch die Verarbeitungsschaltung erfolgendes Erzeugen einer Spannung an der Vielzahl von Phasen auf Grundlage des momentanen d-Achsen-Spannungswerts und Erzeugen eines Rotorwinkelversatzes basierend auf einer momentanen Rotordrehzahl am Motor durch eine neuronale Netzschaltung der Verarbeitungsschaltung, wobei die neuronale Netzschaltung darauf trainiert wurde, den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren, und wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  • In einem Beispiel ist die Offenbarung auf eine Vorrichtung zum Treiben eines Motors gerichtet, wobei die Vorrichtung Folgendes umfasst: eine Motorschaltung, die konfiguriert ist, um: auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert zu erzeugen; auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert zu erzeugen; und auf Grundlage des momentanen d-Achsen-Spannungswerts eine Spannung an der Vielzahl von Phasen zu erzeugen; und eine neuronale Netzschaltung, die konfiguriert ist, um: Training auf eine Vielzahl von Neuronen der neuronalen Netzschaltung anzuwenden, um die Vielzahl von Neuronen so zu konfigurieren, dass sie einen jeweiligen Rotorwinkelversatz für jede einer Vielzahl von Rotordrehzahlen erzeugen, die den momentanen d-Achsen-Spannungswert minimieren; und nach Anwenden des Trainings Erzeugen eines Rotorwinkelversatzes auf Grundlage einer momentanen Rotordrehzahl am Motor, wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  • In einem weiteren Beispiel ist die Offenbarung auf eine Vorrichtung gerichtet, die Folgendes umfasst: Mittel zum auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors erfolgenden Erzeugen eines momentanen d-Achsen-Stromwerts; Mittel zum Erzeugen eines momentanen d-Achsen-Spannungswerts auf Grundlage des momentanen d-Achsen-Stromwerts; Mittel zum Erzeugen einer Spannung an der Vielzahl von Phasen auf Grundlage des momentanen d-Achsen-Spannungswerts und Mittel zum Erzeugen eines Rotorwinkelversatzes auf Grundlage einer momentanen Rotordrehzahl am Motor durch eine neuronale Netzschaltung, wobei die neuronale Netzschaltung darauf trainiert wurde, den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren, und wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  • Die Einzelheiten eines oder mehrerer Beispiele werden in den beiliegenden Zeichnungen und der nachfolgenden Beschreibung angeführt. Weitere Merkmale, Gegenstände und Vorteile der Offenbarung gehen aus der Beschreibung und den Zeichnungen sowie aus den Ansprüchen hervor.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein beispielhaftes erstes System gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Treiben eines Motors unter Verwendung eines fehlerkompensierten Rotorwinkels konfiguriert ist.
    • 2 ist ein Blockdiagramm, das ein beispielhaftes zweites System gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Treiben eines Motors unter Verwendung eines fehlerkompensierten Rotorwinkels konfiguriert ist.
    • 3 ist ein Blockdiagramm, das ein Beispielsystem gemäß einer oder mehreren Methoden dieser Offenbarung zeigt, das zum Durchführen eines ersten Schritts zum Trainieren einer neuronalen Netzschaltung zum Erzeugen eines Rotorwinkelversatzes konfiguriert ist.
    • 4 ist ein Blockdiagramm, das ein Beispielsystem gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Durchführen eines zweiten Schritts zum Trainieren der neuronalen Netzschaltung aus 3 konfiguriert ist.
    • 5 ist ein Blockdiagramm, das ein Beispielsystem gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Trainieren einer neuronalen Netzschaltung zum Erzeugen eines Rotorwinkelversatzes konfiguriert ist.
    • 6 ist ein Blockdiagramm, das ein Beispielsystem gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das dafür konfiguriert ist, eine neuronale Netzschaltung zu verwenden, um auf Grundlage einer momentanen Rotordrehzahl an einem Motor einen Rotorwinkelversatz zu erzeugen.
    • 7 ist ein Blockdiagramm, das ein Beispielsystem gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Trainieren einer neuronalen Netzschaltung und zur Verwendung der neuronalen Netzschaltung zum Erzeugen eines Rotorwinkelversatzes konfiguriert ist.
    • 8 ist ein Blockdiagramm, das ein Beispiel einer zum Erzeugen eines Rotorwinkelversatzes trainierten neuronalen Netzschaltung gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht.
    • 9 ist eine Darstellung der tatsächlichen Rotorwinkelversätze und der Rotorwinkelversätze, die von der neuronalen Netzschaltung ausgegeben werden, gemäß einer oder mehreren Methoden dieser Offenbarung.
    • 10 ist ein Flussdiagramm zum Treiben eines Motors unter Verwendung eines Rotorwinkelversatzes gemäß einer oder mehreren Methoden dieser Offenbarung.
  • Die Einzelheiten eines oder mehrerer Beispiele werden in den beiliegenden Zeichnungen und der nachfolgenden Beschreibung angeführt. Weitere Merkmale, Gegenstände und Vorteile gehen aus der Beschreibung, den Zeichnungen und den Ansprüchen hervor.
  • Ausführliche Beschreibung
  • Ein beispielhaftes Motor-Vektorregelungs- (FOC-) System kann einen Motor wie beispielsweise, ohne jedoch hierauf eingeschränkt zu sein, einen Permanentmagnet-Synchronmotor (PMSM) steuern. In diesem Beispiel kann die Motorschaltung eine Clarke-Transformation, eine Park-Transformation und eine Raumvektormodulation durchführen, um Spannungen an Phasen des Motors anzulegen. In diesem Beispiel kann die Motorschaltung die Park-Transformation basierend auf einem erfassten Rotorwinkelwert („θS“) durchführen, der mit der Rotorpositionssensorschaltung gemessen wurde. Auch wenn in diesem Beispiel ein erfasster Rotorwinkelwert verwendet wird, können einige Beispiele zusätzlich oder alternativ einen geschätzten Rotorwinkelwert umfassen, der von einer Rotorpositionsschätzungsschaltung abgeleitet oder berechnet wird.
  • Hardware-Verzögerungen, Software-Verzögerungen und/oder Ungenauigkeiten können dazu führen, dass der erfasste Rotorwinkelwert (oder der geschätzte Rotorwinkelwert), der dem Regelalgorithmus zugeführt wird, vom tatsächlichen Rotorwinkelwert („θT“) abweicht. Zur Unterstützung der Implementierung stabiler und leistungsfähiger Regelungsalgorithmen kann eine Motorschaltung dafür konfiguriert sein, eine Differenz zwischen dem tatsächlichen Rotorwinkelwert und dem erfassten Rotorwinkelwert zu minimieren. Beispielsweise kann eine Motorschaltung dafür konfiguriert sein, einen kompensierten Rotorwinkelwert auf Grundlage des erfassten Rotorwinkelwerts derart zu erzeugen, dass eine Differenz zwischen dem tatsächlichen Rotorwinkelwert und dem kompensierten Rotorwinkel Null ist. In einigen Beispielen kann eine Motorschaltung dafür konfiguriert sein, eine Differenz zwischen dem tatsächlichen Rotorwinkelwert und einem geschätzten Rotorwinkelwert zu minimieren. Beispielsweise kann eine Motorschaltung dafür konfiguriert sein, eine Differenz zwischen dem tatsächlichen Rotorwinkelwert und dem geschätzten Rotorwinkelwert auf Null zu setzen.
  • Die Motorschaltung kann von einer hohen Präzision bei der Bestimmung des kompensierten Rotorwinkelwerts profitieren, um eine gewünschte momentaned-Achsen-Spannung zu berechnen, die z.B. von einem Proportional-Integral-Regler aus dem momentanen d-Achsen-Stromgewonnen werden kann. In einigen Beispielen kann der momentane d-Achsen-Strom in einem ersten rotierenden Bezugsrahmen dargestellt werden, der an einem Rotor des Motors fixiert ist. In einigen Beispielen kann der momentane d-Achsen-Strom in einem ersten rotierenden Bezugsrahmen dargestellt werden, der an einem Stator des Motors fixiert ist. Ebenso kann die Motorschaltung von einer hohen Präzision bei der Bestimmung des kompensierten Rotorwinkelwerts profitieren, um eine gewünschte momentaneq-Achsen-Spannung zu berechnen, die z.B. von einem Proportional-Integral-Regler aus dem momentanen q-Achsen-Stromgewonnen werden kann. In einigen Beispielen kann der momentane q-Achsen-Strom in einem zweiten rotierenden Referenzrahmen dargestellt werden, der senkrecht zum ersten rotierenden Referenzrahmen für den momentanen d-Achsen-Strom steht.
  • Darüber hinaus kann die Motorschaltung bei einigen Regelalgorithmen so konfiguriert sein, dass der kompensierte Rotorwinkelwert und die Phasenstrommessungen abgeglichen werden. In diesem Beispiel kann eine Fehlausrichtung zwischen dem Phasenstrom und dem kompensierten Rotorwinkelwert dazu führen, dass die Motorschaltung eine momentane d-Achsen-Spannung und/oder eine momentane q-Achsen-Spannung berechnet, die nicht der momentanen d-Achsen-Spannung und/oder q-Achsen-Spannung des realen physischen Systems entsprechen (z.B. übereinstimmen), was wiederum eine Instabilität verursachen kann. Durch diese Instabilität kann der Motorregler zumindest teilweise die Kontrolle über das gesamte Motorsystem verlieren.
  • Einige beispielhafte Gründe für die Abweichung des erfassten Rotorwinkelwerts und/oder des geschätzten Rotorwinkelwerts vom tatsächlichen Rotorwinkelwert können, ohne jedoch hierauf eingeschränkt zu sein, die Folgenden sein:
    • Positionssensorverzögerung, Übertragungsverzögerung, abgelaufene Berechnungszeit, Pulsweitenmodulationsverfahren (PWM) (z.B. Verzögerungen durch Mittelwertbildung über die Zeit), Temperaturdrifts oder andere Gründe.
  • Positionssensorverzögerung kann intrinsische Signalverzögerungen von einem Moment der Positionserfassung zur Erzeugung eines erfassten Wertes bis zur Übertragung des erfassten Wertes beinhalten. Übertragungsverzögerung kann Verzögerungen beim Übertragen des erfassten Wertes an die Motorschaltung (z. B. einen Mikrocontroller) beinhalten. Die Übertragungsverzögerung kann z.B. Verzögerungen von einem oder mehreren Tiefpassfiltern zur Signalaufbereitung umfassen. Die abgelaufene Rechenzeit der FOC kann sich auf Verzögerungen bei der Berechnung durch die Motorschaltung beziehen. Abgelaufene Berechnungszeit kann z.B. Verzögerungen in der Motorschaltung (z. B. einem Mikrocontroller) bei der Durchführung einer Clarke-Transformation, der Durchführung einer Park-Transformation und/oder der Durchführung einer Raumvektormodulation umfassen. Alle oben aufgeführten Effekte können bei jeder Motordrehzahl auftreten, aber das FOC-System kann bei höheren Drehzahlen intrinsisch empfindlicher auf diese Effekte reagieren als andere Systeme. Daher kann die Motorschaltung, insbesondere bei der Betriebsart Feldschwächung, den erfassten Rotorwinkelwert oder den geschätzten Rotorwinkelwert kompensieren, um sicherzustellen, dass ein tatsächlicher Rotorwinkelwert zur Regelung des Motors verwendet wird.
  • Um eine Abweichung des erfassten Rotorwinkelwerts vom tatsächlichen Rotorwinkelwert zu berücksichtigen, kann die Motorschaltung dafür konfiguriert sein, einen Rotorwinkelversatz basierend auf einer momentanen Rotordrehzahl am Motor zu berechnen. Einige Systeme verwenden z.B. eine Prüftabelle (LUT, look-up table), um den Rotorwinkelversatz zu erzeugen. Das nichtlineare Verhalten der Beziehung zwischen dem Rotorwinkelversatz und der momentanen Rotordrehzahl kann jedoch dazu führen, dass die Prüftabelle speicherintensiv ist. Außerdem kann die Prüftabelle auf einer Funktion basieren, die die berechneten Rotorwinkelversätze nicht genau mit den tatsächlichen Rotorwinkelversätzenabgleicht.
  • Einige Systeme können lineare oder nichtlineare Funktionen verwenden, um eine Abweichung des erfassten Rotorwinkelwertes vom tatsächlichen Rotorwinkelwert zu berücksichtigen. Die Funktionsanpassung der linearen Funktion und/oder der nichtlinearen Funktion kann jedoch rechenintensiv sein. Zusätzlich können Methoden, die eine Prüftabelle, eine lineare Funktion und/oder eine nichtlineare Funktion verwenden, auf manuelle Eingaben angewiesen sein. Beispielsweise können Techniken, die eine Prüftabelle, eine lineare Funktion und/oder eine nichtlineare Funktion verwenden, auf anfänglichen Kompensationswerten basieren, die von einem menschlichen Nutzer eingegeben werden. So kann es vorkommen, dass Methoden, die eine Prüftabelle verwenden, und/oder Methoden, die lineare oder nichtlineare Funktionen verwenden, eine Transformationskurve (z.B. die erfassten Rotorwinkelwerte für verschiedene momentane Rotordrehzahlen) während der Lebensdauer der Motorschaltung und/oder des Motors nicht anpassen.
  • Anstatt eine Prüftabelle, eine lineare Funktion oder eine nichtlineare Funktion heranzuziehen, um einen Rotorwinkelversatz zu schätzen, um eine Abweichung eines erfassten Rotorwinkelwerts oder eines geschätzten Rotorwinkelwerts vom tatsächlichen Rotorwinkelwert zu kompensieren, kann eine neuronale Netzschaltung trainiert werden, um einen Rotorwinkelversatz zu erzeugen. Auf diese Weise kann die Motorschaltung einen Rotorwinkelversatz verwenden, der im Vergleich zu Systemen, die eine Prüftabelle, eine lineare Funktion oder eine nichtlineare Funktion heranziehen, genauer sein kann. Darüber hinaus kann die Motorschaltung den Rotorwinkelversatz anpassen , wenn die Motorschaltung und/oder der Motor online (z.B. im Service) sind, was die Stabilität der Motorschaltung im Vergleich zu Systemen verbessern kann, die eine Prüftabelle, eine lineare Funktion oder eine nichtlineare Funktion zur Schätzung eines Rotorwinkelversatzes verwenden. Auf diese Weise können die vorliegend beschriebenen Methoden, die neuronale Netzschaltungen verwenden, eine vereinfachte und automatisierte lebenslange adaptive Kompensation des Winkelfehlers ermöglichen.
  • 1 ist ein Blockdiagramm, das ein beispielhaftes erstes System 100 gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Treiben eines Motors 104 unter Verwendung eines fehlerkompensierten Rotorwinkels konfiguriert ist. Das System 100 kann eine Motorschaltung102, einen Motor 104, eine Logikschaltung 106 und eine neuronalen Netzschaltung 108 umfassen. Auch wenn 1 das System 100 als aus separaten und unterschiedlichen Komponenten bestehend zeigt, können einige Komponenten kombiniert oder weiter getrennt werden. Beispielsweise können die Motorschaltung 102, die Logikschaltung 106 und die neuronale Netzschaltung 108 kombiniert sein. Zum Beispiel können die Motorschaltung 102, die Logikschaltung 106 und die neuronale Netzschaltung 108 in einer integrierten Schaltung (IC) zusammengefasst sein. In einigen Beispielen kann die Motorschaltung 102 jedoch eine von der Logikschaltung 106 und/oder der neuronalen Netzschaltung 108 getrennte und unterschiedliche Schaltung sein.
  • Der Motor 104 kann einen Permanentmagnet-Synchronmotor (PMSM) umfassen. Ein PMSM kann zum Beispiel eine Welle, einen Rotor, einen Stator und einen Permanentmagnet umfassen. Ein Permanentmagnet kann am oder im Rotor montiert sein. In einigen Beispielen kann der Permanentmagnet am Rotor oberflächenmontiert, in den Rotor eingesetzt oder im Rotor eingebettet sein. In einigen Beispielen kann der Permanentmagnet ein Innenmagnet sein. Der Permanentmagnet kann Seltene-Erden-Elemente wie Neodym-Eisen-Bor (NdFeB), Samarium-Kobalt (SmCo) oder Ferrit-Elemente (z.B. Barium (Ba) oder Strontium (Sr)) umfassen. In einigen Beispielen kann der Permanentmagnet eine Schutzschicht umfassen, wie z.B. eine Schicht aus Gold (Au), Nickel (Ni), Zink (Zn) oder ähnlichem. In einigen Beispielen kann der Motor 104 ein gleichstromerregter Motor sein.
  • Die Motorschaltung 102 kann so konfiguriert sein, dass sie eine Spannung an Phasen des Motors 104 erzeugt, um den Motor 104 anzutreiben. Zum Beispiel kann, wie dargestellt, die Motorschaltung 102 dafür konfiguriert sein, eine erste Phasenspannung („VA“), eine zweite Phasenspannung („VB“) und eine dritte Phasenspannung („VC“) auszugeben, um den Motor 104 anzutreiben. Wie dargestellt, kann die Motorschaltung 102 eine Steuerschaltung 120, eine Transformationsschaltung 124 und eine inverse Transformationsschaltung 122 umfassen. Die Motorschaltung 102 kann z.B. einen Mikrocontroller auf einer einzelnen integrierten Schaltung enthalten, die einen Prozessorkern, Speicher, Eingänge und Ausgänge enthält. Beispielsweise kann die Motorschaltung 102 einen oder mehrere Prozessorenumfassen, einschließlich eines oder mehrerer Mikroprozessoren, digitaler Signalprozessoren (DSPs), anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs) oder anderer gleichwertiger integrierter oder diskreter Logikschaltungen sowie beliebiger Kombinationen solcher Komponenten. Der Begriff „Prozessor“ oder „Verarbeitungsschaltung“ kann sich allgemein auf jede der vorgenannten Logikschaltungen beziehen, allein oder in Kombination mit anderen Logikschaltungen, oder auf jede andere gleichwertige Schaltung. In einigen Beispielen kanndie Motorschaltung 102 eine Kombination aus einer oder mehreren analogen Komponenten und einer oder mehreren digitalen Komponenten sein.
  • Die Transformationsschaltung 124 kann so konfiguriert sein, dass sie auf der Grundlage eines von der Logikschaltung 106 ausgegebenen fehlerkompensierten Rotorwinkels („ΘC“) und des Stroms an mehreren Phasen des Motors 104 einen momentanen d-Achsen-Stromwert („Id“) erzeugt. Beispielsweise kann die Transformationsschaltung 124 (z.B. mit einer Park-Transformation, einer Clarke-Transformation usw.) den momentanen d-Achsen-Stromwert auf Grundlage des ausgegebenen fehlerkompensierten Rotorwinkels und eines ersten Phasenstroms („IA“), eines zweiten Phasenstroms („IB“) und eines dritten Phasenstroms („IC“) erzeugen. Der momentane d-Achsen-Strom kann in einem ersten rotierenden Bezugsrahmen dargestellt werden, der an einem Rotor oder Stator des Motors 104 fixiert ist.
  • Ebenso kann die Transformationsschaltung 124 so konfiguriert sein, dass sie auf Grundlage eines von der Logikschaltung 106 ausgegebenen fehlerkompensierten Rotorwinkels und des Stroms an mehreren Phasen des Motors 104 einen momentanen q-Achsen-Stromwert („Iq“) erzeugt. Beispielsweise kann die Transformationsschaltung 124 (z.B. mit einer Park-Transformation, einer Clarke-Transformation usw.) den momentanen q-Achsen-Stromwert auf Grundlage des ausgegebenen fehlerkompensierten Rotorwinkels und des ersten Phasenstroms, des zweiten Phasenstroms und des dritten Phasenstroms erzeugen. Der momentane q-Achsen-Strom kann in einem zweiten rotierenden Referenzrahmen dargestellt werden, der senkrecht zum ersten rotierenden Referenzrahmen für den momentanen d-Achsen-Strom steht.
  • Die Steuerschaltung 120 kann so konfiguriert sein, dass sie auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert („Vd“) erzeugt. Die Steuerschaltung 120 kann beispielsweise einen Proportional-Integral-Reglerumfassen, der so konfiguriert ist, dass er den momentanen d-Achsen-Spannungswert basierend auf dem momentanen d-Achsen-Stromwert erzeugt. In ähnlicher Weise kann die Steuerschaltung 120 so konfiguriert sein, dass sie einen momentanen q-Achsen-Spannungswert („Vq“) basierend auf dem momentanen q-Achsen-Stromwert erzeugt. Beispielsweise kann die Steuerschaltung 120 einen Proportional-Integral-Reglerenthalten , der so konfiguriert ist, dass er den momentanen q-Achsen-Spannungswert auf Grundlage des momentanen q-Achsen-Stromwerts erzeugt.
  • Die inverse Transformationsschaltung 122 kann dafür konfiguriert sein, Spannung an Phasen des Motors 104 zu erzeugen. Beispielsweise kann die inverse Transformationsschaltung 122 (z.B. mit einer inversen Park-Transformation, einer inversen Clarke-Transformation usw.) die erste Phasenspannung, die zweite Phasenspannung und die dritte Phasenspannung auf Grundlage des momentanen d-Achsen-Spannungswerts erzeugen. In ähnlicher Weise kann die inverse Transformationsschaltung 122 (z.B. mit einer inversen Park-Transformation, einer inversen Clarke-Transformation usw.) die erste Phasenspannung, die zweite Phasenspannung und die dritte Phasenspannung auf Grundlage des momentanen q-Achsen-Spannungswerts erzeugen. In einigen Beispielen kann die inverse Transformationsschaltung 122 so konfiguriert sein, dass sie die erste Phasenspannung, die zweite Phasenspannung und die dritte Phasenspannung basierend auf einem fehlerkompensierten Rotorwinkel erzeugt, der von der Logikschaltung 106 ausgegeben wird.
  • Die neuronale Netzschaltung 108 kann so konfiguriert sein, dass sie einen Rotorwinkelversatz („θoff“) basierend auf einer momentanen Rotordrehzahl („ωmech‟) am Motor 104 erzeugt. Die neuronale Netzschaltung 108 kann so trainiert werden, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor 104 zu minimieren. Die Logikschaltung 106 kann so konfiguriert sein, dass sie den Rotorwinkelversatz zu dem erfassten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen. Die neuronale Netzschaltung 108 und/oder die Logikschaltung 106 können z.B. einen Mikrocontroller auf einer einzigen integrierten Schaltung umfassen, die einen Prozessorkern, Speicher, Eingänge und Ausgänge enthält. Beispielsweise kann die Neuronale Netzschaltung 108 und/oder die Logikschaltung 106 einen oder mehrere Prozessoren, einschließlich eines oder mehrerer Mikroprozessoren, DSPs, ASICs, FPGAs oder anderer gleichwertiger integrierter oder diskreter Logikschaltungen, sowie beliebige Kombinationen solcher Komponenten umfassen. In einigen Beispielen können die neuronale Netzschaltung 108 und/oder die Logikschaltung 106 eine Kombination aus einer oder mehreren analogen Komponenten und einer oder mehreren digitalen Komponenten sein.
  • Gemäß den Methoden der Offenbarung kann die Motorschaltung 102 auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert erzeugen. In diesem Beispiel kann die Motorschaltung 102 einen momentanen d-Achsen-Spannungswert basierend auf dem momentanen d-Achsen-Stromwert erzeugen und die Spannung an den mehreren Phasen basierend auf dem momentanen d-Achsen-Spannungswert erzeugen. Die neuronale Netzschaltung 108 kann einen Rotorwinkelversatz basierend auf einer momentanen Rotordrehzahl am Motor 104 erzeugen. In diesem Beispiel wurde die neuronale Netzschaltung 108 so trainiert, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor 104 zu minimieren. In diesem Beispiel basiert der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz.
  • Beispielsweise kann die Logikschaltung 106 einen erfassten Rotorwinkelwert zu dem von der neuronalen Netzschaltung 108 ausgegebenen Rotorwinkelversatz addieren, um den fehlerkompensierten Rotorwinkel zu erzeugen. In einigen Fällen kann die Logikschaltung 106 einen geschätzten Rotorwinkelwert zu dem von der neuronalen Netzschaltung 108 ausgegebenen Rotorwinkelversatz addieren, um den fehlerkompensierten Rotorwinkel zu erzeugen.
  • 2 ist ein Blockdiagramm, das ein beispielhaftes zweites System 200 gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Treiben eines Motors 204 unter Verwendung eines fehlerkompensierten Rotorwinkels konfiguriert ist. Die Motorschaltung 202, der Motor 204, die Logikschaltung 206 und die neuronale Netzschaltung („NN-Schaltung“) 208 können Beispiele für die Motorschaltung 102, den Motor 104, die Logikschaltung 106 und die neuronale Netzschaltung 108 aus 1 sein. Wie dargestellt, enthält das Beispiel aus 2 ferner eine Geschwindigkeitsberechnungsschaltung 226.
  • Im Beispiel der 2 ist der Motor 204 ein PMSM-Motor. In anderen Beispielen kann der Motor 204 jedoch ein anderer sein. Der Motor 204 kann für verschiedene Drehzahlen konfiguriert sein. Der Motor 204 kann eine Rotorpositionssensorschaltung 207 umfassen, die so konfiguriert ist, dass sie einen erfassten Rotorwinkelwert („θS“) eines Rotors des Motors 204 erfasst. In einigen Beispielen kann die Rotorpositionssensorschaltung 207 einen Hardware-Positionssensor (z.B. einen Codierer-Typ) umfassen. Die Rotorpositionssensorschaltung 207 kann jedoch jede Art von Sensor umfassen, um eine Rotorposition am Motor 204 zu erfassen. Zusätzlich oder alternativ kann der Motor 204 eine Rotorpositionsschätzungsschaltung 209 umfassen, die so konfiguriert ist, dass sie einen geschätzten Rotorwinkelwert des Rotors erzeugt. Beispielsweise kann die Rotorpositionsschätzungsschaltung 209 einen oder mehrere in Logik implementierte Positionsbeobachter enthalten. Solche Beobachter der Rotorpositionsschätzungsschaltung 209 können verschiedene andere Signale als den physischen Rotorwinkel verwenden, um die Rotorposition am Motor 204 zu berechnen.
  • Die Drehzahlberechnungsschaltung 226 kann so konfiguriert sein, dass sie eine momentane Rotordrehzahl („ω“) unter Verwendung eines erfassten Rotorwinkelwerts bestimmt, der von der Rotordrehzahlsensorschaltung 207 ausgegeben wird. In einigen Beispielen kann die Drehzahlberechnungsschaltung 226 so konfiguriert sein, dass sie eine momentane Rotordrehzahl unter Verwendung eines geschätzten Rotorwinkelwerts bestimmt, der von der Rotordrehzahlschätzungsschaltung 209 ausgegeben wird. Die Drehzahlberechnungsschaltung 226 kann so konfiguriert sein, dass sie eine momentane Rotordrehzahl bestimmt, indem sie sowohl einen erfassten Rotorwinkelwert, der von der Rotordrehzahlsensorschaltung 207 ausgegeben wird, als auch einen geschätzten Rotorwinkelwert, der von der Rotordrehzahlschätzungsschaltung 209 ausgegeben wird, verwendet.
  • Die Logikschaltung 206 kann so konfiguriert sein, dass sie den fehlerkompensierten Rotorwinkel basierend auf dem Rotorwinkelversatz bestimmt. Zum Beispiel kann dieLogikschaltung 206 so konfiguriert sein, dass sie einen von der neuronalen Netzschaltung 208 erzeugten Rotorwinkelversatz zu dem von der Rotordrehzahlsensorschaltung 207 erzeugten erfassten Rotorwinkelwert addiert, um einen fehlerkompensierten Rotorwinkel zu erzeugen. In einigen Beispielen kann die Logikschaltung 206 so konfiguriert sein, dass sie den von der neuronalen Netzschaltung 208 erzeugten Rotorwinkelversatz zu dem von der Rotorpositionsschätzschaltung 209 erzeugten geschätzten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen.
  • Die Motorschaltung 202 kann eine Transformationsschaltung 224, eine Steuerschaltung 220 und eine inverse Transformationsschaltung 222 umfassen. Die Transformationsschaltung 224 kann so konfiguriert sein, dass sie eine Clarke-Transformation auf den Strom an den Phasen (z.B. Ia, Ib und Ic) anwendet, um einen Alpha-Stromwert („Iα“) und einen Beta-Stromwert („Iβ“) zu erzeugen. Die Transformationsschaltung 224 kann so konfiguriert sein, dass sie auf Grundlage des fehlerkompensierten Rotorwinkels („ΘC“) eine Park-Transformation auf den Alpha-Stromwert und den Beta-Stromwert anwendet, um den momentanen d-Achsen-Stromwert („Id“) zu erzeugen. In einigen Beispielen kann der momentane d-Achsen-Stromwert in einem ersten rotierenden Bezugsrahmen dargestellt werden, der an einem Rotor des Motors fixiert ist. In einigen Beispielen kann der momentane d-Achsen-Strom in einem ersten rotierenden Bezugsrahmen dargestellt werden, der an einem Stator des Motors fixiert ist. In ähnlicher Weise kann die Transformationsschaltung 224 so konfiguriert sein, dass sie auf Grundlage des fehlerkompensierten Rotorwinkels („θC“) eine Park-Transformation auf den Alpha-Stromwert und den Beta-Stromwert anwendet, um den momentanen q-Achsen-Stromwert („Iq“) und den momentanen q-Achsen-Stromwert („Iq“) zu erzeugen. In einigen Beispielen kann der momentane q-Achsen-Strom in einem zweiten rotierenden Referenzrahmen dargestellt werden, der senkrecht zum ersten rotierenden Referenzrahmen für den momentanen d-Achsen-Strom steht.
  • DieSteuerschaltung 220 kann so konfiguriert sein, dass sie einen d-Achsen-Stromfehlerwert („εd“) basierend auf einer Differenz zwischen dem momentanen d-Achsen-Stromwert und einem d-Achsen-Referenzwert („Id*“) erzeugt. Beispielsweise kann der Summierer 252 so konfiguriert sein, dass er den momentanen d-Achsen-Stromwert vom d-Achsen-Referenzwert subtrahiert. In einigen Beispielen entspricht der d-Achsen-Referenzwert dem Wert Null (z.B. ist er gleich Null, ist ungefähr gleich Null usw.). Die Steuerschaltung 220 kann so konfiguriert sein, dass sie einen Proportional-Integral-Regler 262 anwendet, der so konfiguriert ist, dass er den momentanen d-Achsen-Spannungswert („Vd“ ) erzeugt, um den Fehlerwert des momentanen d-Achsen-Stromwerts zu minimieren.
  • DieSteuerschaltung 220 kann so konfiguriert sein, dass sie einen q-Achsen-Stromfehlerwert („εq“) basierend auf einer Differenz zwischen dem momentanen q-Achsen-Stromwert und einem q-Achsen-Referenzwert („Iq*“) erzeugt. Beispielsweise kann der Summierer 250 so konfiguriert sein, dass er den momentanen q-Achsen-Stromwert vom q-Achsen-Referenzwert subtrahiert. In einigen Beispielen entspricht der q-Achsen-Referenzwert dem Wert Null (z.B. ist er gleich Null, ist ungefähr gleich Null usw.). Die Steuerschaltung 220 kann so konfiguriert sein, dass sie einen Proportional-Integral-Regler 260 anwendet, der so konfiguriert ist, dass er den momentanen q-Achsen-Spannungswert („Vq“) erzeugt, um den Fehlerwert des momentanen q-Achsen-Stromwerts zu minimieren.
  • Die inverse Transformationsschaltung 222 kann so konfiguriert sein, dass sie auf Grundlage des fehlerkompensierten Rotorwinkels eine inverse Park-Transformation auf den momentanen d-Achsen-Spannungswert und die momentane q-Achsen-Spannung anwendet, um einen Alpha-Spannungswert („Vα“) und einen Beta-Spannungswert („Vβ“) zu erzeugen. In diesem Beispiel kann die inverse Transformationsschaltung 222 eine inverse Clarke-Transformation auf den Alpha-Stromwert und den Beta-Stromwert anwenden, um die Spannung an den Phasen des Motors 204 (z.B. Va, Vb und Vc) zu erzeugen. In einigen Beispielen kanndie Spannung an den Phasen des Motors 204 auf dem aktuellen d-Achsen-Spannungswert und/oder dem aktuellen q-Achsen-Spannungswert basieren . Beispielsweise kann ein 3-Phasen-Wechselrichter 223 der inversen Transformationsschaltung 222 so konfiguriert sein, dass er die Spannung an den Phasen des Motors 204 basierend auf den berechneten Strömenerzeugt , die aus der inversen Clarke-Transformation ausgegeben werden. Auch wenn das Beispiel in 2 den 3-Phasen-Wechselrichter 223 als Teil der inversen Transformationsschaltung 222 zeigt, kann in einigen Beispielen der 3-Phasen-Wechselrichter 223 eine separate Komponente der inversen Transformationsschaltung 222 sein.
  • Die neuronale Netzschaltung 208 kann so konfiguriert sein, dass sie einen Rotorwinkelversatz basierend auf einer momentanen Rotordrehzahl am Motor 204 erzeugt. Beispielsweise kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie einen Rotorwinkelversatz basierend auf einer momentanen Rotordrehzahl erzeugt, die von der Drehzahlberechnungsschaltung 226 ausgegeben wird. Die neuronale Netzschaltung 208 kann mit jeder Art von Netzen mit mehr als einer einzigen verborgenen Schicht und einer unendlichen Anzahl von Neuronen gebildet werden. In einigen Beispielen kann die neuronale Netzschaltung 208 Architekturen wie beispielsweise, ohne jedoch hierauf eingeschränkt zu sein, Faltungsnetze, rekurrente Netze, Netze, die auf verstärkendem Lernen basieren, oder eine andere Architektur verwenden. Die neuronale Netzschaltung 208 kann für verschiedene Rotorwinkelversatzbereiche konfiguriert sein.
  • Die neuronale Netzschaltung 208 kann so trainiert worden sein, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren. Beispielsweise kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie für jede Rotordrehzahl der mehreren Rotordrehzahlen die mehreren Neuronen der neuronalen Netzschaltung so trainiert, dass sie den jeweiligen Rotorwinkelversatz ausgibt, der den momentanen d-Achsen-Spannungswert minimiert (siehe 5).
  • Die neuronale Netzschaltung 208 kann so konfiguriert sein, dass sie ein Training auf eine Vielzahl von Neuronen der neuronalen Netzschaltung 208 anwendet, um die Vielzahl von Neuronen so zu konfigurieren, dass sie einen entsprechenden Rotorwinkelversatz für jede einer Vielzahl von Rotordrehzahlen erzeugen, der den momentanen d-Achsen-Spannungswert minimiert (siehe 3, 4). In diesem Beispiel kann die neuronale Netzschaltung 208 nach Anwendung des Trainings den Rotorwinkelversatz basierend auf der momentanen Rotordrehzahl am Motor erzeugen.
  • Die neuronale Netzschaltung 208 kann so konfiguriert sein, dass sie eine Rotordrehzahltabelle erzeugt. In diesem Beispiel umfasst jeder Eintrag in der Rotordrehzahltabelle einen entsprechenden Rotordrehzahlwert einer Vielzahl von Rotordrehzahlen und einen entsprechenden tatsächlichen Rotorwinkelversatz. In diesem Beispiel kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie die mehreren Neuronen der neuronalen Netzschaltung 208 unter Verwendung der Rotordrehzahltabelle trainiert. Beispielsweise kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie für jeden jeweiligen Rotordrehzahlwert der mehreren Rotordrehzahlen die mehreren Neuronen der neuronalen Netzschaltung 208 so trainiert, dass sie eine Differenz zwischen dem jeweiligen Rotorwinkelversatz, der von der neuronalen Netzschaltung 208 ausgegeben wird, und dem entsprechenden tatsächlichen Rotorwinkelversatz minimiert.
  • Es kann nicht nur die Rotordrehzahl als Eingang verwendet werden, sondern die neuronale Netzschaltung 208 kann so konfiguriert sein, dass sie jedes andere Signal verwendet, das den Rotorwinkelversatz beeinflusst. Beispielsweise kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie Temperaturabweichungen verwendet, um einen Rotorwinkelversatz zu erzeugen. In einigen Beispielen kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie eine Vielzahl von Neuronen der neuronalen Netzschaltung 208 trainiert, um die Vielzahl von Neuronen so zu konfigurieren, dass sie den Rotorwinkelversatz erzeugen, um den momentanen d-Achsen-Spannungswert für eine Vielzahl von Temperaturwerten zu minimieren.
  • Die neuronale Netzschaltung 208 kann nicht nur während einer anfänglichen Einrichtung trainiert werden, sondern auch für ein Training nach der anfänglichen Einrichtung (z.B. während des Betriebs) konfiguriert sein. Beispielsweise kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie nach der anfänglichen Einrichtung und für jede Rotordrehzahl der mehreren Rotordrehzahlen eine Vielzahl von Neuronen der neuronalen Netzschaltung so trainiert, dass sie den Rotorwinkelversatz ausgibt, der den momentanen d-Achsen-Spannungswert minimiert (siehe 5).
  • Die neuronale Netzschaltung 208 kann so konfiguriert sein, dass sie nach der anfänglichen Einrichtung eine Vielzahl von Neuronen der neuronalen Netzschaltung 208 trainiert, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert zu minimieren. In diesem Beispiel kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie eine Rotordrehzahltabelle erzeugt, wobei jeder Eintrag in der Rotordrehzahltabelle einen jeweiligen Rotordrehzahlwert der Vielzahl der Rotordrehzahlen und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst. In diesem Beispiel kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie die mehreren Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle trainiert. Insbesondere kann beispielsweise die neuronale Netzschaltung 208 so konfiguriert sein, dass sie für jeden jeweiligen Rotordrehzahlwert der mehreren Rotordrehzahlen die mehreren Neuronen der neuronalen Netzschaltung so trainiert, dass sie eine Differenz zwischen dem Rotorwinkelversatz, der von der neuronalen Netzschaltung 208 ausgegeben wird, und dem entsprechenden tatsächlichen Rotorwinkelversatz minimiert (siehe 3, 4)
  • Die neuronale Netzschaltung 208 kann so konfiguriert sein, dass sie nach der anfänglichen Einrichtung eine Vielzahl von Neuronen der neuronalen Netzschaltung trainiert, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert zu minimieren. Die neuronale Netzschaltung 208 kann so konfiguriert sein, dass sie eine Temperaturtabelle erzeugt. In diesem Beispiel umfasst jeder Eintrag in der Temperaturtabelle einen jeweiligen Temperaturwert einer Vielzahl von Temperaturwerten und einen entsprechenden tatsächlichen Rotorwinkelversatz. In diesem Beispiel kann die neuronale Netzschaltung 208 so konfiguriert sein, dass sie die mehreren Neuronen der neuronalen Netzschaltung unter Verwendung der Temperaturtabelle trainiert.
  • Gemäß den Methoden der Offenbarung kann die Transformationsschaltung 224 auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert erzeugen. In diesem Beispiel kann die Steuerschaltung 220 einen momentanen d-Achsen-Spannungswert basierend auf dem momentanen d-Achsen-Stromwert erzeugen und die Spannung an den mehreren Phasen basierend auf dem momentanen d-Achsen-Spannungswert erzeugen. Die neuronale Netzschaltung 208 kann einen Rotorwinkelversatz basierend auf einer momentanen Rotordrehzahl am Motor 204 erzeugen. In diesem Beispiel wurde die neuronale Netzschaltung 208 so trainiert, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor 204 zu minimieren. In diesem Beispiel basiert der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz. Beispielsweise kann die Logikschaltung 206 einen erfassten Rotorwinkelwert zu dem von der neuronalen Netzschaltung 208 ausgegebenen Rotorwinkelversatz addieren, um den fehlerkompensierten Rotorwinkel zu erzeugen. In einigen Fällen kann die Logikschaltung 206 einen geschätzten Rotorwinkelwert zu dem von der neuronalen Netzschaltung 208 ausgegebenen Rotorwinkelversatz addieren, um den fehlerkompensierten Rotorwinkel zu erzeugen.
  • Auf diese Weise kann die Motorschaltung 202 einen Rotorwinkelversatz verwenden, der im Vergleich zu Systemen, die eine Prüftabelle, eine lineare Funktion oder eine nichtlineare Funktion heranziehen, genauer sein kann. Darüber hinaus kann die Motorschaltung den Rotorwinkelversatz anpassen , wenn die Motorschaltung und/oder der Motor online (z.B. im Service) sind, was die Stabilität der Motorschaltung 202 im Vergleich zu Systemen verbessern kann, die eine Prüftabelle, eine lineare Funktion oder eine nichtlineare Funktion zur Schätzung eines Rotorwinkelversatzes verwenden.
  • 3 ist ein Blockdiagramm, das ein Beispielsystem gemäß einer oder mehreren Methoden dieser Offenbarung zeigt, das zum Durchführen eines ersten Schritts zum Trainieren einer neuronalen Netzschaltung 308 zum Erzeugen eines Rotorwinkelversatzes konfiguriert ist. Auch wenn 3 mit Bezug auf das System 100 aus 1 und das System 200 aus 2 besprochen wird, können die Methoden aus 3 auch mit anderen Systemen verwendet werden. Die neuronale Netzschaltung 308 kann ein Beispiel für die neuronale Netzschaltung 108 aus 1 und die neuronale Netzschaltung 208 aus 2 sein. Die Anlage 332 kann ein Beispiel für die Motorschaltung 102 und den Motor 104 sein.
  • Die neuronale Netzschaltung 308 kann so konfiguriert sein, dass sie die Funktion f(ωmech) = Θoff abbildet, um ΘT = Θoff + ΘS für die von der neuronalen Netzschaltung 308 durchgeführte Transformation zu berechnen. Zum Beispiel kann die neuronale Netzschaltung 308 ein Lernverfahren in zwei Schritten implementieren. Im ersten Schritt kann die neuronale Netzschaltung 308 die Übertragungskennlinie Θoff,x =f(ωmech,x) in Form einer Rotordrehzahltabelle aufzeichnen, die einen jeweiligen Rotordrehzahlwert („ωmech,x“) und einen entsprechenden tatsächlichen Rotorwinkelversatz („Θoff,x“)) wie folgt sammelt.
  • Die neuronale Netzschaltung 308 kann so konfiguriert sein, dass sie eine Rotordrehzahltabelle erzeugt, wobei jeder Eintrag in der Rotordrehzahltabelle einen jeweiligen Rotordrehzahlwert der Vielzahl der Rotordrehzahlen und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst. Zum Beispiel kann der Proportional-Integral-Regler 330 („PI-Regler“) so konfiguriert sein, dass er die tatsächlichen Rotorwinkelversätze (Θoff,x) erzeugt. Beispielsweise kann die neuronale Netzschaltung 308 so konfiguriert sein, dass sie die Anlage 332 ansteuert, um einen bestimmten Rotordrehzahlwert beizubehalten. In diesem Fall kann der Proportional-Integral-Regler 330 so konfiguriert sein, dass er den tatsächlichen Rotorwinkelversatz erzeugt, der einen von der Anlage 332 ausgegebenen momentanen d-Achsen-Spannungswert („Vd“) auf Null treibt, während die Anlage 332 auf einem bestimmten Rotordrehzahlwert der Rotordrehzahltabelle gehalten wird. Auf diese Weise kann das neuronale Netz 308 den tatsächlichen Rotorwinkelversatz für jeden Rotordrehzahlwert der Rotordrehzahltabelle erzeugen.
  • Während im Beispiel aus 3 der PI-Regler 330 zur Erzeugung der tatsächlichen Rotorwinkelversätze verwendet wird, können in anderen Beispielen auch andere Regler zur Erzeugung der tatsächlichen Rotorwinkelversätze verwendet werden. Zum Beispiel kann ein Integral-Regler ohne die Proportional-Komponente verwendet werden, um die tatsächlichen Rotorwinkelversätze zu erzeugen. In einigen Beispielen kann eine manuelle Anpassung über „Versuch und Irrtum“ verwendet werden, um die tatsächlichen Rotorwinkelversätze zu erzeugen.
  • 4 ist ein Blockdiagramm, das ein Beispielsystem 400 gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Durchführen eines zweiten Schritts zum Trainieren der neuronalen Netzschaltung aus 3 konfiguriert ist. Auch wenn 4 mit Bezug auf das System 100 aus 1 und das System 200 aus 2 besprochen wird, können die Methoden aus 4 auch mit anderen Systemen verwendet werden. Die neuronale Netzschaltung 408 kann ein Beispiel für die neuronale Netzschaltung 108 aus 1 und die neuronale Netzschaltung 208 aus 2 sein. Wie dargestellt, kann der Summierer 440 von der neuronalen Netzschaltung 408 getrennt sein. In einigen Beispielen kann der Summierer 440 in der neuronalen Netzschaltung 408 umfasst sein. Der Summierer 440 kann den von der neuronalen Netzschaltung 408 ausgegebenen Rotorwinkelversatz („θoff“) vom entsprechenden tatsächlichen Rotorwinkelversatz („θoff,x“) der Rotordrehzahltabelle subtrahieren, die im Beispiel von 3 erzeugt wurde, um eine Differenz („ε“) zu erzeugen.
  • In einem zweiten Schritt der Lernprozedur aus 3 kann die neuronale Netzschaltung 408 so konfiguriert sein, dass sie eine Vielzahl von Neuronen der neuronalen Netzschaltung 408 trainiert, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert zu minimieren. Zum Beispiel kann die neuronale Netzschaltung 408 so konfiguriert sein, dass sie die mehreren Neuronen der neuronalen Netzschaltung 408 unter Verwendung der im Beispiel der 3 erzeugten Rotordrehzahltabelle trainiert. Insbesondere kann beispielsweise die neuronale Netzschaltung 408 so konfiguriert sein, dass sie für jeden jeweiligen Rotordrehzahlwert („ωmech,x“) der mehreren Rotordrehzahlen der Rotordrehzahltabelle die mehreren Neuronen der neuronalen Netzschaltung so trainiert, dass sie eine Differenz zwischen dem Rotorwinkelversatz, der von der neuronalen Netzschaltung 408 ausgegeben wird, und dem entsprechenden tatsächlichen Rotorwinkelversatz der Rotordrehzahltabelle minimiert.
  • 5 ist ein Blockdiagramm, das ein Beispielsystem 500 gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Trainieren einer neuronalen Netzschaltung 508 zum Erzeugen eines Rotorwinkelversatzes konfiguriert ist. Auch wenn 5 mit Bezug auf das System 100 aus 1 und das System 200 aus 2 besprochen wird, können die Methoden aus 5 auch mit anderen Systemen verwendet werden. Die neuronale Netzschaltung 508 kann ein Beispiel für die neuronale Netzschaltung 108 aus 1 und die neuronale Netzschaltung 208 aus 2 sein. Die Anlage 532 kann ein Beispiel für die Motorschaltung 102 und den Motor 104 sein. Wie dargestellt, kann der Summierer 540 von der neuronalen Netzschaltung 508 getrennt sein. In einigen Beispielen kann der Summierer 540 in der neuronalen Netzschaltung 508 umfasst sein. Der Summierer 540 kann einen von der Anlage 532 ausgegebenen momentanen d-Achsen-Spannungswert („Vd“) von einer Referenz (z.B. 0) subtrahieren, um einen Fehlerwert („ε“) zu erzeugen.
  • Im Beispiel in 5 werden die in 3 und 4 beschriebenen Prozesse zusammengeführt. Zum Beispiel kann das System 500 eine Übertragungskurve für die Übertragungskennlinie Θoff,x = f(ωmech,x) erzeugen. In diesem Beispiel kann das System 500 eine Vielzahl von Neuronen der neuronalen Netzschaltung 508trainieren , um den Rotorwinkelversatz zu erzeugen, um einen von der Anlage 532 ausgegebenen momentanen d-Achsen-Spannungswert zu minimieren. Auf diese Weise kann das System 500 die Erzeugung der Übertragungskurve und das Training in einer geschlossenen Schleife kombinieren (z.B. anstelle von zwei geschlossenen Schleifen). So kann der Prozess aus 5 im Vergleich zum Prozess aus 3 und 4 eine geringere Codegröße und/oder einen geringeren Speicherverbrauch haben. Beispielsweise kann die neuronale Netzschaltung 508 so konfiguriert sein, dass sie für jede Rotordrehzahl der mehreren Rotordrehzahlen eine Vielzahl von Neuronen der neuronalen Netzschaltung so trainiert, dass sie den Rotorwinkelversatz ausgibt, der den momentanen d-Achsen-Spannungswert minimiert.
  • 6 ist ein Blockdiagramm, das ein Beispielsystem 600 gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das dafür konfiguriert ist, eine neuronale Netzschaltung 608 zu verwenden, um auf Grundlage einer momentanen Rotordrehzahl („ωmech“) an einem Motor einen Rotorwinkelversatz („θoff“) zu erzeugen. 6 zeigt die Vorwärtsimplementierung. Nachdem das Training der neuronalen Netzschaltung 608 abgeschlossen ist, kann die momentane Rotordrehzahl als Eingabe für die neuronale Netzschaltung 608 verwendet werden. In diesem Beispiel kann die Anlage 632 den Rotorwinkelversatz für die Steuerschaltung (z.B. die Steuerschaltung 120) und für die Transformationen (z.B. durch die Transformationsschaltung 124 und/oder die inverse Transformationsschaltung 122) verwenden. Nach Abschluss des Trainings ist kein weiteres Training der neuronalen Netzschaltung 608 erforderlich, wenn sich die Übertragungskennlinie nicht ändert. In einigen Beispielen kann die neuronale Netzschaltung 608 jedoch so trainiert werden, dass Änderungen in der Übertragungskennlinie berücksichtigt werden. Zum Beispiel kann die neuronale Netzschaltung 608 so trainiert werden, dass sie Änderungen der Beschleunigung, der Temperatur, des Alters der Anlage 632 oder anderer Faktoren berücksichtigt.
  • 7 ist ein Blockdiagramm, das ein Beispielsystem 700 gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht, das zum Trainieren einer neuronalen Netzschaltung 708 und zur Verwendung der neuronalen Netzschaltung 708 zum Erzeugen eines Rotorwinkelversatzes konfiguriert ist. Auch wenn 7 mit Bezug auf das System 100 aus 1 und das System 200 aus 2 besprochen wird, können die Methoden aus 7 auch mit anderen Systemen verwendet werden. Die neuronale Netzschaltung 708 kann ein Beispiel für die neuronale Netzschaltung 108 aus 1 und die neuronale Netzschaltung 208 aus 2 sein. Der Summierer 706 kann ein Beispiel der Logikschaltung 106 aus 1 oder eine Beispielkomponente der Logikschaltung 106 aus 1 sein. Wie dargestellt, kann der Summierer 706 von der neuronalen Netzschaltung 708 getrennt sein. In einigen Beispielen kann der Summierer 706 in der neuronalen Netzschaltung 708 umfasst sein. Der Summierer 706 kann so konfiguriert sein, dass er den Rotorwinkelversatz („θoff“) zum erfassten Rotorwinkelwert („ΘS“) addiert, um den fehlerkompensierten Rotorwinkel („θC“) zu erzeugen. In einigen Beispielen kann der Summierer 706 so konfiguriert sein, dass er den Rotorwinkelversatz zu einem geschätzten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen.
  • Im Beispiel aus 7 kann die neuronale Netzschaltung 708 so konfiguriert sein, dass sie einen momentanen d-Achsen-Spannungswert („Vd“) empfängt. In einigen Beispielen kann die neuronale Netzschaltung 708 so konfiguriert sein, dass sie anhand des momentanen d-Achsen-Spannungswerts trainiert oder neu trainiert wird. Beispielsweise kann die neuronale Netzschaltung 708 so konfiguriert sein, dass sie nach dem Prozess aus 5 trainiert. In einigen Beispielen kann die neuronale Netzschaltung 708 so konfiguriert sein, dass sie nach dem Prozess aus 3 und 4 trainiert.
  • 8 ist ein Blockdiagramm, das ein Beispiel einer zum Erzeugen eines Rotorwinkelversatzes trainierten neuronalen Netzschaltung 808 gemäß einer oder mehreren Methoden dieser Offenbarung veranschaulicht. Die vorliegend beschriebenen Methoden können in verschiedenen neuronalen Netzkonfigurationen implementiert werden. Die neuronale Netzschaltung 808 kann so konfiguriert sein, dass sie mit einer hohen Frequenz auf einem eingebetteten System läuft und in Echtzeit ausgeführt werden kann. Die neuronale Netzschaltung 808 kann z.B. für eine Pulsweitenmodulation von 100 kHz konfiguriert sein und einen Regelalgorithmus verwenden, der alle 10 µs einen Rotorwinkelversatz berechnet.
  • Im Beispiel aus 8 umfasst die neuronale Netzschaltung 808 ein Mehrschicht-Perzeptron (multi-layer perceptron, MLP) mit einer Strategie für überwachtes Lernen. Die neuronale Netzschaltung 808 kann z.B. eine Anzahl von Neuronen im Bereich von ca. 4 bis 20 enthalten, je nach gewünschter Genauigkeit. 8 zeigt eine Netzstruktur, die eine Eingabe 870 in einer Eingabeschicht, die eine momentane Rotordrehzahl („ωmech“) an einem Motor empfängt, Neuronen 871-874 in einer verborgenen Schicht und eine Ausgabe 876 in einer Ausgabeschicht umfasst, die den Rotorwinkelversatz („θoff“) ausgibt. In einigen Beispielen kann die neuronale Netzschaltung mehr als einen Eingang verwenden. Neuronale Netzschaltungen können mehr als einen Ausgang verwenden. In einigen Beispielen kann die neuronale Netzschaltung weniger als 4 Neuronen (z.B. 1, 2 oder 3 Neuronen) oder mehr als 4 Neuronen (z.B. mehr als 10, mehr als 20 usw.) verwenden. Die neuronale Netzschaltung 808 kann beispielsweise 10 Neuronen in der verborgenen Schicht mit einer ellipsoidischen Aktivierungsfunktion umfassen.
  • 9 ist eine Darstellung der tatsächlichen Rotorwinkelversätze und der Rotorwinkelversätze, die von der neuronalen Netzschaltung ausgegeben werden, gemäß einer oder mehreren Methoden dieser Offenbarung. Auch wenn 9 mit Bezug auf das System 100 aus 1 und das System 200 aus 2 besprochen wird, können die Methoden aus 9 auch mit anderen Systemen verwendet werden. Die Abszissenachse von 9 ist die momentane Rotordrehzahl am Motor 104 in Radiant pro Sekunde (rad/s) und die Ordinatenachse von 9 ist der tatsächliche Rotorwinkelversatz 902 und der Rotorwinkelversatz 904, der von der neuronalen Netzschaltung 108 erzeugt wird. Im Beispiel von 9 kann der Rotorwinkelversatz 904 mit den Methoden aus 5 erzeugt werden. Der Rotorwinkelversatz 904 kann jedoch auch mit anderen vorliegend beschriebenen Methoden erzeugt werden, z.B. mit den Methoden der in 3 und 4 dargestellten Beispiele.
  • 10 ist ein Flussdiagramm zum Treiben eines Motors unter Verwendung eines Rotorwinkelversatzes gemäß einer oder mehreren Methoden dieser Offenbarung. Nur zur Veranschaulichung werden im Folgenden die Beispielvorgänge im Zusammenhang mit 1 bis 9 beschrieben.
  • Gemäß den Methoden der Offenbarung kann die Motorschaltung 102 dafür konfiguriert sein, auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors 104 einen momentanen d-Achsen-Stromwert zu erzeugen (1002). Die Motorschaltung 102 kann so konfiguriert sein, dass sie auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert erzeugt (1004). Die Motorschaltung 102 kann so konfiguriert sein, dass sie Spannung an den mehreren Phasen auf Grundlage des momentanen d-Achsen-Spannungswertes erzeugt (1008). Die neuronale Netzschaltung 108 kann so konfiguriert sein, dass sie einen Rotorwinkelversatz auf Grundlage einer momentanen Rotordrehzahl am Motor 104 erzeugt (1008). In einigen Beispielen wurde die neuronale Netzschaltung 108 so trainiert, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor 104 zu minimieren. In einigen Beispielen basiert der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz. Beispielsweise kann die Logikschaltung 106 so konfiguriert sein, dass sie den Rotorwinkelversatz zu einem erfassten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen. In einigen Beispielen kann die Logikschaltung 106 so konfiguriert sein, dass er den Rotorwinkelversatz zu einem geschätzten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen.
  • Die folgenden Beispiele können einen oder mehrere Aspekte der Offenbarung veranschaulichen.
  • Beispiel 1. Vorrichtung zum Treiben eines Motors, wobei die Vorrichtung Folgendes umfasst: eine Motorschaltung, die konfiguriert ist, um: auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert zu erzeugen; auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert zu erzeugen; und auf Grundlage des momentanen d-Achsen-Spannungswerts Spannung an der Vielzahl von Phasen zu erzeugen; und eine neuronale Netzschaltung, die so konfiguriert ist, dass sie einen Rotorwinkelversatz auf Grundlage einer momentanen Rotordrehzahl am Motor erzeugt, wobei die neuronale Netzschaltung so trainiert wurde, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren, und wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  • Beispiel 2. Vorrichtung nach Beispiel 1, wobei zum Erzeugen des momentanen d-Achsen-Spannungswerts die Motorschaltung konfiguriert ist, um: einen d-Achsen-Stromfehlerwert basierend auf einer Differenz zwischen dem momentanen d-Achsen-Stromwert und einem d-Achsen-Referenzwert zu erzeugen, wobei der d-Achsen-Referenzwert Null entspricht; und einen Proportional-Integral-Regler anzuwenden, der so konfiguriert ist, dass er den momentanen d-Achsen-Spannungswert erzeugt, um den Fehlerwert des momentanen d-Achsen-Stromwerts zu minimieren.
  • Beispiel 3. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 2, wobei der momentane d-Achsen-Stromwert in einem ersten rotierenden Referenzrahmen dargestellt wird und wobei die Motorschaltung konfiguriert ist, um: auf Grundlage des fehlerkompensierten Rotorwinkels und des Stroms an der Vielzahl von Phasen einen momentanten q-Achsen-Stromwert zu erzeugen, der in einem zweiten rotierenden Referenzrahmen senkrecht zu dem ersten rotierenden Referenzrahmen dargestellt wird; und eine momentane q-Achsen-Spannung auf Grundlage des momentanen q-Achsen-Stromwerts zu erzeugen, wobei das Erzeugen der Spannung an der Vielzahl von Phasen ferner auf dem momentanen q-Achsen-Spannungswert beruht.
  • Beispiel 4. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 3, wobei zum Erzeugen des momentanen d-Achsen-Stromwerts und zum Erzeugen des momentanen q-Achsen-Stromwerts die Motorschaltung so konfiguriert ist, dass sie eine Clarke-Transformation auf den Strom an der Vielzahl von Phasen anwendet, um einen Alpha-Stromwert und einen Beta-Stromwert zu erzeugen, und basierend auf dem fehlerkompensierten Rotorwinkel eine Park-Transformation auf den Alpha-Stromwert und den Beta-Stromwert anwendet, um den momentanen d-Achsen-Stromwert und den momentanen q-Achsen-Stromwert zu erzeugen; und wobei zum Erzeugen der Spannung an den mehreren Phasen die Motorschaltung so konfiguriert ist, dass sie auf Grundlage des fehlerkompensierten Rotorwinkels eine inverse Park-Transformation auf den momentanen d-Achsen-Spannungswert und die momentane q-Achsen-Spannung anwendet, um einen Alpha-Spannungswert und einen Beta-Spannungswert zu erzeugen, und eine inverse Clarke-Transformation auf den Alpha-Spannungswert und den Beta-Spannungswert anwendet, um die Spannung an den mehreren Phasen zu erzeugen.
  • Beispiel 5. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 4, umfassend: eine Rotorpositionssensorschaltung, die so konfiguriert ist, dass sie einen erfassten Rotorwinkelwert eines Rotors des Motors erfasst; eine Logikschaltung, die so konfiguriert ist, dass sie den Rotorwinkelversatz zu dem erfassten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen; und eine Drehzahlberechnungsschaltung, die so konfiguriert ist, dass sie die momentane Rotordrehzahl unter Verwendung des erfassten Rotorwinkelwerts bestimmt.
  • Beispiel 6. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 5, umfassend: eine Rotorpositionsschätzungsschaltung, die so konfiguriert ist, dass sie einen geschätzten Rotorwinkelwert des Rotors erzeugt; eine Logikschaltung, die so konfiguriert ist, dass sie den Rotorwinkelversatz zu dem geschätzten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen; und eine Drehzahlberechnungsschaltung, die so konfiguriert ist, dass sie die momentane Rotordrehzahl unter Verwendung des geschätzten Rotorwinkels bestimmt.
  • Beispiel 7. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 6, wobei die neuronale Netzschaltung ferner trainiert wurde, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert für eine Vielzahl von Temperaturwerten zu minimieren.
  • Beispiel 8. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 7, wobei die neuronale Netzschaltung so konfiguriert ist, dass sie eine Vielzahl von Neuronen der neuronalen Netzschaltung trainiert, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert zu minimieren, wobei zum Trainieren der Vielzahl von Neuronen des neuronalen Netzes die neuronale Netzschaltung konfiguriert ist, um: eine Rotordrehzahltabelle zu erzeugen, wobei jeder Eintrag in der Rotordrehzahltabelle einen jeweiligen Rotordrehzahlwert der Vielzahl von Rotordrehzahlen und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst; und die Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle zu trainieren.
  • Beispiel 9. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 8, wobei zum Trainieren der Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle die neuronale Netzschaltung konfiguriert ist, um: für jeden jeweiligen Rotordrehzahlwert der Mehrzahl von Rotordrehzahlen die Vielzahl von Neuronen der neuronalen Netzschaltung zu trainieren, um eine Differenz zwischen dem von der neuronalen Netzschaltung ausgegebenen Rotorwinkelversatz und dem entsprechenden tatsächlichen Rotorwinkelversatz zu minimieren.
  • Beispiel 10. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 9, wobei die neuronale Netzschaltung so konfiguriert ist, dass sie eine Vielzahl von Neuronen der neuronalen Netzschaltung trainiert, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert zu minimieren, wobei zum Trainieren der Vielzahl von Neuronen des neuronalen Netzes die neuronale Netzschaltung konfiguriert ist, um: eine Temperaturtabelle zu erzeugen, wobei jeder Eintrag in der Temperaturtabelle einen jeweiligen Temperaturwert einer Vielzahl von Temperaturwerten und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst; und die Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Temperaturtabelle zu trainieren.
  • Beispiel 11. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 10, wobei die neuronale Netzschaltung konfiguriert ist, um: für jede Rotordrehzahl der mehreren Rotordrehzahlen eine Vielzahl von Neuronen der neuronalen Netzschaltung so zu trainieren, dass sie den Rotorwinkelversatz ausgibt, der den momentanen d-Achsen-Spannungswert minimiert.
  • Beispiel 12. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 11, wobei der momentane d-Achsen-Stromwert in einem rotierenden Bezugsrahmen dargestellt wird, der an einem Rotor des Motors fixiert ist.
  • Beispiel 13. Vorrichtung nach einer beliebigen Kombination der Beispiele 1 bis 12, wobei der Motor einen Permanentmagnet-Synchronmotor (PMSM) oder einen gleichstromerregten Motor umfasst.
  • Beispiel 14. Verfahren zum Treiben eines Motors, wobei das Verfahren Folgendes umfasst: durch eine Verarbeitungsschaltung und auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors erfolgendes Erzeugen eines momentanen d-Achsen-Stromwerts; durch die Verarbeitungsschaltung erfolgendes Erzeugen eines momentanen d-Achsen-Spannungswerts auf Grundlage des momentanen d-Achsen-Stromwerts; durch die Verarbeitungsschaltung erfolgendes Erzeugen einer Spannung an der Vielzahl von Phasen auf Grundlage des momentanen d-Achsen-Spannungswerts und Erzeugen eines Rotorwinkelversatzes basierend auf einer momentanen Rotordrehzahl am Motor durch eine neuronale Netzschaltung der Verarbeitungsschaltung, wobei die neuronale Netzschaltung darauf trainiert wurde, den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren, und wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  • Beispiel 15. Verfahren nach Beispiel 14, wobei das Erzeugen des d-Achsen-Spannungswerts Folgendes umfasst: Erzeugen eines d-Achsen-Stromfehlerwerts basierend auf einer Differenz zwischen dem momentanen d-Achsen-Stromwert und einem d-Achsen-Referenzwert, wobei der d-Achsen-Referenzwert Null entspricht; und Anwenden eines Proportional-Integral-Reglers, der so konfiguriert ist, dass er den momentanen d-Achsen-Spannungswert erzeugt, um den Fehlerwert des momentanen d-Achsen-Stromwerts zu minimieren.
  • Beispiel 16. Vorrichtung zum Treiben eines Motors, wobei die Vorrichtung Folgendes umfasst: eine Motorschaltung, die konfiguriert ist, um: auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert zu erzeugen; auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert zu erzeugen; und auf Grundlage des momentanen d-Achsen-Spannungswerts eine Spannung an der Vielzahl von Phasen zu erzeugen; und eine neuronale Netzschaltung, die konfiguriert ist, um: Training auf eine Vielzahl von Neuronen der neuronalen Netzschaltung anzuwenden, um die Vielzahl von Neuronen so zu konfigurieren, dass sie einen jeweiligen Rotorwinkelversatz für jede einer Vielzahl von Rotordrehzahlen erzeugen, die den momentanen d-Achsen-Spannungswert minimieren; und nach Anwenden des Trainings einen Rotorwinkelversatz auf Grundlage einer momentanen Rotordrehzahl am Motor zu erzeugen, wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  • Beispiel 17. Vorrichtung nach Beispiel 16, wobei, um das Training anzuwenden, die neuronale Netzschaltung so konfiguriert ist, dass sie die Vielzahl von Neuronen trainiert, um die Vielzahl von Neuronen so zu konfigurieren, dass sie den Rotorwinkelversatz erzeugen, um den momentanen d-Achsen-Spannungswert für eine Vielzahl von Temperaturwerten zu minimieren.
  • Beispiel 18. Vorrichtung nach einer beliebigen Kombination der Beispiele 16 bis 17, wobei zum Anwenden des Trainings die neuronale Netzschaltung konfiguriert ist, um: eine Rotordrehzahltabelle zu erzeugen, wobei jeder Eintrag in der Rotordrehzahltabelle einen jeweiligen Rotordrehzahlwert der Vielzahl von Rotordrehzahlen und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst; und die Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle zu trainieren.
  • Beispiel 19. Vorrichtung nach einer beliebigen Kombination der Beispiele 16 bis 18, wobei zum Trainieren der Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle die neuronale Netzschaltung konfiguriert ist, um: für jeden jeweiligen Rotordrehzahlwert der Mehrzahl von Rotordrehzahlen die Vielzahl von Neuronen der neuronalen Netzschaltung zu trainieren, um eine Differenz zwischen dem von der neuronalen Netzschaltung ausgegebenen jeweiligen Rotorwinkelversatz und dem entsprechenden tatsächlichen Rotorwinkelversatz zu minimieren.
  • Beispiel 20. Vorrichtung nach einer beliebigen Kombination der Beispiele 16 bis 19, wobei zum Anwenden des Trainings die neuronale Netzschaltung konfiguriert ist, um: für jede Rotordrehzahl der mehreren Rotordrehzahlen die Vielzahl von Neuronen der neuronalen Netzschaltung so zu trainieren, dass sie den jeweiligen Rotorwinkelversatz ausgibt, der den momentanen d-Achsen-Spannungswert minimiert.
  • In dieser Offenbarungsind verschiedene Aspektebeschriebenworden. Diese und andere Aspekte liegen innerhalb des Umfangs der nachfolgenden Ansprüche.

Claims (20)

  1. Vorrichtung zum Treiben eines Motors, wobei die Vorrichtung Folgendes umfasst: eine Motorschaltung, die konfiguriert ist, um: auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert zu erzeugen; auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert zu erzeugen; und auf Grundlage des momentanen d-Achsen-Spannungswerts Spannung an der Vielzahl von Phasen zu erzeugen; und eine neuronale Netzschaltung, die so konfiguriert ist, dass sie einen Rotorwinkelversatz auf Grundlage einer momentanen Rotordrehzahl am Motor erzeugt, wobei die neuronale Netzschaltung so trainiert wurde, dass sie den Rotorwinkelversatz erzeugt, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren, und wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  2. Vorrichtung nach Anspruch 1, wobei zum Erzeugen des momentanen d-Achsen-Spannungswerts die Motorschaltung konfiguriert ist, um: einen d-Achsen-Stromfehlerwert basierend auf einer Differenz zwischen dem momentanen d-Achsen-Stromwert und einem d-Achsen-Referenzwert zu erzeugen, wobei der d-Achsen-Referenzwert Null entspricht; und einen Proportional-Integral-Regler anzuwenden, der so konfiguriert ist, dass er den momentanen d-Achsen-Spannungswert erzeugt, um den Fehlerwert des momentanen d-Achsen-Stromwerts zu minimieren.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei der momentane d-Achsen-Stromwert in einem ersten rotierenden Referenzrahmen dargestellt wird und wobei die Motorschaltung konfiguriert ist, um: auf Grundlage des fehlerkompensierten Rotorwinkels und des Stroms an der Vielzahl von Phasen einen momentanen q-Achsen-Stromwert zu erzeugen, der in einem zweiten rotierenden Referenzrahmen senkrecht zu dem ersten rotierenden Referenzrahmen dargestellt wird; und eine momentane q-Achsen-Spannung auf Grundlage des momentanen q-Achsen-Stromwerts zu erzeugen, wobei das Erzeugen der Spannung an der Vielzahl von Phasen ferner auf dem momentanen q-Achsen-Spannungswert beruht.
  4. Vorrichtung nach Anspruch 3, wobei zum Erzeugen des momentanen d-Achsen-Stromwerts und zum Erzeugen des momentanen q-Achsen-Stromwerts die Motorschaltung so konfiguriert ist, dass sie eine Clarke-Transformation auf den Strom an der Vielzahl von Phasen anwendet, um einen Alpha-Stromwert und einen Beta-Stromwert zu erzeugen, und basierend auf dem fehlerkompensierten Rotorwinkel eine Park-Transformation auf den Alpha-Stromwert und den Beta-Stromwert anwendet, um den momentanen d-Achsen-Stromwert und den momentanen q-Achsen-Stromwert zu erzeugen; und wobei zum Erzeugen der Spannung an den mehreren Phasen die Motorschaltung so konfiguriert ist, dass sie auf Grundlage des fehlerkompensierten Rotorwinkels eine inverse Park-Transformation auf den momentanen d-Achsen-Spannungswert und die momentane q-Achsen-Spannung anwendet, um einen Alpha-Spannungswert und einen Beta-Spannungswert zu erzeugen, und eine inverse Clarke-Transformation auf den Alpha-Spannungswert und den Beta-Spannungswert anwendet, um die Spannung an den mehreren Phasen zu erzeugen.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, umfassend: eine Rotorpositionssensorschaltung, die so konfiguriert ist, dass sie einen erfassten Rotorwinkelwert eines Rotors des Motors erfasst; eine Logikschaltung, die so konfiguriert ist, dass sie den Rotorwinkelversatz zu dem erfassten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen; und eine Drehzahlberechnungsschaltung, die so konfiguriert ist, dass sie die momentane Rotordrehzahl unter Verwendung des erfassten Rotorwinkelwerts bestimmt.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, umfassend: eine Rotorpositionsschätzungsschaltung, die so konfiguriert ist, dass sie einen geschätzten Rotorwinkelwert des Rotors erzeugt; eine Logikschaltung, die so konfiguriert ist, dass sie den Rotorwinkelversatz zu dem geschätzten Rotorwinkelwert addiert, um den fehlerkompensierten Rotorwinkel zu erzeugen; und eine Drehzahlberechnungsschaltung, die so konfiguriert ist, dass sie die momentane Rotordrehzahl unter Verwendung des geschätzten Rotorwinkels bestimmt.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei die neuronale Netzschaltung ferner trainiert wurde, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert für eine Vielzahl von Temperaturwerten zu minimieren.
  8. Vorrichtung nach einem der Ansprüche 1 bis 7, wobei die neuronale Netzschaltung so konfiguriert ist, dass sie eine Vielzahl von Neuronen der neuronalen Netzschaltung trainiert, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert zu minimieren, wobei zum Trainieren der Vielzahl von Neuronen des neuronalen Netzes die neuronale Netzschaltung konfiguriert ist, um: eine Rotordrehzahltabelle zu erzeugen, wobei jeder Eintrag in der Rotordrehzahltabelle einen jeweiligen Rotordrehzahlwert der Vielzahl von Rotordrehzahlen und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst; und die Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle zu trainieren.
  9. Vorrichtung nach Anspruch 8, wobei zum Trainieren der Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle die neuronale Netzschaltung konfiguriert ist, um: für jeden jeweiligen Rotordrehzahlwert der Mehrzahl von Rotordrehzahlen die Vielzahl von Neuronen der neuronalen Netzschaltung zu trainieren, um eine Differenz zwischen dem von der neuronalen Netzschaltung ausgegebenen Rotorwinkelversatz und dem entsprechenden tatsächlichen Rotorwinkelversatz zu minimieren.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, wobei die neuronale Netzschaltung so konfiguriert ist, dass sie eine Vielzahl von Neuronen der neuronalen Netzschaltung trainiert, um den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert zu minimieren, wobei zum Trainieren der Vielzahl von Neuronen des neuronalen Netzes die neuronale Netzschaltung konfiguriert ist, um: eine Temperaturtabelle zu erzeugen, wobei jeder Eintrag in der Temperaturtabelle einen jeweiligen Temperaturwert einer Vielzahl von Temperaturwerten und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst; und die Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Temperaturtabelle zu trainieren.
  11. Vorrichtung nach einem der Ansprüche 1 bis 10, wobei die neuronale Netzschaltung konfiguriert ist, um: für jede Rotordrehzahl der mehreren Rotordrehzahlen eine Vielzahl von Neuronen der neuronalen Netzschaltung so zu trainieren, dass sie den Rotorwinkelversatz ausgibt, der den momentanen d-Achsen-Spannungswert minimiert.
  12. Vorrichtung nach einem der Ansprüche 1 bis 11, wobei der momentane d-Achsen-Stromwert in einem rotierenden Bezugsrahmen dargestellt wird, der an einem Rotor des Motors fixiert ist.
  13. Vorrichtung nach einem der Ansprüche 1 bis 12, wobei der Motor einen Permanentmagnet-Synchronmotor, PMSM, oder einen gleichstromerregten Motor umfasst.
  14. Verfahren zum Treiben eines Motors, wobei das Verfahren Folgendes umfasst: durch eine Verarbeitungsschaltung und auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors erfolgendes Erzeugen eines momentanen d-Achsen-Stromwerts; durch die Verarbeitungsschaltung erfolgendes Erzeugen eines momentanen d-Achsen-Spannungswerts auf Grundlage des momentanen d-Achsen-Stromwerts; durch die Verarbeitungsschaltung erfolgendes Erzeugen einer Spannung an der Vielzahl von Phasen auf Grundlage des momentanen d-Achsen-Spannungswerts und Erzeugen eines Rotorwinkelversatzes basierend auf einer momentanen Rotordrehzahl am Motor durch eine neuronale Netzschaltung der Verarbeitungsschaltung, wobei die neuronale Netzschaltung darauf trainiert wurde, den Rotorwinkelversatz zu erzeugen, um den momentanen d-Achsen-Spannungswert für jede einer Vielzahl von Rotordrehzahlen am Motor zu minimieren, und wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  15. Verfahren nach Anspruch 14, wobei das Erzeugen des d-Achsen-Spannungswerts Folgendes umfasst: Erzeugen eines d-Achsen-Stromfehlerwerts basierend auf einer Differenz zwischen dem momentanen d-Achsen-Stromwert und einem d-Achsen-Referenzwert, wobei der d-Achsen-Referenzwert Null entspricht; und Anwenden eines Proportional-Integral-Reglers, der so konfiguriert ist, dass er den momentanen d-Achsen-Spannungswert erzeugt, um den Fehlerwert des momentanen d-Achsen-Stromwerts zu minimieren.
  16. Vorrichtung zum Treiben eines Motors, wobei die Vorrichtung Folgendes umfasst: eine Motorschaltung, die konfiguriert ist, um: auf Grundlage eines fehlerkompensierten Rotorwinkels und Stroms bei einer Vielzahl von Phasen des Motors einen momentanen d-Achsen-Stromwert zu erzeugen; auf Grundlage des momentanen d-Achsen-Stromwerts einen momentanen d-Achsen-Spannungswert zu erzeugen; und auf Grundlage des momentanen d-Achsen-Spannungswerts Spannung an der Vielzahl von Phasen zu erzeugen; und eine neuronale Netzwerkschaltung, die konfiguriert ist, um: Training auf eine Vielzahl von Neuronen der neuronalen Netzschaltung anzuwenden, um die Vielzahl von Neuronen so zu konfigurieren, dass sie einen jeweiligen Rotorwinkelversatz für jede einer Vielzahl von Rotordrehzahlen erzeugen, die den momentanen d-Achsen-Spannungswert minimieren; und nach Anwenden des Trainings einen Rotorwinkelversatz auf Grundlage einer momentanen Rotordrehzahl am Motor zu erzeugen, wobei der fehlerkompensierte Rotorwinkel auf dem Rotorwinkelversatz basiert.
  17. Vorrichtung nach Anspruch 16, wobei, um das Training anzuwenden, die neuronale Netzschaltung so konfiguriert ist, dass sie die Vielzahl von Neuronen trainiert, um die Vielzahl von Neuronen so zu konfigurieren, dass sie den Rotorwinkelversatz erzeugen, um den momentanen d-Achsen-Spannungswert für eine Vielzahl von Temperaturwerten zu minimieren.
  18. Vorrichtung nach Anspruch 16 oder 17, wobei zum Anwenden des Trainings die neuronale Netzschaltung konfiguriert ist, um: eine Rotordrehzahltabelle zu erzeugen, wobei jeder Eintrag in der Rotordrehzahltabelle einen jeweiligen Rotordrehzahlwert der Vielzahl von Rotordrehzahlen und einen entsprechenden tatsächlichen Rotorwinkelversatz umfasst; und die Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle zu trainieren.
  19. Vorrichtung nach Anspruch 18, wobei zum Trainieren der Vielzahl von Neuronen der neuronalen Netzschaltung unter Verwendung der Rotordrehzahltabelle die neuronale Netzschaltung konfiguriert ist, um: für jeden jeweiligen Rotordrehzahlwert der Mehrzahl von Rotordrehzahlen die Vielzahl von Neuronen der neuronalen Netzschaltung zu trainieren, um eine Differenz zwischen dem von der neuronalen Netzschaltung ausgegebenen jeweiligen Rotorwinkelversatz und dem entsprechenden tatsächlichen Rotorwinkelversatz zu minimieren.
  20. Vorrichtung nach einem der Ansprüche 16 bis 19, wobei zum Anwenden des Trainings die neuronale Netzschaltung konfiguriert ist, um: für jede Rotordrehzahl der mehreren Rotordrehzahlen die Vielzahl von Neuronen der neuronalen Netzschaltung so zu trainieren, dass sie den jeweiligen Rotorwinkelversatz ausgibt, der den momentanen d-Achsen-Spannungswert minimiert.
DE102021100418.7A 2020-01-17 2021-01-12 Rotorwinkelfehlerkompensation für Motoren Pending DE102021100418A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/746,077 2020-01-17
US16/746,077 US11588426B2 (en) 2020-01-17 2020-01-17 Rotor angle error compensation for motors

Publications (1)

Publication Number Publication Date
DE102021100418A1 true DE102021100418A1 (de) 2021-07-22

Family

ID=76650713

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021100418.7A Pending DE102021100418A1 (de) 2020-01-17 2021-01-12 Rotorwinkelfehlerkompensation für Motoren

Country Status (3)

Country Link
US (1) US11588426B2 (de)
CN (1) CN113224989A (de)
DE (1) DE102021100418A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022134257B3 (de) 2022-12-21 2024-06-27 Infineon Technologies Ag Motorsteuerungsschaltung

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629089B1 (en) * 2000-09-29 2003-09-30 Cirrus Logic, Inc. Artificial neural network voice coil motor controller
US6713978B2 (en) * 2001-07-18 2004-03-30 Texas A&M University System Method and system for determining induction motor speed
US6774592B2 (en) * 2001-12-03 2004-08-10 Delphi Technologies, Inc. Method and system for controlling a permanent magnet machine
JP3935099B2 (ja) * 2003-04-15 2007-06-20 株式会社デンソー 車両用蓄電装置の内部状態検出システム
US8080964B2 (en) * 2004-10-29 2011-12-20 Virginia Tech Intellectual Properties, Inc. Neural network and method for estimating regions of motor operation from information characterizing the motor
CN103840725B (zh) * 2012-11-26 2016-05-18 台达电子工业股份有限公司 永磁同步电机转子位置偏差测量装置及方法
KR101840509B1 (ko) * 2014-04-29 2018-03-20 엘에스산전 주식회사 동기전동기 센서리스 벡터제어를 위한 회전각 추정장치
KR101539539B1 (ko) * 2014-05-12 2015-07-24 엘에스산전 주식회사 유도전동기 제어장치
US10084399B2 (en) * 2016-06-22 2018-09-25 Faraday & Future Inc. Detecting position measurement errors in an electric motor system
CN108063574A (zh) * 2016-11-09 2018-05-22 密克罗奇普技术公司 启动同步电机的系统和方法
CN106788028B (zh) * 2016-12-20 2018-12-14 江苏大学 无轴承永磁同步电机强化学习控制器及其构造方法
CN108448979B (zh) * 2018-03-27 2021-10-22 北京工业大学 一种基于磁编码器误差神经网络补偿的永磁同步电机系统
TWI717001B (zh) * 2019-09-05 2021-01-21 登騰電子股份有限公司 電動機控制器與電動機控制方法
CN113691176B (zh) * 2021-08-10 2023-08-18 曲阜师范大学 一种基于神经网络直接转矩控制的永磁直驱风电机组控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022134257B3 (de) 2022-12-21 2024-06-27 Infineon Technologies Ag Motorsteuerungsschaltung
DE102022134257B8 (de) 2022-12-21 2024-09-05 Infineon Technologies Ag Motorsteuerungsschaltung

Also Published As

Publication number Publication date
US11588426B2 (en) 2023-02-21
US20210226567A1 (en) 2021-07-22
CN113224989A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
DE19545709C2 (de) Verfahren zum feldorientierten Steuern eines Induktionsmotors
DE60036665T2 (de) Verfahren und Vorrichtung zur Bestromung der Statorwindungen einer drehenden elektrischen Maschine
DE112007000277B4 (de) Regelungsverfahren und -gerät für einen elektrischen Motor
DE3600661C2 (de)
DE102005032703A1 (de) Ursprungsoffset-Berechnungsverfahren einer Drehpositions-Erfassungsvorrichtung eines Elektromotors und Motorsteuervorrichtung, die das Berechungungsverfahren verwendet
DE102011076734A1 (de) Verfahren und Vorrichtung zur Winkelschätzung in einer Synchronmaschine
DE102017103727B4 (de) Flussschätzung für eine fehlertolerante Regelung von PMSM-Maschinen für elektrische Servolenkungen
DE102015207185B4 (de) Vorrichtung und Verfahren zum Minimieren des Einflusses einer Temperaturveränderung in einem Motor
DE102007023650A1 (de) Ausgabesteuervorrichtung und -verfahren für eine dynamoelektrische Maschine eines Feldwicklungstyps
DE112006002501T5 (de) Ermittlungsvorrichtung und -verfahren für Anfangspolposition für einen synchronen Wechselstrommotor
DE102012205540B4 (de) Verfahren und Vorrichtung zur sensorlosen Regelung einer fremderregten Synchronmaschine
DE10307988B4 (de) System und Verfahren zum Schätzen einer Rotorposition eines Permanentmagnetmotors
DE102010028104A1 (de) Drehmomenterzeugung in einem Elektromotor in Antwort auf einen Stromsensorfehler
DE102013205962A1 (de) Verfahren, Systeme und Geräte für das Erzeugen von Spannungsbefehlen, welche benutzt werden, um den Betrieb einer Permanentmagnetmaschine zu steuern
DE102021100418A1 (de) Rotorwinkelfehlerkompensation für Motoren
DE102013222075A1 (de) Vorrichtung und Verfahren zum Initialisieren eines Regelkreises für einen Strom zum Betrieb einer Synchronmaschine
DE102019116339B4 (de) Motoransteuervorrichtung
DE3130692A1 (de) Verfahren und vorrichtung zum bestimmen der laeuferzeitkonstante einer feldorientierten drehfeldmaschine
DE102008007100A1 (de) Verfahren und Vorrichtung zur Stromregelung oder Momentenregelung
DE102021104242B4 (de) Open-loop-kompensation von durch parameterungleichgewicht verursachten stromoberwellen
DE102021110160A1 (de) Kompensation von durch Parameterungleichgewicht induzierten Stromoberschwingungen in Synchronmotorantrieben durch Rückkopplung
DE102021126084A1 (de) Aktive motorstrombegrenzung von synchronmotorantrieben
DE102022117961B3 (de) Positionsschätzung für permanentmagnet-synchronmaschinenmittels rotorfluss-raumvektoridentifikation
DE102021205649A1 (de) Verfahren und Vorrichtung zum Regeln einer elektrischen Maschine
DE112020004356T5 (de) Echtzeit-widerstandsschätzung und -einstellung für permanentmagnet-synchronmaschinen