Fabrico
Pacote de fabrico, BOM e preços
Escrever Gerbers, furos, BOM e posicionamento para a JLCPCB ou qualquer fabricante, precificar a BOM na Mouser e Farnell, e exportar um STEP para a carcaça.
Quando a verificação não tem erros, um layout torna-se num pacote que um fabricante e uma casa de montagem aceitam tal como está. Este guia cobre a sua escrita, a cotação das peças e a obtenção de um modelo 3D para a carcaça.
Escrever o pacote
agentee fab pcb:NAME -o fab/fab recusa enquanto o layout tiver erros. Sem erros, escreve:
| ficheiro | o quê |
|---|---|
F_Cu.gbr ... B_Cu.gbr | cobre por camada, RS-274X com atributos de ficheiro X2, recheios de zona como regiões |
F_Mask.gbr, B_Mask.gbr | aberturas da máscara nos contornos dos pads, vias com tenda |
F_Paste.gbr, B_Paste.gbr | pasta nos pads SMD |
F_SilkS.gbr, B_SilkS.gbr | serigrafia na fonte Hershey stroke, com a marca de água da versão |
Edge_Cuts.gbr | o contorno e cada recorte da placa |
drill-PTH.drl, drill-NPTH.drl | furos Excellon, fendas como G85; mais um ficheiro por cada voo cego, enterrado ou microvia em placas HDI |
bom.csv, bom-jlcpcb.csv | a BOM, agrupada por valor, footprint, mpn e lcsc |
cpl.csv | posicionamento, nas colunas da JLCPCB's |
fab-notes.txt | versão, stackup, acabamento, classes de impedância, tipos de via e o que preencher |
NAME.d356 | lista de redes IPC-D-356A para o teste elétrico da placa nua |
testpoints.csv | todos os pads de teste, para o construtor do dispositivo |
NAME-gerbers.zip | todos os ficheiros Gerber e de furação, prontos para carregar |
assembly-top.png, assembly-bottom.png | camadas de fabricante e serigrafia para a linha |
As coordenadas são em milímetros com Y para cima, as mesmas nos Gerbers e no ficheiro de posicionamento. Peças marcadas dnp, peças com assembly = "no" nos seus campos, furos de montagem e fiduciais ficam fora da BOM e do posicionamento.
Encomendar na JLCPCB
- Carregar
NAME-gerbers.zip. - Escolher o mesmo stackup que a especificação da placa nomeia. Para placas com controlo de impedância, escolher a construção pelo seu código (
JLC04161H-7628e assim por diante); todas as verificações de largura resolvidas assumem-no. - Corresponder o acabamento, a cor da máscara e o peso do cobre ao
fab-notes.txt. - Para montagem, carregar
bom-jlcpcb.csvecpl.csv. Preencher a colunaLCSC Part #dando a cada peça um campolcscno esquema:
agentee edit sch NAME set C1 --field lcsc=C14663fab-notes.txt lista tudo o que o fabricante tem de fazer além dos padrões: vias em pads a preencher e tapar, pads de borda a manter, classes de impedância com o seu alvo, camada e largura. Colar as linhas relevantes nas notas da encomenda.
A marca de água
Cada pacote traz agentee vX.Y.Z-HASH na sua serigrafia: a versão que o construiu e o commit git da sua origem, com -dirty quando a árvore tinha alterações não commitadas. Fica na serigrafia inferior por omissão, no ponto claro mais próximo do canto inferior esquerdo, e o fab-notes.txt diz onde. Não pode ser desligado, e o pacote é recusado quando não há espaço para ele. Definir [watermark] at no layout para escolher o ponto por si.
Cotar a BOM
agentee parts NAME --boards 5
agentee parts NAME --refs C11,R8 --json
agentee parts NAME --distributor farnell --farnell-store ie.farnell.comparts procura cada linha da BOM na Mouser e Farnell pelo seu campo mpn, por isso dar a cada peça mfr e mpn primeiro; linhas sem um são ignoradas. As chaves ficam fora de todos os projetos, em ~/.config/agentee/distributors.toml:
[mouser]
api_key = "..."
[farnell]
api_key = "..."
store = "uk.farnell.com"Para cada linha, escolhe a listagem mais barata que está em stock para a quantidade e não é obsoleta, respeitando mínimos e múltiplos e comprando até a uma quebra de preço quando isso custa menos no total. Depois procura peças mais baratas que encaixam:
- resistores com o mesmo valor, tolerância igual ou melhor, e o mesmo invólucro;
- condensadores cerâmicos com o mesmo valor, uma tensão não inferior, um dielétrico não pior (C0G mantém-se C0G, X5R pode tornar-se X7R) e o mesmo invólucro;
- discretos genéricos como 2N7002, BAT54 ou SMAJ com o mesmo nome e embalagem;
- LEDs indicadores da mesma cor e invólucro.
CIs e conectores só recebem a mesma peça no outro distribuidor, ou a substituição sugerida pelo distribuidor. Escrever uma troca no mpn da peça, não na BOM, para que a próxima execução e o próximo pacote concordem.
Exportar para a carcaça
agentee models
agentee export pcb:NAME -o NAME.stepexport escreve uma montagem STEP: a placa como um sólido da espessura do stackup com os seus furos, fendas e recortes, e cada peça como uma instância nomeada pela sua referência. Modelos STEP do fornecedor entram como o fornecedor os escreveu, escritos uma vez quantas peças os usam; modelos VRML e corpos gerados entram como superfícies facetadas, e uma peça sem modelo entra como uma caixa sobre o seu contorno de fabricante. A face inferior da placa está em z = 0, Y para cima.
agentee models obtém os modelos da biblioteca KiCad que os footprints nomeiam para uma cache primeiro, e relata qualquer que não consiga encontrar. Um footprint também pode nomear um URL https:// para um ficheiro STEP do fornecedor, fixado a um commit para que não mude sob si.
Antes de premir encomendar
agentee checkestá limpo, e assim estáagentee drc NAMEcom os avisos que escolheu ignorar escritos emDESIGN.md.- Todas as simulações estão atuais: a verificação avisa sobre resultados desatualizados.
- As renderizações parecem corretas:
agentee render pcb:NAME, e os desenhos de montagem no pacote. agentee view --3dmostra as peças onde as espera.- Os pads de teste de que precisa estão lá:
agentee testpoints NAME --dry-runlista o que adicionaria.