From 827f50441e8796549577b20a554ebc9a9d37fd33 Mon Sep 17 00:00:00 2001 From: dev Date: Mon, 19 Oct 2026 06:03:17 +0000 Subject: [PATCH] feat: updates to the slides, reworked --- presentation.typ | 329 +++++++++++++++++++++++------------------------ 1 file changed, 159 insertions(+), 170 deletions(-) diff --git a/presentation.typ b/presentation.typ index a26574e..074642d 100644 --- a/presentation.typ +++ b/presentation.typ @@ -151,12 +151,12 @@ ) #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 + - *Überblick*: Suite · Projekt · Werkzeugkette · Bauteile + - *Workflow*: Schaltplan → Layout → Fertigungsdaten + - *4 Layer*: Stackup · Masse · Rückstrompfade + - *Praxis*: Einstieg · USB-C & 5 V · EMV · 0-Ω-Retter + - *Bestückung*: Löten · Werkzeug · PCBA + - *Fertigung*: DRC · Gerber · Kosten #v(0.6em) Danach: Worauf besteht besonderes Interesse? ] @@ -179,7 +179,7 @@ _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. + Heute: Schritte 1–3 in KiCad — ab 4 übernimmt die Fertigung. ] // =================================================================== @@ -187,12 +187,12 @@ // =================================================================== #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 + - *Freie Open-Source-EDA-Suite* (GPLv3): Schaltplan + Leiterplatte + - Ein Projekt, ein Dateisatz: `.kicad_pro` · `.kicad_sch` · `.kicad_pcb` \ + — Textformate, git-tauglich + - Integriert: Symbol- & Footprint-Editor · SPICE · 3D-Viewer · DRC/ERC · \ + GerbView · `kicad-cli` + - Windows / Linux / macOS — Version 9.x #v(0.5em) #src[Offizielles Handbuch: docs.kicad.org] ] @@ -200,41 +200,42 @@ #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 + - *Iterativ*: Änderung im Schaltplan → `PCB aus Schaltplan aktualisieren` + - Erst ERC sauber → dann 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 + - `Datei → Neu → Projekt` → `.kicad_pro` + leere Schematik + - Eeschema: Symbole platzieren (`A`) · verdrahten (`W`) + - Annotieren: Referenzen (R1, C3 …) eindeutig + - Beispiel: Versorgung + 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]), + shot("01-projektmanager", [KiCad-Startfenster, leeres Beispielprojekt, Icon-Leiste]), + shot("02-schaltplan", [Eeschema: fertiger 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 + - *Direkt im Schaltplan auswählen*: konkretes, bestellbares Bauteil — \ + kein „irgendein 100 nF“ + - Lieferbarkeit & Preis: LCSC · Mouser · DigiKey + - Lagerstand · Preis bei 1 / 10 / 100 Stück + - Gehäuse: 0805 statt 0603 (Handlöten) + - Schönster Schaltplan nützt nichts *ohne Bauteile* \ + (Mindestmengen · Versand) + - Nur Lagerware etablierter Distributoren — keine Broker-Teile #v(0.5em) - #src[LCSC-Nummer direkt als Feld ans Symbol hängen — dann ist die BOM später fertig] + #src[LCSC-Nummer als Feld ans Symbol → fertige BOM] ] #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 + - `Prüfen → Elektrische Regeln prüfen` + - Findet: offene Pins · unverbundene Drähte · fehlende `PWR_FLAG` + - Warnungen *beheben* — nicht wegklicken + - ERC grün → Footprints → Layout #v(0.5em) #shot("03-erc", [ERC-Dialog mit Ergebnisliste und „0 Verstöße“], tip: [Menü: Prüfen → Elektrische Regeln prüfen]) ] @@ -244,15 +245,15 @@ // =================================================================== #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 + - `Werkzeuge → Footprints zuweisen`: Symbol → Gehäuse + - Filter: Abmessungen · Pins · Bohrbild + - Mechanische Maße vorher im Datenblatt prüfen + - Pcbnew: `PCB aus Schaltplan aktualisieren` → Footprints + Ratsnest #v(0.5em) #grid( columns: (1fr, 1fr), gutter: 1.2em, - shot("04-footprint-zuweisung", [Dialog „Footprints zuweisen“: Spalten Symbol / Footprint / Vorschau]), + shot("04-footprint-zuweisung", [Dialog „Footprints zuweisen“: Symbol / Footprint / Vorschau]), shot("05-update-pcb", [Dialog „PCB aus Schaltplan aktualisieren“ mit Änderungsliste]), ) ] @@ -262,11 +263,14 @@ columns: (1.5fr, 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 fixieren (sperren), dann ICs, dann Entkopplungs-Cs an die Versorgungspins + - *Board-Setup*: Netz-Klassen (Signal 0,25 mm · PWR 0,5–0,8 mm), \ + Via 0,6/0,3 mm, Abstandsregeln + - Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm, Ecken runden) + - Platzieren nach *Signalfluss*: + - Connectoren & Befestigungen fixieren (sperren) + - ICs → Entkopplungs-Cs an Versorgungspins ], - shot("06-floorplan", [Pcbnew: Platinenumriss + platzierte Footprints mit sichtbarem Ratsnest (dünne weiße Verbindungen)]), + shot("06-floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]), ) ] @@ -275,39 +279,38 @@ 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) + - `X` — *kritische Signale zuerst*: Takt · PWM · Analog + - Kurze Wege · wenige Vias + - `V` beim Routen: Via + Lagewechsel + - PWR breiter (Netz-Klasse) · GND → Massefläche + - Raster: 1,27 / 0,635 mm (THT) · 0,25 mm (SMD) ], - 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]), + shot("07-routing", [Leiterbahn beim Routen, Lagen-Widget auf „F.Cu“], tip: [Live-Demo-fähig halten: gleiche Ansicht später am 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 + - Werkzeug *Kupferfläche*: Netz *GND* · Lage wählen \ + (4 Layer: In1.GND · 2 Layer: B.Cu) + - Thermische Reliefs für Pads + - *Stitch-Vias* nahe kritischen Bauteilen \ + (Entkopplung · Quarze · Spannungsregler) + - Nach jeder Änderung: `B` (Zonen auffüllen) → erst dann 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…“]) + #shot("08-zone", [Zonen-Eigenschaften: Netz GND, Lage B.Cu, 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 + - *DRC — nie vergessen!* Nach dem Layout + *nochmal vor dem Export* + - Abstände · offene Verbindungen · Masken- & Bohrabstände + - *3D-Viewer*: Gehäuse- & Montage-Kollisionen + - Export: Gerber X2 + Excellon → ZIP → 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]), + shot("09-drc", [DRC-Dialog, Ergebnisliste „0 Verstöße“]), + shot("10-3d-viewer", [3D-Betrachter: fertige Platine mit Bauteilen]), ) ] @@ -320,12 +323,12 @@ columns: (1.6fr, 1fr), gutter: 1.4em, [ - - *„Lohnen sich 2 Lagen noch?“ — eher nein*: der 4-Layer-Aufpreis ist \ - gering, der Nutzen groß - - *Referenzebene unter jedem Signal* → geschlossene Rückstromschleifen, \ - weniger Abstrahlung - - *Impedanzkontrolle* (USB, Ethernet, RF) & *Versorgung als eigene Lage* - - 2 Lagen: nur noch für Adapter- & Breakout-Boards + - *2 Lagen? — eher nein*: 4-Layer-Aufpreis gering, Nutzen groß + - *Referenzebene unter jedem Signal* \ + → geschlossene Rückstromschleifen · weniger Abstrahlung + - *Impedanzkontrolle* (USB · Ethernet · RF) + - Versorgung als eigene Lage + - 2 Lagen: nur Adapter- & Breakout-Boards ], stack-4(), ) @@ -338,29 +341,32 @@ panel(c: accent)[ *A · Allrounder (Standard)* - Top/Bottom: Signale · In1: *GND* · In2: *PWR* - - GND-Referenz nahe den Top-Signalen, Versorgung als ganze Lage + - GND-Referenz nahe 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 + - Beste Referenz · Versorgung als Zonen auf den Signallagen ], ) #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 + - *Symmetrisch aufbauen* → geringer Verzug beim Reflow + - Beide: 35 µm Kupfer · Kern + 2× Prepreg · ≈ 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 + - Board-Setup → *Stapelaufbau*: + - Innenlagen *In1.Cu / In2.Cu* anlegen + - Kupferdicken & Prepreg eintragen · Lagen benennen (In1.GND …) + - *Impedanz* im selben Dialog: Ziel (50 Ω Single · 90 Ω diff) \ + → empfohlene Bahnbreite + - Netzklassen & Abstände wie gehabt · Thermal-Reliefs für Planes #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]), + shot("11-stackup-4l", [Board-Setup → Stapelaufbau: 4 Kupferlagen, Dicken, Dielektrika]), + shot("12-impedanz", [Impedanz-Anzeige mit berechneten Werten je Signallage]), ) ] @@ -369,14 +375,14 @@ 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 + - *GND-Ebene durchgehend halten* \ + — Schlitze & Splitting = Rückstromfallen + - *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 + - Entkopplung: Pad → Via → Plane, so kurz wie möglich + - Versorgung: Via-Paare an In2 ], - 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]), + shot("13-4l-fertig", [4-Layer-Board, nur In1.GND sichtbar: durchgehende Massefläche mit Stitching-Vias], tip: [Lagen-Liste links: nur In1.Cu + Vias einblenden]), ) ] @@ -385,55 +391,46 @@ // =================================================================== #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 + - *Klein anfangen*: eine Platine, ein Ziel \ + (z. B. Versorgung + MCU-Modul — das Vortrags-Beispiel) + - *Bewährtes kopieren*: Referenzdesigns · Open-Source-Boards + - Reihenfolge: Schaltplan → ERC → Layout → DRC → Gerber + - Revision 1 = Lernprojekt: *2–3 Anläufe* sind 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 + - *Ja — guter Standard*: robust · überall verfügbar · nur 5 V + - *CC1 & CC2: je 5,1 kΩ nach GND* (Rd) \ + — sonst liefert die Quelle keinen Strom + - A/B-Pins *gespiegelt*, nicht gedreht — Footprint prüfen + - USB-2: A6↔B6 (D+) · A7↔B7 (D−) + - VBUS: *nicht zurückeinspeisen* (kein 2. Board am Stecker) #v(0.4em) - #src[Anforderungen an Rd (5,1 kΩ): USB-IF, USB Type-C Spec] + #src[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: + - *Bewusste EMV-Optimierung: zu früh* (Filter · Shields · Slots …) + - 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 + - *Entkopplungs-Cs* direkt an jeden Versorgungspin + - Einplanen: *2–3 Revisionen* + *Yellow-Wire* für Rev. 1 ] #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) + - Jumper · Bestückoptionen · „entweder/oder“-Footprints? + - *Eher gar nicht* — nächste Platine ist schnell & günstig + - Flexibilität kostet: Platz · Zeit · Komplexität + - *Ausnahme: ab ~100+ Stück* → Varianten lohnen \ + (Bestückvarianten · Strapping) ] #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 + - *0 Ω in Serie* zu Versorgungs- & heiklen Signalleitungen + - Notfall: austauschen · überbrücken · Yellow-Wire + - Gehäuse: *0805 / 0603 — nicht kleiner* (handlötbar) + - *1 R in 0805 als Sicherung*: in Versorgungszweige — \ + geht durch statt abzufackeln ] // =================================================================== @@ -441,15 +438,11 @@ // =================================================================== #slide(title: "Bestückung: klein nach groß")[ - - *Klein nach groß* — sonst kommst du mit dem Lötkolben nicht mehr dran - - *Zoom nicht übertreiben*: auf dem Bildschirm sieht alles SO GROSS aus — \ - in echt bekommst du es kaum noch gelötet - - *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) + - *Klein nach groß* — sonst kommt der Lötkolben nicht mehr dran + - *Zoom nicht übertreiben*: Bildschirm ≠ Realität + - *Erst SMD, dann THT* — Stecker blockieren sonst SMD-Plätze + - SMD in einem Rutsch: Lötpaste → setzen → Hotplate / Heißluft + - Bestückungsdruck? *Nein* — erst ab ~10 000 Stück + AOI ] #slide(title: "Equipment — was lohnt sich?")[ @@ -460,26 +453,25 @@ *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) + - *Heißluftfön* — Rework · QFN/DFN + - *Lötpaste & Lötzinn* ], 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 + - Reflow-Ofen — Hotplate reicht + - Automatischer Picker — Pinzette tut's + - Großes Mikroskop — USB-Mikroskop reicht ], ) ] #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 \ + - *Lohnt sich? — ja, öfter als man denkt* \ + (z. B. JLCPCB · AISLER) + - V. a. bei *feinen Gehäusen*: 0402 · QFN · BGA + - Aus KiCad: *BOM* + *Pick-and-Place* \ (`Datei → Fertigungsoutputs`) - - Sinnvoller Split: *SMD ab Werk, THT & Mechanik selbst* löten + - Split: *SMD ab Werk · THT & Mechanik selbst* ] // =================================================================== @@ -487,25 +479,24 @@ // =================================================================== #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 + - *Innenlagen sichtbar machen*: GND wirklich geschlossen? \ + Versorgungszonen komplett? + - *DRC* mit Herstellerrules: Clearance · Annular Ring · Bohrabstand + - *3D-Check* + STEP-Export (`Datei → Exportieren → STEP`) + - Faustregel: erst Zonen auffüllen (`B`) · dann DRC ] #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 + - `Fertigungsoutputs → Plotten…`: *Gerber X2* + - Kupfer-Lagen · Lötstopp · Bestückungsdruck · Edge.Cuts + - Bohrdaten separat (Excellon) → beides ins ZIP + - Kontrolle in *GerbView*: jede Lage durchschauen #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]), + shot("14-plot", [Plot-Dialog: Gerber X2, Layer-Liste mit Haken]), + shot("15-gerbview", [GerbView mit geladenen Lagen (F.Cu, B.Cu, Masken)]), ) ] @@ -516,15 +507,15 @@ 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], + [10], [kaum teurer als 5 — Setup 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 + - *Kleinmengen = Fixkosten*: Setup · Panel · Versand + - Preis-Treiber: *Fläche · Lagenzahl · Mindestabstände* (HDI = teuer) · Menge #v(0.3em) - #src[Größenordnungen zur Orientierung — aktuell immer im Preisrechner prüfen (jlcpcb.com/pricing, aisler.net)] + #src[Richtwerte — aktuell immer im Preisrechner prüfen (jlcpcb.com, aisler.net)] ] #slide(title: "China oder EU?")[ @@ -533,20 +524,19 @@ 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 + - sehr günstig · riesige Optionsvielfalt + - Versand 1–2 Wochen + - lange Transportwege ], 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* + - Faktor 2–5 teurer · schnell & unkompliziert + - deutschsprachiger Support · Gewährleistung + - kurze Wege → *Umwelt & Local Buying* ], ) #v(0.5em) - - Praktisch: China fürs günstige Prototyping & Lernen — EU, wenn Zeit, \ - Service oder CO₂-Bilanz zählen + - China: günstiges Prototyping · EU: Zeit, Service, CO₂ ] #slide(title: "Screenshot-Checkliste")[ @@ -589,22 +579,21 @@ [`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 + - `V` gilt bei 4-Layern für *jede* Lage — z. B. Top ↔ In1.GND ] #slide(title: "Quellen & Links")[ - - `docs.kicad.org` — offizielles Handbuch & Getting Started (de/en) - - `kicad.org` — Downloads, Versionshinweise, Blog + - `docs.kicad.org` — Handbuch & Getting Started (de/en) + - `kicad.org` — Downloads · Release Notes · 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 + - Design-Rules der Fertigung (JLCPCB · PCBWay · AISLER) \ + — vor dem Layout ins Board-Setup ] #slide(title: "Diskussion")[ - - Was zeigen wir *live*? (Layout-Demo in ca. 15 min realistisch) - - Worauf besteht besonderes Interesse? Kosten, PCBA, EMV, Impedanz, Gehäuse? + - Was zeigen wir *live*? (Layout-Demo ~15 min) + - Besonderes Interesse? Kosten · PCBA · EMV · Impedanz · Gehäuse? #v(1em) #align(center, text(size: 1.3em, weight: "bold")[Danke — Fragen?]) ]