Somos una pequeña startup que desarrolla electrónica moderna. Por supuesto, regularmente hacemos pequeños lotes de prueba para la fabricación de los cuales no tiene sentido pedir una producción completa: el costo de preparación será la mayor partida presupuestaria. Por lo tanto, regularmente se nos ocurre cómo es más rápido, más barato y más eficiente recolectar estos lotes por nuestra cuenta. A veces, en el proceso, algo nuevo nace o se agrega algo viejo. Periódicamente compartiremos el resultado con usted.Una forma de reducir el costo de fabricación de placas de circuito impreso es combinar varias placas en una sola pieza de trabajo y enviar esta pieza de trabajo a la fábrica como un solo proyecto. El truco es que las fábricas serias toman dinero para preparar la producción de cada placa, y los chinos orientados al bricolaje a menudo ofrecen (Seeedstudio, por ejemplo) un precio fijo por un tamaño de PCB fijo. En el primer caso, un solo proyecto, incluso si finalmente se corta en varias tablas, se considerará como una tabla, y en el segundo, es posible acomodar varias tablas pequeñas en un espacio en blanco estándar.Además, la combinación de tableros es conveniente si realiza conjuntos fijos; por ejemplo, tiene un módulo de control y cuatro módulos ejecutivos en su proyecto; En este caso, es común colocarlos en un espacio en blanco y siempre ordenar con un kit de este tipo.En este caso, teníamos uno y el otro, tanto el kit como el deseo de ahorrar en la producción de un lote de prueba.
Este es un proyecto. Cuenta con 32 tableros de 13 tipos diferentes. Cómo armar un proyecto de este tipo en un cuarto de hora, a continuación.Sorprendentemente, un intento de encontrar un software listo para usar y al menos relativamente asequible para tal operación lleva rápidamente a una persona a la depresión, después de los primeros cinco sitios que ofrecen llamar al número de teléfono especificado para obtener una oferta de precio individual. El problema es que las fábricas generalmente trabajan directamente con los archivos de formato Gerber RS-274X y, por lo tanto, el costo de todo este software es tradicional para uso comercial, desde unos pocos cientos de dólares por estación de trabajo.Las propuestas de presupuesto solo pueden multiplicar una placa por muchas copias (en Eagle, por ejemplo, esta es una función nativa), pero no recopilan varios archivos de diferentes proyectos. o, más a menudo, no saben nada. Desde el relativamente barato, logré encontrar solo ViewMate Deluxe, que, aunque no era muy fuerte, valía menos de $ 100 y podía editar gerberas, solo trabajando en lugares muy parecidos a la tortura sofisticada.Además de toda esta grandeza, hay un paquete, completamente gratuito, GPLv3, y creado exactamente para esta tarea: tragar un montón de gerberas de diferentes proyectos y colocarlas en una hoja.Este es GerbMerge , un script de Python . Engullendo tus gerberas, durante varios minutos, trata de organizarlos de miles de maneras diferentes, eligiendo entre ellos el mejor, desde su punto de vista.GerbMerge solo puede funcionar con archivos Gerber RS-274X y Excellon, pero es difícil considerar un inconveniente: cualquier CAD que se pueda usar, al menos en teoría, puede exportar placas en estos formatos, y cualquier fábrica puede aceptarlas. Además, si desea la máxima garantía del resultado y la mínima posibilidad para las manos torcidas de la fábrica, es Gerber + Excellon, previamente verificado por usted, y debe enviarlos.No doy un enlace al sitio web de GerbMerge ahora, porque no está claro qué considerarlo un sitio: a juzgar por el historial de ediciones y derechos de autor, cambió de manos un par de veces con pausas durante un año o dos, y cada vez que fue abandonado. Como resultado, cuando intenté ejecutarlo, rápidamente descubrí que:- No esta instalado
- Una vez instalado, no se inicia
- Cuando se ejecuta, no digiere archivos DipTrace
- Al ser empujado, los archivos en unidades métricas no se digieren
- Bajo Cygwin no funciona en absoluto
- Hay intentos de ordenar el instalador, en la dirección correcta, pero incompleto
- Hay intentos de ordenar las unidades métricas, en la dirección correcta, pero incompletas.
- Todos los enlaces a paquetes de instalación listos para Windows generalmente fallaron hace años
Sin embargo, no había alternativas en absoluto. Por lo tanto, después de algunas deliberaciones, un equipo de profesionales del marketing, que nunca había escrito una línea en Python, se sentó y ordenó gerbmerge.Y ahora, el enlace: github.com/unwireddevices/gerbmergeEn la versión 1.9.4, que ahora está disponible en este enlace, gerbmerge:- Corre exitosamente en Linux, Windows y Cygwin
- Se instala en todos los sistemas utilizando herramientas estándar sin editar nada a mano.
- Comprende los archivos generados por DipTrace
- Funciona con pulgadas y milímetros.
Instalar GerbMerge
GerbMerge es un script de Python, por lo que la instalación tiene sus propias características. Se puede iniciar en Linux y Windows (nativo y bajo Cygwin), teóricamente también en MacOS, pero no lo comprobé, no hay nada.Linux .Como es casi seguro que ya tiene instalado python, pip y gcc, queda por instalar simpleparse: pip install simpleparse y luego vaya a gerbmerge. Descargue el archivo fuente del github , descomprímalo, ingrese:python setup.py sdist
sudo pip install dist/gerbmerge-1.9.4.tar_gz
El primer comando preparará el paquete de instalación para su sistema, el segundo lo instalará. Puede, por supuesto, realizar inmediatamente la instalación de sudo python setup.py , pero luego, si desea separarse de gerbmerge o actualizarlo, eliminará sus archivos con identificadores.Windows / Cygwin .Instale Cygwin con los paquetes python, python-setuptools y gcc (este último es necesario para construir un análisis simple). Descargue el archivo fuente gerbmerge, descomprímalo, inicie Cygwin y vaya al directorio fuente.easy_install-x.y pip
pip install simpleparse
python setup.py sdist
pip install dist/gerbmerge-1.9.4.tar_gz
El primer comando (en lugar de xy será la versión de su python, es decir, probablemente 2.7) instalará pip, el resto será el mismo que en Linux.nativo de Windows .Descargue el instalador de python para su sistema e instálelo; de forma predeterminada, se instala en C: \ Python27 \ y arrastra el pip que necesitamos con usted. Descargar gerbmerge, descomprimir. Ejecute cmd.exe y vaya a la carpeta de origen gerbmerge:c:\python27\scripts\pip.exe install simpleparse
c:\python27\python.exe setyp.py sdist
c:\python27\scripts\pip.exe istall dist\gerbmerge-1.9.4.zip
Eso es todo. Si en casos anteriores se lanzó gerbmerge, de hecho, mediante el comando gerbmerge, para iniciarlo, debe llamar al archivo c: \ Python27 \ gerbmerge.bat (si coloca Python en una carpeta diferente, la ruta debe cambiarse en consecuencia).Usando GerbMerge
Gerbmerge requiere un archivo de configuración y conjuntos de archivos con gerberas de las placas fuente. En el github en la carpeta de ejemplos hay ejemplos de ambos, tanto para gerberas en pulgadas como métricas.El archivo de configuración describe varios parámetros básicos, y luego enumera todas las placas que necesitará ensamblar, indicando dónde se encuentran sus archivos y cómo se llaman, así como cuántas piezas de cada uno se colocarán en el proyecto final:[DEFAULT]
projdir = .
[Options]
ExcellonLeadingZeros = 1
PanelWidth = 400
PanelHeight = 300
XSpacing = 2
YSpacing = 2
MeasurementUnits = mm
AllowMissingLayers = 0
[MergeOutputFiles]
Prefix = %(projdir)s/merged
*TopLayer=%(prefix)s/Top.gbr
*BottomLayer=%(prefix)s/Bottom.gbr
*TopSilkscreen=%(prefix)s/TopSilk.gbr
*BottomSilkscreen=%(prefix)s/BottomSilk.gbr
*TopSoldermask=%(prefix)s/TopMask.gbr
*BottomSoldermask=%(prefix)s/BottomMask.gbr
Drills=%(prefix)s/Drills.txt
BoardOutline=%(prefix)s/BoardOutline.gbr
ToolList = %(prefix)s/Tools.drl
Placement = %(prefix)s/Placement.txt
[aa]
Prefix=%(projdir)s/aa
*TopLayer=%(prefix)s/Top.gbr
*BottomLayer=%(prefix)s/Bottom.gbr
*TopSilkscreen=%(prefix)s/TopSilk.gbr
*TopSoldermask=%(prefix)s/TopMask.gbr
*BottomSilkscreen=%(prefix)s/BottomSilk.gbr
*BottomSoldermask=%(prefix)s/BottomMask.gbr
Drills=%(prefix)s/Through.drl
BoardOutline=%(prefix)s/BoardOutline.gbr
Repeat = 10
[bb]
Prefix=%(projdir)s/bb
*TopLayer=%(prefix)s/Top.gbr
*BottomLayer=%(prefix)s/Bottom.gbr
*TopSilkscreen=%(prefix)s/TopSilk.gbr
*TopSoldermask=%(prefix)s/TopMask.gbr
*BottomSilkscreen=%(prefix)s/BottomSilk.gbr
*BottomSoldermask=%(prefix)s/BottomMask.gbr
Drills=%(prefix)s/Through.drl
BoardOutline=%(prefix)s/BoardOutline.gbr
Repeat = 6
En este ejemplo, hay dos tableros ubicados en las carpetas aa y bb , los archivos que contienen tienen nombres de exportación DipTrace estándar. Las carpetas están cerca, gerbmerge comienza allí, por lo que el directorio del proyecto es solo ".", Y las rutas a las carpetas son, respectivamente, "./aa" y "./bb". La primera tabla debe estar hecha de 10 piezas en una pieza de trabajo, la segunda, seis. Las gerberas están en milímetros, el tamaño máximo del panel es de 400 × 300 mm, se deben hacer espacios de 2 mm entre los tableros para que la fábrica los corte con una fresa (pregunte a la fábrica específica por las dimensiones de los paneles y espacios). Registre el formato Excellon para la máquina de perforación con ceros al principio, en ausencia de cualquier archivo de lo anterior - jure. El resultado debe guardarse en la carpeta combinada con los nombres de archivo especificados.Tenga en cuenta que todos los archivos, excepto BoardOutline y Drills, comienzan con un asterisco; este es el camino a seguir. Si coloca AllowMissingLayers en la unidad, pueden faltar archivos con asteriscos. Pero el asterisco debería ser, en cualquier caso (no muy lógico, pero tales bagatelas ya son demasiado flojas para arreglarlas, no molestan a nadie).Después de crear la configuración, solo queda ejecutar gerbmerge con ella como el único parámetro:gerbmerge layout.cfg
O, si aún no se ha unido al mundo de Libertad, Igualdad y Hermandad (como yo), y tampoco le gusta Cygwin (no como yo), entonces:C:\Python27\gerbmerge.bat layout.cfg
Cuando comience a gerbmerge, cuelga la hoja del descargo de responsabilidad y espera a que se presione la "y", si está cansado, agregue el parámetro "-s".
A menos que se indique lo contrario en la configuración, gerbmerge funciona para siempre, informando periódicamente que no está muerto. Puede detenerlo en cualquier momento presionando Ctrl-C: guardará la configuración de los tableros, que en este punto se considerarán los más exitosos, en archivos y completos. Desafortunadamente, es imposible rastrear qué tan exitoso es el resultado, así que solo dale suficiente tiempo: de cinco minutos en promedio Core i * a quince en AMD Sempron es suficiente para obtener una ubicación ordenada incluso para un proyecto como el descrito antes del corte.Una buena característica de gerbmerge es que corta automáticamente lo que sale de los bordes de un tablero en particular. Por lo tanto, por ejemplo, si tiene componentes con serigrafía que sobresale hacia afuera (un conector que sobresale más allá de los bordes, por ejemplo), esta impresión de serigrafía en el proyecto final no llegará a la placa vecina. El recorte de agujeros y la serigrafía se pueden deshabilitar en las opciones de la línea de comandos.Cualquier archivo Gerber-viewer debería comprobar familiarmente los archivos resultantes (generalmente uso Viewplot ), y si nada salió mal, envíelo a la fábrica.Limitaciones
- : , - .
, , , Placement.txt — . , gerbmerge (--place-file=), . : gerbmerge . - El script no comprende la combinación de archivos en pulgadas y métricos. Todas las gerberas entrantes deben estar en el mismo sistema que coincida con el especificado en la configuración. En principio, esta es una ocasión para un mayor desarrollo, pero porque dentro gerbmerge con el trabajo con unidades de medida ahora que todavía gachas, casi nunca lo haré.
Pico de prueba
El mismo proyecto de 32 tableros de 13 tipos, ejecutados en el PCB por la empresa Microlit:
no hubo preguntas de la fábrica, no hubo quejas sobre la calidad.FAQ
P: ¿Al diablo contigo hay tantas tablas?A: Aquí para este proyecto .