STEUERUNG VON MODULAREN-MEHRPUNKT-SERIEN-PARALLEL-UMRICHTERN
(MMSPC) MITTLES SCHALTTABELLEN UND DEREN KONTINUIERLICHE OPTIMIERUNG
IM HINTERGRUND
Die vorliegende Erfindung betrifft ein Verfahren zu einer Steuerung eines
Gesamtschaltzustandes, also von Schaltzuständen aller Schalter eines
Multilevelkonverters, insbesondere eines modularen Multilevelkonverters. Ferner wird ein System zu einer Umsetzung dieser Schaltsteuerung beansprucht.
Um aus einer Gleichspannung eine Wechselspannung vorbestimmter Frequenz zu erhalten, werden Ein- und Ausgangsspannungen in einer herkömmlichen
Leistungselektronik mit wenigen Leistungsschaltern zwischen wenigen Niveaus, meist zwei bis drei, geschaltet, um im Mittel die gewünschte Größe zu erhalten. Im Gegensatz dazu arbeiten moderne Multilevelkonverter nach einem Schema, die Wechselspannung durch eine dynamische wechselbare Konfiguration von über eine Vielzahl elektronischer Schalter verschalteten Energiespeichern, wie bspw. Kondensatoren oder Energiezellen, zu erzeugen. Dabei kommen wesentlich mehr elektronische Schalter, bspw.
Leistungshalbleiterschalter, als bei der herkömmlichen Leistungselektronik zum Einsatz, woraus eine Vielzahl von realisierbaren Gesamtschaltzuständen und damit verbundenen Ausgangsspannungen des Multilevelkonverters in sehr feinen Abstufungen bzw. Leveln gebildet werden kann. Gleichzeitig existiert eine hohe Zahl an Freiheitsgraden, mit verschiedenen Gesamtschaltzuständen ein gleiches Spannungslevel zu realisieren, wobei eine Steuerung des Multilevelkonverters allen Schaltern zu jeder Zeit einen eindeutigen Zustand zuweisen muss. Grundsätzlich lässt sich eine jeweilige Bauart eines Multilevelkonverters anhand eines Einzelmoduls definieren, bspw. dargestellt in der Druckschrift DE 10 2015 112 512 Al der Anmelderin. Je nach Schaltungsanordnung der von einem Einzelmodul umfassten Schaltelemente können alle eine Verschaltung des ebenfalls umfassten Energiespeichers betreffenden Schaltzustände unabhängig von zusätzlichen angeschlossenen, baulich gleichen Einzelmodulen erreicht werden.
Ein zentraler Multilevelkonverter in diesem Sinne ist der modulare Multilevelkonverter MMSPC, beschrieben durch S. M. Goetz, A. V. Peterchev and T. Weyh, "Modular
Multilevel Converter With Series and Parallel Module Connectivity: Topology and Control," in IEEE Transactions on Power Electronics, vol. 30, no. 1 , pp. 203-215, Jan. 2015 und ferner in den Druckschriften US 9,502,960 B2 sowie DE 10 2016 112 250 Al . Dieser zeichnet sich gegenüber konventionellen modularen Multilevelkonvertern, bspw. von R. Marquardt in der Druckschrift DE 101 03 0301 Al beschrieben, und auf die die
Erfindung ebenso anwendbar ist, durch die Existenz eines zusätzlichen Parallel-Zustands aus, wodurch ein MMSPC in einem Strang eine nahezu beliebige elektrische seriell- parallele Schaltungskonfiguration von modulintegrierten Energiespeichern erzeugen und diese dynamisch ändern kann. Ferner steht zumeist auch ein Umgehungszustand, ein sogenannter Bypass zur Verfügung, um den Energiespeicher eines Moduls zu umgehen. Generell kann bei modularen Multilevelkonvertern ein Modulschaltzustand, also die Schaltzustände der Schalter des einzelnen Moduls, gemäß folgender Liste eindeutig beschrieben werden: parallel, seriell, Bypass, abgeschaltet. Eine Anwendung stellt ein modularer Multiphasen-Multilevelkonverter dar, bei dem jeweils mehrere Module in einem Strang angeordnet werden, wobei ein jeweiliger Strang dann eine jeweilige Phase einer mehrphasigen Wechselspannung bereitstellt. Ein Grundproblem der Steuerung modularer Multilevelkonverter ist die hohe Anzahl an Freiheitsgraden, d. h. die Vielzahl unterschiedlicher Schalt- oder Modulzustände, welche zunächst die gleiche Spannung bilden. Eine Gesamtheit der Modulzustände legt eine Ausgangsspannung des Multilevelkonverters fest. Zu einem Betrieb des
Multilevelkonverters muss ein Steuergerät der Schaltsteuerung, ein sogenannter
Scheduler, zu jedem Zeitpunkt die Zustände aller Module festlegen und aktiv steuern. Eine solche Zustandsermittlung und -Zuweisung an alle Schalter aller Module geschieht bei einer Taktfrequenz zwischen 1 kHz und 1 MHz entsprechend 1000 bis 1 Million Mal pro Sekunde. Aus dem Stand der Technik sind zur Auswahl der jeweiligen Modulzustände zu einer Generierung einer gewünschten Spannung diverse Verfahren bekannt. Eines davon
beinhaltet eine Verwendung einer sogenannten Look-Up-Table oder Schalttabelle, in der die zu schaltenden Modulzustände festgelegt sind, was den Vorteil eines geringen Rechenaufwandes und einer Einfachheit einer Implementierung mit sich bringt. Die Druckschrift WO 2015/193439 Al beschreibt bspw. hierzu einen
Multiphasenstromrichter, bei dessen Ansteuerung eine Schalttabelle angewendet werden kann. Nachteilig bei einem solchen Verfahren ist, dass die Schalttabelle, wenn überhaupt, nur zu einem gewissen Zeitpunkt eine optimale Verschaltung bereitstellt. Durch eine unterschiedliche Entladung der einzelnen Energiezellen bzw. -Speicher in den jeweiligen Modulen ergeben sich ständig neue optimale Schaltzustände zu den jeweiligen gewünschten Spannungsleveln am Ausgang des Multilevelkonverters, und ein gemäß der einmal gebildeten und abgespeicherten Schalttabelle zugewiesener Gesamtschaltzustand wird sich mit zunehmender Betriebsdauer immer weiter weg von einem optimalen Gesamtschaltzustand befinden. Vorteilhaft wäre hier ein Online-Optimierungsverfahren, welches gemäß eines aktuellen Zustandes aller Energiespeicher des Multilevelkonverters und/oder weiterer denkbarer Nebenbedingungen, wie bspw. gleichmäßiger Belastung der Energiespeicher, eine mathematische Optimierung ermittelt. Für eine echte mathematische Optimierung müssten prinzipiell alle möglichen Schaltzustände, bspw. bei 10 MMSPC-artigen Modulen mit mindestens fünf Schaltzuständen pro Modul, in Summe 5L10 und damit fast 10L7 gleich 10 Millionen mögliche Schaltzustände je Zeitschritt berechnet und gegeneinander abgewogen werden. Dann müsste eine gewisse Zahl von Zeitschriften in die Zukunft berechnet werden, um diesbezüglich eine beste Lösung zu finden. Bei M Zeitschriften wären das (5L10)LM Alternativen. Allein eine Berechnung für zwei Zeitschritte würde bereits mit etwa 10L21 Alternativen den Rahmen eines Hochleistungsrechners (10L 15 Operationen pro Sekunde) bei weitem übersteigen. Daher ist keines der existierenden Verfahren bislang in der Lage, diesen gigantischen Rechenaufwand zu bewältigen.
Heuristische Verfahren hingegen können zwar - je nach Komplexität - online zu Lösungen kommen, diese werden aber immer auch einen gewissen Abstand zu einem optimalen Gesamtschaltzustand aufweisen.
Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zu einer Steuerung von Schaltzuständen aller Schalter eines Multilevelkonverters zur Verfügung zu stellen, welches online, d. h. bei einem Betrieb des Multilevelkonverters in Echtzeit, zu einer jeweiligen Spannungsanforderung einen jeweiligen optimalen
Gesamtschaltzustand des Multilevelkonverters gemäß vorgegebenen Nebenbedingungen berechnet und einer Steuerung des Multilevelkonverters bereitstellt. Zudem soll ein entsprechendes System, welches dazu konfiguriert ist, das Verfahren auszuführen, bereitgestellt werden. Zur Lösung der voranstehend genannten Aufgabe wird ein Verfahren zu einer Steuerung eines Gesamtschaltzustandes eines Multilevelkonverters bereitgestellt, bei dem der Multilevelkonverter mindestens ein Modul aufweist, bei dem das mindestens eine Modul mindestens einen Anschluss auf einer ersten Seite und mindestens einen Anschluss auf einer zweiten Seite, mindestens zwei steuerbare Schalter und mindestens einen
Energiespeicher aufweist. In einer Ausführungsform ist in einer ersten Verbindung zwischen dem mindestens einen Anschluss auf der ersten Seite und dem mindestens einen Anschluss auf der zweiten Seite der mindestens eine Energiespeicher in Reihe mit einem ersten der mindestens zwei steuerbaren Schalter angeordnet, und in einer zweiten Verbindung ist zwischen dem mindestens einen Anschluss auf der ersten Seite und dem mindestens einen Anschluss auf der zweiten Seite ein zweiter der mindestens zwei steuerbaren Schalter angeordnet. Durch diese Ausführungsform lässt sich zwischen dem ersten und dem zweiten Anschluss des mindestens einen Moduls der Energiespeicher in Reihe schalten, oder er lässt sich umgehen, oder es lässt sich eine elektrische Leitung komplett unterbrechen. In einer weiteren Ausführungsform weist das mindestens eine Modul mindestens zwei Anschlüsse auf der ersten und mindestens zwei Anschlüsse auf der zweiten Seite auf. Der mindestens eine Energiespeicher ist unmittelbar zwischen den mindestens zwei Anschlüssen der ersten Seite oder der zweiten Seite angeordnet, ein erster der mindestens zwei steuerbaren Schalter ist zwischen einem ersten Anschluss auf der ersten Seite und einem ersten Anschluss auf der zweiten Seite angeordnet, und ein zweiter der mindestens zwei steuerbaren Schalter ist zwischen einem zweiten Anschluss auf der ersten Seite und einem zweiten Anschluss auf der zweiten Seite
angeordnet. Durch diese Ausführungsform lässt sich bei geschlossenem Zustand der mindestens zwei Schalter der Energiespeicher des mindestens einen Moduls parallel zu weiteren Modulen schalten, wobei durch andere Schaltzustände weiterhin eine
Reihenschaltung oder eine Umgehung des Energiespeichers möglich ist. Bei dem erfindungsgemäßen Verfahren wird die Steuerung des Multilevelkonverters wird in einen Realzeit-Teil und einen Offline-Teil aufgeteilt. Eine Realzeit wird im Folgenden
insbesondere derart aufgefasst, dass der entsprechende Steuerungsteil als Teil der Steuerungsschleife zur Erzeugung des für die Steuerung benötigten
Gesamtschaltzustandes zwingend benötigt wird und deshalb eine maximale
Verarbeitungszeit nie überschreiten darf, um die Erzeugung des Gesamtschaltzustandes nicht zu verzögern. Offline werden dagegen insbesondere Steuerungsteile bezeichnet, die keine fest bekannte maximale Bearbeitungsdauer aufweisen müssen und/oder deutlich langsamer ablaufen als der Realzeit-Teil, beispielsweise mindestens um einen Faktor 10 langsamer, vorzugsweise mindestens um einen Faktor 100 langsamer, und deshalb bspw. nebenläufig und/oder asynchron zu einer Bearbeitung des Realzeit-Teiles ablaufen. Bei jedem Zeitschritt wird im Realzeit-Teil einer jeweiligen
Spannungsanforderung durch einen Modulator ein jeweiliges Spannungslevel zugewiesen, und zu dem jeweiligen Spannungslevel wird durch einen Scheduler in einer ersten
Schalttabelle ein jeweiliger Gesamtschaltzustand aller Schalter des Multilevelkonverters ermittelt und der jeweilige Gesamtschaltzustand als Steuersignal an alle Schalter weitergegeben. Im Offline-Teil wird durch einen Optimierer in kontinuierlicher Abfolge eine zweite Schalttabelle, die jeweiligen Spannungsleveln jeweilige Gesamtschaltzustände zuordnet, berechnet. Die zweite Schalttabelle ergibt sich gemäß einer Minimierung einer Kostenfunktion, wobei die Kostenfunktion einen Gesamtschaltzustand, der aus
vorgegebenen jeweiligen Modulschaltzuständen der Mehrzahl von Modulen gebildet wird, mindestens in Bezug auf gleichmäßige Entladung aller Energiespeicher des
Multilevelkonverters und/oder in Bezug auf minimale Schaltverluste und/oder minimale Durchlassverluste und/oder minimale Verluste in den Energiespeichern und/oder minimale Gesamtverluste wertet. Schließlich wird dem Optimierer ein aktueller
Ladezustand aller Energiespeicher des Multilevelkonverters kontinuierlich bereitgestellt.
Die erste und die zweite Schalttabelle können zu einem Zeitpunkt voneinander
unterschiedlich oder gleich sein.
In einer Ausführungsform des erfindungsgemäßen Verfahrens wird im Realzeit-Teil der jeweilige Gesamtzustand aller Schalter in der ersten Schalttabelle ermittelt, und im Offline-Teil durch einen Optimierer in kontinuierlicher Abfolge die zweite Schalttabelle, wobei die erste und die zweite Schalttabelle zu einem Zeitpunkt voneinander
unterschiedlich sein können, berechnet. Nach Abschluss der Berechnung ersetzt die berechnete zweite Schalttabelle die erste Schalttabelle, und wird fortan als die erste Schalttabelle verwendet, worauf von dem Optimierer mit der Berechnung einer neuen zweiten Schalttabelle begonnen wird.
Das erfindungsgemäße Verfahren kann mehrere Schalttabellen, ähnlich einem
sogenannten Shadow-Memory-Ansatz, verwenden, bei dem der Realzeit-Teil mit einer oder mehreren Tabellen arbeitet, der Offline- bzw. Asynchron-Teil jedoch mit anderen Tabellen arbeitet, und zu einem bestimmten Zeitpunkt die Tabellen ausgetauscht werden, bspw. einfach durch Umschalten einer Speicheradresse in einer Recheneinheit eines das erfindungsgemäßen Verfahren ausführenden Systems. Alternativ kann jedoch der Offline-Teil prinzipiell in einer anderen Ausführungsform auch direkt auf die Schalttabelle des Realzeit-Teiles arbeiten, sollte allerdings möglichst zur Wahrung der Konsistenz immer zumindest einen Gesamtzustandseintrag austauschen. Der Realzeit-Teil greift auf diese mindestens eine erste Schalttabelle nur lesend zu. Das erfindungsgemäße Verfahren löst die gestellte Aufgabe durch Auslagerung eines Optimierungsproblems aus dem Modulator des Realzeit-Teils der Steuerung, in dem bislang nach dem Stand der Technik schalttechnische Verfahren ausgeführt wurden, in den Offline-Teil, in welchem ein Optimierer anhand einer Kostenfunktion nach einer besten zweiten Schalttabelle sucht. Somit kann der Modulator seine notwendig hohe
Geschwindigkeit beibehalten, um zusammen mit dem Scheduler gemäß der zur
Verfügung gestellten ersten Schalttabelle im Multilevelkonverter einen
Gesamtschaltzustand hervorzurufen, welcher eine Ausgangsspannung des Multilevelkonverters zur Folge hat, die der jeweiligen Spannungsanforderung entspricht. Währenddessen wird parallel dazu die Optimierung ausgeführt, wobei, nach jeweiligem Abschluss der hierzu notwendigen Berechnungen, eine neue erste Schalttabelle, gleichbedeutend mit einer neuen Parametrisierung der Verschaltungen in einem jeweiligen Gesamtschaltzustand für ein jeweiliges vom Multilevelkonverter darzustellendes
Spannungslevel dem Scheduler zur Verfügung gestellt wird. Auf Basis dieser ersten Schalttabelle nimmt der Scheduler dann im weiteren Verlauf eine Auswahl des
Gesamtschaltzustandes für den Multilevelkonverter vor.
Die Parametrisierung bzw. die erste Schalttabelle bzw. die zweite Schalttabelle, jeweils auch als Look-Up-Tabelle bezeichnet, weist jedem der bei INI Modulen meist (2N+1) am Ausgang des Multilevelkonverters darzustellenden Spannungsleveln eine Kombination von Schalterstellungen in den jeweiligen Modulen zu, wobei die jeweiligen Schalterstellungen innerhalb eines jeweiligen Moduls zusammengefasst als ein jeweiliger Modulschaltzustand bezeichnet werden. Im Wesentlichen geht es bei dem jeweiligen Modulschaltzustand eines jeweiligen Moduls immer darum, wie der vom jeweiligen Modul umfasste
Energiespeicher mit den weiteren Energiespeichern des Multilevelkonverters verschaltet ist. Aus der ersten Schalttabelle sucht der Scheduler für ein ihm vom Modulator quantisiertes und übergebenes Spannungslevel einen Gesamtschaltzustand, der durch die jeweiligen Modulschaltzustände definiert ist bzw. sein kann. So werden bei einem Beispiel-Modul mit acht Schaltern (siehe Figur 1 und die zugehörige Beschreibung) insgesamt fünf Modulschaltzustände festgelegt, für die die acht Schalter die in Tabelle 1 aufgeführten Schalterstellungen einnehmen. Die Modulschaltzustände lauten:„s+“ für serielle Verschaltung mit positiver Polarität,„s-“ für serielle Verschaltung mit negativer Polarität,„p“ für parallele Verschaltung,„b+“ für Bypass mit positiver Polarität und„b-“ für Bypass mit negativer Polarität. Dabei bedeutet die positive bzw. negative Polarität, welche Polarität der beiden Anschlüsse auf der ersten Seite des Moduls auf die beiden Anschlüsse auf der zweiten Seite des Moduls durchgeschaltet wird. Beim Bypass bzw. einer Modulumgehung ist dies gleichbedeutend mit Durchschaltung über eine hochseitige bzw. High-Side-Verbindung, auch als untere Modulstromschiene, elektrisch verbunden mit
dem negativen Anschluss eines Energiespeichers erkennbar, oder eine niederseitige bzw. Low-Side-Verbindung, auch als obere Modulstromschiene, elektrisch verbunden mit dem positiven Anschluss eines Energiespeichers erkennbar, der in Halbbrücken angeordneten Schalter des Moduls. Eine weitere Beschreibung hierzu erfolgt in der
Figurenbeschreibung zu Figur 1.
Tabelle 1 : Modulschaltzustände s+, s-, p, b+, b- und jeweilige Schalterstellungen der acht Schalter S1 bis S8 aus Figur 1.
Si S2 S3 S4 S5 SÖ S7 Ss s+ ON OFF ON OFF OFF ON OFF ON s- OFF ON OFF ON ON OFF ON OFF
P ON OFF OFF ON ON OFF OFF ON
b+ ON OFF ON OFF ON OFF ON OFF b- OFF ON OFF ON OFF ON OFF ON Der Optimierer berechnet unabhängig vom Scheduler und gleichzeitig bzw. parallel zum Scheduler eine neue zweite Schalttabelle und berücksichtigt dabei den aktuellen Zustand des Systems, um durch Minimierung der Kostenfunktion mindestens ein mathematisch beschriebenes Ziel zu erreichen. Beispielsweise ist für das Ziel eines Ladungsausgleiches zwischen Modulen, d. h. dass über lange Betriebsdauern alle Module bzw. alle von den jeweiligen Modulen umfasste Energiespeicher möglichst dieselbe Ladung abgeben oder aufnehmen, der aktuelle Ladungszustand der jeweiligen Module bzw. der jeweiligen davon umfassten Energiespeicher von Bedeutung, damit der Optimierer entscheiden kann, welches Modul besonders stark Leistung abgeben oder aufnehmen soll und dieses bspw. vorzugsweise für Seriell-Schaltungen„s+“ oder„s-“ im Betrieb vorgesehen sein soll.
Der Optimierer verwendet vorzugsweise numerische Optimierungsverfahren zur
Ermittlung der neuen zweiten Schalttabelle. Hierzu ist das Optimierungsproblem vorteilhaft als mathematisches Problem formuliert, bei dem die zu minimierende
Kostenfunktion mindestens einen Term aufweist, in dem das mindestens eine Ziel mathematisch als ein Abstand und/oder eine Summengröße formuliert wird, wobei man
sich genau dann dem Ziel nähert oder es erreicht, wenn der Abstand und/oder die Summengröße optimal wird. Zumeist ist optimal mit minimal zu verstehen. Sollte möglicherweise eine Summengröße maximiert werden, kann diese mathematische Maximierung durch Multiplikation mit— 1 auf eine Minimierung zurückgeführt werden. Dem können auch bestimmte Randbedingungen hinzugefügt werden. Weiterhin können mit dem mindestens einen Term auch zusätzlichen Zielen entsprechende zusätzliche Terme, ggfs, mit einem jeweiligen Skalierungsfaktor versehen, mathematisch verknüpft werden. Der Optimierer berechnet nun bspw. für ein jeweilig durch den Multilevelkonverter erzeugbares Spannungslevel denjenigen Gesamtschaltzustand, der einem jeweiligen Minimum der Kostenfunktion entspricht und speichert diesen Gesamtschaltzustand in der zweiten Schalttabelle ab. Unter Umständen ist es möglich, dass mehrere
Gesamtschaltzustände das gleiche Minimum der Kostenfunktion bewirken und gleichfalls in der zweiten Schalttabelle abgespeichert werden. Der Gesamtschaltzustand entspricht dabei der Gesamtheit der Schalterstellungen aller Schalter des Multilevelkonverters bzw. aller Modulschaltzustände, die zur Bereitstellung eines gewünschten bzw. vorgegebenen Spannungslevels einzustellen bzw. eingestellt sind. Eine jeweilige Schalttabelle, d. h. sowohl die erste Schalttabelle als auch die zweite Schalttabelle, weist somit jedem Spannungslevel mindestens einen Gesamtschaltzustand zu bzw. jedem Modul mindestens einen Modulschaltzustand zu. Da der Scheduler nur lesend auf die erste Schalttabelle zugreift, vorteilhaft der Optimierer aber nur schreibend, und zwar beim Übertrag der aktuell bestimmten zweiten Schalttabelle auf die erste Schalttabelle, können sowohl Scheduler wie Optimierer ohne größeren Synchronisierungsaufwand asynchron parallel ablaufen. In einer Ausführungsform des erfindungsgemäßen Verfahrens wird die erste Schalttabelle nach einer vorgegebenen Zeit durch die neu berechnete zweite Schalttabelle ersetzt.
Dies bedeutet, dass die erste Schalttabelle nicht überschrieben wird, sobald der
Optimierer mit der Berechnung der neuen zweiten Schalttabelle fertig ist, sondern erst nach Verstreichen einer vorbestimmten Zeitspanne. Diese vorbestimmte Zeitspanne kann bspw. durch ein festes Zeitintervall gebildet werden, sie kann aber auch willkürlich durch einen Zufallsgenerator gebildet werden. Ferner kann sie von möglicherweise begrenzten
rechentechnischen Ressourcen bestimmt, und/oder durch eine Notwendigkeit, dem Scheduler eine verbesserte erste Schalttabelle zur Verfügung zu stellen, gebildet werden.
In die Kostenfunktion kann eine Bewertung des aktuellen Ladezustands aller
Energiespeicher des Multilevelkonverters eingehen, mit der Hauptaufgabe, eine Entladung der jeweiligen Energiespeicher möglichst gleichmäßig zu gestalten. Hierdurch wird vorteilhaft eine Gesamtentladekapazität maximiert und auch eine Lebensdauer eines jeweiligen Energiespeichers insgesamt verlängert. Alternativ oder gemeinsam hierzu kann ein Beitrag zur Kostenfunktion durch eine Bewertung von Verlusten gebildet werden, wie sie bspw. durch Schaltverluste in den Halbleitern und/oder einen Ohm'schen Verlust bei paralleler Verschaltung einzelner Module mit benachbarten Modulen und/oder durch Ohm’sche Verluste in Energiespeichern und/oder Halbleitern (Durchlassverluste) entstehen. Eine Beschreibung zur diesbezüglichen Optimierung der zweiten Schalttabelle und damit der späteren ersten Schalttabelle erfolgt weiter unten.
In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens werden mehrere Module in Reihe zu mindestens einem Strang verbunden, durch den eine jeweilige Phase einer Wechselspannung gebildet wird. Die jeweiligen Stränge können an einem jeweiligen Stranganfang über einen doppelten Neutralpunkt verbunden sein. An ihrem jeweiligen Strangende können die jeweiligen den jeweiligen Strang abschließenden Module an deren Anschlüssen auf deren jeweiligen zweiten Seite kurzgeschlossen sein und ebendort die jeweilige Phase für einen Betrieb einer mehrphasigen elektrischen Maschine oder eines Wechselspannungsnetzgerätes bilden. Die mehrphasige elektrische Maschine kann bspw. ein Elektrofahrzeug antreiben.
Wie voranstehend erwähnt, hat das Beispiel-Modul mit acht Schaltern fünf verschiedene Modulschaltzustände. Sind mehrere derartige Beispiel-Module zu Strängen
aneinandergereiht, bspw. jeweils sechs Beispiel-Module zu insgesamt drei Strängen, so weist das jeweils letzte Beispiel-Modul im jeweiligen Strang nur vier Modulschaltzustände auf, da in diesem Fall die Modulschaltzustände„s-“ und„b-“ den gleichen Schaltzustand generieren. Daher wird für jeden Strang bzw. jede Phase in dem Beispiel mit sechs
Modulen pro Strang eine Zahl an 5L5*4=12500 verschiedener Schaltzustände erhalten. Werden die jeweiligen Stränge an ihrem jeweiligen Stranganfang zu einem doppelten Neutralpunkt verbunden, sind die drei Phasen nicht mehr unabhängig voneinander und man erhält insgesamt 12500L3 mögliche Modulschaltzustände für den mit den Beispiel- Modulen zusammengesetzten Multilevelkonverter. Jedoch sind nicht alle Kombinationen von Verschaltungen zwischen den Beispiel-Modulen sinnvoll. So ist es bspw. nicht sinnvoll, benachbarte Beispiel-Module, die gleichzeitig Modulschaltzustand„s+“ oder„s-“ aufweisen, miteinander zu verbinden. Im Folgenden wird daher beschrieben, wie eine Gesamtheit aller möglichen Modulschaltzustände auf einen kleineren Satz umsetzbarer Modulschaltzustände der miteinander in einem jeweiligen Strang verbundenen Module reduziert wird.
Um Verluste zu reduzieren, ist es vorteilhaft, die jeweiligen Stränge in große Gruppen von parallel miteinander verbundenen Modulen aufzuteilen und den Bypass zu vermeiden. Daher werden in einer noch weiteren Ausführungsform des erfindungsgemäßen
Verfahrens aus einer Gesamtheit aller möglichen Modulschaltzustände die zugeordneten bzw. zuordenbaren Modulschaltzustände aus denjenigen Modulschaltzuständen gebildet, welche sich aus einer parallelen Verschaltung aller Module in einem Grundschaltzustand heraus ergeben können. Dies beschränkt aber nicht die Möglichkeit, grundsätzlich alle Kombinationsmöglichkeiten von Modulschaltzuständen zur Optimierung heranzuziehen. Zieht man aber nur diejenigen Modulschaltzustände heran, die sich aus der parallelen Verschaltung ergeben, so ist der Grundschaltzustand für benachbarte Module damit der parallele Modulschaltzustand„p“. Wie aus der Beschreibung zu Figur 2 hervorgeht, gibt es N-l negative und N positive Spannungslevel /, mit l e(-N+l,...,N). Um ein
gewünschtes Spannungslevel / zu erhalten, müssen / Module in Reihe geschaltet werden. Eine Zahl n
i20 aller möglichen Modulschaltzustände bei positiven Spannungsleveln ist dabei gegeben durch
und eine Zahl n
t<0 aller möglichen Modulschaltzustände bei negativen Spannungsleveln ist
Eine Gesamtzahl ntot aller möglichen Modulschaltzustände für die umsetzbaren
Spannungslevel ist gegeben durch
Sollte ein Modul defekt sein, ist für dieses Modul ein paralleler Modulschaltzustand nicht mehr möglich und wird durch den Bypass„b+“ oder„b-“ ersetzt. Dies reduziert aber nicht die Gesamtzahl ntot der möglichen Modulschaltzustände innerhalb eines Strangs. Bei einer Anordnung von N=6 Modulen in einem Strang, wie bspw. bei einem Dreiphasen- Multilevelkonverter in Figur 2, ist die Gesamtzahl der umsetzbaren Modulschaltzustände ntot= 95. Alle diese Modulschaltzustände werden in einer (ntot x N)- Matrix A
abgespeichert, wobei A=(am;) mit amj e (s+, s— , p, b+, b } . (4)
Die Matrix A ist so aufgebaut, dass in einer jeweiligen Reihe bzw. Zeile m ein jeweiliger Satz an Modulschaltzuständen für alle ;e{l ,...,iV} Module eines Stranges aufgelistet ist. In einer jeweiligen Spalte stehen dann die Modulschaltzustände für das ;'-te Modul des Stranges. Ausschließlich die in der Matrix A abgespeicherten Modulschaltzustände stehen zur weiteren Optimierung der zweiten Schalttabelle, d. h. zu einer Minimierung der Kostenfunktion, zur Verfügung.
In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird eine
Gesamtkostenfunktion aus der Kostenfunktion und mindestens einer Nebenbedingung
über mindestens eine Zustandsgröße aus folgender Tabelle gebildet: Stromwelligkeit, Effizienz des Multilevelkonverters, Alterung der jeweiligen Energiespeicher,
elektromagnetische Verträglichkeit, verzerrungsfreie Strom-/Spannungsverläufe,
Modultemperatur eines jeweiligen Moduls, Temperaturentwicklung (erste Ableitung der Modultemperatur nach der Zeit) eines jeweiligen Moduls insbesondere als Aussage bzgl. einer jeweiligen Modulbelastung, Schaltfehler, Durchlassverluste, Ausfallsicherheit, insbesondere eine gezielte Schonung bestimmter Module zur Maximierung der
Ausfallsicherheit, Ausgleich von erkannten Schwächen oder unterschiedlichen Grenzen einzelner Module, Drehzahl einer vom Multilevelkonverter angetriebenen elektrischen Maschine, Ausgangsfrequenz, Netzfrequenz, Phasenströme. Weitere Zustandsgrößen, über welche weitere Nebenbedingungen für die Kostenfunktion gebildet werden können, sind denkbar.
Eine Unterauswahl bzw. eine Zusammenstellung aus voranstehender Liste stellt bspw. die Nebenbedingungen dar, dass erstens alle Module eine gleiche Modultemperatur aufweisen sollen und dass zweitens die Stromwelligkeit minimal sein soll. Die einzelne Modultemperatur t (mit Einheit [K]) eines jeweiligen Moduls wird von einem jeweiligen Temperatursensor am jeweiligen Modul dem Optimierer gemeldet. Eine Gesamtheit aller Modultemperaturen ergibt sich für das Beispiel eines Dreiphasen-Multilevelkonverters mit K= 3 Strängen, ke{ a,b,c}, und N= 6 Modulen, ;'e{l ,..., pro Hem Strang, zu einer ( k x iV)-Matrix T, wobei
T = (tkJ) mit tkJ e [230,340] (5) Die Stromwelligkeit hängt vom jeweiligen Phasenstrom 4 (mit Einheit [A]) ab, wobei sich für das Beispiel mit K= 3 Strängen l=(4) mit 4 e [-200,200] und ke{ a,b,c} (6) ergibt. Zu diesen zwei Nebenbedingungen kann als dritte Nebenbedingung die
voranstehend erwähnte Reduzierung von Verlusten berücksichtigt werden, aus der sich
die in Gleichung (4) mit Matrix A angegebenen Modulschaltzustände ergeben. Schließlich geht in die Kostenfunktion erfindungsgemäß die gleichmäßige Entladung aller
Energiespeicher des Multilevelkonverters ein, welches hier als SOC, abgekürzt für englisch„state of Charge“, (ohne Einheit mit Angabe in %) gekennzeichnet sei, wobei sich auch hier für das voranstehend genannte Beispiel eine (k x N)- Matrix
SOC ={sockj) mit sockj e [0,100] (7) ergibt. All diese Größen werden durch die Gesamtkostenfunktion G(SOC,T,l,A)
zusammengefasst.
Als Beispiel für einen einfachen Algorithmus, welcher sich alleinig auf die gleichmäßige Entladung aller Nces =K*N Energiespeicher des Multilevelkonverters konzentriert, ergibt sich folgende Kostenfunktion mit einem auf ein jeweiliges Modul / bezogenen Modulstrom h und einem auf ein jeweiliges Modul / bezogenen Ladezustand socr.
G ENGes
i= 1 /f ( soct - socmean ) , wobei
Eine Optimierung der Kostenfunktion in Gleichung (8) führt vorteilhaft zu einer zweiten Schalttabelle, welche eine Entladung derjenigen Module, deren Ladezustand höher als ein mittlerer Ladezustand socmean liegt, und eine Ladung derjenigen Module deren
Ladezustand unterhalb von socmean liegt, befördert.
Als weiteres Beispiel eines einfachen Algorithmus, der sich alleinig auf die Effizienz des Multilevelkonverters konzentriert, ergibt sich folgende Kostenfunktion mit einem auf ein jeweiliges Modul / bezogenen Modulstrom Ir.
G = yNces i ( 1=1 1 9)
Gerade bei dem modularen Multilevelkonverter, mit dem wie in Figur 1 beschriebenen jeweiligen Modul, reduzieren sich Ohm'sche Verluste vorteilhaft durch die parallele Verschaltung benachbarter Module. Daher kann die Effizienz dieses modularen
Multilevelkonverters durch eine Minimierung der jeweiligen quadrierten Modulströme if, die direkt proportional zu den Ohm'schen Verlusten sind, maximiert werden.
In einer fortgesetzt weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird zu der jeweiligen Zustandsgröße, welche in die jeweilige mindestens eine
Nebenbedingung eingeht und die sich nur innerhalb eines ihr eigenen jeweiligen
Zeitrahmens verändert, ein zugehöriger Term in der Gesamtkostenfunktion erst nach Verstreichen des jeweiligen Zeitrahmens neu berechnet. Erfindungsgemäß wird damit in der Berechnung der Gesamtkostenfunktion G berücksichtigt, dass sich die jeweiligen Zustandsgrößen in der Zeit unterschiedlich verändern. Da manche Zustandsgrößen, wie bspw. die Modultemperatur oder der Ladezustand, sich langsamer verändern, als der Optimierer Zeit zu der Berechnung einer neuen zweiten Schalttabelle braucht, müssen die zugehörigen Nebenbedingungen auch erst dann wieder neu im Optimierer ausgewertet werden, wenn sich nach dem Verstreichen des jeweiligen Zeitrahmens eine Änderung ergeben hat. Zum Beispiel verändern sich auf Grund einer hohen Wärmekapazität und einer hohen elektrischen Kapazität der Energiespeicher des Multilevelkonverters sowohl Modultemperatur wie auch Ladezustand nur langsam und werden sich bezogen auf einen Zeitrahmen von einer Sekunde kaum signifikant verändert haben. Daher müssen für die Optimierung der Gesamtkostenfunktion die diesbezüglichen Terme innerhalb dieses Zeitrahmens nicht neu berechnet werden. Demgegenüber verändert sich ein durch das jeweilige Modul fließender Strom innerhalb eines Zeitrahmens, der durch eine
Schaltfrequenz vorgeben wird, und hängt vom jeweiligen Phasenstrom ab. Vorteilhaft ist daher ein aktueller Lösungsraum für den Optimierer für die Gesamtkostenfunktion
G(SOC,T,l,A) des voranstehenden Beispiels innerhalb eines Zeitrahmens von bspw. einer Sekunde durch einen festen Wert der aktuellen Temperatur T akt und des aktuellen Ladezustands SOCakt eingeschränkt. Die von dem Optimierer in diesem Zeitrahmen durchzuführenden Optimierungen, d. h. Suchen eines Minimums der
Gesamtkostenfunktion G(SOCakt,Takt,l,A) über Variation von Modulschaltzuständen A, die
bzgl. minimaler Schaltverluste aus allen möglichen Schaltzuständen vorausgewählt wurden, beschränkt sich daher vorteilhaft auf die Phasenströme I :
Gzeitrahmen(l,A)— G(SOCakt,Takt ,I,A) . (10)
Die Optimierung in Bezug auf Schaltverluste ist genau dann maximal, wenn pro
Schaltschritt nur noch maximal ein Modul seinen Modulschaltzustand ändert. Geht in einen Optimierungsalgorithmus nur eine Stromrichtung eines Phasenstroms ein, kann der Optimierungsalgorithmus darauf beschränkt werden, entscheiden zu müssen, ob entweder ein um eins höheres Spannungslevel oder ein um eins niedrigeres
Spannungslevel gewählt wird und ob der damit korrespondierende Phasenstrom positiv oder negativ ist. All diese Umstände zusammengenommen führen zu dem Ergebnis, dass es für jeden der ntot Modulschaltzustände der Module eines Stranges genau einen optimalen Satz an Nachfolge-Modulschaltzuständen gibt, der von der angeforderten Ausgangspannung und der Richtung des Phasenstroms abhängt. Für das voranstehend angeführte Beispiel wird dann eine Phasenstromverteilung entlang der sich in einem Strang befindlichen Module in Abhängigkeit von den Modulschaltzuständen abgeschätzt und die Gesamtkostenfunktion Gzeitrahmen(l,A) gemäß Gleichung (10) berechnet. Dem jeweiligen Modulschaltzustand als nächster Schaltschritt folgend, werden vier optimale Modulschaltzustände, welche die Gesamtkostenfunktion optimieren, zugewiesen, wobei diese jeweilig von dem Spannungslevel und der Stromrichtung abhängen. Die vier jeweiligen optimalen Sätze an Modulschaltzuständen werden mit ihrer jeweiligen
Zeilennummer m e
in der Matrix A in einer (n
tot x2x2)-Matrix B, gegeben durch
B— (^/ipq ) mit
(11) eingetragen. Eine Reihe h e {1,2, ... , n
tot} dieser Matrix B stellt die aktuellen
Modulschaltzustände bzw. deren Zeilenposition in der Matrix A für alle Module einer jeweiligen Phase dar. Ein Index p= 1 wird gewählt, wenn das angeforderte Spannungslevel / niedriger als das aktuelle Spannungslevel liegt, andernfalls wird p= 2 gewählt. Bei
negativen Phasenströmen wird der Index q= 1 gewählt, andernfalls wird q= 2 gewählt. Als Beispiel soll ein aktueller Satz an Modulschaltzuständen 40, d. h. Zeile 40 in Matrix A mit N= 6 Modulschaltzuständen der jeweiligen Module des Stranges, betrachtet werden, die Spannungsanforderung soll niedriger als die aktuelle Ausgangsspannung sein und die aktuelle Stromrichtung des Phasenstroms sei positiv. Dann würde in der Matrix B der Eintrag s40,i,2 gewählt werden. Die jeweiligen Matrizen Ba, Bb, Bc für die drei Phasen des Beispiels stellen, zusammen mit der Matrix A, die zweite, bzw. nach Übertrag auf den Scheduler die erste Schalttabelle dar, nach der der Multilevelkonverter gesteuert wird. Je nach Aufgabenstellung des Optimierungsproblems kann eine obige Dimensionierung der Matrix B bzw. der jeweiligen Matrizen Ba, Bb, Bc im Falle von drei Phasen, welche sich für das voranstehende Beispiel als ( ntot x2x2)-Matrix ergab, angepasst werden. Während es für das voranstehende Beispiel ausreichend ist, lediglich die Stromrichtung bzw. nur ein Vorzeichen des jeweiligen Phasenstroms zu betrachten, sind auch komplexere Einteilungen denkbar. Für das Beispiel des Phasenstroms würde sich dann eine Erweiterung der mit Index k bezeichneten Dimensionierung in Gleichung (11) ergeben. Eine Einteilung kann beispielsweise nach der Stromamplitude erfolgen.
Entsprechend kann beispielsweise die Einteilung kleiner als -150 A, -150 A bis -100 A, -100 A bis -50 A, -50 A bis 0 A, 0 A bis 50 A,50 A bis 100 A, 100 A bis 150 A, sowie größer als 150 A verwendet werden. Alternative Einteilungen in Bereiche sind im Sinne der Erfindung ebenso denkbar.
Für das Beispiel des voranstehend angeführten Dreiphasen-Multilevelkonverters kann ein das erfindungsgemäße Verfahren ausführender Optimierungsalgorithmus bspw. als Teil einer Steuerung des Dreiphasen-Multilevelkonverters auf einem Zynq®-7000@Xilinx®-Chip implementiert sein, der über Dual-Core ARM®Cortex®-A9 Prozessoren mit
programmierbarer Artix®-7-Logik verfügt. Wie auch in Figur 3 beschrieben, wird der Scheduler bzw. die Schaltsteuerung auf der programmierbaren Logik ausgeführt, während parallel dazu der Optimierungsalgorithmus auf einem Cortex®-A9 ausgeführt wird. Die benötigten Parameter, hier Temperatur und Ladezustand, werden über ein AXI- full-lnterface zu dem Cortex®-A9 übertragen, der die nächsten optimalen
Modulschaltzustände bzw. deren Zeilennummer in der Matrix A in den drei (eine für jede Phase a, b, bzw. c im voranstehenden Beispiel) Matrizen Ba, Bb, Bc abspeichert und diese zusammen mit der Matrix A als eine neue zweite Schalttabelle an den Scheduler auf der programmierbaren Logik schickt. Diese dann erste Schalttabelle wird regelmäßig mit der dann jeweilig neu berechneten bzw. optimierten zweiten Schalttabelle
überschrieben, jedoch auf einer viel größeren Zeitskala als der, auf der der Scheduler arbeitet. Der Scheduler ist damit von jeglicher weiterer Rechenlast befreit und muss nur den jeweilig nächsten Gesamtschaltzustand {shpq) a , {shpq)b, ishpq) c in Abhängigkeit von den angeforderten Spannungsleveln {la,h, und den Phasenströmen (/a, ,/c) auswählen. Ein jeweiliges Ergebnis Sa, Sb, Sc der Auswahl für jede Phase a, b, c ist dann eine jeweilige Zeile der Matrix A mit den dort niedergelegten Modulschaltzuständen. Eine parallele Abarbeitung von Schaltsteuerung und Optimierungsalgorithmus erlaubt somit schnelle Schaltfrequenzen, bspw. in der Ordnung kHz und höher, da die Berechnung optimaler Schalttabellen asynchron durchgeführt wird und auch auf einer größeren Zeitskala, bspw. in der Ordnung Herz, verläuft.
Es ist aber auch denkbar, dass der das erfindungsgemäße Verfahren ausführender Optimierungsalgorithmus und die Schaltsteuerung auf einem gemeinsamen digitalen Signalprozessor (DSP) ohne weitere Logik wie Field Programmable Gate Array (FPGA), Complex Programmable Logic Device (CPLD) oder dergleichen, implementiert wird. In diesem Fall läuft der Scheduler als gewöhnlicher sequentieller Prozess auf dem
Signalprozessor mit festem, realzeitfähigem Scheduling, d. h. mit garantierten
Maximalverzögerungen und garantierten Maximaldeadlines, so dass eine vorgegebene Minimalrate bzw. Reaktionszeit, bspw. einer Netzregelung oder Maschinenregelung, eingehalten wird. Ein Aufruf der Netz- oder Maschinenregelung und des Schedulers kann bspw. über einen jeweiligen Interrupt erfolgen. Parallel hierzu läuft die Optimierung als weiterer Prozess oder Thread nahezu unabhängig mit deutlich längerer oder gar keiner Befristung bzw. Deadline. Aufgrund eines nur lesenden Zugriffs des Schedulers auf die erste Schalttabelle, auf die der Optimierungsalgorithmus kurzzeitig schreibend bzw. kopierend zugreift, kann eine weitgehende kausale Trennung beider Prozesse oder Threads erzielt werden. Ein und derselbe Prozessor, ggfs, mit mehreren Kernen, kann in
Pausen des Schedulers bzw. anderer den Realzeit-Teil beaufschlagender Vorgänge, wie bspw. die Netz- oder Maschinenregelung, den Optimierungsalgorithmus ausführen, ohne den Scheduler oder diese anderen Vorgänge zu beeinträchtigen. Der Scheduler kann bspw. als reines eingabewertabhängiges Auslesen der entsprechend nächsten
Modulschaltzustände aus einem Speicher und direkte Übergabe an eine I/O-Einheit des Prozessors dargestellt werden.
In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird durch eine Abbildung der jeweiligen vom Modulator bereitgestellten Spannungslevel auf eine die im Multilevelkonverter gemäß einem jeweiligen Spannungslevel jeweils einzustellenden Modulschaltzustände aufweisende Zeile der ersten Schalttabelle, wobei die Zeile auch als auf den Inhalt der Zeile verweisende Adresse im die Schalttabelle aufnehmenden Speicher verwendet werden kann, zugegriffen. Ein weiterer Parameter für die Abbildung kann bspw. die Stromrichtung sein. Diese direkte Umsetzung von Eingangsgrößen zum
Scheduler in eine Adressierungsvorschrift zum Auffinden von Modulschaltzuständen in der ersten Schalttabelle ist vorteilhaft, wenn keine dedizierte Logik, die optional
programmierbar sein kann, zur Verfügung steht. Die Abbildung erfolgt durch bitweise Logikoperationen, bitweise Kettenbildung, Summen und/oder Differenzen und/oder Multiplikationen mit Vielfachen von zwei und/oder Divisionen mit Vielfachen von zwei. Auf diese Weise kann die Berechnung der Adresse der auszugebenden Modulschaltzustände durch eine simple arithmetische Operation dargestellt werden, die keiner
Fließkommarecheneinheit oder komplexer Sprungoperationen bedarf, da bei der durch das erfindungsgemäße Verfahren bereitgestellten Abbildung vorteilhaft die
Eingangsgrößen selbst die Adresse bzw. Zeile in der ersten Schalttabelle bilden. Ein Beispiel für eine solche Adressbildung ist in Tabelle 2 angeführt.
Tabelle 2: Beispiel für eine Adressbildung aus Stromrichtung und vom Modulator bereitgestelltem Spannungslevel als Eingangsgrößen zum Zugriff auf eine entsprechende Zeile in der ersten Schalttabelle. Die Adresse bzw. Zeile wird direkt aus einer Kombination des aktuellen Gesamtschaltzustandes mit den zusammengefügten Bits aus den
Eingangsgrößen, hier Spannungsanforderung und Stromrichtung, gebildet, wobei für
einen direkten Sprung innerhalb des Speichers der Recheneinheit noch eine Startadresse eines Beginns einer Position der ersten Schalttabelle innerhalb des Speichers aufaddiert wird.
Aktueller Spannungsanforderung Stromrichtung
Gesamtschalt
zustand
00...00 0 (Level abwärts) 0 (aus dem Strang)
00...00 0 (Level abwärts) 1 (in den Strang)
00...00 1 (Level aufwärts) 0 (aus dem Strang)
00...00 1 (Level aufwärts) 1 (in den Strang)
00...01 0 (Level abwärts) 0 (aus dem Strang)
00...01 0 (Level abwärts) 1 (in den Strang)
00...01 1 (Level aufwärts) 0 (aus dem Strang)
00...01 1 (Level aufwärts) 1 (in den Strang)
11...01 0 (Level abwärts) 0 (aus dem Strang)
11...01 0 (Level abwärts) 1 (in den Strang)
11...01 1 (Level aufwärts) 0 (aus dem Strang)
11...01 1 (Level aufwärts) 1 (in den Strang) In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens trifft der
Scheduler bei Vorliegen mehrerer alternativer Gesamtschaltzustände des
Multilevelkonverters gemäß einer vorbestimmten Regel eine Auswahl. Diese Auswahl trifft er bspw. zufällig oder nach deterministischen Regeln. Eine solche deterministische Regel kann bspw. lauten, die Auswahl strikt nach der bisherigen Verwendungshäufigkeit zu treffen.
In einer noch weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird im Realzeit-Teil im Ablauf vor dem Modulator ein Maschinenregler angeordnet, welcher gemäß eines Unterschiedes zwischen einem tatsächlichen und einem gewünschten Phasenstrom einer an den Multilevelkonverter angeschlossenen elektrischen Maschine
den Modulator mit Vorgaben beaufschlagt. Die genaue Anordnung des Maschinenreglers im Realzeit-Teil geht aus Figur 3 hervor. Alternativ kann es sich dabei auch um ein Gerät zu einer Wechselspannungsnetzregelung handeln, wenn der Multilevelkonverter als Wechselspannungsnetzgerät arbeitet. Wird aber durch den Multilevelkonverter die elektrische Maschine angetrieben, so sollen durch den Maschinenregler Vorgaben zu Drehmoment- oder Drehzahlanforderungen gemacht werden.
In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird durch den Modulator mindestens eine Schaltmodulation gemäß folgender Liste ausgeführt: PWM- Erzeugung, Sigma-Delta-Modulation, Nearest-Level-Modulation, Pulsdichtenmodulation, spektrale Regelung. Dabei handelt es sich um aus dem Stand der Technik bekannte Methoden zur Schaltmodulation. Durch eine Ausführungsform des erfindungsgemäßen Verfahrens kann eine solche Schaltmodulation vom Modulator im Realzeit-Teil ohne Beeinträchtigung durch den Optimierungsalgorithmus ausgeführt werden.
Ferner wird ein System zu einer Steuerung eines Gesamtschaltzustands eines
Multilevelkonverters beansprucht, bei dem der Multilevelkonverter mindestens ein Modul aufweist. Das mindestens eine Modul weist mindestens einen Anschluss auf einer ersten und mindestens einen Anschluss auf einer zweiten Seite, mindestens zwei steuerbare Schalter und mindestens einen Energiespeicher auf. In einer ersten Ausgestaltung ist in einer ersten Verbindung zwischen dem mindestens einen Anschluss auf der ersten Seite und dem mindestens einen Anschluss auf der zweiten Seite der mindestens eine
Energiespeicher in Reihe mit einem ersten der mindestens zwei steuerbaren Schalter angeordnet, und in einer zweiten Verbindung ist zwischen dem mindestens einen
Anschluss auf der ersten Seite und dem mindestens einen Anschluss auf der zweiten Seite ein zweiter der mindestens zwei steuerbaren Schalter angeordnet. Durch diese Ausführungsform lässt sich zwischen dem ersten und dem zweiten Anschluss des mindestens einen Moduls der Energiespeicher in Reihe schalten, oder er lässt sich umgehen, oder es lässt sich eine elektrische Leitung komplett unterbrechen. In einer zweiten Ausgestaltung weist das mindestens eine Modul mindestens zwei Anschlüsse auf der ersten und mindestens zwei Anschlüsse auf der zweiten Seite auf. Der mindestens
eine Energiespeicher ist unmittelbar zwischen den mindestens zwei Anschlüssen der ersten Seite oder der zweiten Seite angeordnet, und ein erster der mindestens zwei steuerbaren Schalter ist zwischen einem ersten Anschluss auf der ersten Seite und einem ersten Anschluss auf der zweiten Seite angeordnet. Ein zweiter der mindestens zwei steuerbaren Schalter ist zwischen einem zweiten Anschluss auf der ersten Seite und einem zweiten Anschluss auf der zweiten Seite angeordnet. Bei dem erfindungsgemäßen System ist die Steuerung in ein Realzeit-Modul und ein Offline-Modul aufgeteilt, wobei das Realzeit-Modul mindestens einen Modulator und einen Scheduler aufweist. Der Modulator weist für jeden Zeitschritt einer Spannungsanforderung ein jeweiliges Spannungslevel zu. Der Scheduler ermittelt zu dem jeweiligen Spannungslevel einen jeweiligen
Gesamtschaltzustand aller Schalter in einer ersten Schalttabelle und gibt den jeweiligen Gesamtschaltzustand als Steuersignal an alle Schalter weiter. Das Offline-Modul umfasst einen Optimierer, wobei der Optimierer in kontinuierlicher Abfolge gemäß einer
Kostenfunktion eine zweite Schalttabelle berechnet. Die Kostenfunktion wertet einen sich aus einer Vielzahl an vorgegebenen Modulschaltzuständen bildenden
Gesamtschaltzustand in Bezug auf gleichmäßige Entladung aller Energiespeicher des Multilevelkonverters, wobei ein aktueller Ladezustand aller Energiespeicher des
Multilevelkonverters kontinuierlich dem Optimierer bereitzustellen ist. Das System stellt dafür mindestens eine jeweilige Recheneinheit für das Realzeit-Modul und das Offline- Modul bereit.
In weiteren Ausgestaltung des erfindungsgemäßen Systems, ist im Realzeit-Modul der Modulator dazu ausgebildet, den jeweiligen Gesamtzustand aller Schalter in der ersten Schalttabelle zu ermitteln Im Offline-Modul ist der Optimierer dazu ausgebildet, in kontinuierlicher Abfolge die zweite Schalttabelle, wobei die erste und die zweite
Schalttabelle voneinander unterschiedlich sein können, zu berechnen, wobei nach Abschluss der Berechnung die berechnete zweite Schalttabelle die erste Schalttabelle ersetzt, und fortan als die erste Schalttabelle zu verwenden ist und von dem Optimierer mit der Berechnung einer neuen zweiten Schalttabelle zu beginnen ist.
In noch weiterer Ausgestaltung des erfindungsgemäßen Systems sind aus einer
Gesamtheit aller möglichen Modulschaltzustände die vorgegebenen Modulschaltzustände aus denjenigen Modulschaltzustände gebildet, welche sich aus einer parallelen
Verschaltung aller Module der Mehrzahl von Modulen aus einem Grundschaltzustand heraus ergeben können.
In weiterer Ausgestaltung des erfindungsgemäßen Systems weist das System zusätzlich mindestens einen Sensor auf, der mindestens einer Zustandsgröße eines
Gesamtsystems zugeordnet ist, bei dem das Gesamtsystem den Multilevelkonverter, die Steuerung des Gesamtschaltzustandes des Multilevelkonverters und einen die
Ausgangsspannung des Multilevelkonverters abnehmenden elektronischen Verbraucher umfasst, wobei über die mindestens eine Zustandsgröße mittels mindestens einer von dem mindestens einen Sensor bereitgestellten Messgröße eine Nebenbedingung zu der Kostenfunktion gebildet ist und sich daraus zusammen mit der Kostenfunktion eine Gesamtkostenfunktion ergibt, und wobei die mindestens eine Zustandsgröße aus folgender Tabelle entnommen ist: Stromwelligkeit, Effizienz des Multilevelkonverters, Alterung der jeweiligen Energiespeicher, elektromagnetische Verträglichkeit,
verzerrungsfreie Strom-/Spannungsverläufe, Modultemperatur eines jeweiligen Moduls, Temperaturentwicklung (erste Ableitung der Modultemperatur nach der Zeit) des jeweiligen Moduls, insbesondere als Aussage bzgl. einer Modulbelastung, Schaltfehler, Durchlassverluste, Ausfallsicherheit, insbesondere eine gezielte Schonung bestimmter Module zur Maximierung der Ausfallsicherheit, Ausgleich von erkannten Schwächen oder unterschiedlichen Grenzen einzelner Module, Drehzahl einer vom Multilevelkonverter angetriebenen elektrischen Maschine, Ausgangsfrequenz, Netzfrequenz, Phasenströme.
In noch weiterer Ausgestaltung des erfindungsgemäßen Systems weist das Realzeit- Modul des Systems zusätzlich einen Maschinenregler auf, welcher dazu ausgelegt ist, gemäß einem Unterschied zwischen einem tatsächlichen und einem gewünschten
Phasenstrom einer elektrischen Maschine den Modulator mit Vorgaben zu beaufschlagen.
Schließlich wird ein mit dem erfindungsgemäßem System ausgestatteter modularer Multilevelkonverter beansprucht, welcher dazu ausgelegt ist, das erfindungsgemäße Verfahren auszuführen, und bei dem ein jeweiliges Modul mindestens vier Schalter (ausreichend für einen Multilevelkonverter ohne Parallelschaltung) und in einer
bevorzugten Ausgestaltung acht Schalter (entsprechend für einen Multilevelkonverter mit Parallelschaltung) aufweist. Bei einem erfindungsgemäßen Multilevelkonverter mit mindestens vier Schaltern ist auf jeder Seite mindestens eine Halbbrücke angeordnet. Bei einem erfindungsgemäßen Multilevelkonverter mit acht Schaltern werden aus den acht Schaltern vier Halbrücken angeordnet, wobei in einem jeweiligen Modul die ersten zwei Halbbrücken parallel zu den mindestens zwei Anschlüssen auf der ersten Seite
verschaltet sind, die zweiten zwei Halbbrücken parallel zu den mindestens zwei
Anschlüssen auf der rechten Seite verschaltet sind, und zwischen einem jeweiligen niederseitigen- (engl. sog. low-side-) und einem hochseitigen (engl. sog. high-side-) Schalter einer jeweiligen Halbbrücke auf der ersten Seite und auf der zweiten Seite des jeweiligen Moduls eine elektrische Verbindung besteht.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen. Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. Die Figuren werden zusammenhängend und übergreifend beschrieben, gleichen
Komponenten sind dieselben Bezugszeichen zugeordnet.
Figur 1 zeigt schematisch eine Schaltung eines Moduls eines modularen
Multilevelkonverters gemäß dem Stand der Technik.
Figur 2 zeigt schematisch eine Schaltung zu einem modularen Dreiphasen- Multilevelkonverter gemäß dem Stand der Technik.
Figur 3 zeigt schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Blockdiagramm zu einer erfindungsgemäßen Aufteilung einer Steuerung eines Multilevelkonverters in Realzeit- und Offline-Teil.
Figur 4 zeigt schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Blockdiagramm zu Eingangs- und Ausgangsgrößen eines Schedulers
Figur 5 zeigt schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Blockdiagramm zu einem Optimierer.
Figur 6 zeigt schematisch in einer Ausgestaltung des erfindungsgemäßen Systems einen physikalischen Aufbau der Hardware.
Figur 7 zeigt schematisch in einer weiteren Ausgestaltung des erfindungsgemäßen Systems eine Aufteilung in Einheiten eines Digitalen Signalprozessors. Figur 8 zeigt schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens einen Ablauf bei einer Adressbildung mittels einer Abbildung von Eingangsgrößen zum Scheduler auf eine Zeile der ersten Schalttabelle.
Figur 9 zeigt schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens einen Ablauf bei einer weiteren Adressbildung mittels der Abbildung von Eingangsgrößen zum Scheduler auf eine Zeile der ersten Schalttabelle.
In Figur 1 wird schematisch eine Schaltung eines Moduls 100 eines modularen
Multilevelkonverters mit seriell-paralleler Verschaltungsmöglichkeit gemäß dem Stand der Technik gezeigt. Angeordnet sind vier Halbrücken mit jeweils zwei Schaltern„Sl“ 101 und„S2“ 102, bzw.„S3“ 103 und„S4“ 104, bzw.„S5“ 105 und„S6“ 106, bzw.„S7“
107 und„S8“ 108, einem Energiespeicher 109 und einem Kondensator 110. Ein jeweiliger Schalter 101 , 102, 103, 104, 105, 106, 107, 108, ist durch ein
Schaltzeichen für einen MOSFET mit intrinsisch vorhandener Bodydiode dargestellt. Jeweils zwei Halbrücken 101 , 102 und 105, 106, bzw. 103, 104 und 107, 108 sind zwischen ihren jeweiligen niedervoltseitigen Schaltern 102 und 106 bzw. 104 und 108 und den zugehörigen hochvoltseitigen Schaltern 101 und 105 bzw. 103 und 107 miteinander verbunden. Das Modul 100 weist zwei erste, hier linke Anschlüsse 111 und 112 und zwei zweite, hier rechte Anschlüsse 113 und 114 auf. Je nach einem jeweiligen Modulschaltzustand, also je nach Schaltzuständen der Schalter des Moduls 100 zu einem gleichen Zeitpunkt, kann das Modul 100 bzw. der Energiespeicher 109 mit weiteren baugleichen Modulen verschaltet sein, um so eine serielle Verschaltung oder eine parallele Verschaltung oder eine Umgehung des Energiespeichers 109 zu bewirken. Ein erster Modulschaltzustand, bezeichnet als„s+“ für serielle Verschaltung mit positiver Polarität, wird durch eine Reihenschaltung der Schalter 101 und 106 sowie der Schalter 103 und 108 gebildet. Ein zweiter Modulschaltzustand, bezeichnet als„s-“ für serielle Verschaltung mit negativer Polarität, wird durch eine Reihenschaltung der Schalter 102 und 105 sowie der Schalter 104 und 107 gebildet. Ein dritter Modulschaltzustand, bezeichnet als„p“ für parallele Verschaltung, wird durch eine Reihenschaltung der Schalter 101 und 105 sowie der Schalter 104 und 108 gebildet. Ein vierter
Modulschaltzustand, bezeichnet als„b+“ für Bypass bzw. Modulumgehung durch die Schalter auf der Niedervoltseite, wird durch eine Reihenschaltung der Schalter 102 und 106 sowie der Schalter 104 und 108 gebildet. Ein fünfter Modulschaltzustand, bezeichnet als„b-“ für Bypass bzw. Modulumgehung durch die Schalter auf der
Hochvoltseite, wird durch eine Reihenschaltung der Schalter 101 und 105 sowie der Schalter 103 und 107 gebildet. Alle Modulschaltzustände mit jeweiligen
Schalterstellungen innerhalb des Moduls 100 sind in Tabelle 1 aufgeführt.
In Figur 2 wird schematisch eine Schaltung zu einem modularen Dreiphasen- Multilevelkonverter 200 gemäß dem Stand der Technik gezeigt. Jede der drei Phasen wird mit jeweils sechs Modulen 100 der Bauart aus Figur 1 gebildet. Die erste Phase wird von einem ersten Strang 210 mit Modulen 211, 212, 213, 214, 215, 216 gebildet, die
zweite Phase wird von einem zweiten Strang 220 mit Modulen 221 , 222, 223, 224, 225, 226 gebildet, und die dritte Phase wird von einem dritten Strang 230 mit Modulen 231 , 232, 233, 234, 235, 236 gebildet. Ein jeweiliger Stranganfang ist durch die Module 211 , 221 , 231 gegeben, ein jeweiliges Strangende durch die Module 216, 226, 236. Die an dem jeweiligen Strangende eines jeweiligen Stranges 210, 220, 230 gebildeten drei Phasen treiben eine elektrische Maschine 202, die bspw. ein Traktionsmotor eines Elektrofahrzeuges sein kann, an. Am jeweiligen Stranganfang der jeweiligen Stränge 210,
220, 230 sind die Module 211 , 221 , und 231 über einen doppelten Neutralpunkt 201 verbunden. Werden alle sechs Module 100 eines jeweiligen Strangs 210, 220, 230 seriell-„s+“ verschaltet, so bilden die jeweiligen Energiespeicher 109 im jeweiligen Strang 210, 220, 230 eine Reihenschaltung und man erhält eine sechsfache Modulspannung.
Bei einer Zahl N an Modulen pro Phase kann so eine Phasenspannung von N mal der Modulspannung erhalten werden. Pro Phase sind die letzten Module 216, 226, 236 jeweilig kurzgeschlossen, weshalb es diesen Module 216, 226, 236 nicht erlaubt ist, in den parallelen Modulschaltzustand„p“ zu schalten, um einen Kurzschluss der jeweiligen Energiespeicher 109 dieser Module 216, 226, 236 zu vermeiden. Ein Grundzustand dieser letzten Module 216, 226, 236 wird immer durch den Modulschaltzustand„b-“ gebildet, der dem Modulschaltzustand„s-“ entspricht. Daher können durch den modularen Multilevelkonverter 200 immer nur N-l negative Spannungsschritte gebildet werden. Auf der anderen Seite sind die Energiespeicher 109 der jeweiligen Module 211 ,
221 , 231 über den doppelten Neutralpunkt 201 grundsätzlich parallel verschaltet.
Dadurch ergibt sich eine gegenseitige Abhängigkeit der drei Phasen in den Strängen 210, 220, 230. Zusammen mit einem Nullwert, der sich durch Bypass bzw. Umgehung aller Module 100 einstellt, ergibt sich bei N Modulen in dem Multilevelkonverter eine Zahl L an darstellbaren Spannungsleveln zu
L= N +{N-1)+1 =2 N . (1)
In Figur 3 wird schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Blockdiagramm 300 zu einer erfindungsgemäßen Aufteilung einer Steuerung eines Multilevelkonverters in einen Offline-Teil 310 und einen Realzeit-Teil 320 gezeigt. Der
Offline-Teil 310 umfasst einen Optimierer 311 , der Hardware-technisch auf einem
ARM®Cortex®-A9 Prozessor ausgeführt sein kann. Der Realzeit-Teil 320, der Hardware technisch von der Ausführung des Offline-Teils 310 getrennt auf einer programmierbaren Logik ausgeführt sein kann, umfasst einen Modulator 322 und einen Scheduler 323, sowie optional einen Maschinenregler 321. Als Input erhält der Optimierer 311 bspw. von einem jeweiligen Sensor Messgrößen zum Ladezustand 301 eines jeweiligen
Energiespeichers, oder auch zu einer jeweiligen Modultemperatur 302, oder auch zu Schaltfehlern 303. Ein auf dem Optimierer ablaufender Optimierungsalgorithmus sucht aus einer Gesamtheit aller möglichen Modulschaltzustände für ein jeweiliges
Spannungslevel diejenigen Modulschaltzustände, welche sich, um Verluste zu minimieren, aus einer parallelen Verschaltung aller Module aus einem Grundschaltzustand heraus ergeben können, und schreibt diese für jeden Strang j einzeln in eine Matrix Aj 313. Weiter sucht der Optimierungsalgorithmus für diese Modulschaltzustände der jeweiligen Matrix Aj 313 mittels einer Kostenfunktion, bspw. Gleichung (10), den jeweils besten nächsten (jedes Modul des Stranges umfassenden) Satz an Modulschaltzuständen für den Strang und schreibt dessen Zeilennummer in der Matrix Aj 313 in eine (ntot x2x2)- Matrix Bj 312. Die Zeilennummer in der Matrix Aj 313 wird in Abhängigkeit einer gestellten Spannung und einer Stromrichtung in ein Element der Matrix Bj 312
abgespeichert. Da nur eine Änderung um jeweils ein Spannungslevel nach oben oder nach unten oder um eine Stromstufe nach oben oder nach unten betrachtet wird, ergibt sich eine Dimension von 2x2. Bei einer Erweiterung der einen Strom betreffenden Dimension würde sich auch die Matrix Bj 312 erweitern. Die Matrizen Aj 313 und Bj 312 bilden eine zweite Schalttabelle, welche asynchron zu den Vorgängen im Realzeit-Teil dem Scheduler 323 als erste Schalttabelle zur Verfügung gestellt wird. Der
Optimierungsalgorithmus muss daher nicht echtzeitfähig sein, was vorteilhaft Ressourcen schont. Im Realzeit-Teil 320 kann optional eine Maschinenregelung 321 angeordnet werden, welche bspw. als Input von einem jeweiligen Sensor Messgrößen zu einer Drehzahl einer angeschlossenen elektrischen Maschine 304 oder zu einzelnen
Phasenströmen 305 erhält. Wird der Multilevelkonverter als Wechselspannungsnetzgerät eingesetzt, so dann es sich statt einer Drehzahl 304 um eine Netzfrequenz handeln. Die Maschinenregelung 321 vergleicht kontinuierlich einen Istwert der jeweiligen Größe mit
einem Sollwert und beaufschlagt mit einer einer jeweiligen Differenz entsprechenden Spannungsanforderung (v* a, v v* c) 324, für jeden Strang a, b, c getrennt, den
Modulator 322. Der Modulator 322 führt eine Schaltmodulation, die bspw. durch eine Pulsweitenmodulation PWM oder eine Sigma-Delta-Modulation oder eine Neares-Level- Modulation oder eine Pulsdichtemodulation oder eine spektrale Regelung oder eine andere denkbare Modulation realisiert sein kann, durch, und übermittelt die sich daraus ergebenden quantisierten Spannungslevel (/«, h , h) 325 als darzustellende
Ausgangsspannungen an den Scheduler 323. Der Scheduler schließlich ermittelt in der ersten Schalttabelle für die jeweilig übermittelten Spannungslevel einen jeweiligen Satz (Sa, Sb, Sc) 306 an Modulschaltzuständen und schickt diesen an den Multilevelkonverter zur Ausführung.
In Figur 4 wird schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Blockdiagramm 400 zu Eingangsgrößen 401 , 402, 403, 420 und einem vom
Multilevelkonverter umzusetzenden Gesamtschaltzustand 404 als Ausgangsgröße eines Schedulers 410 gezeigt. Als Eingangsgrößen 401 , 402, 403, 420 liegen dem Scheduler 410 bspw. eine neue Spannungsanforderung 401 vor, welche auf ein von den Modulen des Multilevelkonverters darstellbares Spannungslevel quantisiert wurde und/oder es liegt eine Stromanforderung 402 vor. Außerdem geht ein in einem Schaltschritt zuvor realisierte Gesamtschaltzustand 403 ein. Der Scheduler konsultiert in einem reinen Lesevorgang 405 eine erste Schalttabelle 420, in der für das jeweilig gewünschte Spannungslevel die zugehörigen Modulschaltzustände abgelegt sind. Für bessere Optimierungsergebnisse bzw. eine Anpassung an den aktuellen Gesamtschaltzustand können der ersten Schalttabelle 420 weitere Dimensionen hinzugefügt werden, welche bspw. für unterschiedliche Stromamplituden und/oder Stromrichtung optimiert wurden. Ferner kann eine Wahl des besten nächsten Gesamtschaltzustandes bei einer gegebenen Spannungsanforderung auch auf den letzten vorliegenden Gesamtschaltzustand 403 bezogen werden, da es bspw. vorteilhaft ist, ausgehend von diesem letzten vorliegenden Gesamtschaltzustand 403 zu einer Vermeidung von Schaltverlusten so wenig
Modulschaltzustände wie möglich zu ändern, um zu dem neuen Gesamtschaltzustand 404 zu gelangen. Entsprechend wird die erste Schalttabelle um weitere Dimensionen
erweitert. Eine dieser Dimensionen kann bspw. durch einen jeweiligen Strom gegeben sein, für den bestimmte Modulschaltzustände geschaltet werden, bspw. für einen Strom von 0 A mit Ausgangszustand„alle Modulschaltzustände auf Bypass“, für einen Strom von 0 A mit Ausgangszustand„alle Modulschaltzustände auf Bypass, außer dem Modul an einem jeweiligen Strangende, welches seriell geschaltet wird“, oder auch für einen Strom von 500 A mit einem Ausgangszustand„alle Modulschaltzustände auf serielle
Verschaltung“ usw. Prinzipiell kann für alle denkbaren Nebenbedingungen die
Dimensionierung der ersten Schalttabelle erweitert werden, solange dies eine verfügbare Rechenzeit und/oder ein Speicherplatz zulässt,
In Figur 5 wird schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Blockdiagramm 500 zu einem Optimierer 510 gezeigt. Der Optimierer 510 berechnet für mehrere Stromstufen alle durch Modulschaltzustände erzeugbaren Spannungsstufen und trägt dabei eine rechnerische Hauptlast. Da er aber Hardware-technisch auf einer eigenen Recheneinheit ausgeführt wird, beeinträchtigt er nicht die Ausführung des Schedulers, welcher auf Basis der vorhandenen (ersten) Schalttabelle solange arbeitet, bis er vom Optimierer 510 dessen neu berechnete (zweite) Schalttabelle 520 erhält. Der Optimierer 510 sucht für jeden Gesamtschaltzustand gemäß der Kostenfunktion optimierte Modulschaltzustände und schreibt diese durch einen Speichervorgang 502 in der zweiten Schalttabelle 520 nieder. Der Gesamtschaltzustand kann vorteilhaft durch möglichst viele Messgrößen definiert werden, wobei nur die verfügbare Rechenzeit und/oder der Speicherplatz eine Begrenzung bilden. Die Messgrößen bilden einen Input 501 zum Optimierer 510, und sind bspw. folgender Liste entnommen: Ladezustand, Fehlerzustände, physikalische Unterschiede zwischen Modulen, Aussteuergrad,
Phasenwinkel cos f, elektrische Frequenz, Leckströme und/oder andere
Stromentnahmen aus einzelnen Modulen.
In Figur 6 wird schematisch in einer Ausgestaltung des erfindungsgemäßen Systems ein physikalischer Aufbau 600 der Hardware gezeigt, der die Aufteilung in zwei physikalisch getrennte Recheneinheiten verdeutlicht. Der Offline-Teil 602 mit dem Optimierer wird auf einem Mikrocontroller oder einem Mikroprozessor oder einem digitalen Signalprozessor
(DSP) oder einer ALU-basierten Rechenarchitektur oder einer Kombination daraus ausgeführt. Der Realzeit-Teil 606 mit mindestens einem Modulator und einem Scheduler wird auf einer Logikschaltung, die optional programmierbar sein kann, bspw. FPGA (Field Programmable Gate Array) oder CPLD (Complex Programmable Logic Device) oder Gate Arrays oder PLA (programmierbare logisches Array) ausgeführt. Sowohl Offline-Teil 602 wie auch Realzeit-Teil 606 greifen auf einen gemeinsamen, die erste und zweite
Schalttabelle beherbergenden Speicher 604 zu, wobei der Zugriff vom Offline-Teil 602 schreibend erfolgt, und der Zugriff vom Realzeit-Teil 606 lesend. Ist die erste und die zweite Schalttabelle größerer dimensioniert kann es sich dabei um einen dynamischen Speicher handeln. Alternativ hierzu, insbesondere bei kleiner dimensionierte erster und zweiter Schalttabelle, kann es sich um einen schnellen statischen Speicher, bspw. einen Flip-Flop-basierten Speicher oder ein Vektorregister, handeln. Eine Übermittlung 612 der jeweiligen Modulschaltzustände für den nächsten Schaltschritt an den Multilevelkonverter erfolgt über einen Steuerbus. An den jeweiligen Modulen 608 des Multilevelkonverters ist mindestens ein jeweiliger Stromsensor 614 angeordnet. Optional können an den jeweiligen Modulen 608 auch weitere Sensoren wie bspw. ein jeweiliger
Temperatursensor oder ein jeweiliger Modulspannungssensor angeordnet sein. Die jeweiligen Sensoren 614 übermitteln ihre Messgrößen 610 als Sensorsignale (entweder als Einzelsignale oder gesammelt über einen Bus, bspw. einen physikalischen Rückkanal eines Steuerbusses) jeweilig an den Offline-Teil 602 und den Realzeit-Teil 606.
In Figur 7 wird schematisch in einer weiteren Ausgestaltung des erfindungsgemäßen Systems eine Aufteilung in Einheiten eines digitalen Signalprozessors (DSP) 700 gezeigt. Der DSP 700 umfasst mindestens eine CPU-Kern 706, einen RAM-Speicher 704, einen Flash-Speicher 708, einen Peripheriebuscontroller 710, bspw. SPI der l2C, einen GPIO- Multiplexer 712, einen DMA-Controller 714, einen Hardware-Pl-Regler 716 und einen Scheduler 718. Eine Kommunikation zwischen diesen Einheiten findet über einen
Speicherbus 702 statt. Der das erfindungsgemäße Verfahren ausführende
Optimierungsalgorithmus und die Schaltsteuerung sind auf dem gemeinsamen digitalen Signalprozessor 700 ohne weitere Logik, wie Field Programmable Gate Array (FPGA), Complex Programmable Logic Device (CPLD) oder dergleichen, implementiert. In diesem
Fall läuft der Scheduler als gewöhnlicher sequentieller Prozess auf dem Signalprozessor 700 mit festem, realzeitfähigem Scheduling, d. h. mit garantierten
Maximalverzögerungen und garantierten Maximaldeadlines, so dass eine vorgegebene Minimalrate bzw. Reaktionszeit bspw. einer Netzregelung oder Maschinenregelung eingehalten wird. Ein Aufruf der Netz- oder Maschinenregelung und des Schedulers kann bspw. über einen jeweiligen Interrupt erfolgen. Parallel hierzu läuft die Optimierung als weiterer Prozess oder Thread nahezu unabhängig mit deutlich längerer oder gar keiner Befristung bzw. Deadline. Aufgrund eines nur lesenden Zugriffs des Schedulers auf die erste Schalttabelle, auf die der Optimierungsalgorithmus kurzzeitig schreibend bzw. kopierend zugreift, kann eine weitgehende kausale Trennung beider Prozesse oder Threads erzielt werden. Ein und derselbe Prozessor, ggfs, mit mehreren Kernen, kann in Pausen des Schedulers bzw. anderer den Realzeit-Teil beaufschlagender Vorgänge, wie bspw. die Netz- oder Maschinenregelung, den Optimierungsalgorithmus ausführen, ohne den Scheduler oder diese anderen Vorgänge zu beeinträchtigen. Der Scheduler kann bspw. als reines eingabewertabhängiges Auslesen der entsprechend nächsten
Modulschaltzustände aus einem Speicher und direkte Übergabe an eine I/O-Einheit des Prozessors dargestellt werden. Der nach Abspaltung der Optimierung verbleibende Schedulinganteil gestaltet sich relativ klein und anspruchslos. Die Hauptaufgabe besteht darin, jedes Mal, wenn der Modulator neue Eingangsgrößen bereitstellt, aus dem
Speicher 704, 708 mit der ersten Schalttabelle die zu den bereitgestellten
Eingangsgrößen, bspw. einem angeforderten Spannungslevel oder vereinfacht auch nur einer Steigerung oder Reduktion der Spannung um eine Stufe und bspw. einer
Stromrichtung, zugehörigen oder nächstgelegenen Modulschaltzustandswerte der einzelnen Module zu entnehmen und an eine I/O-Einheit zu übergeben, um die Module direkt oder vorzugsweise über einen Bus mit den ihnen jeweils zugeordneten
Modulschaltzuständen zu beschicken. Aufgrund der Einfachheit kann der Scheduler in eine dedizierte Hardwareeinheit des Prozessors gesetzt werden, die ohne Zutun des CPU-Kerns 706 die Schedulingaufgaben erfüllt. Die dedizierte Einheit muss dafür per internem Prozessorbus 702 Zugriff auf den Speicher 704, 708 mit der ersten
Schalttabelle und auf I/O-Einheiten, bspw. GPIO 712, oder Peripheriebuseinheiten 710
haben. Der CPU-Kern 706 kann entsprechend die Regelung, die Modulation und die Optimierung durchführen.
In Figur 8 wird schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Ablauf 800 bei einer Adressbildung gezeigt, bei der mittels einer Abbildung von Eingangsgrößen 801 , 802, 803 auf eine Speicheradresse eines Gesamtschaltzustände umfassenden Speicherbereichs des Schedulers verwiesen wird, wobei in Abhängigkeit der Eingangsgrößen die Modulschaltzustände und damit der Gesamtschaltzustand optimiert sein sollen. Eine durch Kombination von aktuellem Gesamtschaltzustand und weiteren Eingangsgrößen gebildete Speicheradresse wird nicht als solche hinterlegt, sondern bildet bereits mit ihrem Binärwert einen Verweis auf die Speicheradresse, die den nächsten Gesamtschaltzustand aufweist. Als erste Eingangsgröße 801 kann also bspw. der aktuelle Gesamtschaltzustand als Bitkombination dienen, wobei diese in Kombination mit den im Folgenden beispielhaft beschriebenen weiteren Eingangsgrößen 802 und 803 eine Speicheradresse bildet, welche vorzugsweise sortiert, d. h. gemäß ihrer binären Größe, gelistet ist. Eine zweite Eingangsgröße 802 kann bspw. durch ein vom Modulator bereitgestelltes quantisiertes Spannungslevel gebildet werden, wobei sie einen Bit-Wert„1“ trägt, wenn das aktuelle Spannungslevel um eine Stufe erhöht werden soll, und den Bit-Wert„0“ aufweist, wenn das aktuelle Spannungslevel um eine Stufe erniedrigt werden soll. Eine dritte Eingangsgröße 803 kann bspw. durch eine im nächsten Schaltschritt angeforderte Stromrichtung gebildet werden, wobei sie einen Bit-Wert„1“ trägt, wenn die Stromrichtung von der ersten zur zweiten Seite des Moduls verläuft, und den Bit-Wert„0“ aufweist, wenn die Stromrichtung von der zweiten zur ersten Seite des Moduls verläuft. Die Eingangsgröße 803 soll aber auch ganz allgemein für eine beliebige Anzahl weiterer Eingangsgrößen stehen, vorzugsweise für schnell veränderliche
Eingangsgrößen. In einem Bitverkettungsmodul 810 werden die drei Eingangsgrößen zu einer Aneinanderreihung der Bits zusammengeführt. In dem Verknüpfungsmodul 812 wird diese Aneinanderreihung mit einer Speicherzellengröße verknüpft, d. h. mit der Größe (in der Einheit [Byte]) eines Speicherplatzes, der zu einer Abspeicherung eines einzelnen Gesamtsystemzustandes, also aller Modulzustände des Multilevelkonverters, benötigt wird. Schließlich wird in einem Addierungsmodul 814 noch eine Startadresse eines
Beginns einer Position der ersten Schalttabelle innerhalb des Speichers aufaddiert. Das Ergebnis 806 dient als direkte Sprungadresse, um einen nächsten Gesamtschaltzustand aus der ersten Schalttabelle auf dem Multilevelkonverter umzusetzen. In Figur 9 wird schematisch in einer Ausführungsform des erfindungsgemäßen Verfahrens ein Ablauf 900 bei einer weiteren Adressbildung mittels der Abbildung von
Eingangsgrößen 922, 802, 803 zum Scheduler auf eine Zeile der ersten Schalttabelle gezeigt. Im Vergleich mit Figur 8 handelt es sich bei der ersten Eingangsgröße 922 um eine quantisierte Spannungsanforderung, welche als vom Modulator 920 absolut oder relativ zur letzten Spannungsanforderung kodiert ist. Eingang zum Modulator 920 ist eine bspw. von einem Netz- oder Maschinenregler 910 übermittelte, nichtquantisierte, bspw. kontinuierliche, Spannungsanforderung 912. Die Verwendung einer relativen
Spannungsanforderung erlaubt Kontrolle darüber, wie viele Spannungsschritte vom aktuellen Gesamtschaltzustand aus der nächste Gesamtschaltzustand liegt. Wegen des enormen Rechenaufwandes der Optimierung lässt sich hier auch sehr effizient bereits vorab die Menge von zu prüfenden Alternativen verringern. Bei schneller Schaltmodulation werden meist nur wenige Schaltschritte benötigt. Größere Änderungen werden nur für häufige sprunghafte Spannungsänderungen benötigt. Häufige, größere Spannungsschritte erzeugen ferner erhöhte Schaltverluste, da zwingend mehrere Module geschaltet werden müssen, während eine Änderung um nur ein Spannungslevel mit nur einem oder wenigen Modulzustandswechseln erfolgen kann.