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:
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?
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:
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:
=
Die Gleichungen für jeden der beiden Zustände und ihre gemittelten Kombinationen lauten:
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.
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.
=
=
Dies ist nur die übliche lineare Variation um einen Arbeitspunkt. Da wir außerdem nach einer AC-Lösung suchen, kann immer durch s ersetzt werden (bzw ). Lösen, um die Ausgangsspannung zu erhalten im Zusammenhang mit Erträge:
=
Aus dieser Übertragungsfunktion ist es möglich, die Position des Nullpunkts der rechten Halbebene zu sehen und die Lage des komplexen Polpaares .
=
=
Für die Schaltungswerte von L1 = 500 uH, C2 = 500 uF, Vin = 400 V, Vo = 500 V und R1 = 25 Ohm; ist 5093 Hz und beträgt 255 Hz.
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 und , und Eingangs- und Ausgangsströme und auf durchschnittliche Art und Weise. Durch Inspektion und Kenntnis darüber, wie diese einfachen Spannungen und Ströme aussehen, erhalten Sie:
=
und
= Gleichstrom
Fügen Sie dann die Störung hinzu
so,
= -
und,
=
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:
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.
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 mit Schleifenbandbreiten. Eine grundlegende Annahme ist, dass Zeitkonstanten wie L1/R1 und R1C2 viel größer als die Schaltperiode sind (wenn beide weniger als etwa 10x sind , 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.
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 und dies ist gleich 1, also I = = 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 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 =
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 (4kHz), aber für das obige Beispiel (halbe Leistungslast) 79 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 .
aktuell u Spannungswelligkeit, aber ich verliere jetzt den Lebenswillen, also kannst du das vielleicht klären.
Andi aka
Stefan Colling
Stefan Colling
HL-SDK
Stefan Colling
HL-SDK
Stefan Colling
Andi aka
Stefan Colling
Stefan Colling
Andi aka