Está en la página 1de 32

Cómo construir una fresadora CNC casera

de 3 ejes con Arduino y A4988


por Nacho Morato
Hola, en este artículo y en los sucesivos, vamos a dedicarnos a la construcción de una fresadora CNC
casera, es decir, una máquina controlada por ordenador que es capaz de moldear, gravar, tallar y
fresar todo tipo de materiales de la forma y tamaño que deseemos. ¿qué significa esto?, pues esto, es ver
realizado el sueño de todo aficionado al DIY!!!, ya que puedes crear todas las piezas que necesites para
tus proyectos con un solo click de ratón. Al igual que puedes hacer tus propias placas PCB o tallar
maravillosas esculturas 3D.
Todo es posible con una CNC!!!
Mirad un pequeño ejemplo de un trabajillo que hice el otro día con mi CNC.
https://www.youtube.com/watch?v=he4WVP8Xfok

Suscríbete a nuestro canal de Youtube

Ahora que sabemos cuales son las posibilidades de esta maravillosa máquina, empezemos a
construirla!!!

Estructura
Lista de materiales necesarios para la estructura
Necesitaremos muchos materiales para la realización de este proyecto. Desde electrónica hasta
piezas mecánicas y motores. Ahora voy a nombrar los necesarios para hacer la estructura:
 Madera o metal para la estructura
 3 motores paso a paso de al menos 1.5 g/cm (esto es la fuerza del motor) dependiendo el
tamaño de la CNC
 1 herramienta rotativa
 Varillas roscadas
 Tornillos y tuercas
 Herramientas

¿Qué son motores paso a paso?


El motor paso a paso es un dispositivo que convierte
una serie de impulsos eléctricos en desplazamientos
angulares, lo que significa, que es capaz de avanzar
una serie de grados (pasos) dependiendo de la orden
que se le de. El motor paso a paso es un
motor altamente preciso ya que su eje gira de 1.8º en
1.8º lo que quiere decir que para hacer 360º debe
dar 200 pasos. Esto les confiere una precisión increíble,
la cual transferida a la CNC proveerá de una gran
capacidad para hacer piezas muy pequeñas y
delicadas, aunque también se pueden hacer piezas
grandes.
Chips A4988
Los A4988 de Pololu son unos drivers
electrónicos que se usan para
controlar motores paso a paso,
permiten decidir la dirección de giro y
velocidad de estos. Los motores, irán
conectados a Arduino, que imagino,
ya sabéis perfectamente que es, si no,
en Ikkaro podéis encontrar
información sobre esta placa. No es
necesario que sepamos mucho más
sobre estos chips, pero si queréis
profundizar podéis informaros de
todo en la web del fabricante, y este
otro enlace podéis descargar
el datasheet del A4988.
Costes
Bueno como supongo que es una
pregunta que todos os estaréis
haciendo aquí dejo la lista de los precios.
 3 Chips A4988 – Cómpralos 25 € (8,5 € cada uno)
 Arduino UNO – Cómpralo 24 € ( ahora el Leonardo sale por 20 € )
 3 Motores paso a paso – 36 € los 3 por ebay
 1 PCB – 5 €
 Madera DM – 30 €
 Fresadora – Cómprala 50 € ( la mía es de marca pero las hay por 20 € )
 Varillas roscadas y tuercas – 0.50 €
 Fuente ATX – 20 € / 50 € ( yo la saque de un ordenador viejo )
Total – 150 € aprox.

Montaje
Bueno, ahora llega el momento de la verdad, la construcción de la máquina. Os dejo este video
explicativo en el que se enseña de forma general cuales son los rasgos más importantes a la hora de
construir vuestra CNC y como tenéis que hacerlo para que funcione correctamente. Además debajo del
vídeo tenéis una explicación de los pasos más importantes a la hora de montar y cortar las piezas para la
estructura, aunque recomendaría ver el video para que veáis la forma y disposición de las piezas.
https://www.youtube.com/watch?v=2VasRIHSIkA

Una vez informados, vamos a detallar algunos pasos:

