Introduction: Make PCB With Kicad, Flactam & Chilipeppr in a Mini CNC

El principal problema al momento de intentar crear un PCB en un CNC es la cantidad de pasos requeridos, al menos en mi caso no encontré un manual que enseñara de principio a fin el procedimiento a seguir para lograr la tarea.

Por la razón anterior se crea este instructable, para poder ver todo el proceso para crear nuestros prototipos de PCB.

Step 1: Exportar Archivos GERBER

Hemos empezado a utilizar KiCAD y hemos notado muy rápidamente que es un gran software de diseño para PCB con muchas utilidades. Para aquellos que utilicen EAGLE les puede parecer un poco extraño de primera entrada, pero luego de empezar a diseñar uno toma costumbre del flujo de trabajo del software.

Vamos a comenzar el procedimiento con una placa ya diseñada, ya que este tutorial no se centra en el uso de KiCAD sino en la fabricación del PCB. Este es el PCB base que estoy utilizando(con algunas personalizaciones).

Una vez que hemos diseñado nuestra placa es importante cambiar la referencia para los ejes de coordenadas, de lo contrario al generar los archivos GERBER estos saldrán perdidos en el espacio de trabajo. Esto puede corregirse, pero es mejor tomar las precauciones con antelación estableciendo una referencia alternativa como se ve en la primer imagen.

Luego de esto vamos a ir al icono de Plot y le daremos clic. Vamos a realizar los ajustes que se ven en las imágenes adjuntas para asegurarnos de generar los archivos necesarios.

No olvidar las unidades en las están trabajando, en mi caso milímetros.

Step 2: Flujo De Trabajo En Flatcam

Luego de generados los archivos GERBER estos pueden ser enviados a una empresa para su fabricación o en nuestro caso crear nuestro propio PCB con un CNC. En mi caso esta fue la que utilize para realizar todo el procedimiento.

Para lo anterior vamos a utilizar el programa FLATCAM. Debemos tener siempre pendiente el flujo de trabajo que se debe seguir con este programa ya que de primera entrada no es nada intuitivo, luego es más un proceso mecánico que se realiza con cada archivo que hayamos generado.

El proceso es el que podemos ver en el diagrama de flujo. No vamos a tener la misma extensión para cada archivo, de hecho todos tienen una extensión diferente, ya que pertenecen a partes diferentes de nuestra placa.

Step 3: Primeras Configuraciones En Flatcam Sobre Un Flujo Completo De Trabajo

  1. Iniciamos importando el archivo .gtl
    • Este archivo corresponde a los "traces" de la parte superior de nuestra placa
    • Luego de importarlo vamos al menú "Options" y especificamos que nuestras unidades son milímetros
    • Nos devolvemos al menú "Selected" y en tool diameter en mi caso debo poner 0.19mm, este no es un número mágico y se debe al cálculo que hice de mi V-bit de 20° como se aprecia en una de las imágenes.
    • La cantidad de pasadas o "Width(#pases)" se deja en 1. Esto se puede aumentar si lo deseamos para aumentar el ancho entre los "traces".
    • Una vez realizados estos ajustes daremos clic en "Generate Geometry" y esto nos creará el siguiente archivo sobre el que trabajaremos
  2. Configuraciones al archivo .gtl_iso
    • Volvemos a la pestaña "Selected" y lo primero que notamos de las imágenes es la configuración "Cut-Z" , esta se refiere a la cantidad que yo deseo que el V-bit entre en la placa como puede verse en la imagen donde se realizó el cálculo, este es un parámetro que se eligió de "forma antojadiza" ya que sabemos que la altura mínima para placas de 2oz. que son las más populares es de 0.07mm, por lo que inflé ligeramente este valor para cortar un poco mejor el cobre.
    • En "travel Z" se elije como distancia segura 4mm, esta es la distancia mientras el taladro se desplaza de un punto a otro sobre la placa sin estar cortando.
    • FeedRate lo ajustamos en 100.
    • El paso siguiente es ajustar nuevamente el diámetro de nuestra V-bit que como vimos es 0.19mm
    • Ajustamos la velocidad de nuestro taladro: en mi caso el máximo es de 7000
    • Ponemos check a "Multi-Depth" y le pedimos haga pasos verticales de 0.025mm hasta llegar a la profundidad que queremos, esta la habíamos ajustado en -0.12mm.
    • Acto seguido: Generamos el próximo archivo sobre el que vamos a trabajar.
  3. Archivo gtl_iso_cnc
    • En este archivo solamente vamos a tener que especificar el diámetro de nuestra herramienta(0.19mm) y generamos el gcode para poder cortar en la CNC
    • Se creó una carpeta de nombre "gcode" para mantener todo lo posible el orden y se nombró muy similar al archivo original para no perderlo de vista.

Step 4: Corte Externo De La PCB

Flatcam tiene un procedimiento para esto aunque no me pareció muy bien desarrollado para nuestro interés, ya que en principio toma el límite de corte y genera dos cortes(uno externo y otro interno al path).

