Wie lässt sich die Steuerungstheorie auf meinen realen prozessorgesteuerten Aufwärtswandler anwenden?

Ich habe ein begrenztes Verständnis der Kontrolltheorie. Ich habe mich in der Schule mit Polen und Nullstellen und Übertragungsfunktionen beschäftigt. Ich habe mehrere mikroprozessorbasierte Steuerschemata für DC/DC-Wandler implementiert. Wie diese beiden Dinge miteinander zusammenhängen, muss ich noch herausfinden, und ich würde es gerne tun. Entwürfe auf Trial-and-Error-Basis zu erstellen, kann funktionieren, aber ich ziehe es vor, ein tieferes Verständnis dafür zu haben, was ich tue und was die Konsequenzen sind.

Die Antworten sollten sich auf die Analyse des Systems konzentrieren, nicht darauf, wie es verbessert werden kann. Wenn Sie jedoch Vorschläge zur Verbesserung des Systems haben und einen analytischen Grund dafür angeben möchten, wäre das fantastisch! Solange die Verbesserung der Analyse untergeordnet ist.

Mein Beispielsystem für die Zwecke dieser Frage:Geben Sie hier die Bildbeschreibung ein

  • C1: 1000uF
  • C2: 500 uF
  • L1: 500 μH
  • Schaltfrequenz: 4 kHz
  • R1: Variabel
  • Eingangsspannung: 400 Volt
  • Ausgangsspannungsziel: 500 Volt
  • Ausgangsstrombegrenzung: 20 Ampere

Ich versuche, die Ausgangsspannung zu regulieren, ohne eine Ausgangsstromgrenze zu überschreiten. Ich habe eine Spannungs- und Strommessung, die verschiedene Verstärkungsstufen durchlaufen, die ich an dieser Stelle nicht analysiere, die aber eine gewisse Filterung beinhalten. Direkt am A/D-Wandler folgt ein RC-Tiefpass mit 100 Ohm und 1000 pF. Die A/D-Abtastung bei 12 kHz. Dieser Wert durchläuft einen einpoligen IIR -Moving-Average-Filter der letzten 64 Samples.

Danach habe ich zwei PI-Schleifen. Zuerst die Spannungsschleife. Das Folgende ist ein Pseudocode mit Werten, die auf Volt, mA und Nanosekunden skaliert sind. Angenommen, die Begrenzungsprüfung ist an anderer Stelle korrekt implementiert. Die Struktur dieser Schleifen definiert P in Bezug auf die maximal zulässige Abweichung, wenn es keinen Integralterm gibt, und definiert dann den Integralterm so, dass ein maximaler Integrator diese Abweichung genau kompensieren kann. Die INTEGRAL_SPEED-Konstanten bestimmen, wie schnell die Integratoren hochspulen. (Dies scheint mir ein vernünftiger Weg zu sein, um sicherzustellen, dass P und ich immer richtig ausbalanciert sind, unabhängig davon, wie ich meine Konstanten einstelle, aber ich bin offen für andere Vorschläge.)

#DEFINE VOLTAGE_DROOP 25
#DEFINE VOLTAGE_SETPOINT 500
#DEFINE MAX_CURRENT_SETPOINT 20000

voltage_error = VOLTAGE_SETPOINT - VOLTAGE_FEEDBACK
current_setpoint = MAX_CURRENT_SETPOINT * voltage_error/VOLTAGE_DROOP

#define VOLTAGE_INTEGRAL_SPEED 4
voltage_integral += voltage_error/VOLTAGE_INTEGRAL_SPEED
//insert bounds check here
current_setpoint += VOLTAGE_DROOP * voltage_integral/MAX_VOLTAGE_INTEGRAL

#DEFINE CURRENT_DROOP 1000
#DEFINE MAX_ON_TIME 50000

current_error = current_setpoint - current_feedback
pwm_on_time = MAX_ON_TIME * current_error/CURRENT_DROOP

