diff --git a/src/cheatsheets/Schaltungstheorie.typ b/src/cheatsheets/Schaltungstheorie.typ index e077af4..b1c7b7d 100644 --- a/src/cheatsheets/Schaltungstheorie.typ +++ b/src/cheatsheets/Schaltungstheorie.typ @@ -54,6 +54,8 @@ [Schaltungstheorie], )) +#set text(8.5pt) + #columns(4, gutter: 2mm)[ // Allgemein #bgBlock(fill: colorAllgemein)[ @@ -73,7 +75,7 @@ [ KCL: $sum_(k=1)^n i_k =0$ (Knotenregel) ], - [ + /*[ #cetz.canvas(length: 8mm, { import cetz.draw: * @@ -88,12 +90,12 @@ line((angle: 120deg, radius: 1.2), (angle: 120deg, radius: 0.4), stroke: red) line((angle: 240deg, radius: 1.2), (angle: 240deg, radius: 0.4), stroke: red) }) - ], + ],*/ [ KVL: $sum_(k=1)^n u_k =0$ (Maschenregel) ], - [ + /*[ #zap.circuit({ import zap: wire import cetz.draw: * @@ -113,7 +115,7 @@ translate((0, -2mm)) mark((angle: 0deg, radius: 4mm), 270deg, symbol: "straight", stroke: blue, scale: 0.75) }) - ], + ],*/ ) $u dot i > 0$: Nimmt Energie auf\ @@ -121,7 +123,7 @@ $u dot i < 0$: Gibt Energie ab\ ] - // Eintrag + // Verschaltung #bgBlock(fill: colorAllgemein)[ #subHeading(fill: colorAllgemein)[Verschaltung] @@ -178,7 +180,6 @@ ) ] - // // Quell Wandlung #bgBlock(fill: colorEineTore)[ @@ -206,6 +207,7 @@ ) ] + // Lineare Quelle #bgBlock(fill: colorEineTore)[ #subHeading(fill: colorEineTore)[Lineare Quelle] @@ -407,6 +409,106 @@ ] */ + + // Linearsierung + #bgBlock(fill: colorEineTore)[ + #subHeading(fill: colorEineTore)[Linearisierung (Ein-Tore)] + + 1. Arbeitspunkt bestimmen \ $"AP" =(u_"AP", i_"AP")$ + + 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$ + + *Groß-Signal* \ + #grid(columns: (1fr, 1fr), + column-gutter: 4mm, + $I_0 = i_"AP" - g'_cal(F)(u_"AP")u_"AP"$, + $g_0 = g'_cal(F)(u_"AP")u$ + ) + + #linebreak() + + $i_"lin" = g_"lin" (u) = g'_cal(F)(u_"AP")(u-u_"AP") + i_"AP"\ + i_"lin" = g_"lin" (u) = g_0 u + I_0$ + + #block( + height: 20mm, + scale(x: 75%, y: 75%, zap.circuit({ + import zap: * + import cetz.draw: content, line + + isource("I0", (0, 1.5), (0, -1.5), fill: none) + node("n0", (2, 1.5)) + node("n1", (2, -1.5)) + + node("n2", (3.5, 1.5), fill: false) + node("n3", (3.5, -1.5), fill: false) + + resistor("g0", "n1", "n0", fill: none, label: (content: $g_0$, anchor: "south", distance: 0.2)) + wire("I0.in", "n0", "n2") + wire("I0.out", "n1", "n3") + wire("n0", "n2", i: (content: $i_"lin"$, anchor: "south", invert: true)) + wire((0, 0.6), "I0.in", i: (content: $I_0$, anchor: "east", invert: true)) + + set-style(mark: (end: ">", fill: black)) + line((3.5, 1.2), (3.5, -1.2), stroke: 0.5pt) + content((3.9, 0), $u$) + })), + ); + + #linebreak() + + *Klein-Signal* $quad i_"lin" = g_"lin" (u) = g'(u_"AP")u$ + + #line(length: 100%) + + + *Spannungsgesteuert* $quad g(u) = i$ + + *Groß-Signal* \ + #grid(columns: (1fr, 1fr), + column-gutter: 4mm, + $U_0 = u_"AP" - r'(i_"AP") i_"AP"$, + $r_0 = r'(i_"AP")$ + ) + #linebreak() + $u_"lin" = r_"lin" (i) = r'(i_"AP")(i-i_"AP") + u_"AP"\ + u_"lin" = r_"lin" (i) = r_0 i + U_0$ + #block( + height: 25mm, + scale(x: 75%, y: 75%, zap.circuit({ + import zap: * + import cetz.draw: content, line + + vsource("U0", (0, 1.5), (0, -1.5), fill: none) + + node("n2", (3.5, 1.5), fill: false) + node("n3", (3.5, -1.5), fill: false) + + resistor("R0", "U0.in", "n2", fill: none, label: (content: $r_0$, anchor: "south", distance: 0.1)) + wire("U0.out", "n3") + + wire((2.49, 1.5), "n2", i: (content: $i$, anchor: "south", invert: true)) + + set-style(mark: (end: ">", fill: black)) + line((3.5, 1.2), (3.5, -1.2), stroke: 0.5pt) + content((3.9, 0), $u_"lin"$) + + line((0.7, 0.5), (0.7, -0.5), stroke: 0.5pt) + content((1.2, 0), $U_0$) + })), + ); + #linebreak() + *Klein-Signal* $quad u_"lin" = r_"lin" (i) = r'(i_"AP")i$ + ] + + + #colbreak() // Graphen und Matrizen #bgBlock(fill: colorAnalyseVerfahren)[ #subHeading(fill: colorAnalyseVerfahren)[Graphen und Matrizen] @@ -425,7 +527,7 @@ $bold(A) : bold(i_k) -> text("Knotenstrombilanz") = 0$ \ $bold(A^T) : bold(u_b)-> bold(u_k)$ $ - bold(A) = quad mannot.mark( + bold(A) = quad space space mannot.mark( mat( a_11, a_12, ..., a_(1m); a_21, a_22, ..., a_(2m); @@ -433,13 +535,13 @@ a_(n 1), a_(n 2), ..., a_(n m) ), tag: #<1> ) - #mannot.annot(<1>, pos: left, text(rgb("#404296"))[#rotate(-90deg)[$<-$ Knoten]], dx: 5mm) - #mannot.annot(<1>, pos: bottom, text(rgb("#404296"))[Zweige $->$], dy: -0.5mm) + #mannot.annot(<1>, pos: left, text(rgb("#404296"))[#rotate(-90deg)[$<-$ Knoten \ ($n-1$)]], dx: 2mm) + #mannot.annot(<1>, pos: bottom, text(rgb("#404296"))[Zweige ($b$) $->$], dy: -0.5mm) a in {-1, 0, 1} $ - - $-1$: In Knoten rein \ - $1$: Aus Knoten raus \ + #linebreak() + $-1 &: "In Knoten rein" \ + 1 &: "Aus Knoten raus"$ #line(length: 100%, stroke: (thickness: 0.2mm)) @@ -450,21 +552,22 @@ $bold(B^T) : bold(i_m) -> i_b$ $ - bold(B) = quad mannot.mark(mat( + bold(B) = quad space space mannot.mark(mat( b_11, b_12, ..., b_(1m); b_21, b_22, ..., b_(2m); dots.v, dots.v, dots.down, dots.v; b_(n 1), b_(n 2), ..., b_(n m) ), tag: #<1>) - #mannot.annot(<1>, pos:left, text(rgb("#404296"))[#rotate(-90deg)[$<-$ Maschen]], dx: 6mm) - #mannot.annot(<1>, pos:bottom, text(rgb("#404296"))[Zweige $->$], dy: -0.5mm) + #mannot.annot(<1>, pos:left, text(rgb("#404296"))[#rotate(-90deg)[$<-$ Maschen \ $b-(n-1)$]], dx: 4mm) + #mannot.annot(<1>, pos:bottom, text(rgb("#404296"))[Zweige ($b$) $->$], dy: -0.5mm) b in {-1, 0, 1} $ - $-1$: Gegen Maschenrichtung - $1$: In Maschenrichtung + #linebreak() + $-1 &: "Gegen Maschenrichtung" \ + 1 &: "In Maschenrichtung"$ #line(length: 100%, stroke: (thickness: 0.2mm)) @@ -476,6 +579,9 @@ KVL in Nullraum: $bold(B) bold(u_b) = bold(0)$ \ KCL in Bildraum: $bold(B^T) bold(i_m) = bold(i_b)$ \ + #line(length: 100%, stroke: (thickness: 0.2mm)) + + *Tellegen'sche Satz* \ $bold(A B^T) = bold(B^T A) = 0$ \ $bold(u_b^T i_b) = 0$ @@ -729,88 +835,6 @@ ) ], - // Linearsierung - #bgBlock(fill: colorEineTore)[ - #subHeading(fill: colorEineTore)[Linearisierung (Ein-Tore)] - - 1. Arbeitspunkt bestimmen \ $"AP" =(u_"AP", i_"AP")$ - - 2. Ableitung $g_cal(F)(u)$/$r_cal(F)(i)$ bilden \ $g'_cal(F)(u)$/$r'_cal(F)(i)$ - - *Stromgesteuert $r(i) = u$* - - Groß-Signal: - - $i_"lin" = g_"lin" (u) = g'_cal(F)(u_"AP")(u-u_"AP") + i_"AP" = \ - g'_cal(F)(u_"AP")u - g'_cal(F)(u_"AP")u_"AP" + i_"AP"$ - - $I_0 = i_"AP" - g'_cal(F)(u_"AP")u_"AP"$ - - $g_0 = g'_cal(F)(u_"AP")u$ - - #block( - height: 20mm, - scale(x: 75%, y: 75%, zap.circuit({ - import zap: * - import cetz.draw: content, line - - isource("I0", (0, 1.5), (0, -1.5), fill: none) - node("n0", (2, 1.5)) - node("n1", (2, -1.5)) - - node("n2", (3.5, 1.5), fill: false) - node("n3", (3.5, -1.5), fill: false) - - resistor("g0", "n1", "n0", fill: none, label: (content: $g_0$, anchor: "south", distance: 0.2)) - wire("I0.in", "n0", "n2") - wire("I0.out", "n1", "n3") - wire("n0", "n2", i: (content: $i_"lin"$, anchor: "south", invert: true)) - wire((0, 0.6), "I0.in", i: (content: $I_0$, anchor: "east", invert: true)) - - set-style(mark: (end: ">", fill: black)) - line((3.5, 1.2), (3.5, -1.2), stroke: 0.5pt) - content((3.9, 0), $u$) - })), - ); - - #linebreak() - - Klein-Signal:$i_"lin" = g_"lin" (u) = g'(u_"AP")u$ - - *Spannungsgesteuert $g(u) = i$* - - $u_"lin" = r_"lin" (i) = r'(i_"AP")(i-i_"AP") + u_"AP"$ - - $U_0 = u_"AP" - r'(i_"AP") i_"AP"$ - - #block( - height: 25mm, - scale(x: 75%, y: 75%, zap.circuit({ - import zap: * - import cetz.draw: content, line - - vsource("U0", (0, 1.5), (0, -1.5), fill: none) - - node("n2", (3.5, 1.5), fill: false) - node("n3", (3.5, -1.5), fill: false) - - resistor("R0", "U0.in", "n2", fill: none, label: (content: $r_0$, anchor: "south", distance: 0.1)) - wire("U0.out", "n3") - - wire((2.49, 1.5), "n2", i: (content: $i$, anchor: "south", invert: true)) - - set-style(mark: (end: ">", fill: black)) - line((3.5, 1.2), (3.5, -1.2), stroke: 0.5pt) - content((3.9, 0), $u_"lin"$) - - line((0.7, 0.5), (0.7, -0.5), stroke: 0.5pt) - content((1.2, 0), $U_0$) - })), - ); - Klein-Signal: $u_"lin" = r_"lin" (i) = r'(i_"AP")i$ - ] - #colbreak() - // Linearsierung (N-Tore) #bgBlock(fill: colorZweiTore)[ #subHeading(fill: colorZweiTore)[Linearisierung (N-Tore)] @@ -905,16 +929,32 @@ columns: (1fr, 0pt, 1fr), row-gutter: 4mm, column-gutter: 2mm, - [ - *Kapazitiv* - ], + [*Kapazitiv*], grid.vline(stroke: 0.75pt), [], + [*Induktivität*], [ - *Induktivität* + $q = c(u) \ u = chi(q)$\ ], + [], [ - $q = c(u) \ chi(q) = u$\ + $Phi = l(i) \ i = lambda(Phi)$ + ], + + [$u,q$ stetig und beschränkt], + [], + [$i,Phi$ stetig und beschränkt], + + grid.hline(stroke: 0.75pt), + [], + [], + [], + + [*Restiv*], + [], + [*Memristiv*], + [ + $i = g(u) \ u = r(i)$\ ], [], [ @@ -927,6 +967,8 @@ [], ) + #line(length: 100%, stroke: (thickness: 0.2mm)) + #align(center, [*Lineare Bauelemente*]) #grid( columns: (1fr, 0pt, 1fr), @@ -1198,7 +1240,7 @@ #subHeading(fill: colorAnalyseVerfahren)[Knotenpotenzial-Analyse Komponetent] #import mannot: * - #let ImageHeight = 3.0cm + #let ImageHeight = 2.5cm #table( columns: (1fr, 1fr), @@ -1222,6 +1264,10 @@ align(center, image("../images/schaltungstheorie/knotenpotenzial/schaltKontenPotenziell1.png", height: ImageHeight, fit: "contain")), align(center, image("../images/schaltungstheorie/knotenpotenzial/schaltKontenPotenziell2.png", height: ImageHeight, fit: "contain")), + + align(center, image("../images/schaltungstheorie/knotenpotenzial/nullator.jpg", height: ImageHeight, fit: "contain")), + + align(center, image("../images/schaltungstheorie/knotenpotenzial/norator.jpg", height: ImageHeight, fit: "contain")), ) ] @@ -1231,6 +1277,7 @@ // Bauelemente #bgBlock(fill: colorEineTore)[ #subHeading(fill: colorEineTore)[Bauelemente] + #table( columns: (1fr, 1fr, 1fr), stroke: none, diff --git a/src/images/schaltungstheorie/knotenpotenzial/norator.jpg b/src/images/schaltungstheorie/knotenpotenzial/norator.jpg new file mode 100644 index 0000000..c55a638 Binary files /dev/null and b/src/images/schaltungstheorie/knotenpotenzial/norator.jpg differ diff --git a/src/images/schaltungstheorie/knotenpotenzial/nullator.jpg b/src/images/schaltungstheorie/knotenpotenzial/nullator.jpg new file mode 100644 index 0000000..2a7833c Binary files /dev/null and b/src/images/schaltungstheorie/knotenpotenzial/nullator.jpg differ