Main La producción de PCB de forma casera es un arte moderno. Si bien es cierto que existen alternativas comerciales de prototipado a precios muy bajos (Aproximadamente 1€ por placa más gastos de envío desde china), poder realizar placas en cuestión de unas pocas horas y muy poco esfuerzo tiene un valor enorme para cualquier aficionado a la electrónica.

El artículo que hoy traigo es sobre construcción de PCB utilizando máquinas CNC compatibles con GRBL. Estas máquinas son bastante baratas (menos de 200€) y relativamente fáciles de configurar y controlar con software libre. El proceso utilizando este tipo de máquinas permite simplificar la producción de las PCB eliminando los procesos de insolación y revelado/atacado químico. Esta técnica reduce también el margen de error introducido por las imprecisiones en los fotolitos.

Hardware necesario

Schematic CNC 1610: En este artículo utilizaremos una CNC 1610 compatible con GRBL. Es la hermana pequeña de la CNC 3018 y tiene un precio similar con un tamaño reducido. La conectividad de este aparato es USB y no requiere de drivers adicionales.
Schematic Fresas en V para PCB: Utilizaremos fresas de carburo con forma de V fáciles de obtener en internet. Existen fresas de múltiples diámetros y ángulos. Cuanto mayor el ángulo y el diámetro de la punta más resistente será la fresa. Para este artículo he escogido las más precisas: 20 grados y 100 micras de diámetro.
Schematic Guías de sujeción: Existen múltiples formas de sujetar la placa a la superficie de aluminio de la CNC. En este artículo utilizaremos las piezas de fijación que pueden obtenerse aquí
Schematic Anycubic Photon (Opcional): Utilizaremos la impresora 3D basada en la tecnología SLA, Anycubic Photon, para realizar el soldermask de la placa. Existen técnicas más sencillas (aunque menos precisas) que no requieren de esta herramienta. Más adelante veremos las alternativas.

Software necesario

Schematic FlatCam 8.93: Este es el software principal que utilizaremos para crear los ficheros G-Code con las instrucciones de aislamiento, taladro y mecanizado de la placa. Es una excelente herramienta de software libre.
Schematic Candle: Con esta herramienta enviaremos las instrucciones G-Code generadas por FlatCam a la CNC 1610. Su manejo es muy sencillo y la interfaz permite previsualizar y seguir en directo el progreso del programa de corte.
Schematic Inkscape (Opcional): Utilizaremos este programa para preparar los perfiles de aislamiento de imagen para la máscara antisoldante. No será necesario si utilizamos algunas de las alternativas que propongo más adelante.
Schematic Tinkercad (Opcional): Con esta herramienta online generaremos los ficheros STL necesarios para poder exponer la máscara antisoldante con la Anycubic Photon. No será necesario utilizarla si seguimos alguna de las alternativas propuestas.

Diseño de la placa

La placa que vamos a construir en este artículo es un amplificador de audio con un filtro paso bajo a la entrada que permite procesar señales generadas con PWM desde un microcontrolador. No es el objetivo de esta entrada profundizar en el diseño eléctrico de la placa así que asumiremos que disponemos de los ficheros Gerber y Excellon correspondientes.

Schematic

Schematic

A la hora de diseñar el trazado de la placa hay que tener en consideración algunos detalles:

  • El grosor mínimo de la pista debe ser escogido al mayor posible. Este parámetro de diseño es una balanza entre la complejidad de la placa y los posibles problemas que puedan surgir a raíz de escoger valores demasiado pequeños. Como norma general no deberíamos utilizar pistas inferiores a las 6 milésimas de pulgada en métodos caseros. Para la placa de esta entrada emplearemos pistas de 12 milésimas de pulgada. En el último apartado de este artículo muestro pruebas con diferentes grosores de pista.
  • El espacio entre pistas también debe mantenerse al mayor posible. En general se debe evitar tener espacios entre pistas inferiores a las 8 milésimas de pulgada utilizando esta técnica si bien es posible reducir ese tamaño hasta las 6 milésimas de pulgada afinando los parámetros de mecanizado. Esto se explica mejor en el último apartado de este artículo.

