Tag Archive | CNC

Como hacer placas electrónicas PCB de calidad en Ubuntu Linux con Kicad en un CNC desde LinuxCNC y Autoleveller


El objetivo de este articulo es contarles mi experiencia en el proceso de manufactura de una placa PCB, desde el diseño en Kicad hasta la manufactura real con LinuxCNC (ante se llamaba EMC2). Como siempre, estos pasos son repetibles pero no me hago responsable por ningún daño derivado de la descripción de mi experiencia. El resultado debe ser:
goodcircuitEstoy usando Ubuntu 14.04 y ya cuento con el Kicad instalado y el interpretador java.

Primero necesito un programa para pasar desde el diseño a código G que es lo que interpreta la maquina CNC. Para eso usare el programa pcb2gcode que se instala así:
Preparación:

$ sudo apt-get install build-essential automake autoconf libtool libboost-dev libboost-program-options-dev libgtkmm-2.4-dev gerbv

Ahora instalamos:

$ git clone https://github.com/pcb2gcode/pcb2gcode.git
$ cd pcb2gcode
$ autoreconf -i
$ ./configure
$ make
$ sudo make install

También uso (porque soy bastante perezoso) un GUI que se llama pcb2gcodeGUI

$ sudo apt-get install build-essential git qt5-default
$ git clone https://github.com/pcb2gcode/pcb2gcodeGUI.git
$ cd pcb2gcodeGUI/
$ qmake

——————
NOTA: Aca puede dar un error como este:
Project ERROR: Unknown module(s) in QT: svg
Si es asi hacer:
$ sudo apt-get install libqt5svg5*
y hacer deuevo
$ qmake
si surge algun otro error hay que resolverlo antes de seguir
————-
$ make
$ sudo make install

y para hacerlo funcionar:

$ pcb2gcodeGUI

Hasta acá tenemos esto:

badcircuitPara mejorar la calidad ahora instalamos Autoleveller que sirve para censar la superficie virgen del PCB y modifica el código G de nuestra placa para que salga de calidad. Funciona en java (supongo que ya esta instalado en tu PC) y se descarga desde ACA. Yo descargue la versión 0.77 y lo hice andar así:

$ chmod +x Autoleveller077.jar
$ java -jar Autoleveller077.jar

También es necesario hacer una plaquita de sondeo con unos cables, pinzas cocodrilo y una resistencia para sondear la superficie, según esquema:

probediagram

Ahora configuramos el LinuxCNC para que tome el censado. Se puede hacer con el wizard de LinuxCNC y quedaría mas o menos así (lo que debes tener en cuenta es lo recuadrado y debes colocar el que hayas elegido):

wizardlinuxo a mano editando el .hal en la carpeta de configuración de la CNC, así:

net estop-ext <= parport.0.pin-10-in
net home-y <= parport.0.pin-11-in-not
net home-x <= parport.0.pin-15-in-not
net home-z <= parport.0.pin-12-in-not
net probe-in <= parport.0.pin-13-in-not

y para probar si anda todo hacemos:

halmeterlinuxy movemos los ejes hasta que toque la superficie de cobre. Debemos ver el cambio en la ventanita D.

LinucCnc-negative-probe LinucCnc-positive-probe

Con todo esto listo, ya estamos en condiciones de hacer el proceso de conversión para enviárselo al CNC.

Comencemos !!

…. CONTINUARÁ

TODO:

  • Ahora entramos a Kicad y convertimos nuestro diseño a formato Gerber haciendo plot.

kicad_plot_gerbers

  • Convertir con pcb2gcodeGUI
  • Pasamos el código por Autoleveller077.jar
  • Hacemos placa con LinuxCNC

RESULTADO:  Video

Bibliografía:

Jared Roberto Ocampo y Iván de Jesús Deras (2014): Aplicación Integrada para Construcción de PCBs mediante Tecnología CNC y Ajuste Automático a la Superficie

Imágenes tomadas de:

Autoleveller
LinuxCnc – Touch plate – Part 1