Me estoy adentrando en el diseño de PCB y generalmente tengo problemas para aprender cómo usar las GUI con menús y clics del mouse. ¿Algunos ingenieros usan algo más como código para generar PCB?
Me estoy adentrando en el diseño de PCB y generalmente tengo problemas para aprender cómo usar las GUI con menús y clics del mouse. ¿Algunos ingenieros usan algo más como código para generar PCB?
Respuestas:
Altium tiene un lenguaje de script, de hecho, varios idiomas diferentes. En algunos casos, puede tener sentido usar algoritmos, por ejemplo, para crear diseños repetitivos o partes colocadas con precisión en ciertas posiciones.
Por ejemplo, he visto que solía colocar piezas (LED) en un patrón circular, aunque con su introducción de cuadrículas de coordenadas polares es mucho menos probable que valga la pena.
Hemos utilizado algoritmos para crear formas (piense antenas y ese tipo de cosas) directamente en formato .dxf que luego se pueden importar a una capa de cobre.
En general, el código es poco adecuado para los propósitos de diseño de PCB, particularmente para la tarea de enrutamiento.
En EAGLE CAD, todo lo que puede hacer con un mouse lo puede hacer desde la línea de comandos. También tiene un lenguaje de usuario que esencialmente puede programar.
Utilizo código para generar la lista de red para mis PCB. (Es mucho, mucho más rápido escribir un bucle for para construir un multiplexor de N bits que dibujar laboriosamente todo eso en un esquema). Afortunadamente, los archivos de la lista de redes de KiCAD son solo texto, en un formato indocumentado pero razonablemente fácil de revertir -ingeniero.
Escribí una pequeña biblioteca de C # que me permite escribir lo que quiero conectar a qué (en términos de bloques de circuitos paramétricos reutilizables), y escupe automáticamente una lista de red. Ahora puedo importar eso directamente en KiCAD y comenzar a construir el PCB, sin tener que perder una hora o más dibujando un esquema inútil. (La biblioteca incluso realiza algunas comprobaciones muy básicas para garantizar que mis instrucciones no sean completamente falsas, aunque sospecho que KiCAD haría ese trabajo mejor).
Archivos PCB KiCAD, por el contrario, son también el texto, pero parecen ser mucho demasiado complejo para generar mediante programación. Lo cual es una lástima, porque KiCAD predetermina el volcado de todos los componentes directamente uno encima del otro, lo que requiere que pase más de 20 minutos separándolos tediosamente para que pueda ver qué demonios estoy haciendo. (KiCAD tiene la desagradable costumbre de tratar de mover el texto en lugar del componente al que está conectado , presumiblemente solo para hacer que los PCB sean más difíciles de diseñar?)
Quizás algún día logre automatizar también el diseño inicial del componente; Sospecho, como han dicho otros, que el bit "diseño de PCB" real siempre involucrará a la GUI.
No lo recomendaría, pero si realmente lo desea, puede escribir obras de arte de PCB usted mismo, sin ningún programa de PCB. El código se ve así:
G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12Los números de línea en el extremo derecho no son parte del archivo. Examinando este archivo sin ningún conocimiento previo de Gerber, uno deduciría correctamente que cada línea representa un comando de máquina en particular y que el asterisco (*) es el carácter de fin del comando. Parece que hay diferentes tipos de comandos: instrucciones que comienzan con G, D, M y x, datos de coordenadas y.
Fuente: https://www.artwork.com/gerber/appl2.htm
Aquí hay una especificación que muestra los diferentes comandos
Si está utilizando Kicad, vea algunos de los videos de las charlas en el primer KiCon (2019) en Youtube. Un par de charlas fueron explícitamente sobre las herramientas de escritura de los presentadores para generar las partes, una también sobre las conexiones. Al menos uno usó python, que se hornea como lenguaje de script.