parent
faecdd96dc
commit
4f71299344
@ -0,0 +1,442 @@ |
||||
// ============================================================================ |
||||
// presentation.typ — KiCad: vom Schaltplan zum Gerber (2- und 4-Layer) |
||||
// |
||||
// Bauen: make presentation.pdf bzw. typst compile presentation.typ |
||||
// |
||||
// Screenshots: |
||||
// Die Folien enthalten Platzhalter (`shot(...)`), die genau beschreiben, |
||||
// welche KiCad-Aufnahme fehlt. So wird's ersetzt: |
||||
// 1. Screenshot in KiCad machen (Fenster vorher auf ~16:9-Zuschnitt bringen) |
||||
// 2. Als PNG speichern unter assets/<name>.png |
||||
// (Name steht im Platzhalter, z. B. assets/07-routing.png) |
||||
// 3. Die `shot(...)`-Zeile durch ein Bild ersetzen, z. B. |
||||
// #img("assets/07-routing.png", width: 76%, caption: [Routing in Pcbnew]) |
||||
// Die Folie „Screenshot-Checkliste“ am Ende listet alle 15 Aufnahmen. |
||||
// ============================================================================ |
||||
|
||||
#import "template.typ": * |
||||
|
||||
// ---- Palette-Erweiterung (nur für die Querschnitts-Diagramme) -------------- |
||||
#let cu = ember // Kupfer -> Terrakotta aus der Deck-Palette |
||||
#let mask = accent // Lötstopp -> Petrol („blaue Platine“) |
||||
#let fr4 = luma(226) // FR4-Kern |
||||
#let prepreg = luma(238) // Prepreg |
||||
|
||||
// ---- Helfer ----------------------------------------------------------------- |
||||
|
||||
// Quellenzeile am Folienboden (wie in presentation01.typ). |
||||
#let src(body) = { |
||||
v(0.3em) |
||||
block( |
||||
width: 100%, |
||||
fill: paper.darken(3%), |
||||
inset: (x: 6pt, y: 3.5pt), |
||||
radius: 2pt, |
||||
text(size: 9.5pt, fill: luma(145))[#text(fill: accent)[Quellen:] #body], |
||||
) |
||||
} |
||||
|
||||
// Screenshot-Platzhalter: beschreibt die fehlende Aufnahme + Zieldatei. |
||||
// Ersetzen durch: #img("assets/<name>.png", width: .., caption: [..]) |
||||
#let shot(name, what, tip: none) = block( |
||||
width: 100%, |
||||
stroke: (paint: luma(190), thickness: 1pt, dash: "dashed"), |
||||
fill: wash, |
||||
radius: 3pt, |
||||
inset: (x: 0.6em, y: 0.5em), |
||||
{ |
||||
text(font: mono, size: 0.58em, weight: "bold", fill: ember, tracking: 0.08em)[ |
||||
SCREENSHOT → assets/#(name + ".png") |
||||
] |
||||
v(0.12em) |
||||
text(size: 0.72em)[#what] |
||||
if tip != none { |
||||
v(0.08em) |
||||
text(size: 0.62em, fill: luma(110))[#tip] |
||||
} |
||||
}, |
||||
) |
||||
|
||||
// Eine Schicht im Querschnittsdiagramm: Farbband links, Beschriftung rechts. |
||||
#let _band(fill, h, label, sub: none) = grid( |
||||
columns: (1fr, 112pt), |
||||
column-gutter: 0.8em, |
||||
rect(width: 100%, height: h, fill: fill, stroke: 0.5pt + luma(150), radius: 2pt), |
||||
align(horizon + left, { |
||||
set text(size: 8.5pt) |
||||
label |
||||
if sub != none { |
||||
linebreak() |
||||
set text(size: 7.5pt, fill: luma(120)) |
||||
sub |
||||
} |
||||
}), |
||||
) |
||||
|
||||
// Querschnitt 2-Layer. |
||||
#let stack-2() = block(width: 100%, { |
||||
_band(mask.lighten(40%), 8pt, [Lötstopp + Bestückungsdruck (Top)]) |
||||
_band(cu, 11pt, [Kupfer Top], sub: [Signale, 35 µm]) |
||||
_band(fr4, 20pt, [FR4-Kern], sub: [≈ 1,5 mm]) |
||||
_band(cu, 11pt, [Kupfer Bottom], sub: [GND-Fläche, 35 µm]) |
||||
_band(mask.lighten(40%), 8pt, [Lötstopp (Bottom)]) |
||||
}) |
||||
|
||||
// Querschnitt 4-Layer. |
||||
#let stack-4() = block(width: 100%, { |
||||
_band(mask.lighten(40%), 8pt, [Lötstopp (Top)]) |
||||
_band(cu, 11pt, [Kupfer Top], sub: [Signale]) |
||||
_band(prepreg, 7pt, [Prepreg], sub: [≈ 0,2 mm]) |
||||
_band(accent, 11pt, [In1.GND], sub: [Masse-Referenz]) |
||||
_band(fr4, 18pt, [FR4-Kern], sub: [≈ 1,0 mm]) |
||||
_band(accent-soft, 11pt, [In2.PWR], sub: [Versorgung]) |
||||
_band(prepreg, 7pt, [Prepreg]) |
||||
_band(cu, 11pt, [Kupfer Bottom], sub: [Signale]) |
||||
_band(mask.lighten(40%), 8pt, [Lötstopp (Bottom)]) |
||||
}) |
||||
|
||||
// Prozesskasten für die Werkzeugkette (Stil wie diagrams.typ::_pipebox). |
||||
#let _kbox(title, ..lines, highlight: false) = block( |
||||
width: 100%, |
||||
stroke: ( |
||||
paint: if highlight { accent } else { luma(205) }, |
||||
thickness: if highlight { 1.1pt } else { 0.6pt }, |
||||
), |
||||
fill: if highlight { accent.lighten(94%) } else { paper }, |
||||
radius: 3pt, |
||||
inset: (x: 5pt, y: 6pt), |
||||
align(center)[ |
||||
#text(size: 10pt, weight: "bold")[#title] |
||||
#v(2pt) |
||||
#for l in lines.pos() [ #text(size: 8.5pt, fill: luma(110))[#l] #v(1pt) ] |
||||
], |
||||
) |
||||
|
||||
#let _arrow = text(fill: accent)[→] |
||||
|
||||
// Werkzeugkette in zwei Reihen. |
||||
#let workflow-pipeline() = block(width: 100%, { |
||||
grid( |
||||
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr), |
||||
_kbox("Schaltplan", "Eeschema:", "Symbole & Werte"), _arrow, |
||||
_kbox("ERC", "Verbindungen &", "Flags prüfen"), _arrow, |
||||
_kbox("Footprints", "Symbol ↔ Gehäuse", "zuweisen"), _arrow, |
||||
_kbox("PCB-Import", "Netzliste &", "Ratsnest in Pcbnew"), |
||||
) |
||||
align(center, text(fill: accent, size: 0.85em)[↓]) |
||||
grid( |
||||
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr), |
||||
_kbox("Platzieren", "Umriss &", "Signalfluss"), _arrow, |
||||
_kbox("Routen", "Leitungen & Vias"), _arrow, |
||||
_kbox("Zonen", "GND-Flächen"), _arrow, |
||||
_kbox("DRC & 3D", "Regeln prüfen"), _arrow, |
||||
_kbox("Gerber", "Plotten & Bohren", "→ Fertigung", highlight: true), |
||||
) |
||||
}) |
||||
|
||||
// ---- Folientext ------------------------------------------------------------- |
||||
|
||||
#show: presentation.with( |
||||
title: "KiCad", |
||||
subtitle: "Platinen-Design in der Praxis: 2-Layer und 4-Layer — vom Schaltplan zum Gerber-Export", |
||||
author: "Your Name", |
||||
) |
||||
|
||||
#slide(title: "Ablauf")[ |
||||
- *KiCad-Überblick*: Suite, Projektmodell, Werkzeugkette |
||||
- *2-Layer in der Praxis*: Schaltplan → Layout → Fertigungsdaten |
||||
- *4-Layer*: Stackup, Masse, Versorgung, Rückstrompfade |
||||
- *Prüfung & Fertigung*: DRC, 3D, Gerber, Bohrdaten |
||||
- *Screenshot-Checkliste* für die Aufnahmen in dieser Folienvorlage |
||||
#v(0.6em) |
||||
Danach: Worauf besteht besonderes Interesse? |
||||
] |
||||
|
||||
// =================================================================== |
||||
#section("KiCad-Überblick", note: "Werkzeuge & Workflow") |
||||
// =================================================================== |
||||
|
||||
#slide(title: "Was ist KiCad?")[ |
||||
- *Freie Open-Source-EDA-Suite* (GPLv3) für Schaltplan & Leiterplatte |
||||
- Ein Projekt, ein Dateisatz: `.kicad_pro`, `.kicad_sch`, `.kicad_pcb` — \ |
||||
Textformate, git-tauglich |
||||
- Integriert: Symbol- & Footprint-Editor, SPICE-Simulation, 3D-Viewer, \ |
||||
DRC/ERC, Gerber-Betrachter (GerbView), CLI (`kicad-cli`) |
||||
- Plattformübergreifend (Windows/Linux/macOS), aktuelle Version 9.x |
||||
#v(0.5em) |
||||
#src[Offizielles Handbuch: docs.kicad.org] |
||||
] |
||||
|
||||
#slide(title: "Werkzeugkette")[ |
||||
#workflow-pipeline() |
||||
#v(0.5em) |
||||
- Iterativ: jede Schaltplan-Änderung → `Werkzeuge → PCB aus Schaltplan aktualisieren` |
||||
- Erst wenn Schaltplan & ERC sauber sind, beginnt das Layout |
||||
] |
||||
|
||||
#slide(title: "Projekt & Schaltplan")[ |
||||
- Projekt-Manager: `Datei → Neu → Projekt` — legt `.kicad_pro` + leere Schematik an |
||||
- In Eeschema: Symbole platzieren (`A`), verdrahten (`W`), Werte & \ |
||||
Referenzen (R1, C3 …) eindeutig annotieren |
||||
- Beispiel für den Vortrag: Spannungsversorgung + MCU-Modul mit Entkopplung |
||||
#v(0.5em) |
||||
#grid( |
||||
columns: (1fr, 1fr), |
||||
gutter: 1.2em, |
||||
shot("01-projektmanager", [KiCad-Startfenster mit geöffnetem, noch leerem Beispielprojekt; Icon-Leiste sichtbar]), |
||||
shot("02-schaltplan", [Eeschema mit fertigem Beispielschaltplan inkl. Titelblock]), |
||||
) |
||||
] |
||||
|
||||
#slide(title: "ERC — Schaltung prüfen")[ |
||||
- `Prüfen → Elektrische Regeln prüfen` (ERC): offene Pins, unverbundene \ |
||||
Drähte, fehlende Spannungs-Flags (`PWR_FLAG` an Versorgung & GND) |
||||
- Warnungen verstehen und beheben — nicht wegwarrowen |
||||
- Erst wenn ERC grün ist: Footprints zuweisen und ins Layout |
||||
#v(0.5em) |
||||
#shot("03-erc", [ERC-Dialog mit Ergebnisliste und „0 Verstöße“], tip: [Menü: Prüfen → Elektrische Regeln prüfen]) |
||||
] |
||||
|
||||
// =================================================================== |
||||
#section("2-Layer-Layout", note: "Der Standard-Workflow") |
||||
// =================================================================== |
||||
|
||||
#slide(title: "Aufbau: 2 Lagen im Querschnitt")[ |
||||
#stack-2() |
||||
#v(0.6em) |
||||
- Zwei Kupferlagen (Top/Bottom) auf einem FR4-Kern; außen Lötstopp + Bestückungsdruck |
||||
- Bewährte Rollenverteilung: *Top = Signale, Bottom = durchgehende GND-Fläche* \ |
||||
(Rückstrompfade, Entstörung) |
||||
- Günstigste Fertigungsvariante — Grenzen bei hoher Packungsdichte und EMV-Anforderungen |
||||
] |
||||
|
||||
#slide(title: "Footprints zuweisen & importieren")[ |
||||
- `Werkzeuge → Footprints zuweisen`: Symbol → Gehäuse; nach Abmessungen, \ |
||||
Pins, Bohrbild filtern; mechanische Maße vorher im Datenblatt prüfen |
||||
- In Pcbnew: `Werkzeuge → PCB aus Schaltplan aktualisieren` — Footprints + \ |
||||
Ratsnest erscheinen |
||||
#v(0.5em) |
||||
#grid( |
||||
columns: (1fr, 1fr), |
||||
gutter: 1.2em, |
||||
shot("04-footprint-zuweisung", [Dialog „Footprints zuweisen“: Spalten Symbol / Footprint / Vorschau]), |
||||
shot("05-update-pcb", [Dialog „PCB aus Schaltplan aktualisieren“ mit Änderungsliste]), |
||||
) |
||||
] |
||||
|
||||
#slide(title: "Setup, Umriss & Platzieren")[ |
||||
#grid( |
||||
columns: (1.05fr, 1fr), |
||||
gutter: 1.4em, |
||||
[ |
||||
- *Board-Setup* (Datei → Board-Setup): Netz-Klassen — Signal 0,25 mm, \ |
||||
PWR 0,5–0,8 mm; Via-Klasse 0,6/0,3 mm; Abstandsregeln |
||||
- Platinenumriss auf *Edge.Cuts* zeichnen (z. B. 80 × 50 mm, Ecken runden) |
||||
- Platzieren nach *Signalfluss*: Connectoren & Befestigungen zuerst und \ |
||||
fixieren (sperren), dann ICs, dann Entkopplungs-Cs direkt an die \ |
||||
Versorgungspins |
||||
], |
||||
shot("06-floorplan", [Pcbnew: Platinenumriss + platzierte Footprints mit sichtbarem Ratsnest (dünne weiße Verbindungen)]), |
||||
) |
||||
] |
||||
|
||||
#slide(title: "Routen (2 Layer)")[ |
||||
#grid( |
||||
columns: (1.05fr, 1fr), |
||||
gutter: 1.4em, |
||||
[ |
||||
- `X` routen — *kritische Signale zuerst*: Takt, PWM, Analog; kurze Wege, \ |
||||
wenige Vias |
||||
- `V` während des Routens: Via platzieren + Lagewechsel Top ↔ Bottom |
||||
- PWR-Leitungen breiter routen (Netz-Klasse); GND läuft fast nur über die Fläche |
||||
- Raster: 1,27 / 0,635 mm (THT) bzw. 0,25 mm (SMD-Pitch) |
||||
], |
||||
shot("07-routing", [Aktive Leiterbahn beim Routen; Lagen-Auswahl-Widget unten links auf „F.Cu“], tip: [Am besten live demo-fähig halten: gleiche Ansicht später auf dem Beamer]), |
||||
) |
||||
] |
||||
|
||||
#slide(title: "Zonen — GND-Fläche")[ |
||||
- Kupferfläche zeichnen (`K`)? Nein: `Werkzeuge → Polygonzüge` bzw. \ |
||||
Zeichnen-Werkzeug „Fläche“; dann Zone-Eigenschaften: |
||||
*Netz GND, Lage B.Cu, thermische Reliefs* für Pads |
||||
- *Stitch-Vias*: GND-Verbindungen Top ↔ Bottom nahe kritischen Bauteilen \ |
||||
(Entkopplung, Quarze, Spannungsregler) |
||||
- Nach jeder Änderung Zonen auffüllen (`B`) — erst danach DRC |
||||
#v(0.5em) |
||||
#shot("08-zone", [Zonen-Eigenschaften-Dialog: Netz GND, Lage B.Cu, Vorrang, Füllparameter], tip: [Rechtsklick auf die Fläche → „Flächen…“]) |
||||
] |
||||
|
||||
#slide(title: "Prüfen & Exportieren (2L fertig)")[ |
||||
- *DRC* (`Prüfen → Designdefinitionen prüfen`): Abstände, offene Verbindungen \ |
||||
(Ratsnest leer), Masken- & Bohrabstände |
||||
- *3D-Viewer* (`Ansicht → 3D-Betrachter`): Gehäuse- & Montage-Kollisionen sichtbar |
||||
- Export: Gerber X2 + Excellon-Bohrdaten → ZIP an die Fertigung |
||||
#v(0.5em) |
||||
#grid( |
||||
columns: (1fr, 1fr), |
||||
gutter: 1.2em, |
||||
shot("09-drc", [DRC-Dialog mit Constraints links und Ergebnisliste „0 Verstöße“]), |
||||
shot("10-3d-viewer", [3D-Betrachter: fertige 2-Layer-Platine, leicht gedreht, mit Bauteilen]), |
||||
) |
||||
] |
||||
|
||||
// =================================================================== |
||||
#section("4-Layer-Layout", note: "Stackup, Masse & Versorgung") |
||||
// =================================================================== |
||||
|
||||
#slide(title: "Warum 4 Layer?")[ |
||||
#grid( |
||||
columns: (1.15fr, 1fr), |
||||
gutter: 1.4em, |
||||
[ |
||||
- *Referenzebene direkt unter jedem Signal* → geschlossene \ |
||||
Rückstromschleifen, deutlich weniger Abstrahlung |
||||
- *Impedanzkontrolle* (USB, Ethernet, RF): definiert über Kupferdicke & \ |
||||
Dielektrikum |
||||
- *Versorgung als eigene Lage*: niedrige Impedanz, Signal-Routen bleiben frei |
||||
- Standardaufbau 1,6 mm, 4 Kupferlagen — Aufpreis meist geringer als \ |
||||
der Aufwand „dichter 2-Layer“ |
||||
], |
||||
stack-4(), |
||||
) |
||||
] |
||||
|
||||
#slide(title: "Typische Stackups")[ |
||||
#grid( |
||||
columns: (1fr, 1fr), |
||||
gutter: 1.2em, |
||||
panel(c: accent)[ |
||||
*A · Allrounder (Standard)* |
||||
- Top: Signale · In1: *GND* · In2: *PWR* · Bottom: Signale |
||||
- GND-Referenz nahe den Top-Signalen, Versorgung als ganze Lage |
||||
], |
||||
panel(c: ember)[ |
||||
*B · High-Speed* |
||||
- Top: Signale · In1: *GND* · In2: *GND* · Bottom: Signale |
||||
- Beste Referenz-Situation; Versorgung als breite Zonen auf den \ |
||||
Signal-Lagen |
||||
], |
||||
) |
||||
#v(0.6em) |
||||
- *Symmetrisch aufbauen* (gleiche Dicken über/unter der Mitte) → geringer \ |
||||
Verzug beim Reflow-Löten |
||||
- Beide Varianten: Kupferlagen 1 oz (35 µm), Kern + 2× Prepreg, gesamt ≈ 1,6 mm |
||||
] |
||||
|
||||
#slide(title: "Stackup in KiCad einrichten")[ |
||||
- `Datei → Board-Setup → Stapelaufbau`: Innenlagen *In1.Cu / In2.Cu* \ |
||||
hinzufügen, Kupferdicken & Prepreg eintragen, Namen vergeben (In1.GND …) |
||||
- *Impedanz* im selben Dialog: Zielpunkt (z. B. 50 Ω Single, 90 Ω diff) → \ |
||||
empfohlene Leiterbahnbreite je Lage |
||||
- Netzklassen & Abstände wie beim 2-Layer; Thermal-Reliefs für Plane-Anbindung |
||||
#v(0.5em) |
||||
#grid( |
||||
columns: (1fr, 1fr), |
||||
gutter: 1.2em, |
||||
shot("11-stackup-4l", [Board-Setup → Stapelaufbau: 4 Kupferlagen mit Dicken, Dielektrika und Lagen-Namen]), |
||||
shot("12-impedanz", [Impedanz-Anzeige/-spalte im Stapelaufbau-Dialog mit berechneten Werten je Signallage]), |
||||
) |
||||
] |
||||
|
||||
#slide(title: "Layout-Aufgaben bei 4 Layern")[ |
||||
#grid( |
||||
columns: (1.1fr, 1fr), |
||||
gutter: 1.4em, |
||||
[ |
||||
- *GND-Ebene durchgehend halten* — Schlitze und Splitting sind \ |
||||
Rückstromfallen unter den Signalen |
||||
- Lagewechsel: *Rückstrom-Via (GND) direkt neben* dem Signal-Via |
||||
- *Stitching-Vias* GND ↔ GND regelmäßig über die Fläche verteilen |
||||
- Entkopplung: Pad → Via → Plane, so kurz wie möglich; \ |
||||
Versorgungszonen auf In2 über Via-Paare anbinden |
||||
], |
||||
shot("13-4l-fertig", [Fertiges 4-Layer-Board, in der Lagen-Ansicht nur In1.GND sichtbar: durchgehende Massefläche mit Stitching-Vias], tip: [Lagen-Liste links: nur In1.Cu + Vias einblenden]), |
||||
) |
||||
] |
||||
|
||||
// =================================================================== |
||||
#section("Prüfung & Fertigung", note: "DRC, Gerber, Bohrdaten") |
||||
// =================================================================== |
||||
|
||||
#slide(title: "Endkontrolle")[ |
||||
- *Innenlagen sichtbar machen*: Lagen-Liste einzeln durchschalten — \ |
||||
GND-Fläche wirklich geschlossen? Versorgungszonen komplett? |
||||
- *DRC* mit Herstellerrules: Clearance, Annular Ring, Abstand zu Bohrungen |
||||
- *3D-Check* + STEP-Export (`Datei → Exportieren → STEP`) für das Gehäusedesign |
||||
- Faustregel: erst Zonen auffüllen (`B`), dann DRC laufen lassen |
||||
] |
||||
|
||||
#slide(title: "Gerber & Bohrdaten")[ |
||||
- `Datei → Fertigungsoutputs → Plotten…`: Format *Gerber X2*; alle Kupfer- \ |
||||
Lagen, Lötstopp, Bestückungsdruck, Edge.Cuts |
||||
- Bohrdateien separat erzeugen (Excellon) — beides zusammen in ein ZIP |
||||
- Kontrolle in *GerbView*: jede Lage laden und durchschauen, bevor es zur \ |
||||
Fertigung geht |
||||
#v(0.5em) |
||||
#grid( |
||||
columns: (1fr, 1fr), |
||||
gutter: 1.2em, |
||||
shot("14-plot", [Plot-Dialog: Format Gerber X2, Layer-Liste mit Haken, Pfade & Optionen]), |
||||
shot("15-gerbview", [GerbView mit geladenen Gerber-Lagen (z. B. F.Cu, B.Cu, Masken), Farbe je Lage]), |
||||
) |
||||
] |
||||
|
||||
#slide(title: "Screenshot-Checkliste")[ |
||||
#set text(size: 11.5pt) |
||||
Alle Platzhalter in dieser Folienvorlage — Aufnahme machen, als \ |
||||
`assets/<name>.png` speichern, `shot(...)` durch `img(...)` ersetzen: |
||||
#v(0.4em) |
||||
#table( |
||||
columns: (auto, auto, 1fr), |
||||
stroke: (bottom: 0.5pt + luma(210)), |
||||
inset: (x: 4pt, y: 2.5pt), |
||||
[*Nr*], [*Datei*], [*Motiv*], |
||||
[01], [projektmanager], [Projekt-Manager mit leerem Beispielprojekt], |
||||
[02], [schaltplan], [Eeschema: fertiger Beispielschaltplan], |
||||
[03], [erc], [ERC-Dialog, Ergebnisliste], |
||||
[04], [footprint-zuweisung], [Dialog „Footprints zuweisen“], |
||||
[05], [update-pcb], [Dialog „PCB aus Schaltplan aktualisieren“], |
||||
[06], [floorplan], [Pcbnew: Umriss + platzierte Footprints + Ratsnest], |
||||
[07], [routing], [Routing aktiv, Lagen-Widget unten links], |
||||
[08], [zone], [Zonen-Eigenschaften (GND, B.Cu)], |
||||
[09], [drc], [DRC-Dialog mit Ergebnis], |
||||
[10], [3d-viewer], [3D-Ansicht der 2-Layer-Platine], |
||||
[11], [stackup-4l], [Board-Setup → Stapelaufbau mit 4 Kupferlagen], |
||||
[12], [impedanz], [Impedanzwerte im Stapelaufbau-Dialog], |
||||
[13], [4l-fertig], [4-Layer-Board, nur In1.GND sichtbar], |
||||
[14], [plot], [Plot-Dialog mit Gerber X2 und Layer-Liste], |
||||
[15], [gerbview], [GerbView mit geladenen Lagen], |
||||
) |
||||
] |
||||
|
||||
#slide(title: "Tastenkürzel (Layout)")[ |
||||
#table( |
||||
columns: (auto, 1fr, auto, 1fr), |
||||
stroke: (bottom: 0.5pt + luma(210)), |
||||
inset: (x: 4pt, y: 2.5pt), |
||||
[*Taste*], [*Funktion*], [*Taste*], [*Funktion*], |
||||
[`X`], [Leiterbahn routen], [`M`], [Bauteil verschieben], |
||||
[`V`], [Via + Lagewechsel], [`R`], [Bauteil drehen], |
||||
[`U`], [verbundene Leiterbahn wählen], [`E`], [Eigenschaften bearbeiten], |
||||
[`B`], [Zonen auffüllen], [`Entf`], [Element löschen], |
||||
) |
||||
#v(0.5em) |
||||
- `V` gilt bei 4-Layern für *jede* Lage — so springt man z. B. von Top nach \ |
||||
In1.GND und zurück |
||||
] |
||||
|
||||
#slide(title: "Quellen & Links")[ |
||||
- `docs.kicad.org` — offizielles Handbuch & Getting Started (de/en) |
||||
- `kicad.org` — Downloads, Versionshinweise, Blog |
||||
- `forum.kicad.info` — Community-Forum |
||||
- `gerber-format.com` — Gerber-Spezifikation (Ucamco) |
||||
- Design-Rules der eigenen Fertigung (z. B. JLCPCB, PCBWay, AISLER) — vor \ |
||||
dem Layout in das Board-Setup übernehmen |
||||
] |
||||
|
||||
#slide(title: "Diskussion")[ |
||||
- Was zeigen wir *live*? (2-Layer-Demo in ~15 min realistisch) |
||||
- Worauf besteht besonderes Interesse? EMV, Impedanz, Gehäuse, Fertigung? |
||||
#v(1em) |
||||
#align(center, text(size: 1.3em, weight: "bold")[Danke — Fragen?]) |
||||
] |
||||
@ -1,34 +0,0 @@ |
||||
#import "template.typ": * |
||||
#import "diagrams.typ": * |
||||
|
||||
#let src(body) = { |
||||
v(0.35em) |
||||
block( |
||||
width: 100%, |
||||
fill: paper.darken(3%), |
||||
inset: (x: 6pt, y: 3.5pt), |
||||
radius: 2pt, |
||||
text(size: 9.5pt, fill: luma(145))[#text(fill: accent)[Quellen:] #body], |
||||
) |
||||
} |
||||
|
||||
#show: presentation.with( |
||||
title: "KiCad", |
||||
subtitle: "", |
||||
author: "Your Name", |
||||
) |
||||
|
||||
#slide(title: "Ablauf")[ |
||||
- ..? |
||||
- Danach: Worauf besteht besonderes Interesse? |
||||
] |
||||
|
||||
// =================================================================== |
||||
#section("Technologie-Grundlagen", note: "30–45 min") |
||||
// =================================================================== |
||||
|
||||
#slide(title: "Was ist KiCad?") |
||||
#sample-chart() |
||||
#v(0.4em) |
||||
#src[@vaswani2017, @brown2020, @bbycroft] |
||||
] |
||||
Loading…
Reference in new issue