#define CURRENT_INTEGRAL_SPEED 4
current_integral += current_error/CURRENT_INTEGRAL_SPEED
//insert bounds check here
pwm_on_time += CURRENT_DROOP * current_integral/MAX_CURRENT_INTEGRAL

Ich habe also einen Aufwärtswandler mit zwei Kondensatoren, einer Drossel, einer variablen Last (die eine Stufenfunktion sein könnte), einer Rückkopplung mit einpoligen RC-Filtern, einem A/D-Wandler, einpoligen IIR-Digitalfiltern und zwei PI-Schleifen sich gegenseitig füttern. Wie analysiert man so etwas aus regelungstheoretischer Sicht (Pole, Nullstellen, Übertragungsfunktionen usw.), insbesondere um meine Regelkreisparameter richtig auszuwählen?

Ich fing an, diese Frage zu beantworten und stellte fest, dass Sie fragen, wie ein Aufwärtsregler mit offenem Regelkreis analysiert werden kann, damit Sie einen Algorithmus anwenden können (von dem ich glaube, dass Sie ihn analysieren möchten), und dann bemerkte ich den Ausgangsbereich von Spannungen und Strömen und Ich habe festgestellt, dass Sie die falsche Art von Topologie (nicht die reale Welt) für diese Leistung verwenden, also habe ich genau dort aufgehört, wo ich stattdessen diesen Kommentar geschrieben habe. OK, Sie könnten die Frage umgestalten, um sich auf ein realistischeres Szenario zu konzentrieren, aber die Analyse eines Algorithmus und einer Schaltung ist immer noch ein bisschen viel für eine Frage.
@Andyaka Es ist kein offener Regelkreis, ich messe die Spannung und den Strom, die ich reguliere. (Es sei denn, ich verstehe Ihren Kommentar falsch.) Außerdem baut mein Unternehmen seit einigen Jahrzehnten Konverter mit dieser Topologie in diesem Leistungsbereich und weit darüber hinaus. Wir verwenden IGBTs und keine FETs, wenn Sie sich darauf beziehen; das ist wohl völlig unrealistisch. Das FET-Symbol war gerade vorhanden und das IGBT-Symbol nicht, und der Unterschied schien die Frage nicht zu beeinflussen.
Zum Beispiel haben wir 400 V -> 600 V 85 A 4 kHz, 400 V -> 750 V 1000 A 2 kHz und 150 V -> 600 V 18 A 12 kHz durchgeführt. Alle sind im Feld und recht stabil. Die Topologie ist also praktisch, mit Ausnahme der FET / IGBT-Disparität, die ich korrigiert habe.
@StephenCollings Darf ich fragen, wie/woher Sie Ihre Hochstrominduktivitäten spezifizieren? Ich verstehe, dass es etwas vom Thema abweicht, aber ich suche nach Referenzen, aus denen ich lernen kann.
@HL-SDK Fragen Sie, wie ich auf die gewünschten Werte komme? Wo bestelle ich die Induktivitäten? Oder beides?
@StephenCollings Letzteres, ich würde mir vorstellen, dass Ihr Kernmaterial sehr groß ist.
@HL-SDK in diesem Frequenz- und Leistungsbereich hatten wir viel Glück mit einigen Unternehmen, darunter American Magnetics, Precision Magnetics und Electronic Craftsmen. Kerne sind in der Regel quadratische Laminierungen zwischen drei und fünf Zoll. Es ist jedoch alles kundenspezifisch mit proprietären Designs. Meiner Erfahrung nach verkaufen Ihnen die meisten Magnethersteller kein Produkt eines anderen Kunden.
@StephenCollings Sie haben es falsch verstanden - ich spreche davon, die Schaltung (im offenen Regelkreis) zu verstehen, dh eine Art Übertragungsfunktion dafür zu erstellen (dann in einem geschlossenen Regelkreisformat mit dem Regelkreisalgorithmus zu analysieren).
@ Andyaka Oh! Natürlich. Mein Fehler.
@Andyaka Aus Neugier, welche Topologie hielten Sie für realistischer für diese Leistungsstufen?
@StephenCollings Ich würde ein Push-Pull-Flyback-Design mit einem Transformator in Betracht ziehen. Primär würde von einem synchronen Abwärtswandler zentriert gespeist (er würde die Gleichspannung zum primären Mittelabgriff steuern) und damit die Regelung. Sekundär des Flyback-Transformators würde ich auch synchron machen. Vielleicht zu viel Silizium im Vergleich zu Ihrer Lösung?