Mecanizado de aislamiento

El primer paso para construir nuestra PCB es el aislamiento de pistas. Utilizando FlatCam vamos a generar código G-Code para eliminar el cobre que rodea a cada pista aislándola así del resto. En un nuevo proyecto de FlatCam importamos el fichero Gerber correspondiente al trazado de pistas de nuestra placa y seguimos los pasos que indico a continuación:

Main Preparamos las fresas que vayamos a utilizar. Es importante conocer bien los parámetros de esta herramienta para poder configurar adecuadamente el software. Existen fresas más caras en el mercado que nos darán mejores resultados en cuanto a velocidad y durabilidad. He escogido fresas de 0.1mm y 20 grados porque son las más fáciles y baratas de conseguir.
Schematic En FlatCam abrimos la herramienta de la calculadora. En esta herramienta hay un apartado específico para calcular el diámetro de corte de fresas con forma de V. Introduciendo el diámetro de la punta (100 micras en este caso), el ángulo de la fresa (20 grados) y la profundidad prevista de corte (100 micras para este ejemplo) obtenemos que el diámetro de corte en la superficie de corte será de 135.3 micras.
Schematic Introducimos el diámetro obtenido en el apartado anterior en el apartado correspondiente del fichero Gerber correspondiente a las pistas de cobre e indicamos generar la geometría completa de aislamiento (Generate Isolation Geometry).

Una vez realizados los pasos anteriores FlatCam generará una geometría, que podemos visualizar en color rojo en el panel de la derecha. Esta geometría indica el camino que seguirá la fresa para aislar cada trazo de la placa. El objetivo ahora es generar las instrucciones G-Code en el espacio tridimensional para lo cual introducimos las variables que faltan: profundidad de corte (100 micras en este ejemplo), altura de desplazamiento entre cortes (500 micras) y corte en múltiples alturas (50 micras en este ejemplo). La selección de estos parámetros es bastante delicada y de ella depende que la placa tenga defectos de aislamiento. En el último apartado de este artículo muestro con detalle una comparativa con diferentes configuraciones de estas variables.

Schematic

Al generar el trabajo para la CNC a través del botón Generate del formulario anterior FlatCam crea un nuevo escenario con el camino exacto y el área de corte de la CNC que podemos ver en color azul en el panel de visualización. En este punto podemos guardar el código en un fichero que podrá ser directamente interpretado por Candle.

Schematic

Preparado de la placa

Antes de ejecutar el código de aislamiento debemos asegurar la placa en el soporte de la máquina CNC. Existen múltiples formas de asegurar la placa entre las que se encuentran utilizar un mártir de contrachapado o madera bajo la placa o emplear soportes de fijación lateral. En este artículo recurriremos a esta segunda opción con los soportes que indicaba al comienzo de la entrada.

Schematic

Es importante verificar que la placa se encuentra firmemente sujeta e inmóvil antes de comenzar el enrutado. De igual manera es importante verificar que el terminal de tierra de la prueba de altura se encuentra correctamente conectado al área de cobre de la placa.

Prueba de altura

Antes de comenzar el nivelado de la placa procedemos a fijar la fresa en el portabrocas de la CNC. Los portabrocas baratos tienden a no fijar la fresa de forma perfectamente vertical. Esto es un problema porque provoca que el eje del motor y el eje central de la fresa no estén alineados. Cuando se produce esta diferencia en los ejes la fresa vibra, aumentando su diámetro de corte y haciéndola mucho más propensa a fallar (roturas de la punta, delaminación, etc). Para fijar correctamente la fresa es necesario ajustar el portabrocas hasta ajustar casi por completo el vástago y girar la fresa levemente hasta que se acomode en la vertical correctamente para posteriormente terminar de apretar la cabeza del portabrocas. Vemos en el siguiente video un ejemplo de una fresa correctamente alineada (izquierda) y una fresa desalineada (derecha).

