DIY: PCB con CNC 1610 y FlatCam
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
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. | |
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. | |
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í | |
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
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.
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:
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.
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.
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.
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:
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.
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.
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:
Máscara UV
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:
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.