SlideShare una empresa de Scribd logo
1 de 55
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
1
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
2
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
3
Contenido
1 INTRODUCCIÓN.................................................................................................... 4
2 CONTROL NUMÉRICO COMPUTERIZADO (CNC).......................................... 4
3 OBJETIVOS............................................................................................................. 6
4 ESPACIO DE TRABAJO ........................................................................................ 7
4.1 Herramientas...................................................................................................... 7
4.2 Materiales........................................................................................................... 8
5 DESARROLLO DE LA MÁQUINA....................................................................... 8
5.1 DISEÑO PRELIMINAR ................................................................................... 9
5.1.1 Chasis ....................................................................................................... 10
5.1.2 Sistema de transporte y deslizamiento...................................................... 14
5.1.3 Sistema de transmisión............................................................................. 14
5.1.4 Motores..................................................................................................... 15
5.2 ETAPA DE ELECTRÓNICA Y POTENCIA................................................. 15
5.2.1 Programación de Arduino......................................................................... 15
5.2.2 Montaje del shield en la placa Arduino y los drivers............................... 16
5.2.3 Ajuste Vref controladores A4988............................................................. 20
5.2.4 Disipación del calor.................................................................................. 23
5.2.5 Conexionado de Motores.......................................................................... 24
5.2.6 Alimentación ............................................................................................ 29
5.3 MONTAJE MECÁNICO ................................................................................ 29
5.3.1 Base (eje X) .............................................................................................. 30
5.3.2 Puente (eje Y)........................................................................................... 33
5.3.3 Cabeza (eje Z)........................................................................................... 36
5.4 CABLEADO ELÉCTRICO............................................................................. 39
5.5 INTERFASE MÁQUINA ORDENADOR ..................................................... 43
5.5.1 Universal G-Code Sender......................................................................... 43
5.5.2 Configuración de los parámetros.............................................................. 43
6 EJEMPLO PRÁCTICO.......................................................................................... 48
7 MEMORIA ECONÓMICA.................................................................................... 52
8 CONCLUSIONES.................................................................................................. 53
9 BIBLIOGRAFÍA.................................................................................................... 54
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
4
1 INTRODUCCIÓN
La ideación y materialización de proyectos es algo connatural al ser humano. Hacemos,
creamos y nos expresamos para sentirnos plenos. Las cosas físicas que hacemos son
como pequeños pedazos de nosotros y parecen encarnar porciones de nuestro alma.
Desde pequeños observamos, reproducimos y mejoramos lo que vemos con el fin de
enriquecer nuestra calidad de vida. Este documento alberga el proceso de construcción
de una máquina de Control Numérico Computerizado (CNC) casera. A través de
imágenes y textos he dejado manifiesta mi propia personalidad mediante el uso de una
serie de materiales y herramientas, elaborando con entusiasmo y paciencia las piezas
que conforman el puzzle completo hasta llegar al resultado final.
Todos podemos ser creadores. Hoy en día la tecnología es más barata, más abierta, más
accesible y gracias a esto más personas pueden permitirse adquirirla y utilizarla para
crear sus propios proyectos, bocetos o prototipos. No es necesario inventar una patente
revolucionaria. Algo tan simple como reutilizar la rueda de una bici vieja puede cambiar
la vida de muchas personas.
Hasta hace no mucho tiempo, las innovaciones tecnológicas eran creadas
exclusivamente por grandes corporaciones multinacionales. Actualmente cada individuo
dispone de las herramientas de fabricación de “escritorio” que le permiten desarrollar
sus propios productos y hacer realidad sus ideas sin incurrir en grandes inversiones.
Ejemplos de estas herramientas son la impresora 3D, el cortador láser, el escáner 3D y
el software CAD (Diseño asistido por ordenador).
Aprender a hacer es lo primero a tener en cuenta para convertirse en un buen maestro,
constructor o artesano. Nunca dejaremos de aprender, surgirán nuevas técnicas,
materiales y procesos que constituirán una forma de vida. Construir un camino de
aprendizaje que nos proporcione una vida gratificante es primordial.
Ver finalmente tu proyecto terminado tras tantas horas dedicadas en su desarrollo y
construcción, te da tal alegría y satisfacción que no es para describirla sino para sentirla.
Fuiste tú mismo el artífice, el ingeniero que dirigió y realizó los trabajos sin más
orientación que unos tutoriales y una gran afición y entusiasmo. Conseguiste crear algo
por ti mismo, te superaste a ti mismo.
2 CONTROL NUMÉRICO COMPUTERIZADO (CNC)
El concepto de Control Numérico Computerizado (CNC) se trata básicamente de una
computadora que controla y monitorea una máquina capaz de realizar una multitud de
trabajos mecánicos. Este concepto ha sido el fundamento de los sistemas robóticos más
avanzados de la actualidad.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
5
Actualmente, las máquinas CNC se encuentran en diversos entornos de fabricación,
tanto en grandes fábricas industriales como en pequeños talleres de todo tipo.
Prácticamente no existe un ámbito con un proceso de fabricación que no dependa de
estas eficientes y precisas máquinas como las fresadoras, tornos, máquinas de corte
láser, impresoras 3D, brazos robotizados, etc.
Una máquina de control numérico se caracteriza por los siguientes aspectos básicos:
 La computadora que controla la posición y velocidad de los motores que
accionan los diferentes ejes de la máquina CNC le permite hacer movimientos
precisos que no se pueden lograr manualmente, como círculos, líneas diagonales
o figuras tridimensionales.
 Las máquinas CNC son capaces de mover la herramienta al mismo tiempo en
diferentes ejes para ejecutar trayectorias multidimensionales.
 Una máquina CNC, una vez programada, ejecuta todas las operaciones de
manera autónoma, sin necesidad de que el operador esté manejándola.
La fabricación asistida por ordenador ofrece importantes ventajas con respecto a los
métodos tradicionales, ya que éstos pasan de estar manejados por un operador humano a
hacerlo por ordenador. Esto da lugar a avances en torno a la productividad, precisión,
eficiencia y complejidad alcanzadas.
Al igual que los sistemas CNC, también han evolucionado otras técnicas que
intervienen en los procesos de fabricación dando lugar a los procedimientos
denominados CAD/CAM.
Los sistemas CAD conectados a equipos de fabricación asistidos por ordenador
conforman un método integrado CAD/CAM. El flujo de trabajo resultante se representa
gráficamente:
CAD (acrónimo de Computer Aided Design) son sistemas de Diseño Asistido por
Ordenador que permiten crear un modelo virtual 3D de una pieza o sólido.
CAM (acrónimo de Computer Aided Manufacturing) son sistemas de Fabricación
Asistida por Ordenador que generan un código que define las trayectorias y los
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
6
movimientos que tiene que seguir la herramienta de la máquina CNC para fabricar la
pieza diseñada en CAD.
3 OBJETIVOS
El objetivo de este proyecto es crear una máquina de Control Numérico Computerizado
(CNC) empleando materiales de bajo coste y software libre para uso personal y
didáctico.
Para realizar este trabajo se han tenido en cuenta los siguientes requisitos:
Mecanismo de bajo coste
Se pretende construir un dispositivo con materiales de coste económico que se puedan
adquirir de manera asequible. No obstante, la máquina debe ser robusta y disponer de
una fiabilidad que permita realizar trabajos con un grado de precisión y calidad
aceptable.
Uso de plataformas libres
Fundamental si se quiere reducir el precio al máximo. El empleo de software gratuito no
sólo supone un ahorro de costes, sino que permite acceder a una gran comunidad de
desarrolladores sin ánimo de lucro que presta ayuda sólo por el hecho de aprender y
hacer.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
7
Obtención del diseño mediante software CAD
Los proyectos de ingeniería suelen alcanzar unos niveles de complejidad que resulta
muy complicado llevarlos a cabo si no se realiza un diseño previo ayudado por sistemas
informáticos y simuladores que aseguren el correcto funcionamiento de todos los
parámetros.
Implementación del sistema de control CNC de tres ejes
Los sistemas CNC empleados en la actualidad presentan una estructura similar de
funcionamiento. La principal diferencia está en el número de ejes, el tipo de cabezal y la
tarea a realizar y el grado de sensorización.
El controlador empleado en este proyecto estará basado en Arduino, acorde a las
premisas establecidas de bajo coste y plataforma libre.
Realización de un ejemplo práctico
El objetivo final de este proyecto es comprender los fundamentos teóricos y aplicarlos a
través de un ejercicio práctico.
4 ESPACIO DE TRABAJO
Es importante disponer de un lugar de trabajo confortable para llevar a cabo las tareas
de manera adecuada. Debe haber espacio suficiente y buena iluminación para trabajar
cómodamente. No es necesario disponer de un taller especial para realizar todas las
actividades como si fuera un taller mecánico profesional, aunque eso sería algo ideal,
basta con disponer de un rincón adecuado al trabajo al realizar.
El taller dispondrá básicamente de una mesa sólida y amplia en la que poder trabajar
con comodidad y seguridad. Es conveniente que tenga un cajón o varios para guardar
los materiales y las herramientas.
4.1 Herramientas
Las herramientas son necesarias para hacer bien el trabajo. Este es el equipo mínimo
que debe emplearse:
1. Sierra para metal
2. Destornillador plano y estrella de diferentes tamaños
3. Llaves planas hexagonales de diferentes tamaños
4. Torno de mesa
5. Martillo
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
8
6. Alicates
7. Juego de limas de diferentes tamaños
8. Taladro eléctrico
9. Juego de brocas para distintos materiales
10. Tijera de cortar chapa
11. Cortaalambre
12. Metro metálico flexible
13. Soldador de estaño
14. Hilo de estaño
15. Polímetro
16. Botador (puntero)
17. Calibre
18. Escuadra y cartabón
19. Regla
20. Tijera
21. Rotuladores
4.2 Materiales
Los materiales empleados en la construcción de la máquina son adquiridos en centros de
bricolaje, ferreterías, centros de suministros de componentes industriales e internet, en
el caso de la electrónica y piezas específicas de precisión.
La máquina está construida con materiales hechos de aluminio, acero galvanizado,
acero inoxidable, madera de aglomerado y teflón. En algunas piezas se ha empleado
pintura de galvanizado en frío.
5 DESARROLLO DE LA MÁQUINA
El desarrollo de la máquina se lleva a cabo a través de un proceso de construcción
organizado según el siguiente orden cronológico:
1. Se realiza el diseño conceptual de toda la estructura mecánica. Utilizando una
herramienta de diseño CAD. A través de ordenador, se determinan las
dimensiones y la geometría de los elementos que constituirán cada parte de la
máquina. Como resultado se obtiene un modelo virtual que nos da una idea
principal de cómo será nuestro proyecto.
2. Una vez obtenida la idea principal y los planos iniciales iniciamos el montaje de
los elementos que constituyen la máquina. En este proyecto los componentes se
han adquirido en ferreterías y proveedores de suministros mecánicos por lo que
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
9
el diseño CAD inicial se ha visto modificado ya que fue preciso adaptar el
ensamblaje de la máquina a los componentes que se encuentran en el mercado.
3. Finalizado el montaje mecánico damos paso a la etapa de electrónica y potencia.
En esta parte se realiza la programación del microcontrolador y el montaje de
todos los componentes electrónicos encargados de controlar los movimientos de
la máquina.
4. A continuación, se monta en la estructura mecánica el sistema electrónico
construido en el apartado anterior y se traza el cableado eléctrico que conecta la
electrónica con los motores.
5. Finalmente, se instala el programa de control en el ordenador y se configura el
GRBL controller. Ya está preparada la máquina para realizar las primeras
pruebas.
5.1 DISEÑO PRELIMINAR
El diseño de la máquina ha sido creado a través del programa de diseño 3D CAD
paramétrico CATIA V5 Student Edition. Es un diseño conceptual y será diferente del
montaje real ya que el proyecto ideado deberá adaptarse en su materialización a las
piezas que pueden adquirirse en ferreterías y proveedores de componentes mecánicos.
Mandar fabricar a un tornero por ejemplo las piezas diseñadas en el ordenador
supondría un coste muy elevado en el precio final de la máquina y ese no es el objetivo
de este proyecto.
Una vez que la máquina esté constituida y puesta en funcionamiento ya se podrán
trasladar al modelo CAD inicial todos los componentes finales empleados. En otras
palabras, será posible reproducir la máquina real construida en el entorno virtual del
ordenador. Dicho esto entonces, como base de partida, se empleará este primer diseño
como modelo conceptual.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
10
5.1.1 Chasis
La imagen de la máquina presenta tres vistas del modelo correspondientes al alzado,
planta, perfil y perspectiva isométrica. Es preciso pues definir un sistema de
coordenadas cartesianas para la máquina.
El eje de coordenadas establecido es el siguiente: La base está definida como eje Y, el
puente como eje X y la cabeza vertical como eje Z.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
11
Base (eje X)
La base, correspondiente al eje X sirve como soporte para el eje Z y se desliza sobre el
puente. Presenta la parte naranja de la imagen:
Los datos aportados por el programa CAD para esta parte de la máquina (si se incluye el
peso de la herramienta acoplada en el cabezal Z) dan una masa de 4,683kg.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
12
Puente (eje Y)
La base, que se desliza sobre la bancada, corresponde al eje Y y sirve como soporte para
los ejes X y Z. Presenta la parte naranja de la imagen:
Los datos aportados por el programa CAD para esta parte de la máquina (si se incluye el
peso de la herramienta acoplada en el cabezal Z) dan una masa de 10,564kg.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
13
Cabeza (eje Z)
Esta es la parte fundamental de toda la estructura ya que todo el sistema radica en este
punto. Es aquí donde se debe alcanzar la máxima precisión de la máquina. La cabeza,
correspondiente al eje Z se desliza sobre el carro de color naranja que se muestra en la
imagen. Este carro a su vez se desliza sobre el puente (eje X), el cual se desliza sobre la
bancada (eje Y).
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
14
Los datos aportados por el programa CAD para esta parte de la máquina (si se incluye el
peso de la herramienta acoplada en el cabezal Z) dan una masa de 2,51kg.
La masa total del conjunto (exceptuando la bancada sobre la que se soporta) es de
17,757 kg. Este elevado valor da robustez al conjunto, pero supone una inercia mayor
que dificulta el control de sus movimientos.
5.1.2 Sistema de transporte y deslizamiento
Los ejes XYZ de la máquina son partes móviles que deben deslizar con precisión y de
forma suave por las guías. En la construcción de máquinas CNC se emplean diferentes
sistemas de deslizamiento:
 Casquillos o cojinetes de fricción.
 Rodamientos lineales
 Barras
 Guías lineales.