Las placas tienen imperfecciones tales como curvaturas a lo largo y ancho de su superficie. También se producen desniveles durante la fijación de la placa a la base de la CNC. Es por ello que debemos ejecutar el autonivelado que ofrece Candle para que el enrutamiento se produzca a la altura relativa obtenida de restar el desnivel a la altura de cada punto en la placa.

Para realizar el nivelado de la placa abriremos el software Candle y cargaremos el fichero G-Code generado con FlatCam anteriormente. En el apartado Mapa de alturas configuramos los parámetros necesarios como se muestra en la siguiente imagen:

Schematic

Candle calculará automáticamente el área en la que se debe realizar la prueba de nivelado pero es necesario indicar cuantos puntos en vertical y horizontal queremos que analice. No es necesario configurar una cantidad excesiva de puntos, con una matriz de 5x5 puntos es suficiente para placas de tamaño mediano. Vemos el proceso de autonivelado en el siguiente video:

Aislamiento de pistas

En este momento estamos en disposición de comenzar a aislar el cobre de las pistas. Para ello indicamos en Candle el comienzo de la operación con el botón Empezar. Vemos en el siguiente video el proceso, a cámara rápida, de aislamiento de las pistas.

Taladros de alineación

Para aplicar la máscara antisoldante en el próximo paso será necesario extraer la placa del soporte para posteriormente volverla a colocar para los taladros. Es necesario tener una referencia para volver a alinear la placa cuando la coloquemos ya que, de lo contrario, los taladros y el mecanizado del borde de la placa no coincidirán con las pistas enrutadas en el paso anterior.

En FlatCam, utilizando la herramienta de PCB a doble cara, indicamos los taladros de referencia escribiendo manualmente sus coordenadas.

Schematic

Cargamos el fichero de G-Code generado en el paso anterior en Candle y cambiamos la fresa por una broca de 1mm de diámetro. Vemos en el siguiente video el proceso de taladrado de los agujeros de referencia.

Una vez realizados los taladros de referencia podemos extraer la placa de la superficie de corte para prepararla para el siguiente paso. Con un cepillo de dientes limpiamos bien el cobre que queda entre las pistas resultado de las rebabas producidas por la fresa. Este paso es importante porque es frecuente que queden rebabas de cobre conectando dos pistas y se eliminan fácilmente con un cepillo de dientes o brocha.

Schematic

En este punto debemos realizar una inspección visual de la placa (a contraluz a ser posible) para detectar posibles áreas del cobre que se hayan eliminado de más o de menos. En caso de haberse eliminado de menos se puede reparar utilizando un cutter.

Máscara antisoldante (Soldermask)

La máscara antisoldante, o Soldermask en inglés, es una parte opcional pero muy útil en una PCB. Como su propio nombre indica evita que el estaño ocupe más margen que el que le permita la máscara evitando así puentes en soldaduras complicadas como SMD. Además hace muchísimo más fácil la soldadura en caso de que soldemos con aire.

Existen varios métodos para aplicar la máscara antisoldante. En esta entrada voy a utilizar pintura curable por luz ultravioleta, fácil de obtener en internet, y una impresora 3D SLA para curar la resina. Obviamente no todo el mundo tiene esta tecnología disponible así que en en esta otra entrada hay una alternativa utilizando fotolitos con papel vegetal.

El primer paso para crear la máscar antisoldante es preparar el perfil de insolación. La pintura ultravioleta se cura en contacto con longitudes de onda por debajo de los 400nm por lo que deberemos exponer únicamente la pintura que queramos curar y dejar los pads a oscuras. Importaremos los ficheros Gerber correspondientes al Soldermask en FlatCam y seguiremos los siguientes pasos:

