simple language

main
dev 3 weeks ago
parent 589050a7a9
commit 603fac711a
  1. 165
      presentation.typ

@ -153,23 +153,21 @@
#show: presentation.with( #show: presentation.with(
title: "KiCad", title: "KiCad",
subtitle: "Platinen-Design in der Praxis: vom Schaltplan zum Gerber-Export — 4 Layer als Standard", subtitle: "Vom Schaltplan zur fertigen Platine — 4 Layer als Standard",
author: "Your Name", author: "Your Name",
) )
#slide(title: "Ablauf")[ #slide(title: "Ablauf")[
- *Überblick*: Suite · Projekt · Werkzeugkette · Bauteile - *Was ist KiCad?* · Projekt & Schaltplan
- *Workflow*: Schaltplan → Layout → Fertigungsdaten - *Layout*: Platzieren · Routen · Zonen · Prüfen
- *4 Layer*: Stackup · Masse · Rückstrompfade - *4 Layer* statt 2 — warum
- *Praxis*: Einstieg · USB-C & 5 V · EMV · 0-Ω-Retter - *Praxis*: USB-C & 5 V · 0-Ω-Retter · Löten
- *Bestückung*: Löten · Werkzeug · PCBA - *Fertigung*: Gerber · Kosten · China vs. EU
- *Fertigung*: DRC · Gerber · Kosten
#v(0.6em) #v(0.6em)
Danach: Worauf besteht besonderes Interesse? Danach: Wovon wollt ihr mehr sehen?
] ]
// Big-Picture-Folie: der komplette Weg von der Idee zum fertigen Gerät, // 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")[ #slide(title: "Von der Idee zur Platine")[
#grid( #grid(
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr), columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr),
@ -201,28 +199,27 @@
// =================================================================== // ===================================================================
#slide(title: "Was ist KiCad?")[ #slide(title: "Was ist KiCad?")[
- *Freie Open-Source-EDA-Suite* (GPLv3): Schaltplan + Leiterplatte - Leiterplattendesignsoftware
- Ein Projekt, ein Dateisatz: `.kicad_pro` · `.kicad_sch` · `.kicad_pcb` \ - Schaltplan und Layout
— Textformate, git-tauglich - git support — Projektdateien sind Text
- Integriert: Symbol- & Footprint-Editor · SPICE · 3D-Viewer · DRC/ERC · \ - Windows / Linux / Mac
GerbView · `kicad-cli` - vom CERN, open source
- Windows / Linux / macOS — Version 9.x
#v(0.5em)
#src[Offizielles Handbuch: docs.kicad.org]
] ]
#slide(title: "Werkzeugkette")[ #slide(title: "Werkzeugkette")[
#workflow-pipeline() #workflow-pipeline()
#v(0.5em) #v(0.5em)
- *Iterativ*: Änderung im Schaltplan → `PCB aus Schaltplan aktualisieren` - Später etwas geändert? Ein Klick: Schaltplan → Platine aktualisieren
- Erst ERC sauber → dann Layout - Erst ERC sauber, dann Layout
] ]
#slide(title: "Projekt & Schaltplan")[ #slide(title: "Projekt & Schaltplan")[
- `Datei → Neu → Projekt` → `.kicad_pro` + leere Schematik - An Beispielschaltungen aus dem Datenblatt orientieren — platzieren, verdrahten
- Eeschema: Symbole platzieren (`A`) · verdrahten (`W`) - Sorgfalt und Zeit investieren — sauber gruppieren, nach Funktion:
- Annotieren: Referenzen (R1, C3 …) eindeutig - Stecker & Montage
- Beispiel: Versorgung + MCU-Modul mit Entkopplung - Stromversorgung — geht an alle anderen Gruppen
- Zentraler Prozessor + Debug
- Funktionale Gruppen — z. B. Schaltergruppe 1: Schalter + Sensor + LED + …
#v(0.5em) #v(0.5em)
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
@ -233,23 +230,18 @@
] ]
#slide(title: "Bauteile & Lieferbarkeit")[ #slide(title: "Bauteile & Lieferbarkeit")[
- *Direkt im Schaltplan auswählen*: konkretes, bestellbares Bauteil — „irgendein 100 nF“ ist okay, aber nicht "der Schaltregler, aber in der 5V Variante" - Direkt beim Zeichnen konkret aussuchen — was es gibt und was lieferbar ist
- Lieferbarkeit & Preis: LCSC · Mouser · DigiKey - „irgendein 100 nF" ist okay — „der Schaltregler, aber in der 5-V-Variante" nicht
- Manchmal auch geschickt: check bei jlc-assembly - Check: LCSC · Mouser · DigiKey — Lagerstand, Preis bei 1 / 10 / 100 Stück
- Lagerstand · Preis bei 1 / 10 / 100 Stück - Gehäuse: 0805 statt 0603 (handlötbar)
- Gehäuse: 0805 statt 0603 (Handlöten) - Schönster Schaltplan nützt nichts *ohne Bauteile*
- Schönster Schaltplan nützt nichts *ohne Bauteile* \
(Mindestmengen · Versand)
- Nur Lagerware etablierter Distributoren — keine Broker-Teile
#v(0.5em)
#src[LCSC-Nummer als Feld ans Symbol → fertige BOM]
] ]
#slide(title: "ERC — Schaltung prüfen")[ #slide(title: "ERC — Schaltung prüfen")[
- `Prüfen → Elektrische Regeln prüfen` - `Prüfen → Elektrische Regeln prüfen`
- Findet: offene Pins · unverbundene Drähte · fehlende `PWR_FLAG` - Findet: offene Pins · vergessene Drähte · fehlende `PWR_FLAG`
- Warnungen *beheben* — nicht wegklicken - Warnungen *beheben* — nicht wegklicken
- ERC grün → Footprints → Layout - ERC grün → weiter zum Layout
#v(0.5em) #v(0.5em)
#shot("03-erc", [ERC-Dialog mit Ergebnisliste und „0 Verstöße“], tip: [Menü: Prüfen → Elektrische Regeln prüfen]) #shot("03-erc", [ERC-Dialog mit Ergebnisliste und „0 Verstöße“], tip: [Menü: Prüfen → Elektrische Regeln prüfen])
] ]
@ -260,9 +252,8 @@
#slide(title: "Footprints zuweisen & importieren")[ #slide(title: "Footprints zuweisen & importieren")[
- `Werkzeuge → Footprints zuweisen`: Symbol → Gehäuse - `Werkzeuge → Footprints zuweisen`: Symbol → Gehäuse
- Filter: Abmessungen · Pins · Bohrbild
- Mechanische Maße vorher im Datenblatt prüfen - Mechanische Maße vorher im Datenblatt prüfen
- Pcbnew: `PCB aus Schaltplan aktualisieren` → Footprints + Ratsnest - Pcbnew: `PCB aus Schaltplan aktualisieren` — Bauteile landen auf der Platine
#v(0.5em) #v(0.5em)
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
@ -278,11 +269,11 @@
gutter: 1.4em, gutter: 1.4em,
[ [
- *Board-Setup*: Netz-Klassen (Signal 0,25 mm · PWR 0,5–0,8 mm), \ - *Board-Setup*: Netz-Klassen (Signal 0,25 mm · PWR 0,5–0,8 mm), \
Via 0,6/0,3 mm, Abstandsregeln Via 0,6/0,3 mm
- Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm, Ecken runden) - Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm)
- Platzieren nach *Signalfluss*: - Platzieren nach *Signalfluss*:
- Connectoren & Befestigungen fixieren (sperren) - Stecker & Befestigung zuerst — festpinnen
- ICs → Entkopplungs-Cs an Versorgungspins - ICs hin → Entkopplungs-Cs direkt an die Versorgungspins
], ],
shot("06-floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]), shot("06-floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]),
) )
@ -294,8 +285,8 @@
gutter: 1.4em, gutter: 1.4em,
[ [
- `X` — *kritische Signale zuerst*: Takt · PWM · Analog - `X` — *kritische Signale zuerst*: Takt · PWM · Analog
- Kurze Wege · wenige Vias - Kurze Wege, wenige Vias
- `V` beim Routen: Via + Lagewechsel - `V` beim Routen → Via, Lagewechsel
- PWR breiter (Netz-Klasse) · GND → Massefläche - PWR breiter (Netz-Klasse) · GND → Massefläche
- Raster: 1,27 / 0,635 mm (THT) · 0,25 mm (SMD) - Raster: 1,27 / 0,635 mm (THT) · 0,25 mm (SMD)
], ],
@ -324,9 +315,8 @@
#slide(title: "Prüfen & Exportieren")[ #slide(title: "Prüfen & Exportieren")[
- *DRC — nie vergessen!* Nach dem Layout + *nochmal vor dem Export* - *DRC — nie vergessen!* Nach dem Layout + *nochmal vor dem Export*
- Abstände · offene Verbindungen · Masken- & Bohrabstände - *3D-Viewer*: kollidieren Gehäuse & Stecker?
- *3D-Viewer*: Gehäuse- & Montage-Kollisionen - Export: Gerber X2 + Bohrdaten → ZIP → Fertigung
- Export: Gerber X2 + Excellon → ZIP → Fertigung
#v(0.5em) #v(0.5em)
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
@ -345,25 +335,21 @@
columns: (1.6fr, 1fr), columns: (1.6fr, 1fr),
gutter: 1.4em, gutter: 1.4em,
[ [
- *2 Lagen? — eher nein*: 4-Layer-Aufpreis gering, Nutzen groß - *4 Lagen als Standard* — Aufpreis klein, Nutzen groß
- *Referenzebene unter jedem Signal* \ - Massefläche unter jedem Signal → weniger Abstrahlung
→ geschlossene Rückstromschleifen · weniger Abstrahlung - Impedanzkontrolle (USB · Ethernet · Funk)
- *Impedanzkontrolle* (USB · Ethernet · RF)
- Versorgung als eigene Lage - Versorgung als eigene Lage
- 2 Lagen: nur Adapter- & Breakout-Boards - 2 Lagen: nur Adapter- & Breakout-Boards
- Fast immer reicht die Billigvariante des Stackups als Standard. - Billigvariante des Stackups reicht fast immer
], ],
stack-4(), stack-4(),
) )
] ]
#slide(title: "Stackup in KiCad einrichten")[ #slide(title: "Stackup in KiCad einrichten")[
- Board-Setup → *Stapelaufbau*: - Board-Setup → *Stapelaufbau*: Innenlagen anlegen, benennen, Dicken eintragen
- Innenlagen *In1.Cu / In2.Cu* anlegen - *Impedanz* im selben Dialog: Ziel 50 Ω → empfohlene Bahnbreite
- Kupferdicken & Prepreg eintragen · Lagen benennen (In1.GND …) - Netzklassen & Abstände wie gehabt
- *Impedanz* im selben Dialog: Ziel (50 Ω Single · 90 Ω diff) \
→ empfohlene Bahnbreite
- Netzklassen & Abstände wie gehabt · Thermal-Reliefs für Planes
#v(0.4em) #v(0.4em)
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
@ -378,10 +364,9 @@
columns: (1.1fr, 1fr), columns: (1.1fr, 1fr),
gutter: 1.4em, gutter: 1.4em,
[ [
- *GND-Ebene durchgehend halten* \ - *GND-Ebene durchgehend halten* — Schlitze = Rückstromfallen
— Schlitze & Splitting = Rückstromfallen - *GND-Via direkt neben* dem Signal-Via
- *Rückstrom-Via (GND) direkt neben* dem Signal-Via - *Stitching-Vias* regelmäßig verteilen
- *Stitching-Vias* GND ↔ GND regelmäßig verteilen
- Entkopplung: Pad → Via → Plane, so kurz wie möglich - Entkopplung: Pad → Via → Plane, so kurz wie möglich
- Versorgung: Via-Paare an In2 - Versorgung: Via-Paare an In2
], ],
@ -401,43 +386,40 @@
- *Klein anfangen*: eine Platine, ein Ziel \ - *Klein anfangen*: eine Platine, ein Ziel \
(z. B. Versorgung + MCU-Modul — das Vortrags-Beispiel) (z. B. Versorgung + MCU-Modul — das Vortrags-Beispiel)
- *Bewährtes kopieren*: Referenzdesigns · Open-Source-Boards - *Bewährtes kopieren*: Referenzdesigns · Open-Source-Boards
- Reihenfolge: Schaltplan → ERC → Layout → DRC → Gerber
- Revision 1 = Lernprojekt: *2–3 Anläufe* sind normal - Revision 1 = Lernprojekt: *2–3 Anläufe* sind normal
] ]
#slide(title: "USB-C & 5 V — ein gutes Konzept?")[ #slide(title: "USB-C & 5 V — ein gutes Konzept?")[
- *Ja — guter Standard*: robust · überall verfügbar · nur 5 V - *Ja — guter Standard*: robust · überall verfügbar · nur 5 V
- *CC1 & CC2: je 5,1 kΩ nach GND* (Rd) \ - *CC1 & CC2: je 5,1 kΩ nach GND* \
— sonst liefert die Quelle keinen Strom — sonst liefert die Quelle keinen Strom
- A/B-Pins *gespiegelt*, nicht gedreht — Footprint prüfen - A/B-Pins *gespiegelt, nicht gedreht* — Footprint prüfen
- USB-2: A6↔B6 (D+) · A7↔B7 (D−) - USB-2: A6↔B6 (D+) · A7↔B7 (D−)
- VBUS: *nicht zurückeinspeisen* (kein 2. Board am Stecker) - VBUS: *nicht zurückeinspeisen*
#v(0.4em) #v(0.4em)
#src[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?")[ #slide(title: "EMV als Anfänger?")[
- *Bewusste EMV-Optimierung: zu früh* (Filter · Shields · Slots …) - *Bewusste EMV-Optimierung (Funkstörungen): zu früh*
- Grundset bringt schon den Großteil: - Grundset bringt schon den Großteil:
- durchgehende *GND-Referenzfläche* (deshalb 4 Layer) - durchgehende *GND-Fläche* (deshalb 4 Layer)
- *Entkopplungs-Cs* direkt an jeden Versorgungspin - *Entkopplungs-Cs* an jeden Versorgungspin
- Einplanen: *2–3 Revisionen* + *Yellow-Wire* für Rev. 1 - Einplanen: *2–3 Revisionen* + *Yellow-Wire* für Rev. 1
] ]
#slide(title: "Wie flexibel designen?")[ #slide(title: "Wie flexibel designen?")[
- Jumper · Bestückoptionen · „entweder/oder“-Footprints? - Jumper · Bestückoptionen? *Eher nicht*
- *Eher gar nicht* — nächste Platine ist schnell & günstig - Die nächste Platine ist schnell & günstig
- Flexibilität kostet: Platz · Zeit · Komplexität - Flexibilität kostet: Platz · Zeit · Nerven
- *Ausnahme: ab ~100+ Stück* → Varianten lohnen \ - *Ausnahme: ab ~100+ Stück* → Varianten lohnen
(Bestückvarianten · Strapping)
] ]
#slide(title: "Retter in der Not: 0 Ω & 1 R")[ #slide(title: "Retter in der Not: 0 Ω & 1 R")[
- *0 Ω in Serie* zu Versorgungs- & heiklen Signalleitungen - *0 Ω in Serie* zu Strom- & heiklen Signalleitungen \
- Notfall: austauschen · überbrücken · Yellow-Wire — im Notfall: austauschen · überbrücken
- Gehäuse: *0805 / 0603 — nicht kleiner* (handlötbar) - Gehäuse: *0805 / 0603 — nicht kleiner* (handlötbar)
- *1 R in 0805 als Sicherung*: in Versorgungszweige — \ - *1 R in 0805 als Sicherung* — geht durch statt abzufackeln
geht durch statt abzufackeln
] ]
// =================================================================== // ===================================================================
@ -446,10 +428,10 @@
#slide(title: "Bestückung: klein nach groß")[ #slide(title: "Bestückung: klein nach groß")[
- *Klein nach groß* — sonst kommt der Lötkolben nicht mehr dran - *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 - *Erst SMD, dann THT* — Stecker blockieren sonst SMD-Plätze
- *Zoom nicht übertreiben*: Bildschirm ≠ Realität
- SMD in einem Rutsch: Lötpaste → setzen → Hotplate / Heißluft - SMD in einem Rutsch: Lötpaste → setzen → Hotplate / Heißluft
- Bestückungsdruck? *Nein* — erst ab ~10 000 Stück + AOI - Bestückungsdruck? *Nein* — erst ab ~10 000 Stück
] ]
#slide(title: "Equipment — was lohnt sich?")[ #slide(title: "Equipment — was lohnt sich?")[
@ -473,12 +455,11 @@
] ]
#slide(title: "Factory-Bestückung (PCBA)")[ #slide(title: "Factory-Bestückung (PCBA)")[
- *Lohnt sich? — ja, öfter als man denkt* \ - *Lohnt sich — öfter als gedacht* (JLCPCB · AISLER)
(z. B. JLCPCB · AISLER)
- V. a. bei *feinen Gehäusen*: 0402 · QFN · BGA - V. a. bei *feinen Gehäusen*: 0402 · QFN · BGA
- Aus KiCad: *BOM* + *Pick-and-Place* \ - Aus KiCad: *BOM* + *Pick-and-Place* \
(`Datei → Fertigungsoutputs`) (`Datei → Fertigungsoutputs`)
- Split: *SMD ab Werk · THT & Mechanik selbst* - Split: *SMD ab Werk · THT & Stecker selbst*
] ]
// =================================================================== // ===================================================================
@ -486,17 +467,16 @@
// =================================================================== // ===================================================================
#slide(title: "Endkontrolle")[ #slide(title: "Endkontrolle")[
- *Innenlagen sichtbar machen*: GND wirklich geschlossen? \ - *Innenlagen sichtbar machen*: GND wirklich geschlossen?
Versorgungszonen komplett? - *DRC* mit den Regeln des Herstellers (Clearance · Annular Ring · Bohrung)
- *DRC* mit Herstellerrules: Clearance · Annular Ring · Bohrabstand
- *3D-Check* + STEP-Export (`Datei → Exportieren → STEP`) - *3D-Check* + STEP-Export (`Datei → Exportieren → STEP`)
- Faustregel: erst Zonen auffüllen (`B`) · dann DRC - Faustregel: erst Zonen auffüllen (`B`) · dann DRC
] ]
#slide(title: "Gerber & Bohrdaten")[ #slide(title: "Gerber & Bohrdaten")[
- `Fertigungsoutputs → Plotten…`: *Gerber X2* - `Fertigungsoutputs → Plotten…`: *Gerber X2*
- Kupfer-Lagen · Lötstopp · Bestückungsdruck · Edge.Cuts - Kupfer · Lötstopp · Bestückungsdruck · Umriss
- Bohrdaten separat (Excellon) → beides ins ZIP - Bohrdaten (Excellon) separat → beides ins ZIP
- Kontrolle in *GerbView*: jede Lage durchschauen - Kontrolle in *GerbView*: jede Lage durchschauen
#v(0.5em) #v(0.5em)
#grid( #grid(
@ -520,7 +500,7 @@
) )
#v(0.4em) #v(0.4em)
- *Kleinmengen = Fixkosten*: Setup · Panel · Versand - *Kleinmengen = Fixkosten*: Setup · Panel · Versand
- Preis-Treiber: *Fläche · Lagenzahl · Mindestabstände* (HDI = teuer) · Menge - Preis-Treiber: *Fläche · Lagenzahl · Mindestabstände* · Menge
#v(0.3em) #v(0.3em)
#src[Richtwerte — aktuell immer im Preisrechner prüfen (jlcpcb.com, aisler.net)] #src[Richtwerte — aktuell immer im Preisrechner prüfen (jlcpcb.com, aisler.net)]
] ]
@ -531,7 +511,7 @@
gutter: 1.2em, gutter: 1.2em,
panel(c: ember)[ panel(c: ember)[
*China — JLCPCB, PCBWay, SEEED* *China — JLCPCB, PCBWay, SEEED*
- sehr günstig · riesige Optionsvielfalt - sehr günstig · riesige Auswahl
- Versand 1–2 Wochen - Versand 1–2 Wochen
- lange Transportwege - lange Transportwege
], ],
@ -539,7 +519,7 @@
*EU — AISLER, Beta layout, Würth* *EU — AISLER, Beta layout, Würth*
- Faktor 2–5 teurer · schnell & unkompliziert - Faktor 2–5 teurer · schnell & unkompliziert
- deutschsprachiger Support · Gewährleistung - deutschsprachiger Support · Gewährleistung
- kurze Wege → *Umwelt & Local Buying* - kurze Wege → besser für Umwelt & Klima
], ],
) )
#v(0.5em) #v(0.5em)
@ -578,14 +558,13 @@
- `docs.kicad.org` — Handbuch & Getting Started (de/en) - `docs.kicad.org` — Handbuch & Getting Started (de/en)
- `kicad.org` — Downloads · Release Notes · Blog - `kicad.org` — Downloads · Release Notes · Blog
- `forum.kicad.info` — Community-Forum - `forum.kicad.info` — Community-Forum
- `gerber-format.com` — Gerber-Spezifikation (Ucamco)
- Design-Rules der Fertigung (JLCPCB · PCBWay · AISLER) \ - Design-Rules der Fertigung (JLCPCB · PCBWay · AISLER) \
— vor dem Layout ins Board-Setup — vor dem Layout ins Board-Setup
] ]
#slide(title: "Diskussion")[ #slide(title: "Diskussion")[
- Was zeigen wir *live*? (Layout-Demo ~15 min) - Was zeigen wir *live*? (Layout-Demo ~15 min)
- Besonderes Interesse? Kosten · PCBA · EMV · Impedanz · Gehäuse? - Wovon wollt ihr mehr? Kosten · PCBA · EMV · Impedanz
#v(1em) #v(1em)
#align(center, text(size: 1.3em, weight: "bold")[Danke — Fragen?]) #align(center, text(size: 1.3em, weight: "bold")[Danke — Fragen?])
] ]

Loading…
Cancel
Save