El sistema de deslizamiento utilizado en esta máquina corresponde a casquillos de
bronce sinterizado autolubricados y barras de acero inoxidable. Se adopta esta decisión
debido a su simplicidad, bajo coste y mantenimiento.
5.1.3 Sistema de transmisión
El sistema de transmisión es la parte de la máquina que convierte el movimiento de giro
del motor en movimiento lineal. Este mecanismo se puede realizar de tres formas:
Mediante varillas roscadas, husillos o correas dentadas.
La solución óptima de transmisión es emplear husillos calibrados, ya que son muy
precisos, pero su precio es elevado.
Esta máquina empleará varillas roscadas de acero métrica M10, paso 1,25 mm para los
ejes X y Z y correas dentadas para el eje Y. Estos sistemas de transmisión tienen una
buena precisión y su precio no es muy elevado.
En un principio, tal y como se muestra en el diseño preliminar, se pensó utilizar varilla
roscada en todos los ejes de la máquina pero finalmente se optó por realizar el eje Y con
dos correas dentadas accionadas por dos motores. Esta solución aporta en esta parte de
la máquina más robustez y fiabilidad que la varilla roscada.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
15
5.1.4 Motores
La máquina realiza los movimientos de manera automática a partir de las órdenes
enviadas desde el ordenador. El movimiento se origina en los motores una vez recibida
la señal enviada desde el ordenador. Hay dos tipos de motores eléctricos utilizados en
las máquinas CNC: Los motores paso a paso PaP y los servomotores.
Los motores PaP ejercen bastante fuerza y son muy precisos. Serán los que empleemos
en la fabricación de esta máquina.
5.2 ETAPA DE ELECTRÓNICA Y POTENCIA
La electrónica empleada en este proyecto está basada en Arduino, una plataforma
abierta que permite crear prototipos fáciles de usar.
Además se ha optado por emplear un shield acoplado a la placa Arduino
específicamente diseñado para funcionar con código GRBL. De esta manera se obtiene
un mayor rendimiento y control de los motores.
5.2.1 Programación de Arduino
En primer lugar y antes de comenzar con el montaje de la electrónica, es necesario
configurar Arduino para que trabaje con GRBL.
El programa GRBL es un archivo hexadecimal que no se puede introducir al
microcontrolador de Arduino directamente desde el IDE. Para realizar esta operación es
necesario acudir a un programa específico que será el encargado de “flashear” el código
de GRBL sobre el microcontrolador de Arduino.
Recordamos que el código fuente que contiene el código GRBL es un archivo
hexagesimal que podemos descargar de la web Github en el siguiente link:
https://github.com/grbl/grbl
La carga del código fuente la realizaremos a través del programa Xloader. Este
programa será el encargado de flashear el firmware de Arduino con el código GRBL.
La descarga de XLoader la realizamos en el siguiente link:
http://russemotto.com/xloader/
Una vez obtenidos el archivo hexagesimal con el código GRBL y el programa Xloader
se inicia el proceso de instalación del código GRBL en la placa Arduino.
1. Conectamos la placa Arduino al ordenador a través del cable USB
2. Ejecutamos Xloader
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
16
3. En Hex file subimos el código fuente GRBL y pulsamos Upload. El archivo
se carga en la placa de Arduino que empezará a parpadear.
Hecho esto, el código GRBL queda instalado en la placa Arduino. Sólo en este
momento y no antes, una vez que el controlador queda programado, es cuando se inicia
el montaje del shield y los drivers en la placa de Arduino y el resto de componentes que
forman el sistema electrónico.
5.2.2 Montaje del shield en la placa Arduino y los drivers
El shield empleado en este proyecto es el shield CNC V3.0. Este shield incluye un
cuarto driver que permite duplicar la fuerza motriz de un motor o bien clonar dos
motores. En nuestro caso, como se tomó la decisión de emplear dos motores en el eje Y,
este cuarto driver nos permite clonar el driver del eje Y, y así disponer de dos motores
actuando de manera idéntica. Los cuatro drivers empleados son Pololu A4988.
En el siguiente gráfico se muestra un esquema del shield CNC V3.0 donde se aprecian
todos sus pines.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
17
Configuración de micropasos
Los motores paso a paso (PAP) que actúan sobre los ejes X Y Z de la máquina pueden
configurarse en micropasos de manera que la máquina pueda alcanzar un grado de
precisión en su trabajo mayor. Es aconsejable que todos los motores tengan la misma
configuración.
La configuración de los micropasos se realiza a través de los jumpers que están
instalados en los pines coloreados en rojo que se muestran en la siguiente imagen:
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
18
Dependiendo de la configuración establecida (M0, M1 o M2) se adquieren diferentes
grados de resolución (diferentes grados de precisión) en el trabajo final de la máquina.
La siguiente tabla muestra las configuraciones para los controladores Pololu A4988:
En este proyecto utilizaremos la configuración que viene por defecto en la placa.
Clonación del cuarto eje
Como hemos dicho anteriormente, el eje Y necesita dos motores para moverse por lo
que clonaremos el driver Y con el driver A. Esto se lleva a cabo colocando un jumper en
los pines señalados en rojo. De esta forma estos dos motores actuarán de manera
idéntica.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
19
Antes de montar el CNC shield V3 en la placa Arduino es aconsejable asegurarse que
está desconectada del PC. La siguiente imagen muestra el montaje completo del CNC
shield V3 y los cuatro drivers Pololu A4988
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
20
5.2.3 Ajuste Vref controladores A4988
El driver A4988 dispone de un potenciómetro que permite regular la intensidad que el
driver suministra a cada bobina del motor. Se trata del pin Vref.
El ajuste del voltaje de referencia Vref es de vital importancia porque si no se hace
correctamente el motor podría, o bien trabajar por debajo de sus posibilidades óptimas,
o bien el driver llegaría a quemarse por un exceso de intensidad.
Para obtener la Vref adecuada empleamos la fórmula que viene en la ficha técnica del
driver Pololu A4988:
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
21
La Rs (resistencia de sensado) viene indicada en el controlador en la parte que aparece
en la siguiente imagen:
R100 corresponde a una Rs de 0,1 Ohmios
La intensidad máxima ITripMAX es la correspondiente a la intensidad máxima que se
refleja en los motores. Los motores de los ejes X e Y tienen una intensidad de 1 A y el
motor del eje Z tiene una intensidad de 4,7 A (lo dejaré en 1 A)
Sustituyendo valores en la fórmula obtenemos un valor Vref = 0,8 V.
En la ficha técnica del driver Pololu A4988 se desarrolla la siguiente tabla en la que
aparecen valores de intensidad para paso completo, medio paso, cuarto paso, etc. Se
aconseja emplear pasos completos (Full step) para no perder pasos.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
22
Los casos en los que un motor puede perder pasos son los siguientes:
 Baja corriente
 Bajo voltaje
 Alta velocidad
 Exceso de carga
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
23
Volviendo a la tabla vemos que en la configuración “pasos completos” la intensidad
total que se obtiene es el 70% de la intensidad máxima. Entonces debemos limitar el
voltaje Vref al 70%. (Para cambiar el Microstepping es necesario utilizar unos
jumpers, pero en este caso vamos a dejar el shield en su configuración por defecto).
El valor Vref final (70%) es 0,8 x 0,7 = 0.56 V
El ajuste del Vref se realiza de la siguiente manera:
1. Conectamos la placa al pc por USB para alimentarla
2. Conectamos el multímetro a 2 V y posicionamos las puntas de los conectores
de la siguiente manera:
3. Ajustamos el potenciómetro hasta alcanzar el valor de 0,56
5.2.4 Disipación del calor
El empleo de disipadores en los drivers les permite trabajar a intensidades más elevadas
(siempre que estén por debajo del máximo permitido, en este caso 2A). Tal y como
recomienda el fabricante, se han situado disipadores de aluminio de 13x13x7 milímetros
con un adhesivo termoconductor.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
24
Los motores y los drivers desprenden calor y por ello es necesario idear un sistema de
refrigeración que asegure un correcto funcionamiento de estos componentes.
En este caso se ha empleado un ventilador de 70mm con un consumo de intensidad de
0,17 amperios y una tensión de 12 voltios.
5.2.5 Conexionado de Motores
Antes de conectar los cables de los motores en la regleta de conexión debemos saber la
posición que deben ocupar en la misma.
La electrónica empleada en ese proyecto (el sistema Arduino, Shield CNC y drivers
Pololu A4988) está dedicada para controlar motores paso a paso bipolares.
La siguiente imagen muestra la diferencia que existe entre un motor bipolar y otro
unipolar:
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
25
Como se puede ver en la imagen, el motor bipolar tiene 4 cables mientras que el motor
unipolar emplea 6 cables (o más).
Los motores que emplearé en esta máquina CNC son unipolares, tienen 6 cables, y por
lo tanto es necesario adaptarlos a la “configuración bipolar” que requiere nuestra
electrónica.
Para hacer esta adaptación lo que hacemos es dejar libre el cable de en medio de cada
bobina y empleamos los de sus extremos, es decir, usamos los terminales A1 y A3 de la
bobina 1 y los terminales B1 y B3 de la bobina 2. Los terminales A2 y B2 no los
usamos.
La pregunta es ¿cómo sé cuáles son los cables que tengo que elegir de todos los 6 que
hay?
Muy fácil. Lo primero que hacemos es localizar los cables que pertenecen a la bobina 1
(A1, A2 y A3) y por deducción lógica los cables restantes corresponden a la bobina 2
(B1, B2 y B3). Para ello medimos la continuidad de las bobinas con un multímetro de
tal manera que cuando conectamos A1 con A2 con A3, el multímetro emite una señal
sonora de continuidad; mientras que si conectamos A1 con B2, por ejemplo, el
multímetro no emite señal alguna.
Una vez hecha las comprobaciones llego a la siguiente relación de cables para la
primera bobina:
 Cable verde
 Cable verde/blanco
 Cable blanco
Mientras que la relación de cables de la segunda bobina es:
 Cable rojo
 Cable rojo/blanco
 Cable negro
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
26
Ahora bien, de esos tres cables que tiene cada bobina, necesitamos sólo dos: los
terminales A1 y A3 de la bobina primera y los terminales B1 y B3 de la bobina
segunda. ¿Cómo los conozco? Muy fácil, midiendo la resistencia entre terminales.
Si mido la resistencia entre el terminal A1 y el terminal A2 obtendré un valor inferior a
si la mido entre el terminal A1 y A3. Es lógico, entre A1 y A3 hay más bobinado que
entre A1 y A2 o A2 y A3. Por lo tanto la resistencia es mayor. Lo mismo para la
segunda bobina.
Haciendo las comprobaciones obtengo que los cables que necesito de la bobina primera
de mis motores son:
 Cable rojo
 Cable rojo/blanco
Ambos conectados me dan una resistencia de 10 Ohms (si los conecto de forma
independiente con el cable negro me da justo la mitad: 5 Ohms)
Y los cables que necesito de la bobina segunda son:
 Cable verde
 Cable verde/blanco
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
27
El diagrama de la imagen muestra el esquema de conexionado de un motor bipolar con
los pines del driver Pololu A4988.
Tomando como ejemplo la imagen, hago la siguiente asignación de cables:
 Cable rojo. 2B
 Cable rojo/blanco 2A
 Cable verde/blanco 1A
 Cable verde 1B
