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