screenshots + text

main
dev 3 weeks ago
parent 526d516ff1
commit 50c9f42d51
  1. BIN
      assets/04_properties.png
  2. BIN
      assets/05_footprint_assign.png
  3. BIN
      assets/06_update_pcb.png
  4. BIN
      assets/07_routing.png
  5. BIN
      assets/10_drc.png
  6. BIN
      assets/12_stackup.png
  7. BIN
      assets/13_2layer_jlc.png
  8. BIN
      assets/13_4layer_jlc.png
  9. 234
      presentation.typ

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

@ -1,5 +1,5 @@
// ============================================================================ // ============================================================================
// presentation.typ — KiCad: vom Schaltplan zum Gerber (4 Layer als Standard) // presentation.typ - KiCad: vom Schaltplan zum Gerber (4 Layer als Standard)
// //
// Bauen: make presentation.pdf bzw. typst compile presentation.typ // Bauen: make presentation.pdf bzw. typst compile presentation.typ
// //
@ -11,14 +11,14 @@
// (Name steht im Platzhalter, z. B. assets/07-routing.png) // (Name steht im Platzhalter, z. B. assets/07-routing.png)
// 3. Die `shot(...)`-Zeile durch ein Bild ersetzen, z. B. // 3. Die `shot(...)`-Zeile durch ein Bild ersetzen, z. B.
// #img("assets/07-routing.png", width: 76%, caption: [Routing in Pcbnew]) // #img("assets/07-routing.png", width: 76%, caption: [Routing in Pcbnew])
// Die Folie „Screenshot-Checkliste“ am Ende listet die fehlenden Aufnahmen. // Die Folie "Screenshot-Checkliste" am Ende listet die fehlenden Aufnahmen.
// ============================================================================ // ============================================================================
#import "template.typ": * #import "template.typ": *
// ---- Palette-Erweiterung (nur für die Querschnitts-Diagramme) -------------- // ---- Palette-Erweiterung (nur für die Querschnitts-Diagramme) --------------
#let cu = ember // Kupfer -> Terrakotta aus der Deck-Palette #let cu = ember // Kupfer -> Terrakotta aus der Deck-Palette
#let mask = accent // Lötstopp -> Petrol („blaue Platine“) #let mask = accent // Lötstopp -> Petrol ("blaue Platine")
#let fr4 = luma(226) // FR4-Kern #let fr4 = luma(226) // FR4-Kern
#let prepreg = luma(238) // Prepreg #let prepreg = luma(238) // Prepreg
@ -58,6 +58,15 @@
}, },
) )
// Ganze Folie für einen Screenshot: großes Bild + kleine Bildunterschrift.
#let shot-slide(title, path, height: 250pt, caption: none) = slide(title: title)[
#align(center, image(path, height: height))
#if caption != none [
#v(0.2em)
#align(center, text(size: 0.75em, fill: luma(110))[#caption])
]
]
// Schichtband: lückenlos gestapelt (Grid mit row-gutter 0 = kein Par-Abstand). // Schichtband: lückenlos gestapelt (Grid mit row-gutter 0 = kein Par-Abstand).
#let _layer(fill, h, round: none) = rect( #let _layer(fill, h, round: none) = rect(
width: 100%, width: 100%,
@ -95,11 +104,11 @@
grid( grid(
row-gutter: 3pt, row-gutter: 3pt,
_sw(mask.lighten(40%), [Lötstopp]), _sw(mask.lighten(40%), [Lötstopp]),
_sw(cu, [Kupfer 35 µm — Signale]), _sw(cu, [Kupfer 35 µm - Signale]),
_sw(prepreg, [Prepreg ≈ 0,2 mm]), _sw(prepreg, [Prepreg ≈ 0,2 mm]),
_sw(accent, [In1.GND — Masse]), _sw(accent, [In1.GND - Masse]),
_sw(fr4, [FR4-Kern ≈ 1,0 mm]), _sw(fr4, [FR4-Kern ≈ 1,0 mm]),
_sw(accent-soft, [In2.PWR — Versorgung]), _sw(accent-soft, [In2.PWR - Versorgung]),
), ),
) )
@ -153,14 +162,14 @@
#show: presentation.with( #show: presentation.with(
title: "KiCad", title: "KiCad",
subtitle: "Vom Schaltplan zur fertigen Platine — 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")[
- *Was ist KiCad?* · Projekt & Schaltplan - *Was ist KiCad?* · Projekt & Schaltplan
- *Layout*: Platzieren · Routen · Zonen · Prüfen - *Layout*: Platzieren · Routen · Zonen · Prüfen
- *4 Layer* statt 2 — warum - *4 Layer* statt 2 - warum
- *Praxis*: USB-C & 5 V · 0-Ω-Retter · Löten - *Praxis*: USB-C & 5 V · 0-Ω-Retter · Löten
- *Fertigung*: Gerber · Kosten · China vs. EU - *Fertigung*: Gerber · Kosten · China vs. EU
#v(0.6em) #v(0.6em)
@ -191,7 +200,7 @@
_kbox("7 · Test", "läuft alles?"), _kbox("7 · Test", "läuft alles?"),
) )
#v(0.8em) #v(0.8em)
Heute: Schritte 1–3 in KiCad — ab 4 übernimmt die Fertigung. Heute: Schritte 1-3 in KiCad - ab 4 übernimmt die Fertigung.
] ]
// =================================================================== // ===================================================================
@ -205,7 +214,7 @@
[ [
- Leiterplattendesignsoftware - Leiterplattendesignsoftware
- Schaltplan und Layout - Schaltplan und Layout
- git support — Projektdateien sind Text - git support - Projektdateien sind Text
- Windows / Linux / Mac - Windows / Linux / Mac
- vom CERN, open source - vom CERN, open source
], ],
@ -221,18 +230,18 @@
] ]
#slide(title: "Projekt & Schaltplan")[ #slide(title: "Projekt & Schaltplan")[
- An Beispielschaltungen aus dem Datenblatt orientieren — platzieren, verdrahten - An Beispielschaltungen aus dem Datenblatt orientieren - platzieren, verdrahten
- Sorgfalt und Zeit investieren — sauber gruppieren, nach Funktion: - Sorgfalt und Zeit investieren - sauber gruppieren, nach Funktion:
- Stecker & Montage - Stecker & Montage
- Stromversorgung — geht an alle anderen Gruppen - Stromversorgung - geht an alle anderen Gruppen
- Zentraler Prozessor + Debug - Zentraler Prozessor + Debug
- Funktionale Gruppen — z. B. Schaltergruppe 1: Schalter + Sensor + LED + … - Funktionale Gruppen - z. B. Schaltergruppe 1: Schalter + Sensor + LED + ...
] ]
#slide(title: "Beispiel: gruppierte Schaltung")[ #slide(title: "Beispiel: gruppierte Schaltung")[
#align(center, image("assets/02_schaltplan.png", height: 278pt)) #align(center, image("assets/02_schaltplan.png", height: 278pt))
#v(0.2em) #v(0.2em)
#align(center, text(size: 0.75em, fill: luma(110))[Jede Funktionsgruppe bekommt ihren eigenen Kasten — so bleibt der Plan lesbar.]) #align(center, text(size: 0.75em, fill: luma(110))[Jede Funktionsgruppe bekommt ihren eigenen Kasten - so bleibt der Plan lesbar.])
] ]
#slide(title: "Bauteile & Lieferbarkeit")[ #slide(title: "Bauteile & Lieferbarkeit")[
@ -240,9 +249,9 @@
columns: (1.15fr, 1fr), columns: (1.15fr, 1fr),
gutter: 1.2em, gutter: 1.2em,
[ [
- Direkt beim Zeichnen konkret aussuchen — was es gibt und was lieferbar ist - Direkt beim Zeichnen konkret aussuchen - was es gibt und was lieferbar ist
- „irgendein 100 nF" ist okay — „der Schaltregler, aber in der 5-V-Variante" nicht - "irgendein 100 nF" ist okay - "der Schaltregler, aber in der 5-V-Variante" nicht
- Check: LCSC · Mouser · DigiKey — Lagerstand, Preis bei 1 / 10 / 100 Stück - Check: LCSC · Mouser · DigiKey - Lagerstand, Preis bei 1 / 10 / 100 Stück
- LCSC-Nummer als Feld ins Symbol → fertige Stückliste - LCSC-Nummer als Feld ins Symbol → fertige Stückliste
- Schönster Schaltplan nützt nichts *ohne Bauteile* - Schönster Schaltplan nützt nichts *ohne Bauteile*
], ],
@ -250,42 +259,48 @@
) )
] ]
#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 · vergessene 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 → weiter zum Layout - ERC grün → weiter zum Layout
#v(0.4em) #v(0.4em)
#img("assets/03_erc.png", width: 62%, caption: [ERC-Dialog: 10 Fehler — genau die müssen weg]) #img("assets/03_erc.png", width: 62%, caption: [ERC-Dialog: 10 Fehler - genau die müssen weg])
] ]
// =================================================================== // ===================================================================
#section("Layout-Workflow", note: "Der Standard-Workflow") #section("Layout-Workflow", note: "Der Standard-Workflow")
// =================================================================== // ===================================================================
#slide(title: "Footprints zuweisen & importieren")[ #slide(title: "Footprints zuweisen")[
- `Werkzeuge → Footprints zuweisen`: Symbol → Gehäuse - `Werkzeuge → Footprints zuweisen`: Symbol → Gehäuse
- Mechanische Maße vorher im Datenblatt prüfen - Mechanische Maße vorher im Datenblatt prüfen
- Pcbnew: `PCB aus Schaltplan aktualisieren` — Bauteile landen auf der Platine
#v(0.5em)
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
shot("05_footprint_zuweisung", [Dialog „Footprints zuweisen“: Symbol / Footprint / Vorschau]),
shot("06_update_pcb", [Dialog „PCB aus Schaltplan aktualisieren“ mit Änderungsliste]),
)
] ]
#shot-slide(
"Footprint Chooser",
"assets/05_footprint_assign.png",
height: 255pt,
caption: [Filter + Vorschau: passt das Gehäuse zum Symbol?],
)
#shot-slide(
"PCB aus Schaltplan aktualisieren",
"assets/06_update_pcb.png",
height: 255pt,
caption: [`Tools → Update PCB from Schematic` (F8) - Bauteile landen auf der Platine],
)
#slide(title: "Setup, Umriss & Platzieren")[ #slide(title: "Setup, Umriss & Platzieren")[
#grid( #grid(
columns: (1.5fr, 1fr), columns: (1.5fr, 1fr),
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 Via 0,6/0,3 mm
- Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm) - Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm)
- Platzieren nach *Signalfluss*: - Platzieren nach *Signalfluss*:
- Stecker & Befestigung zuerst — festpinnen - Stecker & Befestigung zuerst - festpinnen
- ICs hin → Entkopplungs-Cs direkt an die Versorgungspins - ICs hin → Entkopplungs-Cs direkt an die Versorgungspins
], ],
shot("07_floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]), shot("07_floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]),
@ -293,25 +308,21 @@
] ]
#slide(title: "Routen")[ #slide(title: "Routen")[
#grid( - `X` - *kritische Signale zuerst*: Takt · PWM · Analog
columns: (1.3fr, 1fr),
gutter: 1.4em,
[
- `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)
],
shot(
"08_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")[ #shot-slide(
"Routen in Pcbnew",
"assets/07_routing.png",
height: 250pt,
caption: [F.Cu - die dünnen Linien (Ratsnest) zeigen, welche Verbindungen noch fehlen],
)
#slide(title: "Zonen - GND-Fläche")[
- Werkzeug *Kupferfläche*: Netz *GND* · Lage wählen \ - Werkzeug *Kupferfläche*: Netz *GND* · Lage wählen \
(4 Layer: In1.GND · 2 Layer: B.Cu) (4 Layer: In1.GND · 2 Layer: B.Cu)
- Thermische Reliefs für Pads - Thermische Reliefs für Pads
@ -322,23 +333,25 @@
#shot( #shot(
"09_zone", "09_zone",
[Zonen-Eigenschaften: Netz GND, Lage B.Cu, Füllparameter], [Zonen-Eigenschaften: Netz GND, Lage B.Cu, Füllparameter],
tip: [Rechtsklick auf die Fläche → „Flächen…“], tip: [Rechtsklick auf die Fläche → "Flächen..."],
) )
] ]
#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*
- *3D-Viewer*: kollidieren Gehäuse & Stecker? - *3D-Viewer*: kollidieren Gehäuse & Stecker?
- Export: Gerber X2 + Bohrdaten → ZIP → Fertigung - Export: Gerber X2 + Bohrdaten → ZIP → Fertigung
#v(0.5em) #v(0.5em)
#grid( #shot("11_3d_viewer", [3D-Betrachter: fertige Platine mit Bauteilen])
columns: (1fr, 1fr),
gutter: 1.2em,
shot("10_drc", [DRC-Dialog, Ergebnisliste „0 Verstöße“]),
shot("11_3d_viewer", [3D-Betrachter: fertige Platine mit Bauteilen]),
)
] ]
#shot-slide(
"DRC",
"assets/10_drc.png",
height: 195pt,
caption: [16 Warnungen - jede anschauen und verstehen, nicht wegklicken],
)
// =================================================================== // ===================================================================
#section("4-Layer", note: "Stackup, Masse & Versorgung") #section("4-Layer", note: "Stackup, Masse & Versorgung")
// =================================================================== // ===================================================================
@ -348,7 +361,7 @@
columns: (1.6fr, 1fr), columns: (1.6fr, 1fr),
gutter: 1.4em, gutter: 1.4em,
[ [
- *4 Lagen als Standard* — Aufpreis klein, Nutzen groß - *4 Lagen als Standard* - Aufpreis klein, Nutzen groß
- Massefläche unter jedem Signal → weniger Abstrahlung - Massefläche unter jedem Signal → weniger Abstrahlung
- Impedanzkontrolle (USB · Ethernet · Funk) - Impedanzkontrolle (USB · Ethernet · Funk)
- Versorgung als eigene Lage - Versorgung als eigene Lage
@ -359,17 +372,26 @@
) )
] ]
#shot-slide(
"Preis: 2 Lagen",
"assets/13_2layer_jlc.png",
height: 165pt,
caption: [JLCPCB, 50 × 50 mm, 5 Stück: 20,56 \$ - davon 16,56 \$ für "Via Covering", eine Option, die man selten braucht],
)
#shot-slide(
"Preis: 4 Lagen",
"assets/13_4layer_jlc.png",
height: 165pt,
caption: [Gleiche Größe: 8,00 \$ (Aktion) - vier Lagen sind hier billiger als zwei],
)
#slide(title: "Advanced: Stackup in KiCad einrichten")[ #slide(title: "Advanced: Stackup in KiCad einrichten")[
- Board-Setup → *Stapelaufbau*: Innenlagen anlegen, benennen, Dicken eintragen - Board-Setup → *Stapelaufbau*: Innenlagen anlegen, benennen, Dicken eintragen
- *Impedanz* im selben Dialog: Ziel 50 Ω → empfohlene Bahnbreite - *Impedanz* im selben Dialog: Ziel 50 Ω → empfohlene Bahnbreite
- Netzklassen & Abstände wie gehabt - Netzklassen & Abstände wie gehabt
#v(0.4em) #v(0.4em)
#grid( #img("assets/12_stackup.png", width: 92%, caption: [Physical Stackup: hier über "Copper layers" auf 4 Kupferlagen erhöhen])
columns: (1fr, 1fr),
gutter: 1.2em,
shot("12_stackup", [Board-Setup → Stapelaufbau: 4 Kupferlagen, Dicken, Dielektrika]),
shot("13_stackup_shop", [4-Layer Setup from JLCPCB]),
)
] ]
#slide(title: "Layout-Aufgaben bei 4 Layern")[ #slide(title: "Layout-Aufgaben bei 4 Layern")[
@ -377,7 +399,7 @@
columns: (1.1fr, 1fr), columns: (1.1fr, 1fr),
gutter: 1.4em, gutter: 1.4em,
[ [
- *GND-Ebene durchgehend halten* — Schlitze = Rückstromfallen - *GND-Ebene durchgehend halten* - Schlitze = Rückstromfallen
- *GND-Via direkt neben* dem Signal-Via - *GND-Via direkt neben* dem Signal-Via
- *Stitching-Vias* regelmäßig verteilen - *Stitching-Vias* regelmäßig verteilen
- Entkopplung: Pad → Via → Plane, so kurz wie möglich - Entkopplung: Pad → Via → Plane, so kurz wie möglich
@ -395,20 +417,22 @@
#section("Praxis-Fragen", note: "Erfahrungswerte fürs erste Board") #section("Praxis-Fragen", note: "Erfahrungswerte fürs erste Board")
// =================================================================== // ===================================================================
#slide(title: "Wie fange ich an?")[ #slide(title: "Wie starte ich?")[
- *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
- Revision 1 = Lernprojekt: *2–3 Anläufe* sind normal - Revision 1 = Lernprojekt: *2-3 Anläufe* sind normal
- Beispiel Busanzeiger: Versorgung · Mikrocontroller · Display-Anbindung
] ]
#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* \ - *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* - VBUS: *nicht zurückeinspeisen*
- Schützen mit Verpoldiode + ESD-Netzwerk
#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]
] ]
@ -418,7 +442,7 @@
- Grundset bringt schon den Großteil: - Grundset bringt schon den Großteil:
- durchgehende *GND-Fläche* (deshalb 4 Layer) - durchgehende *GND-Fläche* (deshalb 4 Layer)
- *Entkopplungs-Cs* 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?")[
@ -430,9 +454,9 @@
#slide(title: "Retter in der Not: 0 Ω & 1 R")[ #slide(title: "Retter in der Not: 0 Ω & 1 R")[
- *0 Ω in Serie* zu Strom- & heiklen Signalleitungen \ - *0 Ω in Serie* zu Strom- & heiklen Signalleitungen \
— im Notfall: austauschen · überbrücken - 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* — geht durch statt abzufackeln - *1 R in 0805 als Sicherung* - geht durch statt abzufackeln
] ]
// =================================================================== // ===================================================================
@ -440,35 +464,35 @@
// =================================================================== // ===================================================================
#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
- *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 - *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 - Bestückungsdruck? *Nein* - erst ab ~1 000 Stück
] ]
#slide(title: "Equipment — was lohnt sich?")[ #slide(title: "Equipment - was lohnt sich?")[
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
gutter: 1.2em, gutter: 1.2em,
panel(c: accent)[ panel(c: accent)[
*Kaufen (ja)* *Kaufen (ja)*
- *Lötkolben* — temperaturgeregelt, feine Spitzen - *Lötkolben* - temperaturgeregelt, feine Spitzen
- *Hotplate* — SMD-Lötpaste im kleinen Reflow - *Hotplate* - SMD-Lötpaste im kleinen Reflow
- *Heißluftfön* — Rework · QFN/DFN - *Heißluftfön* - Rework · QFN/DFN
- *Lötpaste & Lötzinn* - *Lötpaste & Lötzinn*
], ],
panel(c: ember)[ panel(c: ember)[
*Eher nicht / später* *Eher nicht / später*
- Reflow-Ofen — Hotplate reicht - Reflow-Ofen - Hotplate reicht
- Automatischer Picker — Pinzette tut's - Automatischer Picker - Pinzette tut's
- Großes Mikroskop — USB-Mikroskop reicht - Großes Mikroskop - USB-Mikroskop reicht
], ],
) )
] ]
#slide(title: "Factory-Bestückung (PCBA)")[ #slide(title: "Factory-Bestückung (PCBA)")[
- *Lohnt sich — öfter als gedacht* (JLCPCB · AISLER) - *Lohnt sich - öfter als gedacht* (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`)
@ -487,7 +511,7 @@
] ]
#slide(title: "Gerber & Bohrdaten")[ #slide(title: "Gerber & Bohrdaten")[
- `Fertigungsoutputs → Plotten…`: *Gerber X2* - `Fertigungsoutputs → Plotten...`: *Gerber X2*
- Kupfer · Lötstopp · Bestückungsdruck · Umriss - Kupfer · Lötstopp · Bestückungsdruck · Umriss
- Bohrdaten (Excellon) separat → beides ins ZIP - Bohrdaten (Excellon) separat → beides ins ZIP
- Kontrolle in *GerbView*: jede Lage durchschauen - Kontrolle in *GerbView*: jede Lage durchschauen
@ -506,16 +530,16 @@
stroke: (bottom: 0.5pt + luma(210)), stroke: (bottom: 0.5pt + luma(210)),
inset: (x: 4pt, y: 2.5pt), inset: (x: 4pt, y: 2.5pt),
[*Stückzahl*], [*Richtwert (kleine 4-Layer-Platine, China)*], [*Stückzahl*], [*Richtwert (kleine 4-Layer-Platine, China)*],
[1–5], [ca. 10–25 € — fast nur Grundgebühr, Panel & Versand], [1-5], [ca. 10-25 € - fast nur Grundgebühr, Panel & Versand],
[10], [kaum teurer als 5 — Setup einmal bezahlt], [10], [kaum teurer als 5 - Setup einmal bezahlt],
[100], [ca. 1–2 € pro Stück], [100], [ca. 1-2 € pro Stück],
[1000], [ca. 0,3–0,8 € pro Stück], [1000], [ca. 0,3-0,8 € pro Stück],
) )
#v(0.4em) #v(0.4em)
- *Kleinmengen = Fixkosten*: Setup · Panel · Versand - *Kleinmengen = Fixkosten*: Setup · Panel · Versand
- Preis-Treiber: *Fläche · Lagenzahl · Mindestabstände* · 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)]
] ]
#slide(title: "China oder EU?")[ #slide(title: "China oder EU?")[
@ -523,14 +547,15 @@
columns: (1fr, 1fr), columns: (1fr, 1fr),
gutter: 1.2em, gutter: 1.2em,
panel(c: ember)[ panel(c: ember)[
*China — JLCPCB, PCBWay, SEEED* *China - JLCPCB, PCBWay, SEEED*
- sehr günstig · riesige Auswahl - sehr günstig · riesige Auswahl
- Versand 1–2 Wochen - Versand 1-2 Wochen
- lange Transportwege - lange Transportwege
], ],
panel(c: accent)[ panel(c: accent)[
*EU — AISLER, Beta layout, Würth* *EU - AISLER, Beta layout, Würth*
- Faktor 2–5 teurer · schnell & unkompliziert - Direkt sichtbar? Faktor 2-5 teurer · schnell & unkompliziert
- Eigentlich: Preisunterschied egal
- deutschsprachiger Support · Gewährleistung - deutschsprachiger Support · Gewährleistung
- kurze Wege → besser für Umwelt & Klima - kurze Wege → besser für Umwelt & Klima
], ],
@ -541,40 +566,33 @@
#slide(title: "Screenshot-Checkliste")[ #slide(title: "Screenshot-Checkliste")[
#set text(size: 11.5pt) #set text(size: 11.5pt)
Noch fehlende Aufnahmen — machen, als `assets/<name>.png` speichern, \ Noch fehlende Aufnahmen - machen, als `assets/<name>.png` speichern, \
`shot(...)` durch `img(...)` ersetzen (01–04 sind drin): `shot(...)` durch `img(...)` ersetzen:
#v(0.4em) #v(0.4em)
#table( #table(
columns: (auto, auto, 1fr), columns: (auto, auto, 1fr),
stroke: (bottom: 0.5pt + luma(210)), stroke: (bottom: 0.5pt + luma(210)),
inset: (x: 4pt, y: 2.5pt), inset: (x: 4pt, y: 2.5pt),
[*Nr*], [*Datei*], [*Motiv*], [*Nr*], [*Datei*], [*Motiv*],
[05], [footprint_zuweisung], [Dialog „Footprints zuweisen“],
[06], [update_pcb], [Dialog „PCB aus Schaltplan aktualisieren“],
[07], [floorplan], [Pcbnew: Umriss + platzierte Footprints + Ratsnest], [07], [floorplan], [Pcbnew: Umriss + platzierte Footprints + Ratsnest],
[08], [routing], [Routing aktiv, Lagen-Widget unten links],
[09], [zone], [Zonen-Eigenschaften (GND, B.Cu)], [09], [zone], [Zonen-Eigenschaften (GND, B.Cu)],
[10], [drc], [DRC-Dialog mit Ergebnis],
[11], [3d_viewer], [3D-Ansicht der fertigen Platine], [11], [3d_viewer], [3D-Ansicht der fertigen Platine],
[12], [stackup], [Board-Setup → Stapelaufbau mit 4 Kupferlagen],
[13], [impedanz], [Impedanzwerte im Stapelaufbau-Dialog],
[14], [4l_fertig], [4-Layer-Board, nur In1.GND sichtbar],
[15], [plot], [Plot-Dialog mit Gerber X2 und Layer-Liste], [15], [plot], [Plot-Dialog mit Gerber X2 und Layer-Liste],
[16], [gerbview], [GerbView mit geladenen Lagen], [16], [gerbview], [GerbView mit geladenen Lagen],
) )
] ]
#slide(title: "Quellen & Links")[ #slide(title: "Quellen & Links")[
- `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
- 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)
- Wovon wollt ihr mehr? Kosten · PCBA · EMV · Impedanz - 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