Aunque más adelante se hablará sobre los parámetros constructivos de la máquina, es
necesario entender bien el funcionamiento del conjunto motor PAP y tornillo roscado o
correa de distribución.
Como se comentó anteriormente, el giro angular del motor se transforma en un
desplazamiento lineal del eje a través de la varilla roscada. Las varillas roscadas
utilizadas en este proyecto son de métrica M10 y tienen un paso de 1,25 mm. Esto
significa que por cada vuelta completa que da el motor, el eje se desplazará 1,25 mm.
Dicho de otra manera:
1rev/s = 1,25mm/s
Otra cosa distinta sucede en la transmisión por correa dentada en la que el avance del
eje es equivalente a la circunferencia de la polea dentada conectada al motor. De esta
forma, si la polea tiene un diámetro de 12,2mm, tendrá por lo tanto una circunferencia
de 38,3mm. Esto significa que el eje avanzará en cada vuelta 38,3mm.
Los motores empleados requieren 200 pulsos para realizar una vuelta completa, por lo
tanto, en cada pulso el motor girara 1,8º. Su velocidad angular viene determinada por la
siguiente ecuación:
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
28
Donde f representa la frecuencia de los de pulsos.
Gráficamente, esta relación se puede representar de la siguiente manera:
También se puede expresar en términos de periodo:
Esta última expresión, permite calcular de manera fácil la velocidad angular a partir del
tiempo entre pulso y pulso (T) del motor PaP.
Dicho esto, hay que remarcar que los motores paso a paso presentan una limitación en
torno a la frecuencia de los pulsos. La máxima frecuencia admisible suele estar
alrededor de los 625Hz. En el caso de que la frecuencia de pulsos sea demasiado
elevada, el motor puede reaccionar de las siguientes maneras:
1. No realizar ningún movimiento en absoluto.
2. Comenzar a vibrar pero sin llegar a girar.
3. Girar erráticamente.
4. Girar en sentido opuesto.
5. Perder potencia.
Para la configuración de un motor NEMA 23 y tornillo sin fin de paso 1,25mm, la
máxima velocidad de desplazamiento se encuentra, como mucho, en 280mm/min. Esta
velocidad podría elevarse de manera considerable sustituyendo las varillas roscadas de
paso 1,25 mm por husillos. Esta opción se barajaría más adelante asumiendo un coste
económico mayor.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
29
5.2.6 Alimentación
La alimentación de todo el conjunto se realiza a través de una fuente de alimentación de
ordenador de tipo ATX, una solución de bajo coste que dispone de varias salidas a
diferente tensión y un ventilador de refrigeración.
En concreto se ha empleado el modelo HTFA400C de VINA que ofrece hasta una
potencia de 400W.
La fuente de alimentación aporta energía al shield y el ventilador. El shield que está
ensamblado en la placa de Arduino no permite alimentar al microcontrolador, por lo que
Arduino requiere también alimentación externa. Por ello, para que la máquina funcione,
el Arduino tiene que estar permanentemente conectado al ordenador.
5.3 MONTAJE MECÁNICO
El montaje mecánico de la máquina se realiza una vez que se disponen de todos los
componentes y materiales que constituyen cada una de sus partes. La imagen siguiente
muestra el montaje completo de toda la máquina. Aparecen todos sus componentes
mecánicos y electrónicos, así como el cableado eléctrico. También se muestra el
ordenador y su conexión vía USB a la caja controladora.
En la pantalla del ordenador puede verse el programa de control y la imagen que se
pretende realizar con la máquina.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
30
5.3.1 Base (eje X)
El eje X es el desplazamiento de derecha a izquierda que realiza el carro a lo largo de
las barras horizontales en las que va acoplado y sobre las que se desliza. Entre las dos
barras puede apreciarse la barra roscada correspondiente al eje de transmisión.
Sistema de transmisión eje X
El sistema de transmisión del eje X está compuesto por una barra roscada que transmite
el movimiento de giro del motor a través de un acoplador de aluminio elástico. Este
acoplador elástico que conecta el eje del motor con el eje roscado permite absorber las
vibraciones que pueden derivar de la excentricidad eje motor/varilla.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
31
El eje de transmisión se apoya en sus dos extremos mediante dos rodamientos de bolas.
La conversión del movimiento circular del eje de transmisión en movimiento lineal del
eje X se lleva a cabo con un acoplador roscado conectado mediante dos abrazaderas
metálicas al carro deslizante.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
32
Las piezas que forman esta parte de la máquina se indican en la siguiente tabla:
Nombre Cantidad
Tubo cuadrado aluminio L1 25x25x1.5mm 4
Tubo cuadrado aluminio L2 25x25x1.5mm 2
Tubo cuadrado aluminio L3 25x25x1.5mm 2
Liso aluminio L 50x3mm 2
Bisagras acero inox 2
Placa multiagujeros acero galv. 60x200 4
Redondo aisi-304 16mm 645mm 2
Abrazaderas 16mm 4
Casquillos A162025 4
Abrazadera 4
Escuadra acero inox. 4
Soporte motor acero galv. 1
Conectores acero cromados 4
Motor SANYO DENKI 1
Acomplador flexible aluminio 1
Varilla roscada L 10mm 1
Rodamiento 6000 2RS OKO 2
Abrazadera rodamiento 2
Tuerca autoblocante M10 1
Contratuerca M10 1
Conector acero cromado M10 1
Abrazadera conector acero cromado M10 2
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
33
Esta lista de piezas no incluye la tornillería necesaria para ensamblar las piezas.
5.3.2 Puente (eje Y)
El eje Y es el desplazamiento que realiza el puente en su movimiento de alejamiento o
acercamiento (visto desde enfrente). El puente se desliza a lo largo de las barras
horizontales que se mantienen fijas y totalmente estáticas sobre la bancada.
Sistema de transmisión
El sistema de transmisión que emplea el eje Y, a diferencia del eje X visto
anteriormente, lo constituye dos correas dentadas conectadas a dos motores mediante
dos poleas dentadas que son las encargadas de transmitir el movimiento de giro del
motor a la correa.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
34
Las correas precisan un estado de tensión para evitar holguras que puedan hacerlas
perder tracción o saltarse dientes. Esta tensión requerida se mantiene mediante una
polea tensora instalada en el lado opuesto del motor y conectada a la bancada.
La transmisión del movimiento de giro del motor se realiza en las dos columnas que
soportan el puente central de la máquina. Al colocar en cada columna una transmisión
independiente (aunque se desplazan a la misma vez) asegura el desplazamiento
uniforme de todo el puente en su conjunto. Es decir, se evitan excentricidades (que un
pilar avance más rápido que el otro) que pudieran haberse originado en el caso de haber
empleado un único sistema de transmisión central para mover todo el conjunto.
Fíjese que en este sistema de transmisión la conversión del movimiento de giro del
motor en movimiento lineal del eje Y lo realiza la misma correa y no es necesario
emplear más conectores de conversión como sucedía en el eje X. En la imagen se
aprecia la conexión directa de la correa dentada en el eje Y mediante dos tornillos
acoplados al soporte. En este caso, la imagen corresponde a la columna derecha del
puente. El montaje es simétrico a la columna izquierda.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
35
Sistema de deslizamiento
El sistema de deslizamiento es el mismo en todos los ejes de la máquina (XYZ). Dos
casquillos de bronce sinterizado autolubricados conectan el soporte de los ejes con las
barras sobre las que desliza. Estos casquillos van acoplados a los soportes a través de
unas abrazaderas de acero inoxidables. Entre la abrazadera y el casquillo se ha utilizado
goma elástica para evitar un posible deslizamiento abrazadera/casquillo, así como
mantener una flexibilidad que permita evitar roces excesivos entre el casquillo y la
barra. Hay que tener en cuenta que el montaje general de los sistemas mecánicos no
admite mucha tolerancia.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
36
Las piezas que componen esta parte de la máquina vienen indicadas en la siguiente
tabla:
Nombre Cantidad
Angulo perfil hierro galv. L1 25x25mm 4
Angulo perfil hierro galv. L2 25x25mm 4
Angulo perfil hierro galv. L3 25x25mm 1
Pletina ensamblaje 6
Redondo aisi-304 16mm 650mm 2
Abrazadera 16mm 4
Casquillos A162025 4
Abrazadera 4
Tablero mel blanco 800x400x10 2
Placa union inox 40 3
Tablero inferior x
Tornillos tirafondos x
Soporte motor acero galv. 2
Motor SANYO DENKI 2
Polea GT2 20T 6.35 2
Correa dentada GT2 L 2
Polea correa tensora GT2 20T 5 2
Soporte poleas 2
Esta lista de piezas no incluye toda la tornillería necesaria para ensamblar las piezas.
5.3.3 Cabeza (eje Z)
Ésta es la parte fundamental de la máquina. El eje Z es el lugar donde va colocada la
herramienta de trabajo y donde debe conseguirse pues la máxima precisión. La cabeza
(la placa de teflón blanco que vemos en la imagen) se desplaza en sentido vertical hacia
arriba o hacia abajo. Al igual que en los ejes X e Y, el eje Z se desliza a lo largo de las
barras verticales que se encuentran detrás y acopladas al soporte del eje X.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
37
Sistema de transmisión
El sistema de transmisión del eje Z es idéntico al del eje X. Está compuesto por una
varilla roscada conectada al motor a través de un acoplador de aluminio elástico.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
38
La varilla roscada se soporta en sus extremos mediante dos rodamientos de bolas. La
transmisión del movimiento al eje Z (igual que en el eje X) se lleva a cabo mediante un
conector roscado fijado al soporte del eje Z con dos bridas metálicas.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
39
Las piezas que componen esta parte de la máquina vienen indicadas en la siguiente
tabla:
Nombre Cantidad
Tubo cuadrado aluminio L 25x25x1.5mm 2
Liso aluminio L 50x3mm 2
Angulo perfil hierro galv. L1 25x25mm 2
Redondo aisi-304 16mm 290mm 2
Casquillos A162025 4
Abrazadera 4
Abrazaderas 16mm 4
Soporte motor acero galv. 1
Motor General Electric 1
Acoplador flexible aluminio 1
Varilla roscada L 10mm 1
Rodamiento 6000 2RS OKO 2
Abrazadera rodamiento 2
Tuerca autoblocante M10 1
Contratuerca M10 1
Conector acero cromado M10 1
Abrazadera conector acero cromado M10 2
Placa teflon LxL 1
Casquillos A162025 4
Abrazadera 4
Conector acero cromado M10 1
Abrazadera conector acero cromado M10 2
Esta lista de piezas no incluye toda la tornillería necesaria para ensamblar las piezas.
5.4 CABLEADO ELÉCTRICO
El suministro de electricidad a los motores se realiza a través de los cables eléctricos.
Estos cables conectan cada uno de los cuatro motores de los ejes XYZ a una regleta
principal de distribución ubicada justo a la salida del controlador electrónico.
El cableado eléctrico se introduce por unos tubos de plástico que les sirve de protección
y guía. Estos tubos son flexibles y están fijados a los ejes Y y X de la máquina de tal
manera que adaptan su posición al movimiento longitudinal de los ejes. Dicho de otra
manera, si el eje X se desplaza hacia la derecha, el tubo al ser flexible se amolda en
función de la distancia desplazada. Esto permite mantener el cableado protegido del
exterior y perfectamente guiado.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
40
Los tubos se conectan a las cajas de conexión en donde los cables eléctricos alimentan
con energía a los motores.
La caja de conexión de la siguiente imagen corresponde al motor del eje X. En este
lugar se bifurca el cableado en dos sentidos: Un cableado que alimenta el motor X y el
otro cableado que alimenta el motor Z.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
41
Como se dijo anteriormente, todos los cables confluyen en dos regletas principales
conectadas a la caja de control ubicada en la bancada.
La caja de control es el elemento de unión entre el ordenador y la máquina. Aquí se
encuentran los controladores electrónicos que son los encargados de enviar los pulsos
eléctricos a los correspondientes motores en función de las señales que les llegan del
ordenador.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
42
En la imagen siguiente se muestra la caja de control con los cables de alimentación
eléctrica (rojo y negro) que suministran potencia a los motores. El cable USB va
conectado al ordenador y se encarga de transmitir las órdenes dictadas por el programa.
Las piezas que componen esta parte de la máquina vienen indicadas en la siguiente
tabla:
Nombre Cantidad
Caja conexión 2
Tubo cableado electrico L
Cable
Regleta 3
Quimat Arduino Kit CNC 1
Ventilador 12V 1
Fuente alimentacion ATX 1
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
43
5.5 INTERFASE MÁQUINA ORDENADOR
5.5.1 Universal G-Code Sender
Recordamos que antes de iniciar la configuración de GRBL en GcodeSender la placa
Arduino debe tener el código GRBL flasheado. Esto se explicó en el apartado 3.2.1
Programación de Arduino.
El programa de control empleado en este proyecto es el software libre denominado
GcodeSender que se puede obtener descargando la versión de la Web GitHub
https://github.com/winder/Universal-G-Code-Sender.
Este programa, para que pueda ser ejecutado en el ordenador, es necesario tener
previamente instalado Java. Por lo tanto, debe asegurarse primero de que Java está
instalado para que pueda funcionar.
Una vez instalado GcodeSender en el ordenador, lo ejecutamos y nos aparece la
siguiente pantalla:
5.5.2 Configuración de los parámetros
El programa viene configurado por defecto con unos parámetros que debemos ajustar a
nuestra máquina. Estos parámetros definen la velocidad de avance de los ejes, la
aceleración, el número de pasos que dan los motores por cada mm, etc.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
44
El proceso de configuración se inicia conectando en primer lugar la placa Arduino (es
decir, la caja de control) con el ordenador a través del cable USB y damos Open.
El acceso a la configuración que viene cargada por defecto en el programa se realiza
tecleando $$·en el espacio en blanco de Command, tal y como aparece en la imagen.
Después de pulsar Enter aparecerá en la ventana Console la siguiente lista de
parámetros (en mi caso, no tiene por qué ser igual en otras placas).
Parámetros:
$0=200.000 (x, step/mm): Paso por mm, Eje X. Esto determinará cuántos pasos deberá
dar el motor X para mover 1mm.
$1=200.000 (y, step/mm): Paso por mm, Eje Y. Esto determinará cuántos pasos deberá
dar el motor Y para mover 1mm.
$2=200.000 (z, step/mm): Paso por mm, Eje Z. Esto determinará cuántos pasos deberá
dar el motor Z para mover 1mm.
Para calcular los pasos/mm en cada eje de la máquina hay que hacer lo siguiente:
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
45
1. Identificar los pasos de cada motor. En mi caso, los motores X e Y son 200
pasos y el motor Z es 180
2. Identificar cuántos pasos o micro pasos vamos a utilizar (en mi caso 1 paso)
3. Conocer cual es el avance de nuestra correa, husillo
Mi máquina emplea una varilla roscada de métrica M10, la cual tiene un paso de 1,25
mm. La polea dentada (20 dientes) tiene un diámetro efectivo de 12,2 mm y por lo tanto
una circunferencia de 38,3 mm.
Así pues, los pasos que deben dar los motores para avanzar 1 mm serían:
 Eje X: 200/1,25 = 160
 Eje Y: 200/38,308 = 5,22
 Eje Z: 180/1,25 = 144