Antworten (3)

Das meiste, was in der grundlegenden Steuerungsstudie behandelt wird, sind lineare zeitinvariante Systeme. Wenn Sie Glück haben, erhalten Sie am Ende möglicherweise auch diskretes Sampling und z-Transformationen. Natürlich sind Schaltnetzteile (SMPS) Systeme, die sich zeitlich diskontinuierlich durch topologische Zustände entwickeln und auch meist nichtlineare Antworten haben. Infolgedessen werden SMPS durch die Standard- oder grundlegende lineare Steuerungstheorie nicht gut analysiert.

Irgendwie, um weiterhin alle bekannten und gut verstandenen Werkzeuge der Steuerungstheorie zu verwenden; wie Bode-Diagramme, Nichols-Diagramme usw. muss etwas gegen die Zeitinvarianz und Nichtlinearität getan werden. Sehen Sie sich an, wie sich der SMPS-Zustand mit der Zeit entwickelt. Hier sind die topologischen Zustände für das Boost-SMPS:

Geben Sie hier die Bildbeschreibung ein

Jede dieser getrennten Topologien ist für sich allein als zeitinvariantes System leicht zu analysieren. Aber jede der Analysen einzeln genommen ist nicht von großem Nutzen. Was zu tun ist?

Während die topologischen Zustände abrupt von einem zum nächsten wechseln, gibt es Größen oder Variablen, die über die Schaltgrenze hinweg stetig sind. Diese werden üblicherweise Zustandsvariablen genannt. Die häufigsten Beispiele sind Induktorstrom und Kondensatorspannung. Warum schreiben Sie nicht Gleichungen basierend auf den Zustandsvariablen für jeden topologischen Zustand und nehmen eine Art Mittelwert der Zustandsgleichungen, indem Sie sie als gewichtete Summe kombinieren, um ein zeitinvariantes Modell zu erhalten? Das ist nicht gerade eine neue Idee.

State-Space Averaging – Zustandsmittelung von außen nach innen

In den 70er Jahren veröffentlichte Middlebrook 1 am Caltech die bahnbrechende Arbeit über State-Space-Averaging für SMPS. Das Papier beschreibt das Kombinieren und Mitteln topologischer Zustände, um den Niederfrequenzgang zu modellieren. Das Modell von Middlebrook mittelt die Zustände über die Zeit, was für die PWM-Steuerung mit fester Frequenz auf die Gewichtung des Tastverhältnisses (DC) hinausläuft. Beginnen wir mit den Grundlagen am Beispiel der Boost-Schaltung, die im Continuous Conduction Mode (CCM) arbeitet. Ein-Zustand-Arbeitszyklus des aktiven Schalters bezieht die Ausgangsspannung auf die Eingangsspannung wie folgt:

v Ö = v in 1 Gleichstrom

Die Gleichungen für jeden der beiden Zustände und ihre gemittelten Kombinationen lauten:

Aktiver Zustand Passiver Zustand Ave-Zustand Zustand Var   Gewicht Gleichstrom (1 - Gleichstrom) di L dt v in L v C + v in L ( 1 + Gleichstrom ) v C + v in L dV C dt v C C R ich L C v C C R ( R Gleichstrom R ) ich L v C C R

Ok, das kümmert sich um die Mittelung der Zustände, was zu einem zeitinvarianten Modell führt. Nun muss für ein nützliches linearisiertes (ac) Modell ein Störungsterm zu dem Steuerparameter DC und jeder Zustandsvariablen hinzugefügt werden. Dies führt zu einem stationären Term, der mit einem Twiddle-Term summiert wird.

Gleichstrom Gleichstrom Ö + d ac
ich L ich Lo + ich L
v c v co + v c
v in v ino + v in

