Diseño de varios PCB en el mismo proyecto

Ari Mahpour
|  Creado: May 9, 2021  |  Actualizado: July 22, 2021
Diseño de varios PCB en el mismo proyecto

La mayoría de nuestros diseños de PCB suelen consistir en una única PCB en nuestros proyectos de Altium Designer (es el caso del archivo .PrjPcb). De vez en cuando, diseñamos utilizando variantes con diferentes opciones de relleno. Y es cierto que rara vez ocurre que nos encontremos con un proyecto que requiera varias PCBs con varias opciones de relleno, pero cuando esto ocurre, muchos de nosotros tendemos a quedarnos atascados. En muchas ocasiones he visto a diseñadores agarrar (es decir, copiar y pegar) un proyecto y luego añadir pequeñas variaciones al esquema y/o a la PCB. Y, por lo general, esta práctica resultaría aceptable, salvo en aquellas ocasiones en que se necesita volver atrás y actualizar el diseño. ¿Cómo podemos gestionar el cambio exacto en ambos proyectos? ¿Cómo garantizar que esos cambios sean idénticos? ¿Cuántas veces se repetirá este escenario (por ejemplo, en las fases de Rev A, B, C, etc.)? En este artículo examinaremos un enfoque para gestionar varios diseños de PCB dentro de un único proyecto, lo que garantiza una fuente de información única. Además, examinaremos el ejemplo que utiliza la placa de mi último artículo, Pandemic Prototyping: Building Electronics from your Living Room.

Configuración del archivo del proyecto

Nuestro objetivo consiste en contar con una fuente única de información para todos los esquemáticos y, al mismo tiempo, tener la posibilidad de realizar variantes del PCB. En este ejemplo, he creado un único esquemático con dos PCB:

Figura 1: Archivos de proyecto con varios PcbDocs
Figure 1: Project files including multiple PcbDocs

Como verás, también hay variantes en la parte superior. He creado dos variantes para mi controlador Kiln: una para la Raspberry Pi (tamaño estándar) y la otra para la Raspberry Pi Zero. He empezado enrutando el diseño del hat de la Raspberry Pi Zero, ya que el tamaño estándar es básicamente una versión ampliada de la Zero. Después de completar el enrutamiento, he copiado y pegado todo el diseño de la PCB en mi PCB de tamaño estándar (PiHat - Full.PcbDoc). Ha sido necesario hacer algunos retoques menores (recortes, vaciados de polígonos, contornos de la placa, etc.), pero los componentes y el enrutado siguieron siendo los mismos.

En mi esquemático, he incluido todos los componentes que existen en ambos diseños (estén rellenos o no):

Figura 2: Esquemático sin variantes
Figure 2: Schematic with no variants

Como he visto que tenía un montón de espacio extra en el hat de la Raspberry Pi de tamaño estándar, he decidido incorporar mi convertidor de CA a CC en la placa. Pero aquí surgía un problema. Y es que este componente agregado también se importaría al esquemático del hat mi placa Pi más pequeña. Pero como esto no me interesaba, lo he excluido intencionalmente para que no se incluyera en mi PcbDoc:

Figura 3: No importar explícitamente los elementos no rellenados
Figure 3: Explicitly not importing the unstuffed parts

Y como los componentes no están en el diseño, no generarán ningún error de DRC "no enrutado". Necesitaremos también añadir las opciones DNI ( no instalar, por sus siglas en inglés) en nuestras variantes de la siguiente manera:

Figura 4: DNI para la placa de tamaño completo
Figure 4: DNI for the full-size board
Figura 5: DNI para la placa de Pi Zero
Figure 5: DNI for the Pi Zero board

A fin de evitar confusiones, he eliminado por completo el conector de alimentación de CC para la versión de tamaño completo (ya que se utiliza una entrada de CA) y viceversa con la versión Pi Zero.

Archivos de trabajo de salida

Una vez que hemos diseñado nuestro esquema, enrutado nuestras tarjetas y configurado las opciones de relleno, necesitamos configurar nuestros archivos de Output Job. Estos archivos de trabajo de salida, o archivos de Output Job, son los encargados de generar los paquetes de fabricación y montaje necesarios para construir cada placa con sus respectivas opciones de relleno. Y este es un paso crucial que a menudo se pasa por alto y puede provocarnos un esfuerzo innecesario al generar un paquete para el proveedor.

En este ejemplo, tenemos un archivo de trabajo de salida separado para cada PCB. Con el fin de simplificar, tenemos un único archivo de trabajo de salida para la fabricación y el montaje (que generalmente se divide en dos archivos .outjob. separados en los proyectos de ejemplo de Altium Designer). Y como se puede ver en las Figuras 6 y 7, los archivos .outjob son idénticos excepto por la selección de las variantes y la del PcbDoc. Para las opciones de relleno múltiple, utilizamos las opciones de variantes situadas en la parte superior de la ventana. Generamos un paquete únicamente para la PCB en la que estamos interesados, para rellenar sólo las PCBs especificadas. Por ejemplo, para la variante "Pi" (que es para rellenar un hat de Raspberry Pi de tamaño estándar), queremos seleccionar el archivo PCB "PiHat - Full" (es decir, de tamaño completo). No estamos interesados en generar ningún paquete de fabricación y montaje para el hat de la Raspberry Pi Zero. Lo mismo ocurre con el hat de la Raspberry Pi más reducido (Zero). Generamos los archivos necesarios para fabricar y ensamblar sólo la placa que nos interesa. 

Figura 6: Archivo Outjob con variante de proyecto a tamaño real y PCB seleccionado
Figura 7: Archivo Outjob con variante de proyecto de tamaño Pi Zero y PCB seleccionado
Figure 7: Outjob file with Pi Zero size project variant and PCB selected

Por último, para permitir cierta reutilización, utilizamos las cadenas especiales (Special Strings) en el área de configuración de la estructura de carpetas (Folder Structure Settings) de la siguiente manera:

Figura 8: Uso de cadenas especiales para nombrar las carpetas de salida mediante programación
Figure 8: Using Special Strings to name output folders programmatically

Esto nos permite tener subcarpetas creadas automáticamente en función del nombre de la variante. Y si el nombre de la variante cambia, también lo hacen las carpetas.

Hay más formas de condensar todavía más estos archivos de trabajo de salida, a través de scripts u otros medios, pero eso excede el propósito de este artículo, que es el de mostrar cómo se puede hacer y proporcionar al lector un ejemplo de una de las muchas formas de configurarlo.

Conclusión

En este artículo se han analizado los retos a los que se enfrentan los diseñadores a la hora de gestionar varias placas de circuito impreso a partir de una única fuente de información. En lugar de crear y gestionar múltiples copias de un proyecto, mantenemos un único proyecto de PCB mientras diseñamos para múltiples PCBs mediante las configuraciones de los trabajos de salida. Estas configuraciones nos permiten mantener múltiples archivos PcbDoc dentro del proyecto y generar paquetes para esas placas de manera específica. Mediante esta técnica, los diseñadores consiguen ahorrar tiempo y dinero al actualizar un único proyecto, que se despliega en varios PCB.

¿Quieres saber cómo puede ayudarte Altium en tu próximo diseño de PCB? Habla con un experto de Altium y descubre cómo tomar decisiones de diseño con soltura y confianza.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Articulos más recientes

Volver a la Pàgina de Inicio