commit d8d7ae8c148db14b3417b9917fab0395e6386c71
parent 9014a44ec0d3f1d0d8f90e8667abae04e8bca879
Author: Orangerot <purple@orangerot.dev>
Date: Mon, 4 Aug 2025 15:42:53 +0200
feat: etit-es cheatsheet (WIP)
Diffstat:
| A | etit-es/summary.typ | | | 448 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 448 insertions(+), 0 deletions(-)
diff --git a/etit-es/summary.typ b/etit-es/summary.typ
@@ -0,0 +1,448 @@
+#import "@preview/zap:0.2.1"
+
+#set columns(gutter: 5pt)
+#set rect(outset: 0pt)
+#set figure(supplement: "", numbering: none)
+// #set block(spacing: 5pt)
+#let section(..args) = block(width: 100%, fill: silver, spacing: 5pt, below: 5pt, breakable: false, ..args)
+#set page(
+ // columns: 2,
+ numbering: "1",
+ margin: 1cm,
+ header: rect(width: 100%, stroke: (bottom: 1pt), inset: (left: 0pt, right: 0pt))[
+ #smallcaps[Elektronische Schaltungen]
+ #h(1fr)
+ Gero Beckmann
+ ]
+)
+
+#let out(name, pos) = {
+ import zap.cetz.draw: *
+ on-layer(1, {
+ circle(pos, name: name, radius: .1, fill: white)
+ })
+}
+#columns(2, [
+
+#section[
+== E 24 Reihe
+#{range(24)
+ .map(n => calc.pow(calc.root(10,24),n))
+ .map(e => str(calc.round(e, digits: 1) + calc.pow(10,-10)).slice(0,3))
+ .join(" | ")
+}
+
+#let units = (
+ ([Giga], $10^9$),
+ ([Mega], $10^6$),
+ ([Kilo], $10^3$),
+ ([Milli], $10^(-3)$),
+ ([Mikro $mu$], $10^(-6)$),
+ ([Nano], $10^(-9)$),
+ ([Piko], $10^(-12)$),
+ ([Femto], $10^(-15)$),
+)
+
+#text(size: 8pt)[#table(columns: units.len() * (1fr,), inset: 3pt, table.header(..units.map(array.first)), ..units.map(array.last))
+]
+
+#grid(columns: 2 * (1fr,), align: (right, left), gutter: 10pt,
+
+[Parallelwiderstände], $R_1 || R_2 = 1 / (1 / R_1 + 1 / R_2)$,
+[Spannungsteiler], $U_2 = U dot R_2 / (R_1 + R_2)$,
+[Stromteiler], $I_1 = I dot = R_2 / (R_2 + R_2)$,
+[3 dB-Grenzfrequenz], $f_"3dB" = 1 / (2 pi dot C dot R)$
+)
+
+]
+#colbreak()
+
+#section[
+== Diode #box(zap.canvas({zap.diode("d", (0,0),(1,0))}))
+
+$
+I = I_s dot (e^(U/U_T) -1) approx 26"mv" " mit " U_T = (k_B dot T)/mono(e)
+$
+
+ #zap.canvas({
+ import zap: *
+ import zap.cetz.draw: *
+
+ scale(.6)
+ content((-5,0), [Kleinsignalersatzschaltbild])
+ out("A", (0,0))
+ out("K", (3,0))
+ resistor("rd", "A", "K", label: (content: $r_D$, anchor: "south", distance: 0pt))
+
+ translate((0.8,-2.5))
+ content((-5.8,0), [Erweitertes \ Kleinsignalersatzschaltbild])
+ scale(.6)
+ out("A", (0,0))
+ out("K", (5,0))
+ resistor("RB", "A", (3,0), label: (content: $R_B$, anchor: "south", distance: 0pt))
+ resistor("rd", (2,0), "K", label: (content: $r_D$, anchor: "south", distance: 0pt))
+ capacitor("CD",
+ (rel: (0.5, 1), to: "rd.in"),
+ (rel: (-.5, 1), to: "K"),
+ label: (content: $C_D$, anchor: "north", distance: 1pt))
+ wire("CD.in", (rel: (0,-1)))
+ wire("CD.out", (rel: (0,-1)))
+ })
+]
+])
+
+#section[
+
+#grid(columns: 2 * (1fr,), [
+== Bipolartransistor #box[#zap.canvas({
+import zap: *
+import zap.draw: *
+scale(.5)
+pnp("Q", (0,0))
+content("Q.b", "B", anchor: "east", padding: (right: 5pt))
+content("Q.c", "C", anchor: "west", padding: (left: 5pt))
+content("Q.e", "E", anchor: "west", padding: (left: 5pt))
+})]
+#grid(columns: 2, align: (right, left), gutter: 10pt,
+[Steilheit], $S = I_(C,A) / U_T$,
+[Kleinsignal-Eingangs-Widerstand], $r_"BE" = beta / S$
+)
+],[
+#grid(columns: 2 * (1fr,), [
+#figure(zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+scale(.7)
+out("UBEE", (0,0))
+out("UBEA", (0,-2))
+out("UCEE", (5,0))
+out("UCEA", (5,-2))
+
+node("B", (1,0))
+content("B", anchor: "south", padding: 5pt, [Basis])
+node("K", (3.5,0))
+content("K", anchor: "south", padding: 5pt, [Kollektor])
+node("E", (2.5,-2))
+content("E", anchor: "north", padding: 5pt, [Emitter])
+
+wire("UBEE", "B", i: "hi")
+wire("UCEE", "K")
+wire("UBEA", "UCEA")
+
+resistor("RBE", "B", ((), "|-", "E"), label: (content: $r_"BE"$, anchor: "south", distance: 0pt))
+isource("SUBE", "K", ((), "|-", "E"), label: (content: $S dot u_"BE"$, distance: 1pt))
+set-style(zap: (wires: (stroke: red)))
+wire("B", (2.5,0), stroke: red)
+capacitor("CBE", ("E"), (rel: (0,2)), stroke: red, label: (content: text(fill:red, $C_"BE"$), anchor: "west", distance: 5pt))
+capacitor("", ("K"), (rel: (-1,0)), stroke: red)
+content((rel: (-1.5,0), to: "K"), text(fill: red, $C_"BC"$))
+}),
+caption: [#text(fill:red)[vollständiges] Kleinsignalersatzschaltbild])
+], [
+#figure(zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+scale(.7)
+out("UBEE", (0,0))
+out("UBEA", (0,-2))
+out("UCEE", (5,0))
+out("UCEA", (5,-2))
+
+node("B", (1.5,0))
+content("B", anchor: "south", padding: 5pt, [Basis])
+node("K", (3.5,0))
+content("K", anchor: "south", padding: 5pt, [Kollektor])
+node("E", (2.5,-2))
+content("E", anchor: "north", padding: 5pt, [Emitter])
+
+wire("UBEE", "B", i: "hi")
+wire("UCEE", "K")
+wire("UBEA", "UCEA")
+
+diode("RBE", "B", ((), "|-", "E"))
+isource("SUBE", "K", ((), "|-", "E"), label: (content: $S dot u_"BE"$, distance: 1pt))
+}),caption: [Großsignalersatzschaltbild])
+])
+])
+
+#table(columns: 3 * (1fr,), align: center,
+table.header([Ermitterschaltung], [Basisschaltung], [Kollektorschaltung]),[
+#set text(size: 9pt)
+#zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+
+
+scale(.8)
+out("e", (0,0))
+out("a", (2.5,1))
+out("eg", (0,-1))
+out("ag", (2.5,-1))
+
+pnp("n1", (1.5,0))
+wire("e", "n1.b")
+wire("n1.c", ((), "|-", "a"), "a")
+wire("n1.e", ((), "|-", "ag"), "ag")
+wire("n1.e", ((), "|-", "eg"), "eg")
+
+scale(.3)
+resistor("", "n1.e", (rel: (0,-2)), stroke: red, label: (content: text(fill: red, size:8pt,$R_E$), distance: 1pt))
+
+line(("e",.2,"eg"), ("eg", .2, "e"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_e$)
+
+line(("a",.2,"ag"), ("ag", .2, "a"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_a$)
+})
+],
+[ #zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+scale(.8)
+out("e", (-1.25,0))
+out("a", (1.5,1))
+out("eg", (-1.25,-1))
+out("ag", (1.5,-1))
+
+rotate(x:180deg)
+rotate(z:-90deg)
+pnp("n1", (0,0))
+set-transform(none)
+
+wire("e", "n1.e")
+wire("n1.c", ((), "|-", "a"), "a")
+wire("n1.b", ((), "|-", "ag"), "ag")
+wire("n1.b", ((), "|-", "eg"), "eg")
+
+line(("e",.2,"eg"), ("eg", .2, "e"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_e$)
+
+line(("a",.2,"ag"), ("ag", .2, "a"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_a$)
+})
+],[
+
+#zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+scale(.8)
+out("e", (0,0))
+out("a", (2.5,1))
+out("eg", (0,-1))
+out("ag", (2.5,-1))
+
+rotate(x: 180deg)
+pnp("n1", (1.5,0))
+wire("e", "n1.b")
+wire("n1.e", ((), "|-", "a"), "a")
+wire("n1.c", ((), "|-", "ag"), "ag")
+wire("n1.c", ((), "|-", "eg"), "eg")
+
+line(("e",.2,"eg"), ("eg", .2, "e"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_e$)
+
+line(("a",.2,"ag"), ("ag", .2, "a"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_a$)
+})
+]
+,[
+#text(size: 8pt)[
+ #grid(columns: 2 * (1fr,), [
+$
+A &= -S R_C \
+r_e &= r_"BE" \
+r_a &= r_"CE" || R_C
+$
+ ],text(fill: red)[
+Stromgegen-\kopplung $
+A &= -R_C / R_E \
+r_e &= r_"BE" \
+r_a &= r_"CE" || R_C
+$
+ ])
+]
+], [
+
+#text(size: 9pt, $
+A &= S R_C \
+r_e &= 1 / S \
+r_a &= r_"CE" || R_C
+$)
+], [
+#text(size: 9pt, $
+A &= 1 \
+r_e &= r_"BE" + beta R_E \
+r_a &= 1 / S
+$)
+])
+
+]
+
+#section[
+#grid(columns: (2fr, 3fr), [
+== Feldeffekttransistor (FET) #box[#zap.canvas({
+ import zap: *
+ import zap.draw: *
+ scale(.5)
+ pmos("Q", (0,0))
+ content("Q.gl", "G", anchor: "east", padding: (right: 5pt))
+ content("Q.d", "D", anchor: "west", padding: (left: 5pt))
+ content("Q.s", "S", anchor: "west", padding: (left: 5pt))
+})]
+
+$
+r_"DS" = (partial U_"DS") / (partial I_D) = (abs(U_A) + U_"DS") / I_D \
+S = (partial I_D) / (partial U_"DS") = beta (U_"GS" - U_"th") \
+beta = mu dot C'_"ox" dot omega / l
+$
+], [
+ #grid(columns: 2 * (1fr,), align: center, [
+ #scale(60%, reflow: true)[#table(columns: (auto, 1fr, 1fr), [], [n-Kanal], [p-Kanal],
+ rotate(-90deg, reflow: true)[normal\ leitend],
+ zap.canvas({ zap.nmos("", (), mode: "depletion") }),
+ zap.canvas({ zap.pmos("", (), mode: "depletion") }),
+ rotate(-90deg, reflow: true)[normal\ sperrend],
+ zap.canvas({ zap.nmos("", ()) }),
+ zap.canvas({ zap.pmos("", ()) }),
+ )]
+], [
+ #figure(scale(65%, reflow: true)[
+ #zap.canvas({
+ import zap: *
+ import zap.cetz.draw: *
+ scale(.9)
+ out("G", (0,0))
+ content("G", "G", anchor: "east", padding: 5pt)
+ out("S", (0,-2))
+ content("S", "S", anchor: "east", padding: 5pt)
+ out("D", (6,0))
+ content("D", "D", anchor: "west", padding: 5pt)
+ out("DA", (6,-2))
+ node("", (4,0))
+ node("", (2,-2))
+ node("", (4,-2))
+ isource("Su", (2,0), (2,-2), i: (label: [#h(.6cm)$S dot u_"GS"$], position: end + top ))
+ resistor("", (4,0), (4,-2), label: (content: $r_"DS"$, anchor: "south", distance: 3pt))
+ wire((2,0), "D")
+ wire("S", "DA")
+ line(("G",.2,"S"), ("S", .2, "G"), name: "line", mark: (end: (symbol: ">", fill: black)))
+ content("line", anchor: "east", padding: .2, $u_"GS"$)
+ line(("D",.2,"DA"), ("DA", .2, "D"), name: "line", mark: (end: (symbol: ">", fill: black)))
+ content("line", anchor: "east", padding: .2, $u_"DS"$)
+ })
+ ], caption: [ Kleinsignalersatzschaltbild ])
+])
+
+$
+I_D &= cases(
+ 0 & U_"GS" <= U_"th",
+ beta dot ((U_"GS" - U_"th") - U_"th"^2 / 2) dot (1 + U_"DS" / U_A) & "linearer Bereich",
+ beta / 2 dot (U_"GS" - U_"th")^2 dot (1 + U_"DS" / U_A) & "Sättigungsbereich"
+)
+$
+])
+
+
+#table(columns: 3 * (1fr,), align: center,
+table.header([Source-Schaltung], [Gate-Schaltung], [Drain-Schaltung]) ,[
+#zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+
+scale(.8)
+out("e", (0,0))
+out("a", (2.5,1))
+out("eg", (0,-1))
+out("ag", (2.5,-1))
+
+scale(.5)
+nmos("n1", (3,0.5))
+wire("e", "n1.g")
+wire("n1.d", ((), "|-", "a"), "a")
+wire("n1.s", ((), "|-", "ag"), "ag")
+wire("n1.s", ((), "|-", "eg"), "eg")
+
+line(("e",.2,"eg"), ("eg", .2, "e"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_e$)
+
+line(("a",.2,"ag"), ("ag", .2, "a"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_a$)
+})
+],
+[
+#zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+scale(.8)
+out("e", (-1.25,0))
+out("a", (1.5,1))
+out("eg", (-1.25,-1))
+out("ag", (1.5,-1))
+
+rotate(x:180deg)
+rotate(z:-90deg)
+scale(.5)
+nmos("n1", (0,0))
+set-transform(none)
+
+wire("e", "n1.s")
+wire("n1.d", ((), "|-", "a"), "a")
+wire("n1.g", ((), "|-", "ag"), "ag")
+wire("n1.g", ((), "|-", "eg"), "eg")
+
+line(("e",.2,"eg"), ("eg", .2, "e"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_e$)
+
+line(("a",.2,"ag"), ("ag", .2, "a"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_a$)
+})
+], [
+#zap.canvas({
+import zap: *
+import zap.cetz.draw: *
+scale(.8)
+out("e", (0,0))
+out("a", (2.5,1))
+out("eg", (0,-1))
+out("ag", (2.5,-1))
+
+rotate(x: 180deg)
+scale(.5)
+nmos("n1", (3,.5))
+wire("e", "n1.g")
+wire("n1.s", ((), "|-", "a"), "a")
+wire("n1.d", ((), "|-", "ag"), "ag")
+wire("n1.d", ((), "|-", "eg"), "eg")
+
+line(("e",.2,"eg"), ("eg", .2, "e"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_e$)
+
+line(("a",.2,"ag"), ("ag", .2, "a"), name: "line", mark: (end: (symbol: ">", fill: black)))
+content("line", anchor: "east", padding: .2, $U_a$)
+})
+],
+[
+#text(size: 9pt, $
+r_e &= oo \
+r_a &= R_D || r_"DS" \
+A &= -S dot (R_D || r_"DS")
+$)
+
+] ,[
+#text(size: 9pt, $
+r_e &= 1/S \
+r_a &= R_D || r_"DS" \
+A &= S dot (R_D || r_"DS")
+$)
+], [
+#text(size: 9pt,
+$
+r_e &= oo \
+r_a &= 1 / S || R_S \
+A &= (S dot R_S) / (1 + S dot R_S)
+$
+)
+])
+]
+
+