En primer lugar, vamos a cortar las tablas que formarán el cajón principal de la máquina dentro del cual
se colocará la electrónica y sobre este, la fresadora trabajará los materiales.
Las medidas de este cajón son totalmente personalizables y cada uno de vosotros podéis elegir las
medidas de la base, dependiendo del tamaño de las piezas que queréis moldear. Tened en cuenta que lo
que mida el cajón será el área máxima sobre la cual, la máquina podrá trabajar. Todas las medidas de la
máquina son personalizables y podéis usar este tutorial como guía pero el tamaño de vuestra CNC es
cosa vuestra.
Una vez hemos construido la base de la máquina, vamos a hacerle unos «raíles» (se aprecian en la foto
superior) para que el cabezal principal pueda rodar hacia delante y hacia atrás. Estas guías son
simplemente dos listones de madera que van pegados los dos lados opuestos del cajón. Al final debería
quedar algo parecido a esto:
Sobre las guías que acabamos de colocar rodará la sección principal de la máquina, la cual se moverá en
el sentido del eje X, y sobre esta se encontrará el cabezal que se mueve en sentido del eje Y y Z. Pero esto
lo veremos un poco más abajo.
Ahora con dos tablones de madera construimos una especie de estructura en forma de portería, como
se muestra en la imagen, pero teniendo en cuenta que sobre la tabla que va en horizontal hay que hacer
unas ranuras para que corran las ruedas del cabezal principal. Esta es la imagen de la estructura:
Por debajo, la estructura del cabezal, lleva un listón que une las dos paredes para mayor estabilidad y
que permite, que la varilla roscada pase por él para moverlo. (No os asustéis por el cableado, que ya lo
explicaré en el próximo artículo y veréis que fácil).
En esta foto vemos un detalle de las ranuras del cabezal, hay dos, una arriba (la que se ve) y otra en la
parte inferior, para que el cabezal se sujete mejor:
En esta otra imagen se ve con detalle, donde se encuentran las guías del cajón y como encaja en ellas el
cabezal y sus ruedas. Estas, son ruedas de puertas correderas, como menciono en el vídeo. Las podéis
encontrar en cualquier ferretería.
Con lo que llevamos hasta ahora la máquina debería haber tomado ya forma. Centrémonos entonces en
el cabezal que es donde va la fresadora, la cual sube y baja. Esta es la parte más complicada de todo el
proceso y esta pieza debe quedar perfecta para evitar cualquier movimiento o cabeceo de la máquina
cuando este funcionando.
Debemos coger tres tablones de madera y unirlos para formar una caja de tres paredes, dentro de la
cual se colocará la fresadora. Dicha caja deberá llevar dos tapas, arriba y abajo, la de la parte superior,
con un agujero para que el eje del motor pase por ella y la de la parte inferior, con un orificio para que la
varilla roscada encaje y no se salga de su eje de rotación. Dentro de esta tabla y en dirección vertical,
deben ir tres varillas guías como las de la imagen, para que la pieza central se desplace a lo largo del eje
Z, aunque recomiendo dos tablas para sujetar la fresadora por dos partes y que no cabecee, ya que
cuando funcione hará presión sobre la punta de la fresadora y esta podría desviarse.
En esta otra imagen se puede ver el cabezal totalmente acabado y con la fresadora insertada.
Una vez que toda la estructura está construida procedemos a colocar los motores paso a paso.

La colocación de los motores debe hacerse con cuidado para evitar el cabeceo de estos. Primero
haremos un agujero en cada una de las tablas de una medida adecuada para que pase el eje del motor.
Introducimos los ejes en los orificios y conectamos las varillas roscadas a ellos. La conexión de la varilla
roscada la dejo a vuestra imaginación, aunque mi sistema fue meter en el eje un taco metálico, de los
que se usan para colgar lámparas del techo, estos tienen una entrada roscada y una lisa, pues metéis el
eje en la lisa y la varilla en la rosca. Estas piezas las venden en cualquier ferretería. Aquí dejo un detalle
de la unión del motor a la varilla:

Las varillas roscadas para el eje X las vamos a cortar de la medida que tenga como profundidad el cajón
principal, para el eje Y, las cortamos de la medida entre los dos tablones laterales que sostienen el
cabezal y la del eje Z se corta respecto a la altura de vuestro cabezal.
Todo el cableado y la electrónica, así como la programación de Arduino lo explicaré en los próximos
artículos.

Hardware
En esta parte vamos a ver como instalar el hadware necesario para controlar la máquina.

Materiales
 3 Chips A4988 Pololu Robotics
 1 Arduino UNO
 1 Fuente alimentación ATX
 1 Ventilador (opcional)
 1 placa PCB
 3 motores paso a paso (elegid el modelo que os apetezca)
 Soldador
 Estaño
 Fundente
Como expliqué en la primera parte del tutorial los chips A4988 de Pololu son unos controladores
de motores paso a paso, que mediante las señales enviadas por Arduino controlarán los motores.
La explicación de como funciona un motor paso a paso está también en el tuto anterior y la podéis
consultar.
Lo primero que vamos ha hacer es plantear como vamos a diseñar la placa PCB, yo compré esta
en dx.com y sobre ella soldé los componentes.

