diff --git a/src/cheatsheets/Schaltungstheorie.typ b/src/cheatsheets/Schaltungstheorie.typ index 75d5c42..d785d9d 100644 --- a/src/cheatsheets/Schaltungstheorie.typ +++ b/src/cheatsheets/Schaltungstheorie.typ @@ -205,8 +205,62 @@ $i_(cal(F),2) = i_(cal(F),1)$ ], ) + + *Kennline Addition* \ + + #grid( + columns: (1fr, auto, 1fr), + row-gutter: 2mm, + column-gutter: 3mm, + [Parallel-Schaltung], $-->$, [$i$-Richtung], + [Reihe-Schaltung], $-->$, [$u$-Richtung], + + ) ] + #bgBlock(fill: colorAllgemein)[ + #subHeading(fill: colorAllgemein)[Spannungs Teiler/Strom Teiler] + + #table( + columns: (1fr, 1fr), + fill: (x, y) => if calc.rem(x, 2) == 1 { tableFillLow } else { tableFillHigh }, + [*Spannungsteiler*], + [*Stromteiler*], + zap.circuit({ + import zap : * + + node("N1", (0,1.5)) + node("N2", (0,0)) + node("N3", (0,-1.5)) + + resistor("R1", "N1", "N2", label: (content: $R_2$, distance: 0.1), scale: 0.7, fill: none) + resistor("R2", "N2", "N3", label: (content: $R_1$, distance: 0.1), scale: 0.7, fill: none) + + joham.voltage((-0.4, 0), (-0.4, -1.5), $u_"out"$) + joham.voltage((0.8, 1.5), (0.8, -1.5), $u_"ges"$, anchor: "west") + + wire((-0.6, 1.5),(0.8, 1.5)) + wire((-0.6, -1.5),(0.8, -1.5)) + wire((-0.6, 0),(0,0)) + }), + zap.circuit({ + import zap : * + + node("N1", (0,0)) + node("N2", (0,2)) + + resistor("R1", "N1", "N2", label: (content: $R_1$, distance: 0.1), scale: 0.7, fill: none, i: (content: $i_"out"$, anchor: "south", distance: 0.25, invert: true)) + resistor("R2", (1,0), (1,2), label: (content: $R_2$, distance: 0.1), scale: 0.7, fill: none) + + wire((-1, 0), "R2.in") + wire((-1, 2), "R2.out") + wire((-1, 2), "N2", i: (content: $i_"ges"$, distance: 0.1)) + + }), + $ u_"out" = R_1/(R_1 + R_2) $, $ i_"out" = R_2/(R_1 + R_2) i_"ges" $, + $ u_"out" = G_2/(G_1 + G_2) $, $ i_"out" = G_1/(G_1 + G_2) i_"ges" $ + ) + ] // Lineare Quelle #bgBlock(fill: colorEineTore)[ @@ -440,6 +494,7 @@ $L --> C^d = L / R_d^2$, $"KS" --> "LL"$, $"LL" -> "KS"$, + $"Nullator" --> "Nullator"$, $"Norator" -> "Norator"$, $"Parallel" --> "Seriell"$, $"Seriell" --> "Parallel"$, @@ -447,20 +502,10 @@ table.cell(colspan: 2)[ *Dualwandlung: Steurende & Ausgangs Größe* $ - "VCVS": u_"out" = mu dot u_"in" &--> i_"out" R_d = mu dot i_"in" R_d \ - "VCCS": u_"out" = g dot i_"in" &--> \ - "CCVS": u_"out" = r dot i_"in" &--> \ - "CCCS": i_"out" = beta dot i_"in" &--> \ - $ - ], - - table.cell(colspan: 2)[ - *Dualwandlung: Nur Ausgangs Größe* - $ - "VCVS": u_"out" = mu dot u_"in" &--> \ - "VCCS": u_"out" = g dot i_"in" &--> \ - "CCVS": u_"out" = r dot i_"in" &--> \ - "CCCS": i_"out" = beta dot i_"in" &--> \ + "VCVS" &: u_"out" &= mu dot u_"in" &--> i_"out"^d = mu i_"in"^d\ + "VCCS" &: i_"out" &= g dot u_"in" &--> u_"out"^d = g R_d^2 dot i_"in"^d \ + "CCVS" &: u_"out" &= r dot i_"in" &--> i_"out"^d = r/R_d^2 dot u_"in"\ + "CCCS" &: i_"out" &= beta dot i_"in" &--> u_"out"^d = beta u_"in"^d\ $ ], @@ -476,8 +521,6 @@ 2. Ableitung $g_cal(F)(u)$/$r_cal(F)(i)$ bilden \ $g'_cal(F)(u)$/$r'_cal(F)(i)$ - #colbreak() - #line(length: 100%) *Stromgesteuert* $quad r(i) = u$ @@ -521,7 +564,7 @@ #linebreak() - *Klein-Signal* $quad i_"lin" = g_"lin" (u) = g'(u_"AP")u$ + *Klein-Signal* $quad Delta i_"lin" = g_"lin" (Delta u) = g'(u_"AP") Delta u$ #line(length: 100%) @@ -562,7 +605,7 @@ })), ); #linebreak() - *Klein-Signal* $quad u_"lin" = r_"lin" (i) = r'(i_"AP")i$ + *Klein-Signal* $quad Delta u_"lin" = r_"lin" (Delta i) = r'(i_"AP") Delta i$ ] // Graphen und Matrizen @@ -984,6 +1027,26 @@ ) ], + // KS/LL + #bgBlock(fill: colorZweiTore)[ + #subHeading(fill: colorZweiTore)[Kurzschluss/Leerlauf Methode für Zweitore] + + 1. Was sind die Input-Größen/Output-Größen? \ + $u"-gesteuert:" u = 0 &--> "Kurzschluss (KS)" \ + i"-gesteuert:" i = 0 &--> "Leerlauf (LL)"$ \ + + 2. Steuernde Größe 1 beschalten KS/LL \ + $-->$ BEIDE gesteuerten Größe errechen \ + (2. Spalte der Matrix) + 3. Steuernde Größe 2 beschalten KS/LL \ + $-->$ BEIDE gesteuerten Größe errechen \ + (1. Spalte der Matrix) + + 4. Matrix/Gleichung aufstellen \ + Addition der Beschreibung pro gesteuerter Größe \ + (Superpositions Prinzip) + ] + // Linearsierung (N-Tore) #bgBlock(fill: colorAnalyseVerfahren)[ #subHeading(fill: colorAnalyseVerfahren)[Linearisierung (N-Tore)] @@ -1406,30 +1469,227 @@ *Cramersche Regel:* $u_(k i) = (det jMat(G)_(k i))/(det jMat(G)_k)$ ($jMat(G)_(k i)$ entshet aus $G_k$ durch ersetzen der $i$-ten Splate mit $jVec(i)_q$) #table( + columns: (1fr, 1fr), + fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillHigh } else { tableFillLow }, + grid( columns: 3, + column-gutter: 5mm, + row-gutter: 3mm, zap.circuit({ import zap : * vsource("V", (0,0), (0,1.5), scale: 0.4, fill: none) joham.voltage((-0.3,1), (-0.3,0), $U_0$) - resistor("G", (0,1.5), (1,1.5), scale: 0.4, fill: none) + resistor("G", (0,1.5), (1,1.5), scale: 0.4, fill: none, label: (content: $G$, distance: 0.6mm, anchor: "south")) wire("V.in", (1,0)) }), align(center+horizon, $==>$), zap.circuit({ import zap : * - isource("V", (0,0), (0,1.5), scale: 0.4, fill: none, i: (content: $G U_0 space $, invert: false, distance: 0.2, anchor: "east")) + isource("V", (0,0), (0,1.5), scale: 0.4, fill: none, i: (content: $G U_0 space$, invert: false, distance: 0.2, anchor: "east")) - resistor("G", (0,1.5), (1,1.5), scale: 0.4, fill: none) - wire("V.in", (1,0)) - }) + resistor("G", (1,0), (1,1.5), n: "*-*", scale: 0.4, fill: none, label: (content: $G$, distance: 0.6mm)) + wire("V.in", (1.5,0)) + wire("V.out", (1.5,1.5)) + }), ), + grid( + columns: 3, + column-gutter: 5mm, + row-gutter: 3mm, + zap.circuit({ + import zap : * + + vsource("V", (0,0), (0,1.5), scale: 0.4, fill: none) + joham.voltage((-0.3,1), (-0.3,0), $U_0$) + + wire("V.in", (1,0)) + wire("V.out", (1,1.5)) + }), + align(center+horizon, $==>$), + zap.circuit({ + import zap : * + isource("V", (0,0), (0,1.5), scale: 0.4, fill: none, i: (content: $G U_0 space$, invert: false, distance: 0.2, anchor: "east")) + + resistor("G", (1,0), (1,1.5), n: "*-*", scale: 0.4, fill: none, label: (content: $G$, distance: 0.6mm)) + resistor("-G", (2.3,1.5), (1,1.5), scale: 0.4, fill: none, label: (content: $-G$, distance: 0.6mm)) + wire("V.in", (2.3,0)) + wire("V.out", "G.out") + }), + ), + + grid( + columns: 3, + column-gutter: 5mm, + row-gutter: 3mm, + zap.circuit({ + import zap : * + + vsource("V", (0,0), (0,1.5), scale: 0.4, fill: none) + joham.voltage((-0.3,1), (-0.3,0), $U_0$) + + wire("V.in", (1,0)) + wire("V.out", (1,1.5)) + }), + align(center+horizon, $==>$), + zap.circuit({ + import zap : * + joham.gyrator("G", (0,0), scale: 0.4, constant: $G_d$, invert: true) + joham.ground("GND", "G.12") + node("A", "G.12") + node("B", (-0.75,0.67), label: (content: $alpha$, distance: 0.1)) + isource("V", "G.12", "G.11", scale: 0.4, fill: none, i: (content: $G_d U_0 space$, invert: true, distance: 0.3, anchor: "east")) + }), + ), + + [*Übertrager/NIK* siehe Zweitor-Tabelle], + + scale(90%, grid( + columns: (auto, 0mm, 1fr), + column-gutter: 5mm, + row-gutter: 3mm, + + [ + *VCVS + 1 Knoten* \ + #zap.circuit({ + import zap : vsource, node, disource, dvsource, wire + import cetz.draw : line, rect, mark, content + + node("A", (0,0), fill: false) + node("B", (0,1), fill: false) + node("C", (0.8,0), fill: false) + node("D", (0.8,1), fill: false) + + joham.voltage((0, 1), (0, 0), $u_"in"$, anchor: "west") + dvsource("S", (0.8,0), (0.8,1), fill: none, scale: 0.4) + + joham.voltage((1.1, 1), (1.1, 0), $u_"out"$, anchor: "west") + }) + + $u_"out" = mu u_"in"$ + ], + align(center+horizon, $==>$), + [ + #zap.circuit({ + import zap : vsource, node, disource, dvsource, wire + import cetz.draw : line, rect, mark, content + + joham.gyrator("G0", (3,0), scale: 0.4, invert: true, constant: $G_d$) + + disource("S", "G0.11", "G0.12", scale: 0.4, fill: none, i: (content: $i_"out"$, distance: 0.3, anchor: "west", invert: true)) + node("N4", "G0.11", label: (content: $beta$, distance: 0.1),) + node("N3", "G0.12",) + joham.ground("GND1", "N3") + + node("A", (1, 0.67), fill: false) + node("B", (1, -0.67), fill: false) + joham.voltage((1, 0.7), (1, -0.7), $u_"in"$, anchor: "west") + + }) + $i_"out" = mu G_d u_"in"$ + ], + )), + + scale(90%, grid( + columns: (auto, 0mm, 1fr), + column-gutter: 5mm, + row-gutter: 3mm, + + [ + *CCCS + 1 Knoten* \ + #zap.circuit({ + import zap : vsource, node, disource, dvsource, wire + import cetz.draw : line, rect, mark, content + + node("A", (0,0), fill: false) + node("B", (0,1), fill: false) + node("C", (0.8,0), fill: false) + node("D", (0.8,1), fill: false) + + wire((0,0), (0,1), i: (content: $i_"in"$, invert: true, anchor: "east", distance: 0.1), size: 0.2) + disource("S", (0.8,0), (0.8,1), fill: none, scale: 0.4) + + line((0.8,0.15), (0.8,0.1), mark: (end: ">", scale: 0.2, fill: black)) + content((0.9, 0.15), $i_"out"$, anchor: "west") + }) + $i_"out" = beta i_"in"$ + ], + align(center+horizon, $==>$), + [ + #zap.circuit({ + import zap : vsource, node, disource, dvsource, wire + import cetz.draw : line, rect, mark, content + + joham.gyrator("G1", (0,0), scale: 0.4, constant: $G_d$) + + node("A", (1.8,-0.67)) + node("B", (1.8,0.67)) + + disource("S", "A", "B", scale: 0.4, fill: none, i: (content: $i_"out"$, distance: 0.2, label-distance: -0.4, anchor: "east", invert: true)) + node("N1", "G1.21", label: (content: $alpha$, distance: 0.1),) + node("N2", "G1.22",) + joham.ground("GND1", "N2") + + joham.voltage("G1.21", "G1.22", $u_"in"$) + }) + $i_"out" = beta G_d u_in$ + ], + )), + + table.cell( + align(center+horizon, grid( + columns: (auto, 0mm, auto), + column-gutter: 5mm, + row-gutter: 3mm, + [ + *CCVS + 2 Knoten* \ + #zap.circuit({ + import zap : vsource, node, disource, dvsource, wire + import cetz.draw : line, rect, mark, content + + node("A", (0,0), fill: false) + node("B", (0,1), fill: false) + node("C", (0.8,0), fill: false) + node("D", (0.8,1), fill: false) + + wire((0,0), (0,1), i: (content: $i_"in"$, invert: true, anchor: "east", distance: 0.1), size: 0.2) + dvsource("S", (0.8,0), (0.8,1), fill: none, scale: 0.4) + + joham.voltage((1.1, 1), (1.1, 0), $u_"out"$, anchor: "west") + }) + + $u_"out" = r i_"in"$ + ], + align(center+horizon, $==>$), + [ + #zap.circuit({ + import zap : vsource, node, disource, dvsource, wire + import cetz.draw : line, rect, mark, content + + joham.gyrator("G1", (0,0), scale: 0.4, constant: $G_d$) + joham.gyrator("G0", (3,0), scale: 0.4, invert: true, constant: $G_d$) + + disource("S", "G0.11", "G0.12", scale: 0.4, fill: none, i: (content: $i_"out"$, distance: 0.3, anchor: "west", invert: true)) + node("N1", "G1.21", label: (content: $alpha$, distance: 0.1),) + node("N4", "G0.11", label: (content: $beta$, distance: 0.1),) + node("N2", "G1.22",) + node("N3", "G0.12",) + joham.ground("GND1", "N3") + joham.ground("GND1", "N2") + + joham.voltage("G1.21", "G1.22", $u_"in"$) + }) + $i_"out" = r G_d^2 u_"in"$ + ], + )), + colspan: 2 + ) ) - + #table( columns: (1fr, 1fr), fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillHigh } else { tableFillLow }, @@ -2101,7 +2361,7 @@ disource("S", (0.8,0), (0.8,1), fill: none, scale: 0.4) line((0.8,0.10), (0.8,0.09), mark: (end: ">", scale: 0.4, fill: black)) - content((0.9, 0.15), $i_"out" = g i_"in"$, anchor: "west") + content((0.9, 0.15), $i_"out" = g u_"in"$, anchor: "west") })], [], [ - NICHT Verlustlos @@ -2490,7 +2750,6 @@ inset: (bottom: 4mm, top: 4mm), gutter: 0.1mm, fill: (x, y) => if x != 0 and calc.rem(x, 2) == 0 { rgb("#c5c5c5") } else { white }, - [], $bold(R) jVec(i) = jVec(u)$, $bold(G) jVec(u) = jVec(i)$, @@ -2498,5 +2757,19 @@ $bold(H') vec(u_1, i_2) = vec(i_1, u_2)$, $bold(A) vec(u_2, -i_2) = vec(i_1, u_1)$, $bold(A') vec(u_1, -i_1) = vec(i_2, u_2)$, + [], + [Stromge-steuert], + [Spannung-gesteuert], + [Hybrid-beschreibung], + [Inverse-Hybrid], + [Ketten-Beschreibung], + [Inverse-Ketten], + [], + $jVec(r)vec(i_1, i_2) = vec(u_1, u_2)$, + $jVec(g)vec(u_1, u_2) = vec(i_1, i_2)$, + $jVec(h) vec(i_1, u_2) = vec(u_1, i_2)$, + $jVec(h') vec(u_1, i_2) = vec(i_1, u_2)$, + $jVec(a) vec(u_2, -i_2) = vec(i_1, u_1)$, + $jVec(a') vec(u_1, -i_1) = vec(i_2, u_2)$, ) ]