La forma que encontré luego de una exhaustiva búsqueda fue el siguiente:

  1. importamos el archivo .gm1 generado por KiCAD
    • Nos vamos a la pestaña "Selected" y especificamos el diámetro de nuestra herramienta de corte, en mi caso utilicé una de 1.3mm de diámetro
    • Pedimos de una sola pasada.
    • Generamos(Generate Geometry) nuestro archivo siguiente.
  2. Archivo .gm1_iso
    • Habremos generado un archivo con dos líneas paralelas a nuestro "Edge Cut" y solamente requerimos de una de ellas.
    • Para eliminar una nos centramos en la parte de entrada de línea de comandos de flatcam e introducimos: ext nombre_archivo.gm1_iso -outname nombre_salida.iso_ext
  3. Nos devolveremos al menú "Project" y seleccionaremos el archivo que acabamos de crear "nombre_salida.iso_ext".
    • Si enviamos a cortar este archivo tal y como aparece tendríamos el problema que nuestra placa saldría volando por lo que tenemos que crearle "taps" que lo sostengan antes de que sea algo usable.
    • Para lo anterior volvemos nuevamente a la línea de comandos y escribimos: geocutout nombre_salida.iso_ext -dia 1.3 -gapsize 0.4 -gaps lr
    • Con los procedimientos anteriores ya contamos unas pequeñas pestañas que sostendrán nuestra PCB aún luego de ser cortada, de la forma que FLATCAM ofrece esto no es posible si la PCB que estamos realizando es de forma irregular(solo puede utilizarse con PCBs cuadradas).
    • Por último generamos nuestro archivo CNC dando clic en "Generate" luego de haber configurado los parámetros de "Cut-Z, ", diámetro de nuestra herramienta y demás.
  4. Realizamos el mismo procedimiento del paso anterior para generar el archivo de gcode y lo guardamos en nuestra carpeta creada para este propósito.

Step 5: Marcado Guía & Drill File

Este primer procedimiento es el preámbulo para hacer los agujeros en la placa.

Lo que vamos a hacer serán unas pequeñas marcas con el V-bit que servirán de guía a las brocas que hacen los agujeros de lado a lado; este procedimiento es necesario ya que de lo contrario si utilizamos directamente las brocas para hacer los agujeros, estas se pueden descentrar un poco cuando están tratado de cortar el cobre y eso es lo que queremos evitar.

  1. Comenzamos importando el archivo .drl
  2. Una vez importado veremos las geometrías de los huecos sobre nuestra placa
  3. Iremos al menú "Selected" y realizaremos las configuraciones necesarias:
    • En "Cut-Z" pondremos -0.1 ya que solamente queremos que el V-bit apenas entre en la placa.
    • Travel Z lo dejaremos como de costumbre en 4mm.
    • Pondremos el FeedRate en 80.
    • MUY IMPORTANTE: No seleccionaremos la opción de "Tool change".
  4. Luego de terminar las configuraciones generaremos el archivo .drl_cnc, en este caso decidí nombrarlo como drill_marks.gcode

Ahora vamos a seleccionar nuevamente el archivo .drl y vamos a repetir todo el procedimiento anterior pero con las siguientes diferencias:

  1. "Cut-Z" lo vamos a poner en -1.8 para que las brocas perforen completamente la placa.
  2. Vamos a marcar el check box de "Tool change"
  3. Pondremos la altura que consideremos aceptable para hacer un cambio.
    • En este paso yo solamente lo subo 5mm, luego con el programa muevo el taladro hasta la altura que yo necesito para hacer el cambio de broca.
  4. Por último igual que en el paso anterior generamos el .gcode y lo guardamos como drills.gcode

Step 6: Chilipeppr

Para este paso yo utilicé Chilipeppr aunque realmente pueden utilizar el programa que deseen mientras puedan hacer el autonivelado que es indispensable para que nuestro PCB pueda fabricarse.

  1. Vamos a dar clic sobre el archivo con el que queremos trabajar y lo arrastramos hacia Chilipeppr, por el momento solo vamos a generar el autonivelado
  2. Vamos a dar clic en widgets como se ve en las imágenes y luego en Autolevel.
    • Esto nos va a mostrar una matriz de puntos sobre nuestra placa que podemos aumentar o disminuir el espaciado entre los puntos a gusto.
    • También vamos a especificar que queremos que empiece a probar a una altura de 1mm sobre la placa.
    • Luego de correr el "Test Probe" para verificar que todo se encuentra en orden con los contactos con la placa, procedemos a dar clic en el icono de "Play".
  3. Por terminado el proceso tendremos un archivo con las correcciones del autonivel.
  4. MUY IMPORTANTE: Este archivo se lo aplicaremos a todos los archivos de gcode que vallamos exportando a Chilipeppr dando clic en el símbolo que se encuentra en la séptima imagen.
  5. Si nos indicara que no Chilipeppr no sabe que unidades estamos utilizando solamente le decimos que son milímetros.
  6. Por último podemos dar clic en el botón de gcode como se ve en una de las imágenes y esto nos abrirá una ventana con el gcode. Si el gcode dice (all new z) esto indicará que hemos hecho el procedimiento de forma correcta de lo contrario tendremos únicamente que volver a tocar el botón para mezclar el autonivelado con nuestro gcode.
  7. Quitamos los lagartos(contactos) y podemos empezar a realizar nuestra placa con el V-bit ya sea que utilizemos Chiliṕeppr u otro programa, en este caso solo exportaremos el gcode.

Este procedimiento de autonivelado lo realizaremos únicamente una vez y luego cuando estemos realizando el proceso de los archivos de drill solo aplicaremos los pasos #1 y #6 para unir los códigos y terminar nuestra placa.

Step 7: Resultado Final

Deberían terminar con un resultado similar al de la imagen o mejor, pero si recuerden que es un procedimiento de mucho detalle y cuidado :)