Es decir:
$0=160.000 (x, step/mm)
$1=5.000 (y, step/mm)
$2=144.000 (z, step/mm)
Si configuramos micropasos en nuestro driver, por ejemplo 1/8, significará que estamos
dividiendo un paso en 8 micropasos, por lo tanto, para que el motor dé una revolución
completa ha de avanzar 1600 micropasos.
Lo malo de los motores paso a paso es que (siendo de 200 pasos) gira de 1,8º en 1,8º, es
decir, no gira continuamente como un motor normal, sino que va dando pequeños
saltitos, giros bruscos de 1,8º. A más micropasos, menor par tendrá el motor.
$3=15 (Step pulse, usec): Los controladores de motores paso a paso están hechos para
una determinada longitud mínima de pulso para el paso. Un pulso bajo se podrá
reconocer de forma fiable, pero si los pulsos son largos, cuando se ejecuta el sistema a
muy altas velocidades de avance los pulsos se pueden solapar entre sí. Lo recomendado
es un valor aproximado de 10 Microsegundos.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
46
$3=10 (Step pulse, usec). Este valor es válido.
$4=150 (default feed, mm/min): Velocidad con carga.
$5=150 (default seek, mm/min): Velocidad sin carga.
Para obtener estos valores hay que ir probando hasta obtener el valor más adecuado. Si
el motor empieza a vibrar o saltar es que la velocidad está muy alta o que el paso $3 no
está bien definido. Los motores tienen autostop. Esto quiere decir que en el momento
que se pasa de velocidad, el motor se para. La velocidad $5 podría ser superior a la $4
pero dejaré las dos velocidades iguales.
$4=150 (default feed, mm/min): Este valor va bien.
$5=150 (default seek, mm/min): Dejo el mismo valor que el anterior.
$6=192 (Step port invert mask, int:11000000): Este ajuste invierte la señal de pulso
hacia el driver. No se necesita modificar para el driver A4988 de Pololu pero existen
otros que sí se necesitan modificar.
$7=253 (step idle delay, msec): Cada vez que los motores PAP completen un
movimiento y se detengan, GRBL deshabilitará por un determinado tiempo los motores
para que no se muevan. Se pueden dejar siempre bloqueados para que no se muevan por
ningún motivo colocando el valor 255. Tener en cuenta que si se bloquean los motores
PAP con este valor, se quedará energizada una bobina por lo que si el motor está así por
mucho tiempo se podrá calentar. Si el valor es muy bajo, el motor puede perder pasos.
$8=900.000 (acceleration, mm/sec^2): Esto determina la aceleración del movimiento.
Sirve para que arranque a baja velocidad y que vaya adquiriéndola a medida que se
desplaza. Un valor alto produce movimientos más estrictos mientras que un valor bajo
hace el movimiento más suave. El valor óptimo se consigue a base de prueba-error. La
idea es tener velocidad continua y minimizar la aceleración.
$9=0.050 (Junction deviation, mm): Es utilizado por el gestor de la aceleración para
determinar la rapidez a la que el motor se puede mover a través de los cruces de
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
47
segmento de línea de ruta del programa del código G. Por ejemplo, si la ruta del Código
G tiene un giro de 10 grados y la máquina se está moviendo a toda velocidad, esta
opción ayuda a determinar cuánto tiene que reducir la velocidad para ir con seguridad a
través de la curva sin perder pasos. Cómo se calcula es un poco complicado, pero, en
general, los valores más altos dan movimientos más rápidos en las curvas, al tiempo que
aumenta el riesgo de perder pasos y posicionamiento. Los valores más bajos hacen que
el control de la aceleración sea más cuidadoso y dará lugar a curvas cuidadosas y con
velocidad lenta.
$10=0.100 (arc, mm/segment): GRBL hace círculos, arcos y hélices. Los valores más
bajos dan una mayor precisión pero pueden conducir a problemas de rendimiento por la
sobrecarga de GRBL con demasiadas líneas diminutas. Para los valores más altos
proporciona una menor precisión, pero puede acelerar el rendimiento de arco desde
GRBL ya que tiene menos líneas que trazar.
$11=25 (n-arc correction, int): Estos valores se modifican si queremos obtener más
sensibilidad (para trabajar con nanotecnología). Los dejo tal cual están.
$12=3 (n-decimals, int): Indica el número de decimales.
$13=0 (report inches, bool): GRBL tiene una función de informes de posicionamiento
en tiempo real para proporcionar una retroalimentación a los usuarios. Indica la posición
de la máquina en un momento exacto, así como los parámetros para coordinar los
desplazamientos. Por defecto, se establece que informe en milímetros, pero se puede
cambiar a pulgadas mediante el valor 1. Para volver a milímetros el valor es 0.
$14=1 (auto start, bool): Auto iniciar, si se coloca un 0, el proceso de fresado se podrá
iniciar desde el software de la PC, pero si se coloca un 1, el proceso de fresado se podrá
iniciar desde el software de la PC y también de un botón conectado en la entrada A2 del
Arduino.
$15=0 (invert step enable, bool): Invertir el pin Enable. No es necesario en este caso
con los drivers A4988
$16=0 (hard limits, bool): Básicamente es lo mismo que los límites por software, pero
con la diferencia de que se utilizan interruptores físicos en su lugar (finales de carrera).
Cuando el interruptor se dispara, éste detiene de inmediato todo el movimiento, apaga el
refrigerador (si está conectado a Arduino) y para el husillo (si está conectado a
Arduino). Entra en modo de alarma, lo que te obliga a revisar la máquina y reiniciar
todo. Para habilitar los interruptores físicos se debe colocar el valor 1, de lo contrario el
valor 0.
$17=0 (homing cycle, bool): Este parámetro se utiliza para localizar con exactitud y
precisión una posición conocida. Es decir, la máquina recuerda una posición para que
siempre inicie desde esa coordenada. Ejemplo: si iniciamos el mecanizado y de un
momento a otro se corta la alimentación de la máquina, cuando se vuelve a iniciar
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
48
GRBL se queda con la tarea de averiguar dónde se encuentra. Mediante el Homing,
siempre se tiene el punto Zero como referencia. Lo único que hay que hacer es ejecutar
el “Homing Cycle” y GRBL continuará donde había terminado.
$18=0 (homing dir invert mask, int:00000000): Por defecto, GRBL asume que sus
finales de carrera están en la dirección positiva. Pero si se tienen en la dirección
negativa, GRBL puede invertir la dirección de los ejes. Funciona igual que el “Step Port
Invert” y “Direction Port Invert Masks”, donde todo lo que hay que hacer es enviar el
valor de la tabla para indicar qué eje desea invertir.
$19=150.000 (homing feed, mm/min): Busca primero los finales de carrera y una vez
que los encuentra se mueve a una velocidad de avance lento a la ubicación precisa de
Zero. Es la velocidad máxima que tomará cuando tiene que volver al origen. Colocar un
valor un poco más alto que $5=150.000 (default seek, mm/min) está bien.
$20=150.000 (homing seek, mm/min): Colocar siempre un valor igual o mayor a $19.
$21=100 (homing debounce, msec): Cada vez que un interruptor se dispara, algunos de
ellos pueden tener ruido eléctrico/mecánico. Para resolver esto, GRBL realiza una breve
demora. Este valor es válido.
$22=1.000 (homing pull off, mm): Para tantear bien con los límites físicos, donde
Homing puede compartir los mismos interruptores de límite, el ciclo Homing se moverá
fuera de todos los finales de carrera en moviento Pull-Off después de que se complete
toda la trayectoria. En otras palabras, ayuda a prevenir la activación accidental del
límite físico después de un ciclo de Homing.
Así dejamos configurados nuestro GRBL y ya estamos listos para programar.
6 EJEMPLO PRÁCTICO
Este proyecto culmina con la realización de un ejemplo práctico que nos permitirá
comprobar la calidad y precisión de la máquina.
Este ejemplo práctico consistirá en dibujar con la máquina una imagen real a partir de
una imagen digital previamente creada en un software de dibujo CAD.
En la imagen siguiente se muestra el proceso a seguir:
1. Elaboración del archivo CAD con el dibujo que se pretende crear.
2. Generación del código G a partir del archivo CAD.
3. Envío del código G generado al programa de control (Gcodesender).
4. Ejecución de la orden.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
49
El ejemplo práctico a realizar con la máquina es un dibujo sencillo compuesto de tres
figuras: cuadrado, triángulo y círculo.
La creación de esta imagen digital se puede realizar de dos maneras:
1. Dibujar la imagen en papel y digitalizar a través de un escáner.
2. Dibujar la imagen a través de un programa de ordenador.
En este caso se ha empleado el programa de edición de imágenes digitales GIMP, un
software libre y gratuito que se puede descargar en el siguiente enlace:
http://www.gimp.org.es/descargar-gimp.html
Una vez creada la imagen con GIMP pasamos al siguiente paso del proceso: Obtener el
código G de esa imagen.
Para obtener el fichero de control numérico CAM de la imagen digital utilizaremos el
programa Inkscape; un editor de gráficos vectoriales gratuito y de código libre que nos
permite generar el código G de la imagen vectorizada. El programa puede descargarse
de manera gratuita en la web: https://inkscape.org/es/
Una vez obtenido el código G de la imagen lo enviamos finalmente al controlador de la
máquina (Universal Gcode Sender) descrito en apartados anteriores. Este programa
permite previsualizar la imagen que va a realizar la máquina.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
50
En la imagen superior, la barra amarilla representa la herramienta de trabajo, las líneas
blancas y rojas las trayectorias de mecanizado y las líneas azules las trayectorias de
desplazamiento de la herramienta cuando no está en contacto con la superficie de
trabajo.
Como paso final sólo queda proceder a ejecutar la orden de trabajo. Para “imprimir” la
imagen digital en un medio físico se emplea un rotulador de tinta negra acoplado al
cabezal Z que hará la función “herramienta” y una cartulina de color blanco.
El resultado final es el siguiente dibujo impreso:
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
51
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
52
7 MEMORIA ECONÓMICA
Descripción Cantidad Precio Importe Proveedor
1 Casquillos A162025 12 1 12
GAES Sistemas
mecánicos
2 Rodamientos 6000 2RS OKO 4 1,05 4,2
3 Portes 1 8 8
4 Rodamientos 6000 2RS OKO 3 1,47 4,41 Rubysan
5 Angulo Alu Bruto 2 3,95 7,9
Brico Depot
7 Pletina ensamblaje 6 1,65 9,9
8 Bisagras 1 3,6 3,6
Bricor
9 Escuadra corr 4 1,35 5,4
11 Liso aluminio 1 14,8 14,8
12 Tubo cuadrado alumnio 25x25x1.5mm 1 8,25 8,25
13 Tubo cuadrado aluminio 25x25x1.5mm 1 12,9 12,9
14 Angulo perf hierro galv 25x25 3 8,9 26,7 Brico Centro Aranda
15 Varilla roscada 10mm 1M 2 1,15 2,3
Leroy Merlin
18 Placa multiagujeros 60x200 4 1,79 7,16
20 Tablero mel blanco 800x400x10 2 2,75 5,5
21 Placa union inox 40 3 0,33 1
22 Redondo aisi-304 16mm 645mm 2 6,87 13,74
Diego Núñez23 Redondo aisi-304 16mm 650mm 2 6,93 13,86
24 Redondo aisi-304 16mm 290mm 2 3,09 6,18
25 Quimat Arduino Kit CNC 1 26,99 26,99 Amazon
26 Polea GT2 20T 6.35 2 1 2 Ebay
27 Correa dentada GT2 2M 1 4,55 4,55 Ebay
28 Polea correa tensora GT2 20T 5 2 1,15 2,3 Ebay
29 Motor PaP SANYO DENKI NEMA 23 3 13,2 39,6 Recycledcenter
30 Motor PaP General Electric 1 3 3 Mercadillo
31 Acoplador 6,35x8 2 1,58 4,74 Ebay
32 Caja conexión 2 1 2 Ferretería Arroyo
33 Tubo cableado electrico
Electricidad Baños
34 Cable
35 Regleta 3 1 3 Ferretería la llave
TOTAL 255,98
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
53
8 CONCLUSIONES
Una vez realizada la primera prueba práctica de funcionamiento llega el momento de
analizar el resultado obtenido y el comportamiento general de la máquina CNC durante
el proceso de impresión.
El trabajo de impresión obtenido es correcto pero debe mejorarse. El fin es producir
líneas más finas y contornos más precisos. No obstante, la máquina puede hacerse más
precisa prestando más atención a los ajustes mecánicos, la lubricación y la
configuración de los parámetros de velocidad, aceleración, etc.
La velocidad de avance de los ejes no es muy elevada y sería positivo alcanzar valores
más altos para reducir el tiempo de trabajo total. Siendo consciente de las limitaciones
técnicas que tienen los motores, que sólo permiten alcanzar un máximo de velocidad, sí
es posible obtener mayores velocidades empleando husillos de paso mayor. Esta opción
se baraja en adelante y se asume su mayor coste económico. Las ventajas que ofrece
emplear husillos en vez de varilla roscada son dos: Por un lado la máquina trabajaría a
más velocidad y por el otro con más precisión.
El sistema de transmisión de correa/polea dentada ha mostrado un peor comportamiento
que los sistemas de varilla roscada. Los sistemas de varilla proporcionan un movimiento
más silencioso, fino y preciso que el sistema correa/polea. Sin duda, este es el aspecto
más destacado a mejorar de la máquina, ya que se ha observado un exceso de vibración
y pérdida de precisión en el eje accionado por este sistema.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
54
9 BIBLIOGRAFÍA
Libros
Torrecilla, E., (2010), El gran libro de CATIA, Barcelona: Marcombo.
Sainz, M., (1966), Iniciación al modelismo naval, Madrid: Santillana.
Monografías
Riquelme, M. & Zamora, R. (2014). Diseño y fabricación de una fresadora CNC de 3
ejes para el mecanizado de PCB con plataformas de desarrollo abiertas. Universidad
Politécnica de Cartagena, España.
Textos electrónicos, bases de datos y programas informáticos.
Cultura maker, de: <http://hacedores.com>.
Introducción a Arduino, de: <https://www.zonamaker.com>.
Foro de consultas, de: <https://spainlabs.com/foro.html>.
GRBL, de: <https://www.staticboards.es>.
Hardware y software open source, de: <https://www.arduino.cc>.
Sistemas de transmisión CNC, de: https://www.cnccontrolapp.com>.
Control numérico computerizado, de: https://www.demaquinasyherramientas.com>.
El profe García, (2016, agosto, 24). Errores al calibrar Driver A4988, ajuste Vref,
conexión CNC Shield a Motor Pasos, de:
https://www.youtube.com/watch?v=zIiZ_gSi77Y
El profe García, (2016, septiembre, 7). Configurar parámetros de su CNC ( GRBL ), de:
https://www.youtube.com/watch?v=hZNDwzectrE
Mundo CNC con Arduino, (2016, octubre, 4). G code con Inkscape, de:
https://www.youtube.com/watch?v=8M8J810toUE
Diseño CAD, de: <https://www.muchocatia.es>.
Modelador CAD 3D paramétrico FreeCAD, de:
<https://www.freecadweb.org/wiki/Download.html>.
Diseño y fabricación de una máquina CNC con Arduino y Software Libre
Roberto Sanz Benito
55
Editor imágenes digitales GIMP, de:
<http://www.gimp.org.es/modules/mydownloads.html>.
Editor gráficos vectoriales Inkscape, de:
<https://inkscape.org/es/release/0.92.2/windows.html>.
Programa GCodesender y fichero hexagesimal GRBL, de: <https://github.com>.
Program Xloader, de: <http://russemotto.com/xloader.html>.

Más contenido relacionado

La actualidad más candente

Procesos de fabricación del cigüeñal
Procesos de fabricación del cigüeñalProcesos de fabricación del cigüeñal
Procesos de fabricación del cigüeñal
liALUI
 
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...
Angel Villalpando
 
05 respuesta en el tiempo de un sistema de control
05   respuesta en el tiempo de un sistema de control05   respuesta en el tiempo de un sistema de control
05 respuesta en el tiempo de un sistema de control
reneej748999
 
Procesos de manufactura. trabajo
Procesos de manufactura. trabajoProcesos de manufactura. trabajo
Procesos de manufactura. trabajo
Tiana_Leal
 
Turbomáquinas generalidades
Turbomáquinas generalidadesTurbomáquinas generalidades
Turbomáquinas generalidades
Galo Maldonado
 
Solutions completo elementos de maquinas de shigley 8th edition
Solutions completo elementos de maquinas de shigley 8th editionSolutions completo elementos de maquinas de shigley 8th edition
Solutions completo elementos de maquinas de shigley 8th edition
fercrotti
 
Aplicaciones neumaticas para la automatizacion de la industria 1
Aplicaciones neumaticas para la automatizacion de la industria 1Aplicaciones neumaticas para la automatizacion de la industria 1
Aplicaciones neumaticas para la automatizacion de la industria 1
Marcelo Oly Caceres
 

La actualidad más candente (20)

Cuaderno 2 Neumática
Cuaderno 2 NeumáticaCuaderno 2 Neumática
Cuaderno 2 Neumática
 
Calculo de engranajes dientes rectos
Calculo de engranajes dientes rectosCalculo de engranajes dientes rectos
Calculo de engranajes dientes rectos
 
Procesos de fabricación del cigüeñal
Procesos de fabricación del cigüeñalProcesos de fabricación del cigüeñal
Procesos de fabricación del cigüeñal
 
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...
 
Mantenimiento Preventivo a Fresadoras y torno
Mantenimiento Preventivo a Fresadoras y tornoMantenimiento Preventivo a Fresadoras y torno
Mantenimiento Preventivo a Fresadoras y torno
 
Electroneumática ejercicios nivel avanzado
Electroneumática ejercicios nivel avanzadoElectroneumática ejercicios nivel avanzado
Electroneumática ejercicios nivel avanzado
 
Simbologia neumatica
Simbologia neumaticaSimbologia neumatica
Simbologia neumatica
 
05 respuesta en el tiempo de un sistema de control
05   respuesta en el tiempo de un sistema de control05   respuesta en el tiempo de un sistema de control
05 respuesta en el tiempo de un sistema de control
 
Electroneumatica
Electroneumatica Electroneumatica
Electroneumatica
 
Procesos de manufactura. trabajo
Procesos de manufactura. trabajoProcesos de manufactura. trabajo
Procesos de manufactura. trabajo
 
Proyecto tecnología bachillerato cinta transportadora
Proyecto tecnología bachillerato cinta transportadoraProyecto tecnología bachillerato cinta transportadora
Proyecto tecnología bachillerato cinta transportadora
 
Ejercicios de ejes
Ejercicios de ejesEjercicios de ejes
Ejercicios de ejes
 
valvulas-neumaticas
valvulas-neumaticasvalvulas-neumaticas
valvulas-neumaticas
 
Programación CNC
Programación CNCProgramación CNC
Programación CNC
 
Turbomáquinas generalidades
Turbomáquinas generalidadesTurbomáquinas generalidades
Turbomáquinas generalidades
 
Solutions completo elementos de maquinas de shigley 8th edition
Solutions completo elementos de maquinas de shigley 8th editionSolutions completo elementos de maquinas de shigley 8th edition
Solutions completo elementos de maquinas de shigley 8th edition
 
Diagramas de flujo de bloques
Diagramas de flujo de bloquesDiagramas de flujo de bloques
Diagramas de flujo de bloques
 
Aplicaciones neumaticas para la automatizacion de la industria 1
Aplicaciones neumaticas para la automatizacion de la industria 1Aplicaciones neumaticas para la automatizacion de la industria 1
Aplicaciones neumaticas para la automatizacion de la industria 1
 
Simbolos De VáLvulas
Simbolos De VáLvulasSimbolos De VáLvulas
Simbolos De VáLvulas
 
Codigos g y m
Codigos g y mCodigos g y m
Codigos g y m
 

Similar a Diseño y fabricación de una máquina CNC con Arduino y Software Libre