Toda la electrónica debería quedar así:


Aquí otra imagen desde más cerca:
Aquí dejo una foto de la placa PCB sin el ventilador: (Me decidí por cables en vez de pistas, una
chapucilla).
Os dejo una imagen de como deben ir todas las conexiones y os adjunto el archivo de Fritzing (programa
con el que he hecho la imagen) para que os lo descargueis y lo veais más de cerca. Pinchad aquí para
descargar el archivo. En este otro enlace os dejo la web para descargar Fritzing.
Los chips A4988 deben estar conectados como se explica en este vídeo:
https://www.youtube.com/watch?v=lvaBb-rPepY

La fuente que vamos a utilizar es una ATX (una fuente de ordenador) con la que
podremos alimentar desde los chips hasta los motores y la fresadora. He elegido una ATX ya que es la
más barata y ademas la podéis sacar de un ordenador viejo. Para hacerla funcionar necesitais puentearla
y para ello os dejo este vídeo:
https://www.youtube.com/watch?v=sGXi8Uh35O4

La fuente tiene salidas de diferentes voltajes para poder conectar toda la electrónica a la misma ATX y así
solo usamos una toma de corriente a la pared.
Los voltajes de las diferentes salidas de la fuente se muestran es la siguiente imagen:
Os dejo una descripción de los voltajes del chip (también se ven en el vídeo) y de la utilidad de cada pin:
 VDD — Entrada de corriente del chip: 3,3 V / 5 V cables naranja o rojo de la ATX. (Podéis elegir
entre ambos voltajes aunque recomiendo 3,3 V)
 GND — Tierra del A4988. Se conecta con la tierra de la ATX, cables negros de la ATX.
 VMOT — Entrada de alimentación para los motores paso a paso. 7 V / 36 V (el voltaje depende
del motor y debe corresponder con el del motor, ya que es este voltaje el que se le pasará al
motor para que se mueva.)
 GND — Es la tierra del motor. Esta debe estar conectada con la tierra de los A4988!!!.
 RESET — Resetea el chip para devolverlo a las condiciones iniciales. Y cambia entre los modos
Stand-bye y Enable.
En esta imagen se ven las conexiones:
IMPORTANTE: Para evitar el mal funcionamiento de la máquina todas las tierras deben estar conectadas
entre sí, es decir, que la tierra de los A4988 debe estar conectada con la de los motores paso a paso y con
la tierra de Arduino. No es problema que los voltajes sean diferentes, aunque el chip tenga 5 V y el motor
12 V las tierras se pueden interconectar entre sí. Eso sí, esto funciona si la fuente es una ATX, no he
probado si es peligroso con otras fuentes asi que si no usais una ATX, no conectéis nada entre sí y
probad antes. Aunque para mi la mejor opción es una ATX ya que es la más económica y potente que
encontré.
Una vez todos los A4988 esten conectados a la fuente y los motores estén conectados a los A4988,
podemos proceder a conectar los cables de pulsos de Arduino.

Control de los A4988 mediante Arduino


Arduino controlará los chips mediante los pines de salidas digitales. De cada chip, vamos a usar 3
entradas digitales (STEP,DIR y RESET), y por tanto, harán falta, 3 salidas digitales de Arduino. Cuando
arduino envíe un pulso a STEP el motor avanzará un paso. Si DIR recibe señal, el motor girará en sentido
de las agujas del reloj, si no recibe, en sentido contrario. El pin RESET se usa para resetear el chip.

Los pines que vamos a usar de nuestro Arduino son los siguientes:

 Pines 2, 4 y 7 para el los pines STEP de los A4988


 Pines 3, 5, y 6 para los pines DIR de los chips
 Pines 9, 10, 11 para los pines RESET de nuestros A4988
A continuación os dejo un esquema de las conexiones del chip:
Como se puede observar los pines DIR usan salidas PWM de Arduino, y los demás simplemente usan
salidas normales, por lo tanto no es obligatorio seguir este esquema sino simplemente conectar a PWM
los DIR y los demás a donde os apetezca.
Opcionalmente podemos colocar un ventilador o un disipador a los chips debido a que si el motor es de
más de 1 Amp el chip A4988 se calienta y puede quemarse. Para motores de menos de 1 Amp esto no es
necesario.
La programación de Arduino y de la máquina así como el software necesario para mecanizar piezas lo
veremos en el próximo artículo.
Un saludo!!!

