agentee

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:

Dateiwas
F_Cu.gbr ... B_Cu.gbrKupfer pro Lage, RS-274X mit X2-Dateiattributen, Kupferflächen als Regionen
F_Mask.gbr, B_Mask.gbrMaskenöffnungen an den Pad-Umrissen, Vias abgedeckt
F_Paste.gbr, B_Paste.gbrLötpaste auf SMD-Pads
F_SilkS.gbr, B_SilkS.gbrBestückungsdruck in der Hershey-Strichschrift, mit Versions-Wasserzeichen
Edge_Cuts.gbrder Umriss und jeder Plinenausschnitt
drill-PTH.drl, drill-NPTH.drlExcellon-Bohrungen, Schlitzungen als G85; eine weitere Datei pro blindem, vergrabenen oder Mikrovias-Spann auf HDI-Platinen
bom.csv, bom-jlcpcb.csvdie BOM, gruppiert nach Wert, Footprint, mpn und lcsc
cpl.csvBestückung, in den Spalten von JLCPCB's
fab-notes.txtVersion, Lagenaufbau, Oberfläche, Impedanzklassen, Via-Typen und was zu füllen ist
NAME.d356IPC-D-356A-Netzliste für den elektrischen Test der blanken Platine
testpoints.csvjedes Test-Pad, für den Prüfmittelbauer
NAME-gerbers.zipjede Gerber- und Bohrdatei, bereit zum Hochladen
assembly-top.png, assembly-bottom.pngFertigungs- 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

  1. Lade NAME-gerbers.zip hoch.
  2. Wähle denselben Lagenaufbau, den die Platinenspezifikation nennt. Für Platinen mit Impedanzkontrolle wähle den Aufbau nach seinem Code (JLC04161H-7628 usw.); jede gelöste Breitenprüfung setzt ihn voraus.
  3. Passe Oberfläche, Maskenfarbe und Kupferstärke an fab-notes.txt an.
  4. Für die Montage lade bom-jlcpcb.csv und cpl.csv hoch. Fülle die Spalte LCSC Part #, indem du jedem Bauteil ein lcsc-Feld im Schaltplan gibst:
agentee edit sch NAME set C1 --field lcsc=C14663

fab-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.com

parts 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.step

export 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 check ist sauber, und auch agentee drc NAME mit den Hinweisen, die du zu ignorieren wählst, die in DESIGN.md aufgeschrieben 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 --3d zeigt die Bauteile dort, wo du sie erwartest.
  • Die Test-Pads, die du brauchst, sind da: agentee testpoints NAME --dry-run listet auf, was es hinzufügen würde.

Diese Anleitung verbessern · Markdown für Agenten