feat: etit-es cheatsheet (WIP)

This commit is contained in:
Orangerot 2025-08-04 15:42:53 +02:00
parent 9014a44ec0
commit d8d7ae8c14

448
etit-es/summary.typ Normal file
View file

@ -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)
$
)
])
]