Estou iniciando o projeto de PCB e geralmente tenho problemas para aprender a usar GUIs com menus e cliques no mouse. Alguns engenheiros usam algo mais parecido com código para gerar PCBs?
Estou iniciando o projeto de PCB e geralmente tenho problemas para aprender a usar GUIs com menus e cliques no mouse. Alguns engenheiros usam algo mais parecido com código para gerar PCBs?
Respostas:
O Altium possui uma linguagem de script, várias linguagens diferentes, de fato. Em alguns casos, pode fazer sentido usar algoritmos, por exemplo, para criar layouts repetitivos ou peças colocadas precisamente em determinadas posições.
Por exemplo, eu vi que ele costumava colocar peças (LEDs) em um padrão circular, embora com a introdução de grades de pressão de coordenadas polares seja muito menos provável que valha a pena os aborrecimentos.
Usamos algoritmos para criar formas (pense em antenas e esse tipo de coisa) diretamente no formato .dxf, que pode ser importado para uma camada de cobre.
Em geral, o código é pouco adequado para fins de layout de PCB, principalmente para a tarefa de roteamento.
No EAGLE CAD, tudo o que você pode fazer com um mouse pode ser feito na linha de comando. Ele também possui uma linguagem de usuário na qual você pode essencialmente programar.
Eu uso o código para gerar a netlist para meus PCBs. (É muito, muito mais rápido escrever um loop for para construir um multiplexador de N bits do que desenhar laboriosamente todo esse material em um esquema.) Felizmente, os arquivos de lista de rede do KiCAD são apenas texto, em um formato não documentado, mas razoavelmente fácil de reverter -engenheiro.
Eu escrevi uma pequena biblioteca C # que me permite digitar o que eu quero conectar ao que (em termos de blocos paramétricos reutilizáveis de circuitos), e ela cospe automaticamente uma netlist. Agora eu posso importar isso diretamente para o KiCAD e começar a construir o PCB, sem ter que perder uma hora ou mais desenhando um esquema inútil para ele. (A biblioteca ainda faz algumas verificações muito básicas para garantir que minhas instruções não sejam completamente falsas, embora eu suspeite que o próprio KiCAD faria esse trabalho melhor.)
Arquivos PCB KiCad, por outro lado, são também texto, mas parece ser muito complexo demais para gerar programaticamente. O que é uma pena, porque o KiCAD padroniza o despejo de todos os componentes diretamente em cima um do outro, exigindo que eu gaste mais de 20 minutos tediosamente os separando novamente para que eu possa ver o que diabos estou fazendo. (O KiCAD tem o hábito desagradável de tentar mover o texto em vez do componente ao qual está anexado , presumivelmente apenas para tornar os PCBs mais difíceis de projetar?)
Talvez um dia eu consiga automatizar também o layout inicial do componente; Suspeito, como outros já disseram, que o bit "PCB design" real sempre envolva a GUI.
Eu não recomendaria, mas se você realmente deseja, pode escrever a arte do PCB, sem nenhum programa de PCB. O código fica assim:
G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12Os números de linha na extrema direita não fazem parte do arquivo. Examinando esse arquivo sem nenhum conhecimento prévio de Gerber, deduziríamos corretamente que cada linha representa um comando de máquina específico e que o asterisco (*) é o caractere de fim de comando. Parece haver diferentes tipos de comandos: instruções iniciadas com dados de coordenadas G, D, M e x, y.
Fonte: https://www.artwork.com/gerber/appl2.htm
Aqui está uma especificação que mostra os diferentes comandos
Se você estiver usando o Kicad, veja alguns dos vídeos das palestras no primeiro KiCon (2019) no Youtube. Algumas das palestras foram explicitamente sobre os apresentadores que escreveram ferramentas para gerar as partes, uma também sobre as conexões. Pelo menos um python usado, que é incorporado como uma linguagem de script.