Diseño asistido por computadora
Diseño asistido por computadoraDiseño asistido por computadora
Diseño asistido por computadora
GabRiel NuNez
 
Cnc, Cad, Cam, Cae, Capp
Cnc, Cad, Cam, Cae, CappCnc, Cad, Cam, Cae, Capp
Cnc, Cad, Cam, Cae, Capp
Cris Tenorio
 
Tesina de control numerico computarizado
Tesina de control numerico computarizadoTesina de control numerico computarizado
Tesina de control numerico computarizado
Diego Lopez Cristino
 

Similar a Diseño y fabricación de una máquina CNC con Arduino y Software Libre (20)

Cad cam introduccion upiisa
Cad cam introduccion upiisaCad cam introduccion upiisa
Cad cam introduccion upiisa
 
Procesos de manufactura
Procesos de manufacturaProcesos de manufactura
Procesos de manufactura
 
Funcionamiento de fresadora cnc
Funcionamiento de fresadora cncFuncionamiento de fresadora cnc
Funcionamiento de fresadora cnc
 
Funcionamiento de fresadora cnc
Funcionamiento de fresadora cncFuncionamiento de fresadora cnc
Funcionamiento de fresadora cnc
 
Ensayo de libre cad
Ensayo de libre cadEnsayo de libre cad
Ensayo de libre cad
 
Sistemas CNC
Sistemas CNCSistemas CNC
Sistemas CNC
 
ENSAYO (DIBUJO ASISTIDO POR COMPUTADORA)
ENSAYO (DIBUJO ASISTIDO POR COMPUTADORA)ENSAYO (DIBUJO ASISTIDO POR COMPUTADORA)
ENSAYO (DIBUJO ASISTIDO POR COMPUTADORA)
 
Pfc esteban melchor
Pfc esteban melchorPfc esteban melchor
Pfc esteban melchor
 
Tesina v11
Tesina v11Tesina v11
Tesina v11
 
Proyecto electronica
Proyecto electronicaProyecto electronica
Proyecto electronica
 
Técnicas
TécnicasTécnicas
Técnicas
 
Diseño asistido por computadora
Diseño asistido por computadoraDiseño asistido por computadora
Diseño asistido por computadora
 
Sistemas cad
Sistemas cadSistemas cad
Sistemas cad
 
INVESTIGACIÓN PROCESOS DE MANUFACTURA II
INVESTIGACIÓN PROCESOS DE MANUFACTURA IIINVESTIGACIÓN PROCESOS DE MANUFACTURA II
INVESTIGACIÓN PROCESOS DE MANUFACTURA II
 
Diseno asistido por_computadora
Diseno asistido por_computadoraDiseno asistido por_computadora
Diseno asistido por_computadora
 
Cnc, Cad, Cam, Cae, Capp
Cnc, Cad, Cam, Cae, CappCnc, Cad, Cam, Cae, Capp
Cnc, Cad, Cam, Cae, Capp
 
Importancia de los programas para el dibujo asistido por computadora en la In...
Importancia de los programas para el dibujo asistido por computadora en la In...Importancia de los programas para el dibujo asistido por computadora en la In...
Importancia de los programas para el dibujo asistido por computadora en la In...
 
Ensayo Libre-CAD
Ensayo Libre-CADEnsayo Libre-CAD
Ensayo Libre-CAD
 
Tesina de control numerico computarizado
Tesina de control numerico computarizadoTesina de control numerico computarizado
Tesina de control numerico computarizado
 
HERRAMIENTAS DE DISEÑO E INGENIERÍA
HERRAMIENTAS DE DISEÑO E INGENIERÍAHERRAMIENTAS DE DISEÑO E INGENIERÍA
HERRAMIENTAS DE DISEÑO E INGENIERÍA
 

Más de Roberto Sanz Benito (7)

Análisis cinemático mecanismo biela manivela
Análisis cinemático mecanismo biela manivelaAnálisis cinemático mecanismo biela manivela
Análisis cinemático mecanismo biela manivela
 
Análisis cinemático de un brazo robótico de 4GDL con lenguaje Python
Análisis cinemático de un brazo robótico de 4GDL con lenguaje PythonAnálisis cinemático de un brazo robótico de 4GDL con lenguaje Python
Análisis cinemático de un brazo robótico de 4GDL con lenguaje Python
 
Modelado 3D de un sistema de posicionado de precisión.
Modelado 3D de un sistema de posicionado de precisión. Modelado 3D de un sistema de posicionado de precisión.
Modelado 3D de un sistema de posicionado de precisión.
 
Análisis computacional de un mezclador estático mediante Fluent
Análisis computacional de un mezclador estático mediante FluentAnálisis computacional de un mezclador estático mediante Fluent
Análisis computacional de un mezclador estático mediante Fluent
 
Proceso de diseño
Proceso de diseñoProceso de diseño
Proceso de diseño
 
Uniones soldadas y adhesivas en materiales compuestos termoplásticos
Uniones soldadas y adhesivas en materiales compuestos termoplásticosUniones soldadas y adhesivas en materiales compuestos termoplásticos
Uniones soldadas y adhesivas en materiales compuestos termoplásticos
 
Materiales compuestos de matriz termoplástica
Materiales compuestos de matriz termoplásticaMateriales compuestos de matriz termoplástica
Materiales compuestos de matriz termoplástica
 

Último

analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sutti0808
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
bingoscarlet
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
nicolascastaneda8
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 

Último (20)

CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 