Schematic A través de FlatCam exportamos el Gerber de la máscara antisoldante en positivo a un fichero SVG.
Schematic En Inkscape importamos el fichero SVG anterior y creamos un rectángulo opaco del mismo tamaño que el contorno del SVG anterior. Lo llevamos al fondo para que sea fácil de manipular.
Schematic Seleccionamos todos los trazos de la máscara y el rectángulo que hemos creado y hacemos click en Trayecto -> Exlusión para generar un negativo de la máscara.
Schematic Exportamos el negativo de la máscara nuevamente a SVG para poder convertirlo a STL posteriormente.
Schematic En Tinkercad creamos un nuevo proyecto e importamos el SVG. Las medidas de la placa se deberían calcular correctamente porque FlatCam las indica al exportarlo; de lo contrario, corregimos el ancho/alto de la placa.
Schematic Exportamos el modelo 3D en negativo a un fichero STL. Las partes altas se expondrán a luz UV mientras que las partes a altura cero quedarán opacas, quedando los pads sin curar.

Máscara UV

Schematic Existen múltiples pinturas curables por luz ultravioleta en internet a precios muy asequibles. Para este artículo utilizaremos pintura de color azul que tarda en curar unos 5 minutos siendo expuesta a la luz de 405nm de la Anycubic Photon. Este proceso puede realizarse con cualquier impresora 3D que utilice tecnología SLA.

Antes de extender la resina es importante tapar los agujeros con pequeños trozos de celo para que queden transparentes y utilizar una lámina de algunos de los materiales que comento en esta entrada para que la pintura se distribuya uniformemente. Para este artículo utilizaremos láminas de polipropileno transparentes de 100 micras de grosor. Podemos extender la pintura ayudándonos de una tarjeta de crédito asegurándonos de que todas las zonas tengan la misma cantidad. A continuación muestro algunas imágenes de este proceso:

Schematic Schematic
Schematic Schematic

Las impresoras 3D con tecnología SLA utilizan una pantalla LCD para exponer a la luz ultravioleta las capas del modelo que se quera imprimir. Si enviamos el fichero STL que hemos obtenido en el paso anterior podemos ver como todas las partes que queremos curar de la máscara antisoldante quedan expuestas a la luz ultravioleta.

Schematic

Para alinear la placa repetiremos el proceso de conversión SVG/STL anterior con los agujeros de alineación que hemos taladrado en la placa. Al enviar este fichero con los cuatro agujeros extruidos a la impresora veremos cuatro circulos en el LCD con los que podremos alinear la placa.

Schematic Aplicamos presión con un objeto pesado sobre la placa para evitar que se mueva o separe del LCD y mandamos el fichero STL de la máscara obtenido al comienzo para curarla durante 5 minutos.
Schematic Separamos con cuidado la lámina de polipropileno. Las partes no expuestas quedan líquidas y adheridas a la lámina.
Schematic Limpiamos la placa con alcohol con cuidado de no levantar la pintura que aún puede estar algo delicada.
Schematic Terminamos de curar la pintura utilizando cualquier fuende de luz ultravioleta hasta que esté completamente seca al tacto.

Agujero pasante y mecanizado de borde

En este punto volvemos a colocar la placa en los soportes de la CNC y cargamos el fichero G-Code de los agujeros de alineación. Ajustamos la placa, ayudándonos de cada agujero de alineación, para que al posicionar la CNC en cada uno de los puntos el espacio virtual y el físico coincidan.

Para taladrar la placa cargamos el fichero Excellon correspondiente a los agujeros en FlatCam y seguimos los pasos que muestro a continuación:

Schematic Para no hacer cambio de herramienta seleccionaremos Mill Drills. Con esta opción podremos hacer todos los taladros con una broca de 0.7mm y la CNC se encargará de ahuecar los taladros que sean de diámetro superior.
Schematic Tras configurar la altura de corte (2.5mm porque la placa tiene margen de sobra por los soportes) exportamos el código G-Code para poder importarlo en Candle
Schematic Abrimos la herramienta de Board cutout en FlatCam e indicamos los parámetros de mecanizado del borde de la placa. En este artículo dejaremos dos solapas de 1mm a cada lado de la placa.
Schematic Seleccionamos la profundidad de corte y la velocidad de corte. Conviene no pasarse en la velocidad para no levantar la pintura de la máscara antisoldante.
Schematic Exportamos el G-Code y lo importamos en Candle para proceder al mecanizado del borde de la placa.