Software
Hola, bienvenidos a la tercera parte del tutorial de cómo construir una CNC casera de tres ejes. En esta
parte vamos a tratar el software.
Todo el software que se va usar en este tutorial es totalmente gratuito y se puede descargar y modificar
libremente. Todos los programas estan disponibles para Windows y Linux ( a excepción de Txapu CNC ) el
cual debe ser instalado en Linux sin más remedio, por tanto debemos instalar Linux (Ubuntu es el que
recomiendo) en nuestros PCs.
El software es la parte que comunica el ordenador con Arduino. Vamos a usar algunos programas, que
iremos viendo continuación.

En primer lugar voy a explicar el funcionamiento de todo esto.

Nosotros hacemos un dibujo 2D o un objeto 3D usando un software de diseño, vectorial en el caso de los
dibujos 2D, como Inkscape, o en 3D como es el caso de Blender.

Una vez tenemos lo que queremos mecanizar con la máquina, lo pasamos a otro programa que a partir
del dibujo crea un código llamado Código G, el cual tiene todas las instrucciones para que la máquina se
desplace hasta las coordenadas adecuadas para crear la figura o gravado o PCB o lo que quiera que
estéis modelando.
El tercer paso es enviar el código a la máquina, es decir, mandarlo desde el ordenador a Arduino, el cual
lo interpreta gracias al Firmware que lleva en su interior y mueve los motores de la forma adecuada. Para
ello se usa un programa llamado Txapu CNC que ya explicaremos su funcionamiento.
Comenzemos el tutorial con la explicación de como crear el código G a traves de un archivo
.SVG previamente creado en Inkscape ( la creación del archivo .SVG no viene al caso en este tutorial pero
en youtube hay miles de ejemplos de como dibujar con Inkscape ) al igual podeis hacer el dibujo con
Corel Draw o con Adobe Fl ash o cualquier programa que
permita el diseño vectorial.
El programa que vamos a usar es PyCam, gratuito y disponible para windows y linux. Este software nos
permite pasar todos nuestros dibujos 2D y modelos 3D en código G. De forma muy intuitiva y sencilla y
también tiene un visor en 3D para ver en tiempo real simulaciones de nuestros modelos.

Hagamos una pequeña introducción de como usarlo:

Link de descarga de Pycam: (Para principiantes descargar y ejecutar solo el primer archivo)

http://pycam.sourceforge.net/download.html
Para abrir archivos .SVG debe estar instalados dos programas más, Inkscape y Pstoedit (debajo de la
imagen dejo los links).

En esta imagen se aprecia donde hay que acceder para ubicar los programas una vez los tengamos
instalados.

Link de Inkscape:

http://inkscape.org/download/?lang=es
Link de Pstoedit:

http://www.pstoedit.net/
Lo primero es abrir un archivo nuevo:
Después seleccionamos la pestaña Task y seleccionamos las opciones deseadas, en mi caso quiero
gravar en una tabla el texto mostrado en pantalla asi que selecciono «Gravure»
Ahora picamos en «Generate Toolpaths» y esperamos a que termine.
Cuando todo este listo vamos a la pestaña «Toolpaths» y allí «Export all» y guardamos el código G
generado donde deseemos guardarlo.
Ahora abramos el archivo de codigo G con Txapu CNC.

Pasemos ahora a enviar el código que acabamos de crear a nuestra CNC.

Para ello vamos a usar Txapu CNC un programa que solo esta disponible para Linux, por tanto como dije
al principio debeis instalarlo, yo recomiendo Ubuntu pues es la distribución de Linux más facil de usar y
con más seguidores. Instalar Ubuntu es muy sencillo y de nuevo en Youtube hay miles de tutoriales.
Enlace para descargar Txapu CNC
Todo esto se encuentra explicado en este video:

https://www.youtube.com/watch?v=UU-XAsuWIUw

Una vez que Txapu CNC envie el archivo la CNC comenzará a trabajar con él.

En este video podéis ver como se grava en una tabla con la CNC usando Txapu CNC y un modelo
diseñado en Pycam.
https://www.youtube.com/watch?v=he4WVP8Xfok

Como sabréis aun nos queda la programación de Arduino para que se comunique con el ordenador, esto
lo veremos en la última parte del tutorial.

Firmware
Hola, esta es la última parte del tutorial de como construir una CNC casera, espero que muchos de
vosotros tengáis ya la vuestra construida y estéis casi listos para comenzar a fabricar piezas en 2D y 3D.
En esta última parte vamos a ver como programar Arduino, para que, interprete el código G que le envía
el ordenador y mueva los motores paso a paso.