Setzen Sie diese in die gemittelten Gleichungen ein. Da dies ein lineares Wechselstrommodell ist, möchten Sie nur die variablen Produkte 1. Ordnung, also verwerfen Sie alle Produkte von zwei Steady-State-Termen oder zwei Twiddle-Termen.

d v c dt = ( 1 Gleichstrom Ö ) ich L ich Lo d ac C v c C R
d ich L dt = d ac v co + v c ( Gleichstrom Ö 1 ) + v in L

Dies ist nur die übliche lineare Variation um einen Arbeitspunkt. Da wir außerdem nach einer AC-Lösung suchen, d dt kann immer durch s ersetzt werden (bzw j ω ). Lösen, um die Ausgangsspannung zu erhalten v c im Zusammenhang mit d ac Erträge:

v c d ac = v co Gleichstrom Ö + v co L ich Lo s C L s 2 + Gleichstrom Ö 2 2 Gleichstrom Ö + L s R + 1

Aus dieser Übertragungsfunktion ist es möglich, die Position des Nullpunkts der rechten Halbebene zu sehen f rhpz und die Lage des komplexen Polpaares f vgl .

f rhpz = v co ( 1 Gleichstrom Ö ) 2 2 π L ich Ö

f vgl = 1 Gleichstrom Ö 2 π L C

Für die Schaltungswerte von L1 = 500 uH, C2 = 500 uF, Vin = 400 V, Vo = 500 V und R1 = 25 Ohm; f rhpz ist 5093 Hz und f vgl beträgt 255 Hz.

Geben Sie hier die Bildbeschreibung ein

Die Verstärkungs- und Phasendiagramme zeigen die komplexen Pole und den Nullpunkt der rechten Halbebene. Q der Pole ist so hoch, weil ESR von L1 und C2 nicht enthalten sind. Um jetzt zusätzliche Modellelemente hinzuzufügen, müssten Sie zurückgehen und sie zu den anfänglichen Differentialgleichungen hinzufügen.

Ich könnte hier aufhören. Wenn ich das täte, hätten Sie das Wissen eines Spitzentechnologen ... aus dem Jahr 1973. Der Vietnamkrieg wäre vorbei, und Sie könnten aufhören, diese lächerliche Lottozahl für selektive Dienste ins Schwitzen zu bringen. Dagegen wären glänzende Nylonshirts und Disco angesagt. Besser in Bewegung bleiben.


PWM-gemitteltes Schaltermodell – Zustandsmittelung von innen nach außen

In den späten 80er Jahren hatte Vorperian (ein ehemaliger Student von Middlebrook) einen großen Einblick in die Mittelung von Zuständen. Er erkannte, dass das, was sich über einen Zyklus wirklich ändert, der Schalterzustand ist. Es stellt sich heraus, dass die Modellierung der Wandlerdynamik viel flexibler und einfacher ist, wenn der Schalter gemittelt wird, als wenn Schaltungszustände gemittelt werden.

In Anlehnung an Vorperian 2 erarbeiten wir ein gemitteltes PWM-Schaltermodell für den CCM-Boost. Ausgehend vom Standpunkt eines kanonischen Schalterpaars (aktiver und passiver Schalter zusammen) mit Eingangs-Ausgangs-Knoten für den aktiven Schalter (a), den passiven Schalter (p) und die gemeinsame Verbindung der beiden (c). Wenn Sie auf die Abbildung der 3 Zustände des Boost-Reglers im Zustandsraummodell zurückgreifen, sehen Sie, dass um die Schalter ein Kästchen gezeichnet ist, das diese Verbindung des PWM-Durchschnittsmodells zeigt.

Sie benötigen Gleichungen, die die Eingangs- und Ausgangsspannungen in Beziehung setzen v ap und v vgl , und Eingangs- und Ausgangsströme ich a und ich c auf durchschnittliche Art und Weise. Durch Inspektion und Kenntnis darüber, wie diese einfachen Spannungen und Ströme aussehen, erhalten Sie:

v ap = v vgl Gleichstrom