Diseño y fabricación de una máquina CNC con Arduino y Software Libre

  • 1. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 1
  • 2. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 2
  • 3. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 3 Contenido 1 INTRODUCCIÓN.................................................................................................... 4 2 CONTROL NUMÉRICO COMPUTERIZADO (CNC).......................................... 4 3 OBJETIVOS............................................................................................................. 6 4 ESPACIO DE TRABAJO ........................................................................................ 7 4.1 Herramientas...................................................................................................... 7 4.2 Materiales........................................................................................................... 8 5 DESARROLLO DE LA MÁQUINA....................................................................... 8 5.1 DISEÑO PRELIMINAR ................................................................................... 9 5.1.1 Chasis ....................................................................................................... 10 5.1.2 Sistema de transporte y deslizamiento...................................................... 14 5.1.3 Sistema de transmisión............................................................................. 14 5.1.4 Motores..................................................................................................... 15 5.2 ETAPA DE ELECTRÓNICA Y POTENCIA................................................. 15 5.2.1 Programación de Arduino......................................................................... 15 5.2.2 Montaje del shield en la placa Arduino y los drivers............................... 16 5.2.3 Ajuste Vref controladores A4988............................................................. 20 5.2.4 Disipación del calor.................................................................................. 23 5.2.5 Conexionado de Motores.......................................................................... 24 5.2.6 Alimentación ............................................................................................ 29 5.3 MONTAJE MECÁNICO ................................................................................ 29 5.3.1 Base (eje X) .............................................................................................. 30 5.3.2 Puente (eje Y)........................................................................................... 33 5.3.3 Cabeza (eje Z)........................................................................................... 36 5.4 CABLEADO ELÉCTRICO............................................................................. 39 5.5 INTERFASE MÁQUINA ORDENADOR ..................................................... 43 5.5.1 Universal G-Code Sender......................................................................... 43 5.5.2 Configuración de los parámetros.............................................................. 43 6 EJEMPLO PRÁCTICO.......................................................................................... 48 7 MEMORIA ECONÓMICA.................................................................................... 52 8 CONCLUSIONES.................................................................................................. 53 9 BIBLIOGRAFÍA.................................................................................................... 54
  • 4. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 4 1 INTRODUCCIÓN La ideación y materialización de proyectos es algo connatural al ser humano. Hacemos, creamos y nos expresamos para sentirnos plenos. Las cosas físicas que hacemos son como pequeños pedazos de nosotros y parecen encarnar porciones de nuestro alma. Desde pequeños observamos, reproducimos y mejoramos lo que vemos con el fin de enriquecer nuestra calidad de vida. Este documento alberga el proceso de construcción de una máquina de Control Numérico Computerizado (CNC) casera. A través de imágenes y textos he dejado manifiesta mi propia personalidad mediante el uso de una serie de materiales y herramientas, elaborando con entusiasmo y paciencia las piezas que conforman el puzzle completo hasta llegar al resultado final. Todos podemos ser creadores. Hoy en día la tecnología es más barata, más abierta, más accesible y gracias a esto más personas pueden permitirse adquirirla y utilizarla para crear sus propios proyectos, bocetos o prototipos. No es necesario inventar una patente revolucionaria. Algo tan simple como reutilizar la rueda de una bici vieja puede cambiar la vida de muchas personas. Hasta hace no mucho tiempo, las innovaciones tecnológicas eran creadas exclusivamente por grandes corporaciones multinacionales. Actualmente cada individuo dispone de las herramientas de fabricación de “escritorio” que le permiten desarrollar sus propios productos y hacer realidad sus ideas sin incurrir en grandes inversiones. Ejemplos de estas herramientas son la impresora 3D, el cortador láser, el escáner 3D y el software CAD (Diseño asistido por ordenador). Aprender a hacer es lo primero a tener en cuenta para convertirse en un buen maestro, constructor o artesano. Nunca dejaremos de aprender, surgirán nuevas técnicas, materiales y procesos que constituirán una forma de vida. Construir un camino de aprendizaje que nos proporcione una vida gratificante es primordial. Ver finalmente tu proyecto terminado tras tantas horas dedicadas en su desarrollo y construcción, te da tal alegría y satisfacción que no es para describirla sino para sentirla. Fuiste tú mismo el artífice, el ingeniero que dirigió y realizó los trabajos sin más orientación que unos tutoriales y una gran afición y entusiasmo. Conseguiste crear algo por ti mismo, te superaste a ti mismo. 2 CONTROL NUMÉRICO COMPUTERIZADO (CNC) El concepto de Control Numérico Computerizado (CNC) se trata básicamente de una computadora que controla y monitorea una máquina capaz de realizar una multitud de trabajos mecánicos. Este concepto ha sido el fundamento de los sistemas robóticos más avanzados de la actualidad.
  • 5. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 5 Actualmente, las máquinas CNC se encuentran en diversos entornos de fabricación, tanto en grandes fábricas industriales como en pequeños talleres de todo tipo. Prácticamente no existe un ámbito con un proceso de fabricación que no dependa de estas eficientes y precisas máquinas como las fresadoras, tornos, máquinas de corte láser, impresoras 3D, brazos robotizados, etc. Una máquina de control numérico se caracteriza por los siguientes aspectos básicos:  La computadora que controla la posición y velocidad de los motores que accionan los diferentes ejes de la máquina CNC le permite hacer movimientos precisos que no se pueden lograr manualmente, como círculos, líneas diagonales o figuras tridimensionales.  Las máquinas CNC son capaces de mover la herramienta al mismo tiempo en diferentes ejes para ejecutar trayectorias multidimensionales.  Una máquina CNC, una vez programada, ejecuta todas las operaciones de manera autónoma, sin necesidad de que el operador esté manejándola. La fabricación asistida por ordenador ofrece importantes ventajas con respecto a los métodos tradicionales, ya que éstos pasan de estar manejados por un operador humano a hacerlo por ordenador. Esto da lugar a avances en torno a la productividad, precisión, eficiencia y complejidad alcanzadas. Al igual que los sistemas CNC, también han evolucionado otras técnicas que intervienen en los procesos de fabricación dando lugar a los procedimientos denominados CAD/CAM. Los sistemas CAD conectados a equipos de fabricación asistidos por ordenador conforman un método integrado CAD/CAM. El flujo de trabajo resultante se representa gráficamente: CAD (acrónimo de Computer Aided Design) son sistemas de Diseño Asistido por Ordenador que permiten crear un modelo virtual 3D de una pieza o sólido. CAM (acrónimo de Computer Aided Manufacturing) son sistemas de Fabricación Asistida por Ordenador que generan un código que define las trayectorias y los
  • 6. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 6 movimientos que tiene que seguir la herramienta de la máquina CNC para fabricar la pieza diseñada en CAD. 3 OBJETIVOS El objetivo de este proyecto es crear una máquina de Control Numérico Computerizado (CNC) empleando materiales de bajo coste y software libre para uso personal y didáctico. Para realizar este trabajo se han tenido en cuenta los siguientes requisitos: Mecanismo de bajo coste Se pretende construir un dispositivo con materiales de coste económico que se puedan adquirir de manera asequible. No obstante, la máquina debe ser robusta y disponer de una fiabilidad que permita realizar trabajos con un grado de precisión y calidad aceptable. Uso de plataformas libres Fundamental si se quiere reducir el precio al máximo. El empleo de software gratuito no sólo supone un ahorro de costes, sino que permite acceder a una gran comunidad de desarrolladores sin ánimo de lucro que presta ayuda sólo por el hecho de aprender y hacer.
  • 7. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 7 Obtención del diseño mediante software CAD Los proyectos de ingeniería suelen alcanzar unos niveles de complejidad que resulta muy complicado llevarlos a cabo si no se realiza un diseño previo ayudado por sistemas informáticos y simuladores que aseguren el correcto funcionamiento de todos los parámetros. Implementación del sistema de control CNC de tres ejes Los sistemas CNC empleados en la actualidad presentan una estructura similar de funcionamiento. La principal diferencia está en el número de ejes, el tipo de cabezal y la tarea a realizar y el grado de sensorización. El controlador empleado en este proyecto estará basado en Arduino, acorde a las premisas establecidas de bajo coste y plataforma libre. Realización de un ejemplo práctico El objetivo final de este proyecto es comprender los fundamentos teóricos y aplicarlos a través de un ejercicio práctico. 4 ESPACIO DE TRABAJO Es importante disponer de un lugar de trabajo confortable para llevar a cabo las tareas de manera adecuada. Debe haber espacio suficiente y buena iluminación para trabajar cómodamente. No es necesario disponer de un taller especial para realizar todas las actividades como si fuera un taller mecánico profesional, aunque eso sería algo ideal, basta con disponer de un rincón adecuado al trabajo al realizar. El taller dispondrá básicamente de una mesa sólida y amplia en la que poder trabajar con comodidad y seguridad. Es conveniente que tenga un cajón o varios para guardar los materiales y las herramientas. 4.1 Herramientas Las herramientas son necesarias para hacer bien el trabajo. Este es el equipo mínimo que debe emplearse: 1. Sierra para metal 2. Destornillador plano y estrella de diferentes tamaños 3. Llaves planas hexagonales de diferentes tamaños 4. Torno de mesa 5. Martillo
  • 8. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 8 6. Alicates 7. Juego de limas de diferentes tamaños 8. Taladro eléctrico 9. Juego de brocas para distintos materiales 10. Tijera de cortar chapa 11. Cortaalambre 12. Metro metálico flexible 13. Soldador de estaño 14. Hilo de estaño 15. Polímetro 16. Botador (puntero) 17. Calibre 18. Escuadra y cartabón 19. Regla 20. Tijera 21. Rotuladores 4.2 Materiales Los materiales empleados en la construcción de la máquina son adquiridos en centros de bricolaje, ferreterías, centros de suministros de componentes industriales e internet, en el caso de la electrónica y piezas específicas de precisión. La máquina está construida con materiales hechos de aluminio, acero galvanizado, acero inoxidable, madera de aglomerado y teflón. En algunas piezas se ha empleado pintura de galvanizado en frío. 5 DESARROLLO DE LA MÁQUINA El desarrollo de la máquina se lleva a cabo a través de un proceso de construcción organizado según el siguiente orden cronológico: 1. Se realiza el diseño conceptual de toda la estructura mecánica. Utilizando una herramienta de diseño CAD. A través de ordenador, se determinan las dimensiones y la geometría de los elementos que constituirán cada parte de la máquina. Como resultado se obtiene un modelo virtual que nos da una idea principal de cómo será nuestro proyecto. 2. Una vez obtenida la idea principal y los planos iniciales iniciamos el montaje de los elementos que constituyen la máquina. En este proyecto los componentes se han adquirido en ferreterías y proveedores de suministros mecánicos por lo que
  • 9. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 9 el diseño CAD inicial se ha visto modificado ya que fue preciso adaptar el ensamblaje de la máquina a los componentes que se encuentran en el mercado. 3. Finalizado el montaje mecánico damos paso a la etapa de electrónica y potencia. En esta parte se realiza la programación del microcontrolador y el montaje de todos los componentes electrónicos encargados de controlar los movimientos de la máquina. 4. A continuación, se monta en la estructura mecánica el sistema electrónico construido en el apartado anterior y se traza el cableado eléctrico que conecta la electrónica con los motores. 5. Finalmente, se instala el programa de control en el ordenador y se configura el GRBL controller. Ya está preparada la máquina para realizar las primeras pruebas. 5.1 DISEÑO PRELIMINAR El diseño de la máquina ha sido creado a través del programa de diseño 3D CAD paramétrico CATIA V5 Student Edition. Es un diseño conceptual y será diferente del montaje real ya que el proyecto ideado deberá adaptarse en su materialización a las piezas que pueden adquirirse en ferreterías y proveedores de componentes mecánicos. Mandar fabricar a un tornero por ejemplo las piezas diseñadas en el ordenador supondría un coste muy elevado en el precio final de la máquina y ese no es el objetivo de este proyecto. Una vez que la máquina esté constituida y puesta en funcionamiento ya se podrán trasladar al modelo CAD inicial todos los componentes finales empleados. En otras palabras, será posible reproducir la máquina real construida en el entorno virtual del ordenador. Dicho esto entonces, como base de partida, se empleará este primer diseño como modelo conceptual.
  • 10. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 10 5.1.1 Chasis La imagen de la máquina presenta tres vistas del modelo correspondientes al alzado, planta, perfil y perspectiva isométrica. Es preciso pues definir un sistema de coordenadas cartesianas para la máquina. El eje de coordenadas establecido es el siguiente: La base está definida como eje Y, el puente como eje X y la cabeza vertical como eje Z.
  • 11. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 11 Base (eje X) La base, correspondiente al eje X sirve como soporte para el eje Z y se desliza sobre el puente. Presenta la parte naranja de la imagen: Los datos aportados por el programa CAD para esta parte de la máquina (si se incluye el peso de la herramienta acoplada en el cabezal Z) dan una masa de 4,683kg.
  • 12. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 12 Puente (eje Y) La base, que se desliza sobre la bancada, corresponde al eje Y y sirve como soporte para los ejes X y Z. Presenta la parte naranja de la imagen: Los datos aportados por el programa CAD para esta parte de la máquina (si se incluye el peso de la herramienta acoplada en el cabezal Z) dan una masa de 10,564kg.
  • 13. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 13 Cabeza (eje Z) Esta es la parte fundamental de toda la estructura ya que todo el sistema radica en este punto. Es aquí donde se debe alcanzar la máxima precisión de la máquina. La cabeza, correspondiente al eje Z se desliza sobre el carro de color naranja que se muestra en la imagen. Este carro a su vez se desliza sobre el puente (eje X), el cual se desliza sobre la bancada (eje Y).
  • 14. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 14 Los datos aportados por el programa CAD para esta parte de la máquina (si se incluye el peso de la herramienta acoplada en el cabezal Z) dan una masa de 2,51kg. La masa total del conjunto (exceptuando la bancada sobre la que se soporta) es de 17,757 kg. Este elevado valor da robustez al conjunto, pero supone una inercia mayor que dificulta el control de sus movimientos. 5.1.2 Sistema de transporte y deslizamiento Los ejes XYZ de la máquina son partes móviles que deben deslizar con precisión y de forma suave por las guías. En la construcción de máquinas CNC se emplean diferentes sistemas de deslizamiento:  Casquillos o cojinetes de fricción.  Rodamientos lineales  Barras  Guías lineales. El sistema de deslizamiento utilizado en esta máquina corresponde a casquillos de bronce sinterizado autolubricados y barras de acero inoxidable. Se adopta esta decisión debido a su simplicidad, bajo coste y mantenimiento. 5.1.3 Sistema de transmisión El sistema de transmisión es la parte de la máquina que convierte el movimiento de giro del motor en movimiento lineal. Este mecanismo se puede realizar de tres formas: Mediante varillas roscadas, husillos o correas dentadas. La solución óptima de transmisión es emplear husillos calibrados, ya que son muy precisos, pero su precio es elevado. Esta máquina empleará varillas roscadas de acero métrica M10, paso 1,25 mm para los ejes X y Z y correas dentadas para el eje Y. Estos sistemas de transmisión tienen una buena precisión y su precio no es muy elevado. En un principio, tal y como se muestra en el diseño preliminar, se pensó utilizar varilla roscada en todos los ejes de la máquina pero finalmente se optó por realizar el eje Y con dos correas dentadas accionadas por dos motores. Esta solución aporta en esta parte de la máquina más robustez y fiabilidad que la varilla roscada.
  • 15. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 15 5.1.4 Motores La máquina realiza los movimientos de manera automática a partir de las órdenes enviadas desde el ordenador. El movimiento se origina en los motores una vez recibida la señal enviada desde el ordenador. Hay dos tipos de motores eléctricos utilizados en las máquinas CNC: Los motores paso a paso PaP y los servomotores. Los motores PaP ejercen bastante fuerza y son muy precisos. Serán los que empleemos en la fabricación de esta máquina. 5.2 ETAPA DE ELECTRÓNICA Y POTENCIA La electrónica empleada en este proyecto está basada en Arduino, una plataforma abierta que permite crear prototipos fáciles de usar. Además se ha optado por emplear un shield acoplado a la placa Arduino específicamente diseñado para funcionar con código GRBL. De esta manera se obtiene un mayor rendimiento y control de los motores. 5.2.1 Programación de Arduino En primer lugar y antes de comenzar con el montaje de la electrónica, es necesario configurar Arduino para que trabaje con GRBL. El programa GRBL es un archivo hexadecimal que no se puede introducir al microcontrolador de Arduino directamente desde el IDE. Para realizar esta operación es necesario acudir a un programa específico que será el encargado de “flashear” el código de GRBL sobre el microcontrolador de Arduino. Recordamos que el código fuente que contiene el código GRBL es un archivo hexagesimal que podemos descargar de la web Github en el siguiente link: https://github.com/grbl/grbl La carga del código fuente la realizaremos a través del programa Xloader. Este programa será el encargado de flashear el firmware de Arduino con el código GRBL. La descarga de XLoader la realizamos en el siguiente link: http://russemotto.com/xloader/ Una vez obtenidos el archivo hexagesimal con el código GRBL y el programa Xloader se inicia el proceso de instalación del código GRBL en la placa Arduino. 1. Conectamos la placa Arduino al ordenador a través del cable USB 2. Ejecutamos Xloader
  • 16. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 16 3. En Hex file subimos el código fuente GRBL y pulsamos Upload. El archivo se carga en la placa de Arduino que empezará a parpadear. Hecho esto, el código GRBL queda instalado en la placa Arduino. Sólo en este momento y no antes, una vez que el controlador queda programado, es cuando se inicia el montaje del shield y los drivers en la placa de Arduino y el resto de componentes que forman el sistema electrónico. 5.2.2 Montaje del shield en la placa Arduino y los drivers El shield empleado en este proyecto es el shield CNC V3.0. Este shield incluye un cuarto driver que permite duplicar la fuerza motriz de un motor o bien clonar dos motores. En nuestro caso, como se tomó la decisión de emplear dos motores en el eje Y, este cuarto driver nos permite clonar el driver del eje Y, y así disponer de dos motores actuando de manera idéntica. Los cuatro drivers empleados son Pololu A4988. En el siguiente gráfico se muestra un esquema del shield CNC V3.0 donde se aprecian todos sus pines.
  • 17. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 17 Configuración de micropasos Los motores paso a paso (PAP) que actúan sobre los ejes X Y Z de la máquina pueden configurarse en micropasos de manera que la máquina pueda alcanzar un grado de precisión en su trabajo mayor. Es aconsejable que todos los motores tengan la misma configuración. La configuración de los micropasos se realiza a través de los jumpers que están instalados en los pines coloreados en rojo que se muestran en la siguiente imagen:
  • 18. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 18 Dependiendo de la configuración establecida (M0, M1 o M2) se adquieren diferentes grados de resolución (diferentes grados de precisión) en el trabajo final de la máquina. La siguiente tabla muestra las configuraciones para los controladores Pololu A4988: En este proyecto utilizaremos la configuración que viene por defecto en la placa. Clonación del cuarto eje Como hemos dicho anteriormente, el eje Y necesita dos motores para moverse por lo que clonaremos el driver Y con el driver A. Esto se lleva a cabo colocando un jumper en los pines señalados en rojo. De esta forma estos dos motores actuarán de manera idéntica.
  • 19. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 19 Antes de montar el CNC shield V3 en la placa Arduino es aconsejable asegurarse que está desconectada del PC. La siguiente imagen muestra el montaje completo del CNC shield V3 y los cuatro drivers Pololu A4988
  • 20. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 20 5.2.3 Ajuste Vref controladores A4988 El driver A4988 dispone de un potenciómetro que permite regular la intensidad que el driver suministra a cada bobina del motor. Se trata del pin Vref. El ajuste del voltaje de referencia Vref es de vital importancia porque si no se hace correctamente el motor podría, o bien trabajar por debajo de sus posibilidades óptimas, o bien el driver llegaría a quemarse por un exceso de intensidad. Para obtener la Vref adecuada empleamos la fórmula que viene en la ficha técnica del driver Pololu A4988:
  • 21. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 21 La Rs (resistencia de sensado) viene indicada en el controlador en la parte que aparece en la siguiente imagen: R100 corresponde a una Rs de 0,1 Ohmios La intensidad máxima ITripMAX es la correspondiente a la intensidad máxima que se refleja en los motores. Los motores de los ejes X e Y tienen una intensidad de 1 A y el motor del eje Z tiene una intensidad de 4,7 A (lo dejaré en 1 A) Sustituyendo valores en la fórmula obtenemos un valor Vref = 0,8 V. En la ficha técnica del driver Pololu A4988 se desarrolla la siguiente tabla en la que aparecen valores de intensidad para paso completo, medio paso, cuarto paso, etc. Se aconseja emplear pasos completos (Full step) para no perder pasos.
  • 22. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 22 Los casos en los que un motor puede perder pasos son los siguientes:  Baja corriente  Bajo voltaje  Alta velocidad  Exceso de carga
  • 23. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 23 Volviendo a la tabla vemos que en la configuración “pasos completos” la intensidad total que se obtiene es el 70% de la intensidad máxima. Entonces debemos limitar el voltaje Vref al 70%. (Para cambiar el Microstepping es necesario utilizar unos jumpers, pero en este caso vamos a dejar el shield en su configuración por defecto). El valor Vref final (70%) es 0,8 x 0,7 = 0.56 V El ajuste del Vref se realiza de la siguiente manera: 1. Conectamos la placa al pc por USB para alimentarla 2. Conectamos el multímetro a 2 V y posicionamos las puntas de los conectores de la siguiente manera: 3. Ajustamos el potenciómetro hasta alcanzar el valor de 0,56 5.2.4 Disipación del calor El empleo de disipadores en los drivers les permite trabajar a intensidades más elevadas (siempre que estén por debajo del máximo permitido, en este caso 2A). Tal y como recomienda el fabricante, se han situado disipadores de aluminio de 13x13x7 milímetros con un adhesivo termoconductor.
  • 24. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 24 Los motores y los drivers desprenden calor y por ello es necesario idear un sistema de refrigeración que asegure un correcto funcionamiento de estos componentes. En este caso se ha empleado un ventilador de 70mm con un consumo de intensidad de 0,17 amperios y una tensión de 12 voltios. 5.2.5 Conexionado de Motores Antes de conectar los cables de los motores en la regleta de conexión debemos saber la posición que deben ocupar en la misma. La electrónica empleada en ese proyecto (el sistema Arduino, Shield CNC y drivers Pololu A4988) está dedicada para controlar motores paso a paso bipolares. La siguiente imagen muestra la diferencia que existe entre un motor bipolar y otro unipolar:
  • 25. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 25 Como se puede ver en la imagen, el motor bipolar tiene 4 cables mientras que el motor unipolar emplea 6 cables (o más). Los motores que emplearé en esta máquina CNC son unipolares, tienen 6 cables, y por lo tanto es necesario adaptarlos a la “configuración bipolar” que requiere nuestra electrónica. Para hacer esta adaptación lo que hacemos es dejar libre el cable de en medio de cada bobina y empleamos los de sus extremos, es decir, usamos los terminales A1 y A3 de la bobina 1 y los terminales B1 y B3 de la bobina 2. Los terminales A2 y B2 no los usamos. La pregunta es ¿cómo sé cuáles son los cables que tengo que elegir de todos los 6 que hay? Muy fácil. Lo primero que hacemos es localizar los cables que pertenecen a la bobina 1 (A1, A2 y A3) y por deducción lógica los cables restantes corresponden a la bobina 2 (B1, B2 y B3). Para ello medimos la continuidad de las bobinas con un multímetro de tal manera que cuando conectamos A1 con A2 con A3, el multímetro emite una señal sonora de continuidad; mientras que si conectamos A1 con B2, por ejemplo, el multímetro no emite señal alguna. Una vez hecha las comprobaciones llego a la siguiente relación de cables para la primera bobina:  Cable verde  Cable verde/blanco  Cable blanco Mientras que la relación de cables de la segunda bobina es:  Cable rojo  Cable rojo/blanco  Cable negro
  • 26. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 26 Ahora bien, de esos tres cables que tiene cada bobina, necesitamos sólo dos: los terminales A1 y A3 de la bobina primera y los terminales B1 y B3 de la bobina segunda. ¿Cómo los conozco? Muy fácil, midiendo la resistencia entre terminales. Si mido la resistencia entre el terminal A1 y el terminal A2 obtendré un valor inferior a si la mido entre el terminal A1 y A3. Es lógico, entre A1 y A3 hay más bobinado que entre A1 y A2 o A2 y A3. Por lo tanto la resistencia es mayor. Lo mismo para la segunda bobina. Haciendo las comprobaciones obtengo que los cables que necesito de la bobina primera de mis motores son:  Cable rojo  Cable rojo/blanco Ambos conectados me dan una resistencia de 10 Ohms (si los conecto de forma independiente con el cable negro me da justo la mitad: 5 Ohms) Y los cables que necesito de la bobina segunda son:  Cable verde  Cable verde/blanco
  • 27. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 27 El diagrama de la imagen muestra el esquema de conexionado de un motor bipolar con los pines del driver Pololu A4988. Tomando como ejemplo la imagen, hago la siguiente asignación de cables:  Cable rojo. 2B  Cable rojo/blanco 2A  Cable verde/blanco 1A  Cable verde 1B Aunque más adelante se hablará sobre los parámetros constructivos de la máquina, es necesario entender bien el funcionamiento del conjunto motor PAP y tornillo roscado o correa de distribución. Como se comentó anteriormente, el giro angular del motor se transforma en un desplazamiento lineal del eje a través de la varilla roscada. Las varillas roscadas utilizadas en este proyecto son de métrica M10 y tienen un paso de 1,25 mm. Esto significa que por cada vuelta completa que da el motor, el eje se desplazará 1,25 mm. Dicho de otra manera: 1rev/s = 1,25mm/s Otra cosa distinta sucede en la transmisión por correa dentada en la que el avance del eje es equivalente a la circunferencia de la polea dentada conectada al motor. De esta forma, si la polea tiene un diámetro de 12,2mm, tendrá por lo tanto una circunferencia de 38,3mm. Esto significa que el eje avanzará en cada vuelta 38,3mm. Los motores empleados requieren 200 pulsos para realizar una vuelta completa, por lo tanto, en cada pulso el motor girara 1,8º. Su velocidad angular viene determinada por la siguiente ecuación:
  • 28. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 28 Donde f representa la frecuencia de los de pulsos. Gráficamente, esta relación se puede representar de la siguiente manera: También se puede expresar en términos de periodo: Esta última expresión, permite calcular de manera fácil la velocidad angular a partir del tiempo entre pulso y pulso (T) del motor PaP. Dicho esto, hay que remarcar que los motores paso a paso presentan una limitación en torno a la frecuencia de los pulsos. La máxima frecuencia admisible suele estar alrededor de los 625Hz. En el caso de que la frecuencia de pulsos sea demasiado elevada, el motor puede reaccionar de las siguientes maneras: 1. No realizar ningún movimiento en absoluto. 2. Comenzar a vibrar pero sin llegar a girar. 3. Girar erráticamente. 4. Girar en sentido opuesto. 5. Perder potencia. Para la configuración de un motor NEMA 23 y tornillo sin fin de paso 1,25mm, la máxima velocidad de desplazamiento se encuentra, como mucho, en 280mm/min. Esta velocidad podría elevarse de manera considerable sustituyendo las varillas roscadas de paso 1,25 mm por husillos. Esta opción se barajaría más adelante asumiendo un coste económico mayor.
  • 29. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 29 5.2.6 Alimentación La alimentación de todo el conjunto se realiza a través de una fuente de alimentación de ordenador de tipo ATX, una solución de bajo coste que dispone de varias salidas a diferente tensión y un ventilador de refrigeración. En concreto se ha empleado el modelo HTFA400C de VINA que ofrece hasta una potencia de 400W. La fuente de alimentación aporta energía al shield y el ventilador. El shield que está ensamblado en la placa de Arduino no permite alimentar al microcontrolador, por lo que Arduino requiere también alimentación externa. Por ello, para que la máquina funcione, el Arduino tiene que estar permanentemente conectado al ordenador. 5.3 MONTAJE MECÁNICO El montaje mecánico de la máquina se realiza una vez que se disponen de todos los componentes y materiales que constituyen cada una de sus partes. La imagen siguiente muestra el montaje completo de toda la máquina. Aparecen todos sus componentes mecánicos y electrónicos, así como el cableado eléctrico. También se muestra el ordenador y su conexión vía USB a la caja controladora. En la pantalla del ordenador puede verse el programa de control y la imagen que se pretende realizar con la máquina.
  • 30. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 30 5.3.1 Base (eje X) El eje X es el desplazamiento de derecha a izquierda que realiza el carro a lo largo de las barras horizontales en las que va acoplado y sobre las que se desliza. Entre las dos barras puede apreciarse la barra roscada correspondiente al eje de transmisión. Sistema de transmisión eje X El sistema de transmisión del eje X está compuesto por una barra roscada que transmite el movimiento de giro del motor a través de un acoplador de aluminio elástico. Este acoplador elástico que conecta el eje del motor con el eje roscado permite absorber las vibraciones que pueden derivar de la excentricidad eje motor/varilla.
  • 31. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 31 El eje de transmisión se apoya en sus dos extremos mediante dos rodamientos de bolas. La conversión del movimiento circular del eje de transmisión en movimiento lineal del eje X se lleva a cabo con un acoplador roscado conectado mediante dos abrazaderas metálicas al carro deslizante.
  • 32. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 32 Las piezas que forman esta parte de la máquina se indican en la siguiente tabla: Nombre Cantidad Tubo cuadrado aluminio L1 25x25x1.5mm 4 Tubo cuadrado aluminio L2 25x25x1.5mm 2 Tubo cuadrado aluminio L3 25x25x1.5mm 2 Liso aluminio L 50x3mm 2 Bisagras acero inox 2 Placa multiagujeros acero galv. 60x200 4 Redondo aisi-304 16mm 645mm 2 Abrazaderas 16mm 4 Casquillos A162025 4 Abrazadera 4 Escuadra acero inox. 4 Soporte motor acero galv. 1 Conectores acero cromados 4 Motor SANYO DENKI 1 Acomplador flexible aluminio 1 Varilla roscada L 10mm 1 Rodamiento 6000 2RS OKO 2 Abrazadera rodamiento 2 Tuerca autoblocante M10 1 Contratuerca M10 1 Conector acero cromado M10 1 Abrazadera conector acero cromado M10 2
  • 33. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 33 Esta lista de piezas no incluye la tornillería necesaria para ensamblar las piezas. 5.3.2 Puente (eje Y) El eje Y es el desplazamiento que realiza el puente en su movimiento de alejamiento o acercamiento (visto desde enfrente). El puente se desliza a lo largo de las barras horizontales que se mantienen fijas y totalmente estáticas sobre la bancada. Sistema de transmisión El sistema de transmisión que emplea el eje Y, a diferencia del eje X visto anteriormente, lo constituye dos correas dentadas conectadas a dos motores mediante dos poleas dentadas que son las encargadas de transmitir el movimiento de giro del motor a la correa.
  • 34. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 34 Las correas precisan un estado de tensión para evitar holguras que puedan hacerlas perder tracción o saltarse dientes. Esta tensión requerida se mantiene mediante una polea tensora instalada en el lado opuesto del motor y conectada a la bancada. La transmisión del movimiento de giro del motor se realiza en las dos columnas que soportan el puente central de la máquina. Al colocar en cada columna una transmisión independiente (aunque se desplazan a la misma vez) asegura el desplazamiento uniforme de todo el puente en su conjunto. Es decir, se evitan excentricidades (que un pilar avance más rápido que el otro) que pudieran haberse originado en el caso de haber empleado un único sistema de transmisión central para mover todo el conjunto. Fíjese que en este sistema de transmisión la conversión del movimiento de giro del motor en movimiento lineal del eje Y lo realiza la misma correa y no es necesario emplear más conectores de conversión como sucedía en el eje X. En la imagen se aprecia la conexión directa de la correa dentada en el eje Y mediante dos tornillos acoplados al soporte. En este caso, la imagen corresponde a la columna derecha del puente. El montaje es simétrico a la columna izquierda.
  • 35. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 35 Sistema de deslizamiento El sistema de deslizamiento es el mismo en todos los ejes de la máquina (XYZ). Dos casquillos de bronce sinterizado autolubricados conectan el soporte de los ejes con las barras sobre las que desliza. Estos casquillos van acoplados a los soportes a través de unas abrazaderas de acero inoxidables. Entre la abrazadera y el casquillo se ha utilizado goma elástica para evitar un posible deslizamiento abrazadera/casquillo, así como mantener una flexibilidad que permita evitar roces excesivos entre el casquillo y la barra. Hay que tener en cuenta que el montaje general de los sistemas mecánicos no admite mucha tolerancia.
  • 36. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 36 Las piezas que componen esta parte de la máquina vienen indicadas en la siguiente tabla: Nombre Cantidad Angulo perfil hierro galv. L1 25x25mm 4 Angulo perfil hierro galv. L2 25x25mm 4 Angulo perfil hierro galv. L3 25x25mm 1 Pletina ensamblaje 6 Redondo aisi-304 16mm 650mm 2 Abrazadera 16mm 4 Casquillos A162025 4 Abrazadera 4 Tablero mel blanco 800x400x10 2 Placa union inox 40 3 Tablero inferior x Tornillos tirafondos x Soporte motor acero galv. 2 Motor SANYO DENKI 2 Polea GT2 20T 6.35 2 Correa dentada GT2 L 2 Polea correa tensora GT2 20T 5 2 Soporte poleas 2 Esta lista de piezas no incluye toda la tornillería necesaria para ensamblar las piezas. 5.3.3 Cabeza (eje Z) Ésta es la parte fundamental de la máquina. El eje Z es el lugar donde va colocada la herramienta de trabajo y donde debe conseguirse pues la máxima precisión. La cabeza (la placa de teflón blanco que vemos en la imagen) se desplaza en sentido vertical hacia arriba o hacia abajo. Al igual que en los ejes X e Y, el eje Z se desliza a lo largo de las barras verticales que se encuentran detrás y acopladas al soporte del eje X.
  • 37. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 37 Sistema de transmisión El sistema de transmisión del eje Z es idéntico al del eje X. Está compuesto por una varilla roscada conectada al motor a través de un acoplador de aluminio elástico.
  • 38. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 38 La varilla roscada se soporta en sus extremos mediante dos rodamientos de bolas. La transmisión del movimiento al eje Z (igual que en el eje X) se lleva a cabo mediante un conector roscado fijado al soporte del eje Z con dos bridas metálicas.
  • 39. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 39 Las piezas que componen esta parte de la máquina vienen indicadas en la siguiente tabla: Nombre Cantidad Tubo cuadrado aluminio L 25x25x1.5mm 2 Liso aluminio L 50x3mm 2 Angulo perfil hierro galv. L1 25x25mm 2 Redondo aisi-304 16mm 290mm 2 Casquillos A162025 4 Abrazadera 4 Abrazaderas 16mm 4 Soporte motor acero galv. 1 Motor General Electric 1 Acoplador flexible aluminio 1 Varilla roscada L 10mm 1 Rodamiento 6000 2RS OKO 2 Abrazadera rodamiento 2 Tuerca autoblocante M10 1 Contratuerca M10 1 Conector acero cromado M10 1 Abrazadera conector acero cromado M10 2 Placa teflon LxL 1 Casquillos A162025 4 Abrazadera 4 Conector acero cromado M10 1 Abrazadera conector acero cromado M10 2 Esta lista de piezas no incluye toda la tornillería necesaria para ensamblar las piezas. 5.4 CABLEADO ELÉCTRICO El suministro de electricidad a los motores se realiza a través de los cables eléctricos. Estos cables conectan cada uno de los cuatro motores de los ejes XYZ a una regleta principal de distribución ubicada justo a la salida del controlador electrónico. El cableado eléctrico se introduce por unos tubos de plástico que les sirve de protección y guía. Estos tubos son flexibles y están fijados a los ejes Y y X de la máquina de tal manera que adaptan su posición al movimiento longitudinal de los ejes. Dicho de otra manera, si el eje X se desplaza hacia la derecha, el tubo al ser flexible se amolda en función de la distancia desplazada. Esto permite mantener el cableado protegido del exterior y perfectamente guiado.
  • 40. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 40 Los tubos se conectan a las cajas de conexión en donde los cables eléctricos alimentan con energía a los motores. La caja de conexión de la siguiente imagen corresponde al motor del eje X. En este lugar se bifurca el cableado en dos sentidos: Un cableado que alimenta el motor X y el otro cableado que alimenta el motor Z.
  • 41. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 41 Como se dijo anteriormente, todos los cables confluyen en dos regletas principales conectadas a la caja de control ubicada en la bancada. La caja de control es el elemento de unión entre el ordenador y la máquina. Aquí se encuentran los controladores electrónicos que son los encargados de enviar los pulsos eléctricos a los correspondientes motores en función de las señales que les llegan del ordenador.
  • 42. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 42 En la imagen siguiente se muestra la caja de control con los cables de alimentación eléctrica (rojo y negro) que suministran potencia a los motores. El cable USB va conectado al ordenador y se encarga de transmitir las órdenes dictadas por el programa. Las piezas que componen esta parte de la máquina vienen indicadas en la siguiente tabla: Nombre Cantidad Caja conexión 2 Tubo cableado electrico L Cable Regleta 3 Quimat Arduino Kit CNC 1 Ventilador 12V 1 Fuente alimentacion ATX 1
  • 43. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 43 5.5 INTERFASE MÁQUINA ORDENADOR 5.5.1 Universal G-Code Sender Recordamos que antes de iniciar la configuración de GRBL en GcodeSender la placa Arduino debe tener el código GRBL flasheado. Esto se explicó en el apartado 3.2.1 Programación de Arduino. El programa de control empleado en este proyecto es el software libre denominado GcodeSender que se puede obtener descargando la versión de la Web GitHub https://github.com/winder/Universal-G-Code-Sender. Este programa, para que pueda ser ejecutado en el ordenador, es necesario tener previamente instalado Java. Por lo tanto, debe asegurarse primero de que Java está instalado para que pueda funcionar. Una vez instalado GcodeSender en el ordenador, lo ejecutamos y nos aparece la siguiente pantalla: 5.5.2 Configuración de los parámetros El programa viene configurado por defecto con unos parámetros que debemos ajustar a nuestra máquina. Estos parámetros definen la velocidad de avance de los ejes, la aceleración, el número de pasos que dan los motores por cada mm, etc.
  • 44. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 44 El proceso de configuración se inicia conectando en primer lugar la placa Arduino (es decir, la caja de control) con el ordenador a través del cable USB y damos Open. El acceso a la configuración que viene cargada por defecto en el programa se realiza tecleando $$·en el espacio en blanco de Command, tal y como aparece en la imagen. Después de pulsar Enter aparecerá en la ventana Console la siguiente lista de parámetros (en mi caso, no tiene por qué ser igual en otras placas). Parámetros: $0=200.000 (x, step/mm): Paso por mm, Eje X. Esto determinará cuántos pasos deberá dar el motor X para mover 1mm. $1=200.000 (y, step/mm): Paso por mm, Eje Y. Esto determinará cuántos pasos deberá dar el motor Y para mover 1mm. $2=200.000 (z, step/mm): Paso por mm, Eje Z. Esto determinará cuántos pasos deberá dar el motor Z para mover 1mm. Para calcular los pasos/mm en cada eje de la máquina hay que hacer lo siguiente:
  • 45. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 45 1. Identificar los pasos de cada motor. En mi caso, los motores X e Y son 200 pasos y el motor Z es 180 2. Identificar cuántos pasos o micro pasos vamos a utilizar (en mi caso 1 paso) 3. Conocer cual es el avance de nuestra correa, husillo Mi máquina emplea una varilla roscada de métrica M10, la cual tiene un paso de 1,25 mm. La polea dentada (20 dientes) tiene un diámetro efectivo de 12,2 mm y por lo tanto una circunferencia de 38,3 mm. Así pues, los pasos que deben dar los motores para avanzar 1 mm serían:  Eje X: 200/1,25 = 160  Eje Y: 200/38,308 = 5,22  Eje Z: 180/1,25 = 144 Es decir: $0=160.000 (x, step/mm) $1=5.000 (y, step/mm) $2=144.000 (z, step/mm) Si configuramos micropasos en nuestro driver, por ejemplo 1/8, significará que estamos dividiendo un paso en 8 micropasos, por lo tanto, para que el motor dé una revolución completa ha de avanzar 1600 micropasos. Lo malo de los motores paso a paso es que (siendo de 200 pasos) gira de 1,8º en 1,8º, es decir, no gira continuamente como un motor normal, sino que va dando pequeños saltitos, giros bruscos de 1,8º. A más micropasos, menor par tendrá el motor. $3=15 (Step pulse, usec): Los controladores de motores paso a paso están hechos para una determinada longitud mínima de pulso para el paso. Un pulso bajo se podrá reconocer de forma fiable, pero si los pulsos son largos, cuando se ejecuta el sistema a muy altas velocidades de avance los pulsos se pueden solapar entre sí. Lo recomendado es un valor aproximado de 10 Microsegundos.
  • 46. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 46 $3=10 (Step pulse, usec). Este valor es válido. $4=150 (default feed, mm/min): Velocidad con carga. $5=150 (default seek, mm/min): Velocidad sin carga. Para obtener estos valores hay que ir probando hasta obtener el valor más adecuado. Si el motor empieza a vibrar o saltar es que la velocidad está muy alta o que el paso $3 no está bien definido. Los motores tienen autostop. Esto quiere decir que en el momento que se pasa de velocidad, el motor se para. La velocidad $5 podría ser superior a la $4 pero dejaré las dos velocidades iguales. $4=150 (default feed, mm/min): Este valor va bien. $5=150 (default seek, mm/min): Dejo el mismo valor que el anterior. $6=192 (Step port invert mask, int:11000000): Este ajuste invierte la señal de pulso hacia el driver. No se necesita modificar para el driver A4988 de Pololu pero existen otros que sí se necesitan modificar. $7=253 (step idle delay, msec): Cada vez que los motores PAP completen un movimiento y se detengan, GRBL deshabilitará por un determinado tiempo los motores para que no se muevan. Se pueden dejar siempre bloqueados para que no se muevan por ningún motivo colocando el valor 255. Tener en cuenta que si se bloquean los motores PAP con este valor, se quedará energizada una bobina por lo que si el motor está así por mucho tiempo se podrá calentar. Si el valor es muy bajo, el motor puede perder pasos. $8=900.000 (acceleration, mm/sec^2): Esto determina la aceleración del movimiento. Sirve para que arranque a baja velocidad y que vaya adquiriéndola a medida que se desplaza. Un valor alto produce movimientos más estrictos mientras que un valor bajo hace el movimiento más suave. El valor óptimo se consigue a base de prueba-error. La idea es tener velocidad continua y minimizar la aceleración. $9=0.050 (Junction deviation, mm): Es utilizado por el gestor de la aceleración para determinar la rapidez a la que el motor se puede mover a través de los cruces de
  • 47. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 47 segmento de línea de ruta del programa del código G. Por ejemplo, si la ruta del Código G tiene un giro de 10 grados y la máquina se está moviendo a toda velocidad, esta opción ayuda a determinar cuánto tiene que reducir la velocidad para ir con seguridad a través de la curva sin perder pasos. Cómo se calcula es un poco complicado, pero, en general, los valores más altos dan movimientos más rápidos en las curvas, al tiempo que aumenta el riesgo de perder pasos y posicionamiento. Los valores más bajos hacen que el control de la aceleración sea más cuidadoso y dará lugar a curvas cuidadosas y con velocidad lenta. $10=0.100 (arc, mm/segment): GRBL hace círculos, arcos y hélices. Los valores más bajos dan una mayor precisión pero pueden conducir a problemas de rendimiento por la sobrecarga de GRBL con demasiadas líneas diminutas. Para los valores más altos proporciona una menor precisión, pero puede acelerar el rendimiento de arco desde GRBL ya que tiene menos líneas que trazar. $11=25 (n-arc correction, int): Estos valores se modifican si queremos obtener más sensibilidad (para trabajar con nanotecnología). Los dejo tal cual están. $12=3 (n-decimals, int): Indica el número de decimales. $13=0 (report inches, bool): GRBL tiene una función de informes de posicionamiento en tiempo real para proporcionar una retroalimentación a los usuarios. Indica la posición de la máquina en un momento exacto, así como los parámetros para coordinar los desplazamientos. Por defecto, se establece que informe en milímetros, pero se puede cambiar a pulgadas mediante el valor 1. Para volver a milímetros el valor es 0. $14=1 (auto start, bool): Auto iniciar, si se coloca un 0, el proceso de fresado se podrá iniciar desde el software de la PC, pero si se coloca un 1, el proceso de fresado se podrá iniciar desde el software de la PC y también de un botón conectado en la entrada A2 del Arduino. $15=0 (invert step enable, bool): Invertir el pin Enable. No es necesario en este caso con los drivers A4988 $16=0 (hard limits, bool): Básicamente es lo mismo que los límites por software, pero con la diferencia de que se utilizan interruptores físicos en su lugar (finales de carrera). Cuando el interruptor se dispara, éste detiene de inmediato todo el movimiento, apaga el refrigerador (si está conectado a Arduino) y para el husillo (si está conectado a Arduino). Entra en modo de alarma, lo que te obliga a revisar la máquina y reiniciar todo. Para habilitar los interruptores físicos se debe colocar el valor 1, de lo contrario el valor 0. $17=0 (homing cycle, bool): Este parámetro se utiliza para localizar con exactitud y precisión una posición conocida. Es decir, la máquina recuerda una posición para que siempre inicie desde esa coordenada. Ejemplo: si iniciamos el mecanizado y de un momento a otro se corta la alimentación de la máquina, cuando se vuelve a iniciar
  • 48. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 48 GRBL se queda con la tarea de averiguar dónde se encuentra. Mediante el Homing, siempre se tiene el punto Zero como referencia. Lo único que hay que hacer es ejecutar el “Homing Cycle” y GRBL continuará donde había terminado. $18=0 (homing dir invert mask, int:00000000): Por defecto, GRBL asume que sus finales de carrera están en la dirección positiva. Pero si se tienen en la dirección negativa, GRBL puede invertir la dirección de los ejes. Funciona igual que el “Step Port Invert” y “Direction Port Invert Masks”, donde todo lo que hay que hacer es enviar el valor de la tabla para indicar qué eje desea invertir. $19=150.000 (homing feed, mm/min): Busca primero los finales de carrera y una vez que los encuentra se mueve a una velocidad de avance lento a la ubicación precisa de Zero. Es la velocidad máxima que tomará cuando tiene que volver al origen. Colocar un valor un poco más alto que $5=150.000 (default seek, mm/min) está bien. $20=150.000 (homing seek, mm/min): Colocar siempre un valor igual o mayor a $19. $21=100 (homing debounce, msec): Cada vez que un interruptor se dispara, algunos de ellos pueden tener ruido eléctrico/mecánico. Para resolver esto, GRBL realiza una breve demora. Este valor es válido. $22=1.000 (homing pull off, mm): Para tantear bien con los límites físicos, donde Homing puede compartir los mismos interruptores de límite, el ciclo Homing se moverá fuera de todos los finales de carrera en moviento Pull-Off después de que se complete toda la trayectoria. En otras palabras, ayuda a prevenir la activación accidental del límite físico después de un ciclo de Homing. Así dejamos configurados nuestro GRBL y ya estamos listos para programar. 6 EJEMPLO PRÁCTICO Este proyecto culmina con la realización de un ejemplo práctico que nos permitirá comprobar la calidad y precisión de la máquina. Este ejemplo práctico consistirá en dibujar con la máquina una imagen real a partir de una imagen digital previamente creada en un software de dibujo CAD. En la imagen siguiente se muestra el proceso a seguir: 1. Elaboración del archivo CAD con el dibujo que se pretende crear. 2. Generación del código G a partir del archivo CAD. 3. Envío del código G generado al programa de control (Gcodesender). 4. Ejecución de la orden.
  • 49. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 49 El ejemplo práctico a realizar con la máquina es un dibujo sencillo compuesto de tres figuras: cuadrado, triángulo y círculo. La creación de esta imagen digital se puede realizar de dos maneras: 1. Dibujar la imagen en papel y digitalizar a través de un escáner. 2. Dibujar la imagen a través de un programa de ordenador. En este caso se ha empleado el programa de edición de imágenes digitales GIMP, un software libre y gratuito que se puede descargar en el siguiente enlace: http://www.gimp.org.es/descargar-gimp.html Una vez creada la imagen con GIMP pasamos al siguiente paso del proceso: Obtener el código G de esa imagen. Para obtener el fichero de control numérico CAM de la imagen digital utilizaremos el programa Inkscape; un editor de gráficos vectoriales gratuito y de código libre que nos permite generar el código G de la imagen vectorizada. El programa puede descargarse de manera gratuita en la web: https://inkscape.org/es/ Una vez obtenido el código G de la imagen lo enviamos finalmente al controlador de la máquina (Universal Gcode Sender) descrito en apartados anteriores. Este programa permite previsualizar la imagen que va a realizar la máquina.
  • 50. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 50 En la imagen superior, la barra amarilla representa la herramienta de trabajo, las líneas blancas y rojas las trayectorias de mecanizado y las líneas azules las trayectorias de desplazamiento de la herramienta cuando no está en contacto con la superficie de trabajo. Como paso final sólo queda proceder a ejecutar la orden de trabajo. Para “imprimir” la imagen digital en un medio físico se emplea un rotulador de tinta negra acoplado al cabezal Z que hará la función “herramienta” y una cartulina de color blanco. El resultado final es el siguiente dibujo impreso:
  • 51. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 51
  • 52. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 52 7 MEMORIA ECONÓMICA Descripción Cantidad Precio Importe Proveedor 1 Casquillos A162025 12 1 12 GAES Sistemas mecánicos 2 Rodamientos 6000 2RS OKO 4 1,05 4,2 3 Portes 1 8 8 4 Rodamientos 6000 2RS OKO 3 1,47 4,41 Rubysan 5 Angulo Alu Bruto 2 3,95 7,9 Brico Depot 7 Pletina ensamblaje 6 1,65 9,9 8 Bisagras 1 3,6 3,6 Bricor 9 Escuadra corr 4 1,35 5,4 11 Liso aluminio 1 14,8 14,8 12 Tubo cuadrado alumnio 25x25x1.5mm 1 8,25 8,25 13 Tubo cuadrado aluminio 25x25x1.5mm 1 12,9 12,9 14 Angulo perf hierro galv 25x25 3 8,9 26,7 Brico Centro Aranda 15 Varilla roscada 10mm 1M 2 1,15 2,3 Leroy Merlin 18 Placa multiagujeros 60x200 4 1,79 7,16 20 Tablero mel blanco 800x400x10 2 2,75 5,5 21 Placa union inox 40 3 0,33 1 22 Redondo aisi-304 16mm 645mm 2 6,87 13,74 Diego Núñez23 Redondo aisi-304 16mm 650mm 2 6,93 13,86 24 Redondo aisi-304 16mm 290mm 2 3,09 6,18 25 Quimat Arduino Kit CNC 1 26,99 26,99 Amazon 26 Polea GT2 20T 6.35 2 1 2 Ebay 27 Correa dentada GT2 2M 1 4,55 4,55 Ebay 28 Polea correa tensora GT2 20T 5 2 1,15 2,3 Ebay 29 Motor PaP SANYO DENKI NEMA 23 3 13,2 39,6 Recycledcenter 30 Motor PaP General Electric 1 3 3 Mercadillo 31 Acoplador 6,35x8 2 1,58 4,74 Ebay 32 Caja conexión 2 1 2 Ferretería Arroyo 33 Tubo cableado electrico Electricidad Baños 34 Cable 35 Regleta 3 1 3 Ferretería la llave TOTAL 255,98
  • 53. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 53 8 CONCLUSIONES Una vez realizada la primera prueba práctica de funcionamiento llega el momento de analizar el resultado obtenido y el comportamiento general de la máquina CNC durante el proceso de impresión. El trabajo de impresión obtenido es correcto pero debe mejorarse. El fin es producir líneas más finas y contornos más precisos. No obstante, la máquina puede hacerse más precisa prestando más atención a los ajustes mecánicos, la lubricación y la configuración de los parámetros de velocidad, aceleración, etc. La velocidad de avance de los ejes no es muy elevada y sería positivo alcanzar valores más altos para reducir el tiempo de trabajo total. Siendo consciente de las limitaciones técnicas que tienen los motores, que sólo permiten alcanzar un máximo de velocidad, sí es posible obtener mayores velocidades empleando husillos de paso mayor. Esta opción se baraja en adelante y se asume su mayor coste económico. Las ventajas que ofrece emplear husillos en vez de varilla roscada son dos: Por un lado la máquina trabajaría a más velocidad y por el otro con más precisión. El sistema de transmisión de correa/polea dentada ha mostrado un peor comportamiento que los sistemas de varilla roscada. Los sistemas de varilla proporcionan un movimiento más silencioso, fino y preciso que el sistema correa/polea. Sin duda, este es el aspecto más destacado a mejorar de la máquina, ya que se ha observado un exceso de vibración y pérdida de precisión en el eje accionado por este sistema.
  • 54. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 54 9 BIBLIOGRAFÍA Libros Torrecilla, E., (2010), El gran libro de CATIA, Barcelona: Marcombo. Sainz, M., (1966), Iniciación al modelismo naval, Madrid: Santillana. Monografías Riquelme, M. & Zamora, R. (2014). Diseño y fabricación de una fresadora CNC de 3 ejes para el mecanizado de PCB con plataformas de desarrollo abiertas. Universidad Politécnica de Cartagena, España. Textos electrónicos, bases de datos y programas informáticos. Cultura maker, de: <http://hacedores.com>. Introducción a Arduino, de: <https://www.zonamaker.com>. Foro de consultas, de: <https://spainlabs.com/foro.html>. GRBL, de: <https://www.staticboards.es>. Hardware y software open source, de: <https://www.arduino.cc>. Sistemas de transmisión CNC, de: https://www.cnccontrolapp.com>. Control numérico computerizado, de: https://www.demaquinasyherramientas.com>. El profe García, (2016, agosto, 24). Errores al calibrar Driver A4988, ajuste Vref, conexión CNC Shield a Motor Pasos, de: https://www.youtube.com/watch?v=zIiZ_gSi77Y El profe García, (2016, septiembre, 7). Configurar parámetros de su CNC ( GRBL ), de: https://www.youtube.com/watch?v=hZNDwzectrE Mundo CNC con Arduino, (2016, octubre, 4). G code con Inkscape, de: https://www.youtube.com/watch?v=8M8J810toUE Diseño CAD, de: <https://www.muchocatia.es>. Modelador CAD 3D paramétrico FreeCAD, de: <https://www.freecadweb.org/wiki/Download.html>.
  • 55. Diseño y fabricación de una máquina CNC con Arduino y Software Libre Roberto Sanz Benito 55 Editor imágenes digitales GIMP, de: <http://www.gimp.org.es/modules/mydownloads.html>. Editor gráficos vectoriales Inkscape, de: <https://inkscape.org/es/release/0.92.2/windows.html>. Programa GCodesender y fichero hexagesimal GRBL, de: <https://github.com>. Program Xloader, de: <http://russemotto.com/xloader.html>.