You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
611 lines
25 KiB
611 lines
25 KiB
// ============================================================================
|
|
// presentation.typ — KiCad: vom Schaltplan zum Gerber (4 Layer als Standard)
|
|
//
|
|
// 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(
|
|
breakable: false,
|
|
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]
|
|
}
|
|
},
|
|
)
|
|
|
|
// Schichtband: lückenlos gestapelt (Grid mit row-gutter 0 = kein Par-Abstand).
|
|
#let _layer(fill, h, round: none) = rect(
|
|
width: 100%,
|
|
height: h,
|
|
fill: fill,
|
|
stroke: 0.5pt + luma(150),
|
|
radius: if round == none { 0pt } else { round },
|
|
)
|
|
|
|
#let _stack(..layers) = grid(columns: (1fr,), row-gutter: 0pt, ..layers)
|
|
|
|
// Legendenzeile: Farbfeld + Text.
|
|
#let _sw(c, note) = grid(
|
|
columns: (14pt, 1fr),
|
|
column-gutter: 0.45em,
|
|
align(horizon, rect(width: 14pt, height: 9pt, fill: c, stroke: 0.5pt + luma(160), radius: 1.5pt)),
|
|
align(horizon, text(size: 8.5pt)[#note]),
|
|
)
|
|
|
|
// Querschnitt 4-Layer: Stack links, Legende rechts.
|
|
#let stack-4() = grid(
|
|
columns: (1.15fr, 1fr),
|
|
gutter: 1.8em,
|
|
_stack(
|
|
_layer(mask.lighten(40%), 8pt, round: (top-left: 2pt, top-right: 2pt)),
|
|
_layer(cu, 11pt),
|
|
_layer(prepreg, 7pt),
|
|
_layer(accent, 11pt),
|
|
_layer(fr4, 18pt),
|
|
_layer(accent-soft, 11pt),
|
|
_layer(prepreg, 7pt),
|
|
_layer(cu, 11pt),
|
|
_layer(mask.lighten(40%), 8pt, round: (bottom-left: 2pt, bottom-right: 2pt)),
|
|
),
|
|
grid(
|
|
row-gutter: 3pt,
|
|
_sw(mask.lighten(40%), [Lötstopp]),
|
|
_sw(cu, [Kupfer Top/Bottom: Signale]),
|
|
_sw(prepreg, [Prepreg ≈ 0,2 mm]),
|
|
_sw(accent, [In1.GND — Masse-Referenz]),
|
|
_sw(fr4, [FR4-Kern ≈ 1,0 mm]),
|
|
_sw(accent-soft, [In2.PWR — Versorgung]),
|
|
),
|
|
)
|
|
|
|
// 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: vom Schaltplan zum Gerber-Export — 4 Layer als Standard",
|
|
author: "Your Name",
|
|
)
|
|
|
|
#slide(title: "Ablauf")[
|
|
- *KiCad-Überblick*: Suite, Projektmodell, Werkzeugkette, Bauteileauswahl
|
|
- *Layout-Workflow*: Schaltplan → Layout → Fertigungsdaten (lagenunabhängig)
|
|
- *4-Layer*: 2 oder 4 Lagen? Stackup, Masse, Versorgung, Rückstrompfade
|
|
- *Praxis-Fragen*: Einstieg, USB-C & 5 V, EMV, Flexibilität, 0-Ω-Retter
|
|
- *Bestückung & Equipment*: Löten, Werkzeug, Factory-Bestückung
|
|
- *Prüfung & Fertigung*: DRC, Gerber, Kosten, China vs. EU
|
|
#v(0.6em)
|
|
Danach: Worauf besteht besonderes Interesse?
|
|
]
|
|
|
|
// Big-Picture-Folie: der komplette Weg von der Idee zum fertigen Gerät,
|
|
// bewusst einfach gehalten (Einstieg fürs Publikum ohne Vorwissen).
|
|
#slide(title: "Von der Idee zur Platine")[
|
|
#grid(
|
|
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr),
|
|
_kbox("1 · Schaltplan", "Schaltung zeichnen"), _arrow,
|
|
_kbox("2 · Layout", "Platine entwerfen"), _arrow,
|
|
_kbox("3 · Export", "Gerber-Dateien"), _arrow,
|
|
_kbox("4 · Bestellen", "hochladen + Stückliste", highlight: true),
|
|
)
|
|
#align(center, text(fill: accent, size: 0.85em)[↓])
|
|
#grid(
|
|
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr),
|
|
[], [], _kbox("5 · Versand", "Platine kommt per Post"), _arrow,
|
|
_kbox("6 · Löten", "Bauteile auflöten"), _arrow,
|
|
_kbox("7 · Test", "läuft alles?"),
|
|
)
|
|
#v(0.8em)
|
|
Die Schritte 1–3 machen wir heute in KiCad — ab Schritt 4 übernimmt die Platinen-Fertigung.
|
|
]
|
|
|
|
// ===================================================================
|
|
#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: "Bauteile & Lieferbarkeit")[
|
|
- *Direkt beim Schaltplan auswählen*: jedes Symbol bekommt ein konkretes, \
|
|
bestellbares Bauteil — nicht „irgendein 100 nF“
|
|
- Lieferbarkeit & Preis prüfen (LCSC, Mouser, DigiKey): Lagerstand, Preis \
|
|
bei 1 / 10 / 100 Stück, Gehäuse (0805 statt 0603 fürs Handlöten)
|
|
- *Der schönste Schaltplan nützt nichts*, wenn es die Teile nicht gibt — \
|
|
oder es 35 € kostet, weil 5 Stück halt so viel kosten (Mindestmengen, Versand)
|
|
- Nur Lagerware etablierter Distributoren — keine Restposten oder Broker-Teile
|
|
#v(0.5em)
|
|
#src[LCSC-Nummer direkt als Feld ans Symbol hängen — dann ist die BOM später fertig]
|
|
]
|
|
|
|
#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 wegklicken
|
|
- 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("Layout-Workflow", note: "Der Standard-Workflow")
|
|
// ===================================================================
|
|
|
|
#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.3fr, 1fr),
|
|
gutter: 1.4em,
|
|
[
|
|
- *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 (sperren), dann ICs, dann Entkopplungs-Cs
|
|
- *Zoom nicht übertreiben*: auf dem Bildschirm sieht alles SO GROSS aus — \
|
|
in echt kaum noch lötbar
|
|
],
|
|
shot("06-floorplan", [Pcbnew: Platinenumriss + platzierte Footprints mit sichtbarem Ratsnest (dünne weiße Verbindungen)]),
|
|
)
|
|
]
|
|
|
|
#slide(title: "Routen")[
|
|
#grid(
|
|
columns: (1.3fr, 1fr),
|
|
gutter: 1.4em,
|
|
[
|
|
- `X` routen — *kritische Signale zuerst*: Takt, PWM, Analog; kurze Wege, \
|
|
wenige Vias
|
|
- `V` während des Routens: Via platzieren + Lagewechsel
|
|
- PWR-Leitungen breiter routen (Netz-Klasse); GND läuft über die Masseflä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")[
|
|
- Zeichnen-Werkzeug *Kupferfläche* wählen; in den Zone-Eigenschaften:
|
|
*Netz GND, GND-Lage wählen* (4 Layer: In1.GND · 2 Layer: 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")[
|
|
- *DRC — nie nie nie vergessen*: nach dem Layout und *noch einmal direkt \
|
|
vor dem Export* (`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 Platine, leicht gedreht, mit Bauteilen]),
|
|
)
|
|
]
|
|
|
|
// ===================================================================
|
|
#section("4-Layer", note: "Stackup, Masse & Versorgung")
|
|
// ===================================================================
|
|
|
|
#slide(title: "2 oder 4 Lagen?")[
|
|
#grid(
|
|
columns: (1.3fr, 1fr),
|
|
gutter: 1.4em,
|
|
[
|
|
- *„Lohnen sich 2 Lagen heute noch?“ — eher nein*: der Aufpreis für \
|
|
4 Layer ist überschaubar, der Nutzen groß
|
|
- *Referenzebene unter jedem Signal* → geschlossene Rückstromschleifen, \
|
|
weniger Abstrahlung
|
|
- *Impedanzkontrolle* (USB, Ethernet, RF) & *Versorgung als eigene Lage* — \
|
|
niedrige Impedanz, Signale bleiben frei
|
|
- 2 Lagen: nur noch für Adapter-/Breakout-Boards & simple Schaltungen
|
|
],
|
|
stack-4(),
|
|
)
|
|
]
|
|
|
|
#slide(title: "Typische Stackups")[
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
gutter: 1.2em,
|
|
panel(c: accent)[
|
|
*A · Allrounder (Standard)*
|
|
- Top/Bottom: Signale · In1: *GND* · In2: *PWR*
|
|
- GND-Referenz nahe den Top-Signalen, Versorgung als ganze Lage
|
|
],
|
|
panel(c: ember)[
|
|
*B · High-Speed*
|
|
- Top/Bottom: Signale · In1/In2: *GND*
|
|
- Beste Referenz; Versorgung als breite Zonen auf den Signal-Lagen
|
|
],
|
|
)
|
|
#v(0.6em)
|
|
- *Symmetrisch aufbauen* (Dicken über/unter der Mitte gleich) → geringer Verzug beim Reflow-Löten
|
|
- Beide Varianten: 1 oz (35 µm) Kupfer, Kern + 2× Prepreg, gesamt ≈ 1,6 mm
|
|
]
|
|
|
|
#slide(title: "Stackup in KiCad einrichten")[
|
|
- Board-Setup → *Stapelaufbau*: Innenlagen *In1.Cu / In2.Cu* anlegen, Kupferdicken & Prepreg eintragen, Lagen benennen (In1.GND …)
|
|
- *Impedanz* im selben Dialog: Ziel (z. B. 50 Ω Single, 90 Ω diff) → empfohlene Bahnbreite je Lage
|
|
- Netzklassen & Abstände wie gehabt über das Board-Setup; Thermal-Reliefs für Plane-Anbindung
|
|
#v(0.4em)
|
|
#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
|
|
- Lagewechsel: *Rückstrom-Via (GND) direkt neben* dem Signal-Via
|
|
- *Stitching-Vias* GND ↔ GND regelmäßig verteilen
|
|
- Entkopplung: Pad → Via → Plane, so kurz wie möglich; \
|
|
Versorgung über Via-Paare an In2 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("Praxis-Fragen", note: "Erfahrungswerte fürs erste Board")
|
|
// ===================================================================
|
|
|
|
#slide(title: "Wie fange ich an?")[
|
|
- *Klein anfangen*: eine Platine, ein Ziel — z. B. Spannungsversorgung + \
|
|
MCU-Modul (das Beispiel aus diesem Vortrag)
|
|
- *Bewährtes kopieren*: Referenzdesigns aus Datenblättern, Open-Source-Boards — \
|
|
nichts neu erfinden
|
|
- Reihenfolge einhalten: Schaltplan (+ Bauteileauswahl) → ERC → Layout → \
|
|
DRC → Gerber
|
|
- Erste Revision = Lernprojekt: rechne mit 2–3 Anläufen — das ist normal
|
|
]
|
|
|
|
#slide(title: "USB-C & 5 V — ein gutes Konzept?")[
|
|
- *Ja — fürs erste Board ein guter Standard*: robust, überall verfügbar, \
|
|
nur 5 V (kein Power-Delivery nötig)
|
|
- Common Pitfalls:
|
|
- *CC1 & CC2 je 5,1 kΩ nach GND* (Rd) — sonst liefert eine korrekte \
|
|
Quelle gar keinen Strom
|
|
- Pin-Reihen A/B sind *gespiegelt*, nicht gedreht — Footprint-Orientierung prüfen
|
|
- USB-2-Pins verbinden: A6↔B6 (D+) und A7↔B7 (D−)
|
|
- VBUS nicht zurückeinspeisen: kein zweites Board an denselben Stecker
|
|
#v(0.4em)
|
|
#src[Anforderungen an Rd (5,1 kΩ): USB-IF, USB Type-C Spec]
|
|
]
|
|
|
|
#slide(title: "EMV als Anfänger?")[
|
|
- *„Lohnt es sich, als Anfänger auf EMV zu achten?“ — joa, eher nicht.*
|
|
- Bewusste EMV-Optimierung (Filterdesign, Shields, Slots…) ist zu früh — \
|
|
das Grundset bringt schon den Großteil:
|
|
- durchgehende *GND-Referenzfläche* (deshalb 4 Layer)
|
|
- *Entkopplungskondensatoren* direkt an jeden Versorgungspin
|
|
- Realistisch planen: *2–3 Revisionen* — und für Revision 1 *Yellow-Wire* \
|
|
(Lötdrähte) einpreisen
|
|
]
|
|
|
|
#slide(title: "Wie flexibel designen?")[
|
|
- Frage: Jumper, Bestückoptionen, „entweder/oder“-Footprints einplanen?
|
|
- *Eher gar nicht* — wird eine Stelle „falsch“, machst du einfach die \
|
|
nächste Platine (schnell & günstig)
|
|
- Flexibilität kostet Platz, Zeit und macht Layout & Bestückung komplexer
|
|
- *Ausnahme: ab ca. 100+ Stück* lohnt es sich, Varianten vorzusehen \
|
|
(Bestückvarianten, Strapping-Optionen)
|
|
]
|
|
|
|
#slide(title: "Retter in der Not: 0 Ω & 1 R")[
|
|
- *Schutzwiderstände mit 0 Ω retten alles*: in Serie zu Versorgungs- und \
|
|
heiklen Signalleitungen einplanen — im Notfall austauschen, überbrücken \
|
|
oder per Yellow-Wire ersetzen
|
|
- Gehäusegröße: *0805 oder 0603 — nicht kleiner* (du willst es auch noch \
|
|
von Hand löten können)
|
|
- *1-R-Widerstände in 0805 als Sicherungen*: in Versorgungszweige — gehen \
|
|
im Fehlerfall durch, statt alles abzufackeln
|
|
]
|
|
|
|
// ===================================================================
|
|
#section("Bestückung & Equipment", note: "Löten, Werkzeug & PCBA")
|
|
// ===================================================================
|
|
|
|
#slide(title: "Bestückung: klein nach groß")[
|
|
- *Klein nach groß* — sonst kommst du mit dem Lötkolben nicht mehr dran
|
|
- *Erst SMD, dann THT* — Stecker & große THT-Teile blockieren sonst \
|
|
die SMD-Plätze
|
|
- SMD in einem Rutsch: Lötpaste, Bauteile setzen, Hotplate bzw. Heißluft — \
|
|
danach THT mit dem Kolben
|
|
- „*Lohnt sich Bestückungsdruck?*“ — nein, außer ab ca. 10.000 Stück und \
|
|
mit AOI (die automatische Inspektion braucht die Referenz)
|
|
]
|
|
|
|
#slide(title: "Equipment — was lohnt sich?")[
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
gutter: 1.2em,
|
|
panel(c: accent)[
|
|
*Kaufen (ja)*
|
|
- *Lötkolben* — temperaturgeregelt, feine Spitzen
|
|
- *Hotplate* — SMD-Lötpaste im kleinen Reflow
|
|
- *Heißluftfön* — Rework, QFN/DFN, Schrumpfschlauch
|
|
- *Lötpaste & Lötzinn* (kein Sn63Cu36)
|
|
],
|
|
panel(c: ember)[
|
|
*Eher nicht / später*
|
|
- Reflow-Ofen — die Hotplate reicht fürs Prototyping
|
|
- Automatischer Bauteil-Picker — Pinzette tut's
|
|
- Großes Mikroskop — ein USB-Mikroskop reicht am Anfang
|
|
],
|
|
)
|
|
]
|
|
|
|
#slide(title: "Factory-Bestückung (PCBA)")[
|
|
- *„Lohnt sich das?“ — ja, öfter als man denkt*: der Dienstleister beschafft \
|
|
und bestückt SMD ab Werk (z. B. JLCPCB, AISLER)
|
|
- Besonders bei *feinen Gehäusen* (0402, QFN, BGA) — spart Frust und \
|
|
Nachbestellungen
|
|
- Aus KiCad: *Stückliste (BOM)* + *Pick-and-Place-Datei* exportieren \
|
|
(`Datei → Fertigungsoutputs`)
|
|
- Sinnvoller Split: *SMD ab Werk, THT & Mechanik selbst* löten
|
|
]
|
|
|
|
// ===================================================================
|
|
#section("Prüfung & Fertigung", note: "DRC, Gerber, Bohrdaten & Kosten")
|
|
// ===================================================================
|
|
|
|
#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: "Was kostet eine Platine?")[
|
|
#table(
|
|
columns: (auto, 1fr),
|
|
stroke: (bottom: 0.5pt + luma(210)),
|
|
inset: (x: 4pt, y: 2.5pt),
|
|
[*Stückzahl*], [*Richtwert (kleine 4-Layer-Platine, China)*],
|
|
[1–5], [ca. 10–25 € — fast nur Grundgebühr, Panel & Versand],
|
|
[10], [kaum teurer als 5 — das Setup ist einmal bezahlt],
|
|
[100], [ca. 1–2 € pro Stück],
|
|
[1000], [ca. 0,3–0,8 € pro Stück],
|
|
)
|
|
#v(0.4em)
|
|
- *Kleinmengen = Fixkosten*: Setup, Werkzeuge, Panel, Versand dominieren den Preis
|
|
- Preis-Treiber: *Fläche, Lagenzahl, Mindestabstände/Bohrungen* (HDI = teuer) & Menge
|
|
#v(0.3em)
|
|
#src[Größenordnungen zur Orientierung — aktuell immer im Preisrechner prüfen (jlcpcb.com/pricing, aisler.net)]
|
|
]
|
|
|
|
#slide(title: "China oder EU?")[
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
gutter: 1.2em,
|
|
panel(c: ember)[
|
|
*China — JLCPCB, PCBWay, SEEED*
|
|
- sehr günstig, riesige Optionsvielfalt (Farben, Oberflächen, HDI)
|
|
- Versand meist 1–2 Wochen (Flugfracht)
|
|
- lange Transportwege → mehr Emissionen
|
|
],
|
|
panel(c: accent)[
|
|
*EU — AISLER, Beta layout, Würth*
|
|
- Faktor 2–5 teurer, dafür schnell & unkompliziert
|
|
- deutschsprachiger Support, Rechnung & Gewährleistung
|
|
- kurze Wege → besser für *Umwelt & Local Buying*
|
|
],
|
|
)
|
|
#v(0.5em)
|
|
- Praktisch: China fürs günstige Prototyping & Lernen — EU, wenn Zeit, \
|
|
Service oder CO₂-Bilanz zählen
|
|
]
|
|
|
|
#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 fertigen 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*? (Layout-Demo in ca. 15 min realistisch)
|
|
- Worauf besteht besonderes Interesse? Kosten, PCBA, EMV, Impedanz, Gehäuse?
|
|
#v(1em)
|
|
#align(center, text(size: 1.3em, weight: "bold")[Danke — Fragen?])
|
|
]
|
|
|