und

ich a = Gleichstrom ich c

Fügen Sie dann die Störung hinzu

Gleichstrom Gleichstrom Ö + d ac
ich a ich a + ich a
ich c ich c + ich c
v ap v ap + v ap
v vgl v vgl + v vgl

so,

v ap = v vgl Gleichstrom Ö - d ac v ap Gleichstrom Ö

und,

ich a = ich c Gleichstrom Ö + ich c d ac

Diese Gleichungen können in eine äquivalente Schaltung gerollt werden, die für die Verwendung mit SPICE geeignet ist. Die Begriffe mit stationärem Gleichstrom in Kombination mit Kleinsignal-Wechselspannungen oder -strömen sind funktional äquivalent zu einem idealen Transformator. Die anderen Terme können als skalierte abhängige Quellen modelliert werden. Hier ist ein AC-Modell des Aufwärtsreglers mit einem gemittelten PWM-Schalter:

Geben Sie hier die Bildbeschreibung ein

Die Bode-Plots des PWM-Switch-Modells sehen dem State-Space-Modell sehr ähnlich, sind aber nicht ganz gleich. Der Unterschied ist auf die Hinzufügung von ESR für L1 (0,01 Ohm) und C2 (0,13 Ohm) zurückzuführen. Das bedeutet einen Verlust von etwa 10 W in L1 und eine Ausgangswelligkeit von etwa 5 Vpp. Das Q des komplexen Polpaars ist also niedriger und das rhpz ist schwer zu erkennen, da sein Phasengang durch die ESR-Null von C2 abgedeckt wird.

Geben Sie hier die Bildbeschreibung ein

Das PWM-Schaltermodell ist ein sehr leistungsfähiges intuitives Konzept:

  • Der von Vorperian abgeleitete PWM-Schalter ist kanonisch. Das bedeutet, dass das hier gezeigte Modell mit Boost-, Buck- oder Boost-Buck-Topologien verwendet werden kann, solange es sich um CCM handelt. Sie müssen nur die Verbindungen ändern, um p mit passivem Schalter, a mit aktivem Schalter und c mit der Verbindung zwischen den beiden abzugleichen. Wenn Sie DCM wollen, brauchen Sie ein anderes Modell ... und es ist komplizierter als das CCM-Modell ... Sie können nicht alles haben.

  • Wenn Sie der Schaltung etwas wie ESR hinzufügen müssen, müssen Sie nicht zu den Eingangsgleichungen zurückkehren und von vorne beginnen.

  • Es ist einfach mit SPICE zu verwenden.

  • PWM-Schaltermodelle sind weit verbreitet. Es gibt eine zugängliche Beschreibung in "Understanding Boost Power Stages in Switchmode Power Supplies" von Everett Rogers (SLVA061).

Einschränkungen? Die Modelle hier verstehen keinen der Resonanz- oder Schaltfrequenzeffekte (wie Nyquist-Sampling), bleiben also mindestens ein Jahrzehnt niedriger als f s mit Schleifenbandbreiten. Eine grundlegende Annahme ist, dass Zeitkonstanten wie L1/R1 und R1C2 viel größer als die Schaltperiode sind T s (wenn beide weniger als etwa 10x sind T s , ist es an der Zeit, sich Gedanken über die Genauigkeit zu machen).

Jetzt sind Sie in den 1990er Jahren. Handys wiegen weniger als ein Pfund, auf jedem Schreibtisch steht ein PC, SPICE ist so allgegenwärtig, dass es ein Verb ist, und Computerviren sind eine Sache. Die Zukunft beginnt hier.


1 GW Wester und RD Middlebrook, "Low-Frequency Characterization of Switched DC-DC Converters", IEEE Transactions an Aerospace and Electronic Systems, Vol. 1, No. AES-9, S. 376-385, Mai 1973.

2 V. Vorperian, „Vereinfachte Analyse von PWM-Wandlern unter Verwendung des Modells des PWM-Schalters: Teil I und II“, IEEE Transactions on Aerospace and Electronic Systems, Vol. 2, No. AES - 26, S. 490 - 505, Mai 1990.

