Fertigung
Fertigungsdaten, Stückliste und Preis
Gerbers, Bohrungen, BOM und Platzierung für JLCPCB oder jeden Fertiger schreiben, die BOM bei Mouser und Farnell preisen und ein STEP für das Gehäuse exportieren.
Sobald die Prüfung keine Fehler mehr hat, wird ein Layout zu einem Paket, das ein Fertiger und ein Montagebetrieb so akzeptieren. Diese Anleitung behandelt das Schreiben, das Preisfinden der Bauteile und das Erhalten eines 3D-Modells für das Gehäuse.
Das Paket schreiben
agentee fab pcb:NAME -o fab/fab lehnt ab, solange das Layout Fehler hat. Ohne Fehler schreibt es:
| Datei | was |
|---|---|
F_Cu.gbr ... B_Cu.gbr | Kupfer pro Lage, RS-274X mit X2-Dateiattributen, Kupferflächen als Regionen |
F_Mask.gbr, B_Mask.gbr | Maskenöffnungen an den Pad-Umrissen, Vias abgedeckt |
F_Paste.gbr, B_Paste.gbr | Lötpaste auf SMD-Pads |
F_SilkS.gbr, B_SilkS.gbr | Bestückungsdruck in der Hershey-Strichschrift, mit Versions-Wasserzeichen |
Edge_Cuts.gbr | der Umriss und jeder Plinenausschnitt |
drill-PTH.drl, drill-NPTH.drl | Excellon-Bohrungen, Schlitzungen als G85; eine weitere Datei pro blindem, vergrabenen oder Mikrovias-Spann auf HDI-Platinen |
bom.csv, bom-jlcpcb.csv | die BOM, gruppiert nach Wert, Footprint, mpn und lcsc |
cpl.csv | Bestückung, in den Spalten von JLCPCB's |
fab-notes.txt | Version, Lagenaufbau, Oberfläche, Impedanzklassen, Via-Typen und was zu füllen ist |
NAME.d356 | IPC-D-356A-Netzliste für den elektrischen Test der blanken Platine |
testpoints.csv | jedes Test-Pad, für den Prüfmittelbauer |
NAME-gerbers.zip | jede Gerber- und Bohrdatei, bereit zum Hochladen |
assembly-top.png, assembly-bottom.png | Fertigungs- und Bestückungsdruck-Lagen für die Linie |
Koordinaten sind Millimeter mit Y nach oben, dasselbe in den Gerbern und der Bestückungsdatei. Bauteile mit dnp, Bauteile mit assembly = "no" in ihren Feldern sowie Montagebohrungen und Fiducials bleiben aus der BOM und der Bestückung heraus.
Bestellung bei JLCPCB
- Lade
NAME-gerbers.ziphoch. - Wähle denselben Lagenaufbau, den die Platinenspezifikation nennt. Für Platinen mit Impedanzkontrolle wähle den Aufbau nach seinem Code (
JLC04161H-7628usw.); jede gelöste Breitenprüfung setzt ihn voraus. - Passe Oberfläche, Maskenfarbe und Kupferstärke an
fab-notes.txtan. - Für die Montage lade
bom-jlcpcb.csvundcpl.csvhoch. Fülle die SpalteLCSC Part #, indem du jedem Bauteil einlcsc-Feld im Schaltplan gibst:
agentee edit sch NAME set C1 --field lcsc=C14663fab-notes.txt listet alles auf, was der Fertiger über die Standardwerte hinaus tun muss: Vias in Pads, die gefüllt und abgedeckt werden sollen, Randpads, die zu erhalten sind, Impedanzklassen mit ihrem Ziel, ihrer Lage und Breite. Füge die relevanten Zeilen in die Bestellnotizen ein.
Das Wasserzeichen
Jedes Paket trägt agentee vX.Y.Z-HASH in seinem Bestückungsdruck: die Version, die es gebaut hat, und den Git-Commit seiner Quelle, mit -dirty, wenn der Baum uncommittete Änderungen hatte. Es sitzt standardmäßig auf dem unteren Bestückungsdruck, an der freien Stelle am nächsten zur unteren linken Ecke, und fab-notes.txt sagt wo. Es kann nicht ausgeschaltet werden, und das Paket wird abgelehnt, wenn kein Platz dafür ist. Setze [watermark] at im Layout, um die Stelle selbst zu wählen.
Die BOM preisen
agentee parts NAME --boards 5
agentee parts NAME --refs C11,R8 --json
agentee parts NAME --distributor farnell --farnell-store ie.farnell.comparts sucht jede BOM-Zeile bei Mouser und Farnell nach ihrem mpn-Feld, also gib zuerst jedem Bauteil mfr und mpn; Zeilen ohne eines werden übersprungen. Die Schlüssel liegen außerhalb jedes Projekts, in ~/.config/agentee/distributors.toml:
[mouser]
api_key = "..."
[farnell]
api_key = "..."
store = "uk.farnell.com"Für jede Zeile wählt es das günstigste Angebot, das für die Menge auf Lager ist und nicht veraltet ist, unter Beachtung von Mindestbestellmengen und Vielfachen und kauft bis zu einem Preisabschlag, wenn das insgesamt günstiger ist. Dann sucht es nach günstigeren Bauteilen, die eins zu eins passen:
- Widerstände mit demselben Wert, gleicher oder besserer Toleranz und derselben Bauform;
- Keramikkondensatoren mit demselben Wert, einer nicht niedrigeren Spannung, einem nicht schlechteren Dielektrikum (C0G bleibt C0G, X5R darf zu X7R werden) und derselben Bauform;
- generische diskrete Bauteile wie 2N7002, BAT54 oder SMAJ mit demselben Namen und derselben Bauform;
- Anzeigediode desselben Farbtons und derselben Bauform.
ICs und Steckverbinder erhalten nur dasselbe Bauteil beim anderen Distributor oder den vom Distributor vorgeschlagenen Ersatz. Schreibe einen Tausch in das mpn des Bauteils, nicht in die BOM, damit der nächste Lauf und das nächste Paket übereinstimmen.
Export für das Gehäuse
agentee models
agentee export pcb:NAME -o NAME.stepexport schreibt eine STEP-Versammlung: die Platine als Festkörper der Lagenaufbau-Dicke mit ihren Löchern, Schlitzern und Ausschnitten, und jedes Bauteil als Instanz, benannt nach ihrer Referenz. Lieferanten-STEP-Modelle gehen so ein, wie der Lieferant sie geschrieben hat, einmal geschrieben, egal wie viele Bauteile sie nutzen; VRML-Modelle und generierte Körper gehen als facettierte Flächen ein, und ein Bauteil ohne Modell als Kasten über seiner Fertigungsumrisslinie. Die Unterseite der Platine liegt bei z = 0, Y nach oben.
agentee models holt die KiCad-Bibliotheksmodelle, die die Footprints nennen, zuerst in einen Cache, und meldet alle, die es nicht finden kann. Ein Footprint kann auch eine https://-URL zu einer Vendor-STEP-Datei nennen, fest auf einen Commit gepinnt, damit sie sich nicht unter dir ändert.
Bevor du bestellst
agentee checkist sauber, und auchagentee drc NAMEmit den Hinweisen, die du zu ignorieren wählst, die inDESIGN.mdaufgeschrieben sind.- Jede Simulation ist aktuell: die Prüfung warnt vor veralteten Ergebnissen.
- Die Renders sehen richtig aus:
agentee render pcb:NAME, und die Montagezeichnungen im Paket. agentee view --3dzeigt die Bauteile dort, wo du sie erwartest.- Die Test-Pads, die du brauchst, sind da:
agentee testpoints NAME --dry-runlistet auf, was es hinzufügen würde.