Es importante no excederse en las velocidades horizontal o vertical. Mi recomendación es escoger valores relativamente pequeños (tómese como referencia los de este artículo) e ir experimentando. Cuanto más altos son los valores de la velocidad de la máquina más riesgo corremos de partir las brocas, desplazar la placa del soporte, etc. A continuación muestro como queda la placa tras el mecanizado del borde.

Schematic

Schematic

Acabado y soldadura

Los resultados obtenidos con esta técnica son sorprendentes. Ahorrarse todo el proceso químico es algo que invita a realizar prototipos con más frecuencia. Llevo muchos años haciendo PCB con el método de la insolación/revelado/atacado y conozco de primera mano lo engorrosos que son todos los procedimientos. Con esta técnica el proceso es casi desatendido y la precisión igual o mejor que con el método químico.

Schematic

A continuación muestro algunas comparativas al microscopio de la placa con su modelo original en Proteus. Estas imagenes fueron tomadas antes de aplicar la máscara antisoldante para que se aprecie mejor cada corte.

Schematic

El último paso (y creo que el más divertido) es soldar los componentes. Yo utilizo una estación de soldadura por aire caliente en combinación con pasta para soldar de baja temperatura. La máscara antisoldante juega aquí un papel fundamental.

Schematic

A continuación muestro imágenes de la placa terminada. Es increíble el resultado que se puede obtener con una máquina que no llega a los 200€ y software libre.

Schematic

Schematic

Profundidad de corte

El mayor quebradero de cabeza de esta técnica de construcción de PCBs es seleccionar la profundidad de corte. Al utilizar una herramienta con forma de V tendremos un mayor diámetro de corte cuanto mayor sea la profundidad. Además esa profundidad depende del ángulo de la fresa, cuanto más ángulo, más diámetro con la misma profundidad.

De cara a entender mejor cómo afecta la profundidad de corte al aislamiento de las pistas he hecho una placa de prueba que muestro a contiuación. La placa tiene pistas de diferentes grosores desde 6 milésimas de pulgada a 15 milésimas de pulgada. También tiene una zona con pistas de grosor fijo separados por diferentes distancias.

Schematic

Al realizar los cálculos de los diámetros de corte el único tramo teóricamente afectado es el de separación de 6 milésimas de pulgada con una profundidad de corte de 150 micras. Esto es debido a que a esa profundidad la fresa cortará a un grosor superior al del espacio entre pistas y FlatCam decidirá no trazar una geometría por ese lugar.

Schematic

A continuación podemos observar las diferencias en el aislamiento de las rutas en función de la profundidad de enrutado. Como se puede observar, a una profundidad de 50 micras se elimina todo el cobre (cuyo espesor en la placa es de 35 micras) pero quedan rebabas en los laterales de cada pista. A una profundidad de 100 micras el corte es de mayor calidad siendo con 150 micras casi perfecto.

Schematic

El escenario con el espacio entre pistas es algo diferente. Obviamente cuanto menor es la profundidad de corte menor será el espacio posible entre pistas. Como se observa con una profundidad de 50 micras el espacio entre pistas respeta bastante el modelo original mientras que con 150 micras de profundidad de corte el espacio de 6 milésimas de pulgada no se puede trazar por un exceso en el diámetro de corte.

Schematic

Como conclusión, una profundidad de corte de 100 micras con una fresa de 20 grados y punta de 100 micras es una buena balanza entre un acabado suave de las pistas y unas posibilidades de calidad semiprofesional. La mayoría de fabricantes de prototipos de placas establece el estándar (antes de escalar a rangos de precio mayores) a 6 milésimas de pulgada para espacio mínimo entre pistas y grosor mínimo de pista.