Sehr schöne Antwort! Sie berühren leicht, dass DCM komplexer ist. Hast du Literatur dazu? Ich möchte in DCM einen Hochsetzsteller mit variabler Schaltfrequenz als Regelparameter (und nicht das Tastverhältnis als Regelparameter) für den Strom modellieren.

Eine grobe Vereinfachung der Kontrolltheorie:

Grundsätzlich müssen Sie mit einem Modell beginnen. Es ist ziemlich einfach, den zu analysierenden physischen Konverter zu modellieren. Es gibt mathematische Modelle, die das elektrische Verhalten des Aufwärtswandlers mit hoher Genauigkeit nachbilden.

Was schwierig wird, ist die Modellierung Ihres Steuerungssystems. Ein Tool, das mir in den Sinn kommt, ist PSIM , mit dem Sie viele digitale Parameter als diskrete Blöcke modellieren können (Quantisierung, A/D-Wandlung, IIR-Filter, Verzögerungen usw.) – dies gibt Ihnen eine einfache Sandbox, mit der Sie herumspielen können, ohne Hardware zu riskieren .

Der nächste Schritt besteht darin, die „Anlage“ von der Steuerung bis zur Ausgabe zu analysieren, um zu verstehen, was genau Sie zu kompensieren versuchen. Dies erfolgt normalerweise im offenen Regelkreis, indem ein DC-Arbeitspunkt (keine Rückkopplung) eingestellt wird, Störungen über einen Bereich von Frequenzen injiziert und die Antworten gemessen werden.

Sobald Sie Ihre Open-Loop-Antwort erhalten haben, können Sie einen Kompensator entwerfen, der ausreichende Betriebsspielräume für Stabilität gewährleistet (ausreichender Phasenspielraum beim Nulldurchgang der Verstärkung, ausreichende Dämpfung bei 180 Grad Phase). Anschließend implementieren Sie Ihren Controller in Blockform (oder in Pseudocode) in der Simulation und testen die Antwort des geschlossenen Regelkreises.

Die Verwendung eines Simulationstools wäre nützlich, aber die Grundlagen der Schaltung bestehen darin, dass Sie Energie 4.000 Mal pro Sekunde übertragen und die Leistung an die Last diese Energieübertragung multipliziert mit der Anzahl der Energieübertragungen pro Sekunde ist.

Wenn also die Lastleistung 4 kW beträgt, müssen Sie in jedem Zyklus 1 Joule Energie übertragen. Das führt dann dazu, wie viel Strom Sie in Ihren 500-uH-Induktor stecken müssen. Gespeicherte Energie ist L ich 2 2 und dies ist gleich 1, also I = 2 500 × 10 6 = 63A.

Wenn der IGBT in den Leerlauf geht, wird diese Energie über die Diode S1 in den Lastkreis abgegeben.

Denn für eine Induktivität E = L d ich d t wir können ausrechnen, wie lange der IGBT "an" sein muss - das ist dt und natürlich wissen wir di = 63A. Wir kennen auch E (400 V) und L.

Dies funktioniert als dt = 500 × 10 6 × 63 400 = 79 μ s

Wenn der Lastwiderstand kleiner wäre, müssten Sie mehr Leistung übertragen und der Spitzenstrom in die Induktivität wäre höher, und dies bedeutet natürlich eine längere Zeitspanne, die der IGBT eingeschaltet bleibt.

dt ist Ihre Eingabe in die Schaltung und kann bis zu fast 250 betragen μ s (4kHz), aber für das obige Beispiel (halbe Leistungslast) 79 μ s scheint den Job zu machen. Die einzige andere Sache, die Sie berechnen müssen, ist, wie viel Brummspannung Sie sehen werden, und um dies zu tun, müssen Sie Q = CV auf den Kondensator und insbesondere auf ihn anwenden d q d t = C d v d t .

d q d t = aktuell u d v d t = Spannungswelligkeit, aber ich verliere jetzt den Lebenswillen, also kannst du das vielleicht klären.