Arduino debe llevar en su interior un Firmware, el cual como he mencionado, actua de intérprete
del Código G. Este firmware se puede descargar de este enlace y ahora veremos como programarlo para
adaptarlo a las necesidades de nuestra máquina como por ejemplo, la velocidad, medidas, aceleración…
Procedamos a ver como programar el microcontrolador:

En este vídeo tenéis muy bien explicado como programar Arduino aunque también lo explico en esta
guía para que os sea más sencillo comprenderlo.
https://www.youtube.com/watch?v=3Md-xvibwWk
Bien, una vez descargado el firmware que os he dejado en el enlace, debeis abrirlo con el IDE de Arduino,
que se descarga desde este aquí, en caso de que no lo tengáis instalo ya.
Para abrir el firmware descargado, abrid desde el IDE de Arduino el archivo con este nombre:
«reprap_new_firmware» Todos los demas archivos abrirán automaticamente al abrir este.

Como veréis los archivos se reparten cada uno en una pestaña.


Nosotros solo modificaremos datos en dos de ellas, una de ellas la pestaña «rsteppercontroller» en la
cual debemos modificar el Bitrate. En la imagen podemos ver el amarillo cual es la parte que debemos
cambiar, y en caso de que el valor sea diferente de 19200 debéis cambiarlo a 19200.
Ahora pasemos a la pestaña INIT y en ella haremos las modificaciones de la velocidad, pasos por
vuelta y salidas de los pines digitales de Arduino.
Ajuste de los pasos por milímetro
¿Qué significa esto?, pues son la cantidad necesaria de pasos que debe dar el motor paso a paso para
que la varilla roscada avance 1 mm. Esto es característico de cada varilla y por ello debéis medirlo
vosotros. Haced girar a la varilla y medid cuantas vueltas da, para avanzar 1 mm. La parte de la imagen
que veis de color amarillo es la que debéis modificar. El valor que hay que poner es la cantidad de vueltas
de la varilla multiplicada por 200 que son los pasos que da el motor en una vuelta.
Nota: Se observan 2 valores, uno para los pasos por pulgada y el otro para los pasos por milimetro. Las
pulgadas podéis dejarlas tal cual, pues no van a influir en el código.

Feedrates
Ahora vamos a mirar los feedrates, es decir, la «velocidad» con la que los A4988 alimetarán a los
motores. Esto, se ajusta dependiendo del motor, hay motores que necesitan 100 y motores que
necesitan 1000, en mi caso, los motores necesitan entre 90 y 250, dependiendo la velocidad a la que
quereis que giren los motores.
¿Cómo comprobar cual es el Feedrate adecuado para tus motores?
Con Txapu CNC probáis a hacer girar los motores usando el control manual, variando poco a poco el
Feedrate en TxapuCNC, si el motor hace un ruido que parece un avión a reacción, os estáis pasando un
montón con el Feedrate, bajadlo!!!. Si el motor suena como una carraca, no es suficiente, subidlo!!!.

Pins
En esta parte de la programación del chip, vamos a asignar los pines digitales de Arduino a los pines de
los A4988. Todo esto es tan sencillo como escribir el número del pin Arduino que queremos asignar al
pin del chip.
Por ejemplo, X_STEP_PIN es el pin STEP del Chip A4988 que controle al motor del eje X, por tanto
asignamos el número de pin de Arduino correspondiente a este pin, por ejemplo el 4, aunque podéis
asignar los que queráis, teniendo siempre en cuenta que los pines PWD son para los pines DIR de los
A4988.

Extruders pins
En estas últimas líneas de código, asignaremos los pines para una extrusora, en caso de que usemos
una, ya que este tutorial esta orientado al uso de una fresadora, pero igualmente el usuario puede
decidir si colocar una extrusora en lugar de una fresadora y para eso esta esta parte del código, para que
definais los pines correspondientes a la extrusora. ( Como he dicho antes, en caso de que queráis poner
una ).
Con todo esto, y con mucha pena, aquí, acaba el tutorial de «Como hacer una fresadora CNC casera de 3
ejes»

Estoy muy contento de haberlo escrito y espero que tanto mis videos como el tutorial le sirvan a mucha
gente.

Os dejo un enlace a mi canal de Youtube, por si tenéis dudas de algo y queréis verlo en video.

Podéis comentar todo lo que queráis y hacer todas las preguntas que queráis que las responderé
encantado, si queréis dejar el correo electrónico, para que os responda por e-mail, dejadlo, si no,
formulad directamente vuestras preguntas en la página de comentarios.
Ha sido todo un placer y hasta la próxima!!!!!!!!

Un saludo!!!

También podría gustarte