Modellierung Elektrischer Schaltkreise Prof. Dr. François E. Cellier Institut für Computational Science ETH Zürich 29. Juni 2006
Elektrische Schaltungen I Diese Vorlesung diskutiert die mathematische Modellierung einfacher elektrischer linearer Schaltungen. Die Modellierung führt zunächst immer auf ein System impliziter Algebrodifferentialgleichungen, das dann durch horizontales sowie vertikales Sortieren auf einen Satz expliziter Algebro- differentialgleichungen zurückgeführt werden kann. Durch Elimination der algebraischen Variablen kann sodann eine Zustandsraumdarstellung gewonnen werden.
Inhaltsverzeichnis Die Komponenten und ihre Modelle Die Netzwerktopologie und ihre Gleichungen Ein Beispiel Horizontales Sortieren Vertikales Sortieren Algebraische Schleifen Strukturdiagramme Zustandsraumdarstellung Umformung in die Zustandsraumdarstellung
Lineare Netzwerkkomponenten I v a b u C L u = va – vb u = R·i i = C· du dt u = L· di Widerstände Kapazitäten Induktivitäten
Lineare Netzwerkkomponenten II U i v a b | + U0 = vb – va U0 = f(t) Spannungsquellen Stromquellen Erde I v a b u u = vb – va I0 = f(t) V V V0 = 0 - V
Schaltungstopologie Knoten Maschen v u v va = vb = vc ia + ib + ic = 0 ab bc ca uab + ubc + uca = 0
Regeln für Gleichungssysteme I Die Komponenten- und Topologiegleichungen enthalten eine gewisse Redundanz. So können z.B. sämtliche Potentialvariablen (vi) ohne weiteres eliminiert werden. Die Stromknotengleichung für den Erdknoten ist redundant und wird nicht benötigt. Die Maschengleichungen werden nur benötigt, falls die Potentialvariablen eliminiert werden. Andernfalls sind die Maschengleichungen redundant.
Regeln für Gleichungssysteme II Falls die Potentialvariablen eliminiert werden, definiert jede Netzwerkkomponente zwei Variablen: den Strom (i) durch das Element und die Spannung (u) über dem Element. Somit werden zwei Gleichungen benötigt, um diese Variablen zu ermitteln. Eine der Gleichungen ist die konstituierende Gleichung des Elements selbst, die andere stammt von der Topologie.
Ein Beispiel I Komponentengleichungen: U0 = f(t) iC = C· duC/dt u1 = R1· i1 uL = L· diL/dt u2 = R2· i2 Knotengleichungen: i0 = i1 + iL i1 = i2 + iC Maschengleichungen: U0 = u1 + uC uL = u1 + u2 uC = u2 Das Netzwerk enthält 5 Komponenten Wir benötigen 10 Gleichungen in 10 Unbekannten
Regeln für horizontales Sortieren I Die Zeit t darf als bekannt angenommen werden. Die Zustandsvariablen (Variablen, die in abgeleiteter Form vorkommen) dürfen als bekannt angenommen werden. U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2
Regeln für horizontales Sortieren II Gleichungen, die nur eine Unbekannte enthalten, müssen nach dieser aufgelöst werden. Die so ermittelten Variablen sind nun bekannt. U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2
Regeln für horizontales Sortieren III Variablen, die nur in einer Gleichung auftreten, müssen aus dieser ermittelt werden. U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2
Regeln für horizontales Sortieren IV Alle Regeln können rekursiv angewandt werden. U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2
U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 Der Algorithmus wird fortgesetzt, bis jede Gleichung genau eine Variable definiert, die daraus ermittelt wird.
Regeln für horizontales Sortieren V Das horizontale Sortieren kann nun mittels symbolischer Formelmanipulation durchgeführt werden. U0 = f(t) u1 = R1· i1 u2 = R2· i2 iC = C· duC/dt uL = L· diL/dt i0 = i1 + iL i1 = i2 + iC U0 = u1 + uC uC = u2 uL = u1 + u2 U0 = f(t) i1 = u1 /R1 i2 = u2 /R2 duC/dt = iC /C diL/dt = uL /L i0 = i1 + iL iC = i1 - i2 u1 = U0 - uC u2 = uC uL = u1 + u2
Regeln für vertikales Sortieren Die Gleichungen sind unterdessen Zuweisungen. Sie können so sortiert werden, dass keine Variable verwendet wird, bevor sie definiert wurde. U0 = f(t) i1 = u1 /R1 i2 = u2 /R2 duC/dt = iC /C diL/dt = uL /L i0 = i1 + iL iC = i1 - i2 u1 = U0 - uC u2 = uC uL = u1 + u2 U0 = f(t) u1 = U0 - uC i1 = u1 /R1 i0 = i1 + iL u2 = uC i2 = u2 /R2 iC = i1 - i2 uL = u1 + u2 duC/dt = iC /C diL/dt = uL /L
Regeln für Gleichungssysteme III Alternativ kann sowohl mit den Spannungen wie auch mit den Potentialvariablen gearbeitet werden. In diesem Fall müssen zusätzliche Gleichungen für die Knotenpotentiale gefunden werden. Dabei handelt es sich um die Potentialgleichungen der Komponenten sowie um die Potentialgleichungen der Knoten. Diese Gleichungen sind im vorher gezeigten Verfahren ignoriert worden. Die Maschengleichungen sind in diesem Falle redundant und können ignoriert werden.
Ein Beispiel II Komponentengleichungen: U0 = f(t) U0 = v1 – v0 v u1 = R1· i1 u1 = v1 – v2 u2 = R2· i2 u2 = v2 – v0 iC = C· duC/dt uC = v2 – v0 uL = L· diL/dt uL = v1 – v0 v0 = 0 Knotengleichungen: i0 = i1 + iL i1 = i2 + iC v 1 2 Das Netzwerk enthält 5 Komponenten und 3 Knoten. Wir benötigen 13 Gleichungen in 13 Unbekannten.
Sortieren Das Sortieren geht gleich vor sich wie beim vorherigen Algorithmus. Der Sortieralgorithmus ist bereits rein informatisch abstrakt und hat nichts mehr mit dem elektrischen Schaltkreis zu tun. Somit kann die Modellierungsaufgabe in zwei Teil-aufgaben zerlegt werden: Abbildung der physikalischen Topologie auf ein differential- algebraisches Gleichungssystem. Umformung des Gleichungssystems in eine ausführbare Programmstruktur.
Algebraische Schleifen und Strukturelle Singularitäten Der bisher aufgezeigte Sortieralgorithmus funktioniert nicht immer so reibungslos, wie dies in den bisher gezeigten Beispielen den Anschein machte.
Algebraische Schleifen: Ein Beispiel Komponentengleichungen: U0 = f(t) u3 = R3· i3 u1 = R1· i1 uL = L· diL/dt u2 = R2· i2 Knotengleichungen: i0 = i1 + iL i1 = i2 + i3 Maschengleichungen: U0 = u1 + u3 uL = u1 + u2 u3 = u2 Das Netzwerk enthält 5 Komponenten Wir benötigen 10 Gleichungen in 10 Unbekannten
Horizontales Sortieren I 1. U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL i1 = i2 + i3 U0 = u1 + u3 u3 = u2 uL = u1 + u2 2. U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL i1 = i2 + i3 U0 = u1 + u3 u3 = u2 uL = u1 + u2 3. U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL i1 = i2 + i3 U0 = u1 + u3 u3 = u2 uL = u1 + u2 4. U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL i1 = i2 + i3 U0 = u1 + u3 u3 = u2 uL = u1 + u2
Horizontales Sortieren II U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL i1 = i2 + i3 U0 = u1 + u3 u3 = u2 uL = u1 + u2 Bei den sechs noch a-kausalen Gleichungen (d.h. den Gleichungen ohne rote Variable) enthält jede Gleichung mindestens zwei Unbe-kannte, und jede Unbekannte taucht in mindestens zwei Gleichungen auf. Eine solche Situation deutet immer auf das Vorhandensein algebraischer Schleifen hin.
Algebraische Schleifen I Wir wählen eine Variable in einer Gleichung, z.B. Variable i1 in Gleichung 4. Wir nehmen diese Variable nun als bekannt an und fahren fort wie bis anhin. 1. u1 = R1· i1 2. u2 = R2· i2 3. u3 = R3· i3 4. i1 = i2 + i3 5. U0 = u1 + u3 6. u3 = u2 1. 1. u1 = R1· i1 2. u2 = R2· i2 3. u3 = R3· i3 4. i1 = i2 + i3 5. U0 = u1 + u3 6. u3 = u2 2. 1. u1 = R1· i1 2. u2 = R2· i2 3. u3 = R3· i3 4. i1 = i2 + i3 5. U0 = u1 + u3 6. u3 = u2 3. 1. u1 = R1· i1 2. u2 = R2· i2 3. u3 = R3· i3 4. i1 = i2 + i3 5. U0 = u1 + u3 6. u3 = u2 4. 1. u1 = R1· i1 2. u2 = R2· i2 3. u3 = R3· i3 4. i1 = i2 + i3 5. U0 = u1 + u3 6. u3 = u2
Algebraische Schleifen II 1. u1 = R1· i1 2. u2 = R2· i2 3. u3 = R3· i3 4. i1 = i2 + i3 5. U0 = u1 + u3 6. u3 = u2 Strukturdiagramm Algebraische Schleifen i2 i1 u1 u3 i3 u2 U0 4. 1. 2. 3. 5. 6.
Auflösen algebraischer Schleifen I 1. u1 = R1· i1 2. u2 = R2· i2 3. u3 = R3· i3 4. i1 = i2 + i3 5. U0 = u1 + u3 6. u3 = u2 1. u1 = R1· i1 2. i2 = u2 / R2 3. i3 = u3 / R3 4. i1 = i2 + i3 5. u3 = U0 - u1 6. u2 = u3 Gleichung 4. wird durch die neue Gleichung ersetzt. i1 = i2 + i3 = u2 / R2 + u3 / R3 = u3 / R2 + u3 / R3 = ((R2 + R3 ) / (R2 · R3 )) · u3 = ((R2 + R3 ) / (R2 · R3 )) · (U0 - u1 ) = ((R2 + R3 ) / (R2 · R3 )) · (U0 - R1· i1 ) i1 = R2 + R3 R1 R2 + R1 R3 + R2 R3 · U0
Auflösen algebraischer Schleifen II U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL U0 = u1 + u3 u3 = u2 uL = u1 + u2 i1 = R2 + R3 R1 R2 + R1 R3 + R2 R3 · U0 Die algebraischen Schleifen sind jetzt aufgelöst, und es kann mit dem Sortieralgorithmus in der üblichen Weise fortgefahren werden.
Horizontales Sortieren III U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL U0 = u1 + u3 u3 = u2 uL = u1 + u2 i1 = R2 + R3 R1 R2 + R1 R3 + R2 R3 · U0 U0 = f(t) u1 = R1· i1 u2 = R2· i2 u3 = R3· i3 uL = L· diL/dt i0 = i1 + iL U0 = u1 + u3 u3 = u2 uL = u1 + u2 i1 = R2 + R3 R1 R2 + R1 R3 + R2 R3 · U0
Mehrere gekoppelte Schleifen 4. 6. 1. 2. 3. 5. c d h g b f a e 7. 8. c = b + d = 3·f + h = 3·f + g = 3·f + 2·c f = e + g = a + 2·c = b + 2·c + 1 = 3·f + 2·c + 1 1. a = b + 1 2. b = 3·f 3. c = b + d 4. d = h 5. e = a 6. f = e + g 7. g = 2·c 8. h = g 1. a = b + 1 2. b = 3·f 3. c = b + d 4. d = h 5. e = a 6. f = e + g 7. g = 2·c 8. h = g 1. a = b + 1 2. b = 3·f 3. c = b + d 4. d = h 5. e = a 6. f = e + g 7. g = 2·c 8. h = g c + 3·f = 0 2·c + 2·f = -1 c = - 0.75 f = + 0.25
Zustandsraumdarstellung A n n B n m C p n D p m Lineare Systeme: Nichtlineare Systeme: x n u m y p dx dt = A · x + B · u y = C · x + D · u x(t0) = x0 ; x = Zustandsvektor u = Eingangsgrössenvektor y = Ausgangsgrössenvektor n = Anzahl Zustandsvariabeln m = Anzahl Eingangsgrössen p = Anzahl Ausgangsgrössen dx dt = f(x,u,t) y = g(x,u,t) x(t0) = x0 ;
Umwandlung in Zustandsform I U0 = f(t) u1 = U0 - uC i1 = u1 /R1 i0 = i1 + iL u2 = uC i2 = u2 /R2 iC = i1 - i2 uL = u1 + u2 duC/dt = iC /C diL/dt = uL /L duC/dt = iC /C = (i1 - i2 ) /C = i1 /C - i2 /C = u1 /(R1 · C) – u2 /(R2 · C) = (U0 - uC) /(R1 · C) – uC /(R2 · C) diL/dt = uL /L = (u1 + u2) /L = u1 /L + u2 /L = (U0 - uC) /L + uC /L = U0 /L Für jede Gleichung, welche eine Zustandsableitung definiert, sub- stituieren wir die Variabeln auf der rechten Seite ihrer Definitions- gleichungen, bis die Zustands- ableitungen nur noch von Zustands- variabeln und Eingangsgrössen abhängig sind.
Umwandlung in Zustandsform II . [ ] . . Wir setzen: x1 = uC x2 = iL u = U0 y = uC 1 1 1 x1 = - + x1 + u R1 · C R2 · C R1 · C . . 1 x2 = u L y = x1
Ein Beispiel IV