Está en la página 1de 6

Implementación de Máquina CNC para la Impresión de Imágenes

Usando Openhardware
Alvarez Huacasi Freddy1, Condorvilca Caceres Carlosl2, Vilca Quispe
Robel3 ccondorvilca@unsa.edu.pe1, falvarezh@unsa.edu.pe2,
rvilcaq@unsa.edu.pe3

Universidad Nacional de San Agustín


Escuela profesional de Ingeniería Electrónica.
Arquitectura de Computadoras 2021B
Profesor Asesor: MSc. Ing. Erasmo Sulla Espinoza
esullae@unsa.edu.pe

Resumen
El siguiente artículo se encuentra enfocado hacia la implementación de una máquina CNC para la
impresión de imágenes. En el siguiente se evidencian pruebas, cálculos, montaje y elaboración de la
estructura mecánica. El diseño y la construcción de un torno automático implican el desarrollo de un sistema
mecánico, un sistema electrónico y un sistema informático, los cuales interactúan para dar forma a las
imágenes impresas, tomando como guía códigos a través del software G-Code. El prototipo propuesto, para
el diseño de CNC,consta de tres ejes que vienen a ser eje ’x’,’y’ y ’z’. Una vez implementado el sistema
CNC, se comprueba mediante pruebas la eficiencia y eficacia del sistema para la impresión de imágenes
dentro de las etapas de contorneado.
Palabras Claves: CNC, imágenes, impresión, software, control automático.

Abstract: The following article is focused on the implementation of a CNC machine for the image printing.
The following shows tests, calculations, assembly and elaboration of the mechanical structure. The design
and construction of an automatic lathe involves the development of a mechanical system, a electronic
system and a computer system, which interact to shape printed images, taking as a guide codes through the
G-Code software. The proposed prototype, for the design of CNC, consists of three axes that come to be
axis ’x’, ’y’ and ’z’. Once the CNC system is implemented, it is checked by tests the efficiency and
effectiveness of the system for printing images within the contouring stages.

Keywords: CNC, images, printing, software, automatic control.

1. Introducción manera automatizada y con la mayor precisión


posible. En general este tipo de sistemas,
“El control numérico o máquina de control independientemente el tipo con el que se trabaje se
numérico (CNC) puede designarse como una los han desarrollado de manera
máquina que es mandada por órdenes de letras y paralela con un software de CNC propio de este
números”. En general un CNC gobierna 3 tipos de tipo de maquinaria, el cual identifica las diferentes
movimientos [1]: Movimientos de cabezal y ejes órdenes de movimiento para cada uno de los ejes
(carros), cambios de herramientas y piezas y, los (X,Y,Z), permitiendo de esta manera efectuar
valores de avances y revoluciones. movimientos coordinados, giros, perforaciones, etc.
Por tanto, cuando se habla de máquinas CNC en Movimiento longitudinal (eje X): Este
general se habla de sistemas en los cuales las corresponde habitualmente al movimiento de la
instruc ciones se dan a una máquina de manera herramienta de trabajo. Donde para facilitar la
numérica, donde los números identifican sujeción de la herramienta, la superficie esté dotada
instrucciones que permiten realizar movimientos de ranuras para permitir la fijación de mordazas u
coordinados para realizar de otros elementos de sujeción. Esta superficie podría
ejecutar movimientos de manera automática de 3. Marco teórico
acuerdo a las condiciones de corte que permite el
mecanizado [2].
Movimiento transversal (eje Y): Corresponde al 3.1. Motores paso a paso
desplazamiento transversal, que será ejecutado por Cuando se habla de sistemas de control CNC
la mesa de trabajo, es decir por el desplazamiento lazo abierto, se habla de sistemas que involucran
de la pieza que estará fijada, y permitirá un motores paso a paso, cómo son por ejemplo los de
movimiento de trabajo inverso al movimiento de la imán perma nente, que al ser dimensionados con el
mesa [2]. torque requerido permiten mover al mecanismo de la
mesa o de la herramienta con precisión. De acuerdo
con las características de torque y velocidad de
avance, el motor a pasos de imán permanente
bipolar satisface las exigencias requeridas.

Figura 2: Motor paso a paso


Figura 1: Movimientos cartesianos, tomado de [2]
3.2. CNC Shield
Movimiento vertical (eje Z): Corresponde al
desplazamiento vertical de la herramienta. Con el La Arduino CNC Shield es una pequeña placa
desplazamiento de este eje se establece la que permite controlar hasta 4 motores paso a paso
profundidad de devastado del fresado [2]. El fácilmente con tu Arduino gracias a su formato
presente proyecto opta por realizar un sistema más shield. Soporta 4 controladores de potencia Pololu
amigable con el operario, eliminando y/o A4988 o Pololu DRV8825 (no incluidos) y dispone de
sustituyendo la programación CNC, que en general todas las conexiones necesarias para conectar
resulta bastante tediosa y complicada, por un interruptores de final de carrera, salidas de relé y
algoritmo que automatice los movimientos diversos sensores. Es totalmente compatible con el
requeridos, y calcule las trayectorias basándose firmware de control GRBL y puede ser utilizada con
únicamente en una imagen que identifique el circuito cualquier modelo de Arduino, aunque se recomienda
a realizar. utilizar un modelo del tipo Arduino UNO o Arduino
Leonardo.
Con esta placa podrás disponer de un sistema
2. Objetivo completo para montar tu propia máquina CNC,
cortadora láser o cualquier otro sistema que necesite
El objeto de este proyecto es la programación y
un control preciso con motores paso a paso.
puesta en marcha de una máquina CNC de tres ejes,
dotada de la funcionalidad de impresión de
imágenes.
A lo largo del mismo, se va a analizar cualquier
aspecto importante y necesario para conseguir
diseñar y controlar el sistema. Se tendrá en cuenta la
elección de los materiales, centrando especial
atención a los componentes y elementos
correspondientes a la parte electrónica. Figura 3: Motor paso a paso
Con esto, se va a pretender llevar a cabo un
sistema que en su conjunto, cumpla con los objetivos
a la perfección y con buena precisión y resolución, 3.3. Driver A4988
tratando a su vez de que no suponga un coste
elevado. El driver Pololu A4988 permite controlar motores
Por tanto, se analizarán en detalle los objetivos motores paso a paso bipolares de hasta 2A. Basado
que debería poder cumplir la máquina una vez en en el chip Allegro A4988. Ampliamente utilizado con
funcionamiento. placas de control de impresoras 3D y Máquinas CNC
Finalmente, se llevará a cabo un análisis Open Source, como: RAMPS y CNC Shield. Es
completo de los elementos a utilizar, así como el conocido con el nombre de "Pololus.o çontrolador
coste desglosado y total del sistema. Pololu". El Driver A4988 es compatible con el Driver
DRV8825.
Permite regular la corriente máxima de salida por
medio de un potenciómetro. Además posee
protección contra corriente y cinco resoluciones
diferentes de microstepping. Trabaja con voltajes de
alimentación entre 8V a 35V, puede suministrar 1A
por bobina sin usar ventilación forzada o un disipador
y soporta picos de corriente de hasta 2A. Para
manejar el driver solo son necesarios 2 pines, uno
para la dirección de giro (DIR) y otro para dar el paso
(STEP). El pin Enable debe estar conectado a Tierra
(GND) para que el motor funcione. El microstepping
se configura con los pines MS1, MS2 y MS3 de
acuerdo a la tabla del fabricante.
Figura 5: Arduino uno

4. Sistema de control
Los sistemas de control que usualmente se
conocen dentro de las máquinas CNC está
implementado con un control en lazo abierto, así
como mediante un control en lazo cerrado. Como
bien se sabe el sistema de control en lazo abierto es
Figura 4: Driver A4988 más simple y muchas veces resulta más económico,
sin embargo no asegura la exactitud en trabajos en
Los pines que dispone son: los que el desbaste sea de gran profundidad o para
materiales demasiados duros, pues no existe un
● VDD: Entrada de tensión entre 3.3 y 5V. control adecuado del error que puede ser generado
Alimentación de la etapa lógica. por deficiencia en la fuerza de arrastre, que limitaría
● VMOT: Entrada de tensión entre 7-12V. su movimiento o generaría un movimiento no
Alimentación de los motores. uniforme.
● DIR: dirección de sentido de giro del motor.
● STEP: cuando se produce un cambio de El mecanismo impulsor que generalmente se
nivel bajo a nivel alto provoca un giro de un utiliza para el movimiento de la mesa u otro miembro
paso sobre el motor. de la máquina en este tipo de sistema en lazo
● SLP (activo a nivel bajo): pone al driver en abierto es el motor paso a paso (stepper motor), que
modo de bajo consumo. también es conocido como motor digital, pues
● RST (activo a nivel bajo): Todas las entradas trabaja por medio de secuencia de pulsos digitales,
de STEP se ignoran mientras este pin esté a que excitan de manera sincrónica cada una de sus
nivel alto. bobinas dependiendo de la velocidad y torque
● EN: driver encendido cuando la entrada está requeridos.
conectada a masa. Driver apagado cuando Por ejemplo si se trabaja con un motor que
se encuentra a nivel alto posee una armadura de 49 polos dentro de un
● MS1, MS2 y MS3: necesarios para el estator de 50 polos, los polos correspondientes
micro-paso, hasta una resolución de 1/16. deberían siempre estar alineados, por lo cual los
polos se deben energizar para alinear los siguientes
dos polos y hacen girar por tanto la armadura un
3.4. Arduino uno pequeño ángulo definido[2].
“Arduino es una plataforma de código abierto
utilizada para la construcción y programación de
electrónica. Puede recibir y enviar información a la
mayoría de los dispositivos, e incluso a través del
Internet para controlar el dispositivo electrónico
específico”.[13]

Figura 6: Control de circuito CN Abierto o lazo


abierto, tomado de [2]
debe utilizar un programa específico para flashear
sobre el microcontrolador el firmware. En este
proyecto, se ha empleado XLoader v1.00.
Cuando se ejecuta XLoader, la pantalla se debe
de configurar de la siguiente forma:

Figura 7: Circuito CN cerrado, tomado de [2]


Figura 8: XLoader v1.00
Por otro lado en los sistemas de control de lazo
cerrado la señal de impulso para el movimiento de la ● Hex file: directorio donde se encuentra el
mesa de la máquina es común que se convierta en archivo de código fuente de GRBL en
una señal estable. Donde por ejemplo la velocidad y hexadecimal.
la alimentación serian controladas conforme el ● Device: GRBL solamente es compatible con
sistema lo requiera, donde la acción se vería el micro controlador ATmega328. Se
reflejada por ejemplo en un aumento/disminución de recomienda flashear únicamente Arduino
la relación de trabajo de un PWM y posteriormente UNO, que obviamente dispone de este micro
dicha señal debería ser comparada por la señal de controlador.
un tacómetro, la cual definirá el tipo de acción que ● COM port: puerto donde está conectada la
efectúe el controlador. tarjeta de Arduino.
Esta acción sería recomendable en sistemas en ● Baud rate: se recomienda la velocidad de
los que el devastado requiera una fuerza de arrastre transmisión por defecto.
bastante considerable, la cual sin duda podría hacer
más lento al proceso, o en el peor de los casos Una vez configurada la ventana, se hace click en
hacer que exista un déficit bastante alto en cuanto a “Upload”. Si el puerto está correctamente
precisión o exactitud se refiere. Sin embargo para seleccionado GRBL comenzará a volcarse en la
mecanismos de fresado CNC en los que la fuerza de tarjeta y comenzará a parpadear. Una vez finalizado
arrastre, no requiera de valores tan elevados, un este proceso, nuestro Arduino Uno ya contará con el
mecanismo de control en lazo abierto, resultaría firmware GRBL. Es importante destacar que si el
suficiente para dar la exactitud requerida, y además CNC Shield se encuentra conectado a la tarjeta
ser un mecanismo óptimo desde el punto de vista Arduino este proceso no se puede llevar a cabo, ya
económico. que los pines 0 y 1 (Tx y Rx) se deben de encontrar
libres cuando se programa la tarjeta desde el
ordenador.
5. Desarrollo del Artículo
5.2. Electrónica y Cálculos
Materiales
Una vez programado el GRBL en el Arduino
● Arduino UNO UNO, es el momento de interconectar el CNC Shield
● CNC Shield v3.0 y demás partes electrónicas.
● 3 Driver A4988 con disipador de calor
● 3 Motores paso a paso nema 17
● 3 varillas roscadas M5 30cm
● 3 acoples flexibles
● 4 rieles
● 3 rodamientos
● Madera para la estructura
● 1 fuente de poder Figura 9: Arduino UNO, CNC Shield y los drivers
A4988 Interconectados

El firmware GRBL solamente es compatible con


controles numéricos en los ejes X, Y, Z, por lo que el
cuarto driver se puede emplear para duplicar alguno
5.1. Programación Arduino UNO de estos 3 ejes. En este proyecto no se ha
considerado necesario, por lo que solo se hace uso
El firmware de GRBL se encuentra dentro de un de 3 drivers.
fichero hexadecimal, por lo que no se puede Una vez conectado los componentes se procedió
introducir directamente desde el IDE de Arduino al a configurar las drives A4988 adecuadamente ya
micro controlador. Para realizarlo correctamente, se que se podían perder pasos en los motores si no se
calculaba la corriente y voltaje necesario.

IT ripmax =Vref
8 ∗ Rs
IT ripmax = Corrientemxima(A)
Vref = V oltejedereferencia
Rs = Resistencia(ω)
Figura 10: Conexión motores a la Shield y Arduino
Para hallar el voltaje de referencia, se despeja uno y fuente de poder
Vref la fórmula.

Vref = IT ripmax ∗ (8 ∗ Rs)


La corriente máxima de los motores es de 0,4
ampe rios y la resistencia de sensibilidad de los
drives A4988 debe estar representado en ohmios, en
nuestro caso es R100 que equivale a 0,1Ω
5.3. Fabricación estructura de la máquina
CNC
Vref = 0,4 ∗ (8 ∗ 0,1)
Vref = 0,32
Nuestro voltaje de referencia será de 0,32, pero La estructura mecánica de este prototipo común
como vamos a usar pasos completos debemos está conformado por los tres (3) ejes ortogonales y
limitarla al 70 % una (1) máquina rotativa, cada uno de ellos permiten
obtener un movimiento de traslación lineal
relacionado con el movimiento rotatorio del motor y
Vref = 0,32 ∗ 0,7
el prototipado rápido ya que este es un proceso que
Vref = 0,224 basado en un ordenador, pretende reducir el ciclo
iterativo del desarrollo de los objetos a crear, así
El de referencia real para los drives A4988 será reducir en gran medida el costo y el tiempo de
de 0,224 V. El cual se calibró con un potenciómetro producción necesarios para un nuevo producto al
que tiene cada uno de los drivers A4988. mercado, es por esto que últimamente en las
Para configurar los pasos de los motores, los cuales industrias se utiliza este proceso para el diseño,
están configurados con 200 pasos X 0,8 mm, sería producción y calidad del producto final[14].
calcularlos para que avance 10 mm, necesitaríamos
hacer una regla de 3.
Para la construcción del prototipo se usó un tipo
de madera prensada, pero resistente, la elección de
este material se llevó a cabo teniendo en cuenta el
200pasos → 0,8mm (1)
presupuesto establecido para el proyecto y la
X → 10mm facilidad para trabajar este material con respecto a
otros.
X =200 ∗ 10 .
0,8
X = 2500pasos 5.4. Comunicación Máquina – Ordenador
Una vez hecho los cálculos de los pasos, El programa que se utiliza para las pruebas en la
entraríamos a configurar los pasos conectando máquina CNC es Universal Gcode Sender v1.0.9,
Arduino UNO al ordenador y CNC Shield a una Esta es un software libre en Java que nos permite
fuente de poder y los motores conectados con su enviar ficheros Gcode e interactuar con nuestra CNC
voltaje de referencia previamente calculado, correr el de forma a través de las tarjetas Arduino y CNC
software G-Code Sender y configurar los pasos de Shield, que a su vez envían pulsos a los motores los
cada uno de los motores nema 17. cuales se irán moviendo por cada pulso un paso. En
nuestro caso la CNC avanzará 10mm por cada 2500
pasos.
Engi neering Science Invention, 2014, pp.
01-10.
6. Conclusiones
[9] G. Martínez Moreno, "VERSIÓN WEB."
El desarrollo del proyecto entregaría como [10] B. R. Almeida Zambrano and D. A. Jiménez
resultado un prototipo con 2 ejes ortogonales Moreira, Ïmplementación y aprovechamiento de
movidos cada uno por un motor paso a paso, la tecnología CNC, en modelado de produc tos
esto debido a la serie de pruebas realizadas, de grabado metálico a partir de un diseño
realizando cálculos de movimientos y ajustes CAD,.Escuela Superior Politécnica de Chimbora
en los parámetros del software Gcode Sender zo, 2016.
a través del sistema operativo Windows 7 [11] V. Ventura. (2014). Que es G-Code? Available:
.[15-18]. https://polaridad.es/que-es-g-code/
Los materiales necesarios para la fabricación [12] M. Dávila and M. Arisbet, "Mini fresadora CNC
de este dispositivo son: los motores, la tarjeta de tres ejes,"2016.
de Arduino UNO, CNC Shield y de todos los
equipos necesarios en la implementación del [13] A. Lazalde, J. Torres, and D. Vila-Viñas, "Hard
prototipo. ware libre,"2014.

[14] Y. A. Badamasi, "The working principle of an Ar


duino,ïn Electronics, Computer and
Referencias Computation (ICECCO), 2014 11th International
Conference on, 2014, pp. 1-4: IEEE.
[1] Jaime. Vargas, “Producción por Virutaje. Funda
mentos y Componentes de las Máquinas Herra [15] M. O. Bashir and F. A. Karkory, .Application of
mientas.” EPN, Quito, Ecuador, 2005 Rapid Prototyping to Create Additive Prototy pe
Using Computer System,"World Academy of
[2] R. Salas, J. Pérez, and J. Ramírez, "Técnicas de Science, Engineering and Technology, Internatio
diseño, desarrollo y montaje de circuitos impre nal Journal of Mechanical, Aerospace, Industrial,
sos,Üniversidad de los Andes. Venezuela, 2007. Mechatronic and Manufacturing Engineering,
vol. 9, no. 8, pp. 1553-1558, 2015.
[3] D. A. Alonso, J. E. Gil, and F. H. Martínez,
quot;Prototipo de máquina fresadora cnc paracir [16] D. Jiménez Sierra and L. Pérez Suescún, "La
cuitos impresos,quot; Tekhnê, vol. 12, no. 1, pp. representación simbólica de la responsabi lidad
23-38, 2015. social empresarial (RSE): el Caso San ta
Marta", Investigacion e Innovación en In
[4] J. R. Ocampo and I. de Jesús Deras,
genierias, vol. 4, no. 2, p. 24, 2016. DOI:
quot;Aplicación Integrada para Construcción de
https://doi.org/10.17081/invinno.4.2.2487
PCBs mediante Tecnología CNC y Ajuste Au
tomático a la Superficie,quot; Innovare: Revista
de ciencia y tecnología, vol. 3, no. 1, pp. 27-41,
2015.

[5] F. Acuna, A. Gordon, and W. Nunez, "Design


and implementation of a prototype lathe milling
of computer numerical control,ïn Engineering
Me chatronics and Automation (CIIMA), 2013 II
In ternational Congress of, 2013, pp. 1-6: IEEE.

[6] H.-W. Chiu and C.-H. Lee, "Prediction of machi


ning accuracy and surface quality for CNC
machi ne tools using data driven
approach,.Advances in Engineering Software,
2017.

[7] A. Khanna, A. Kumar, A. Bhatnagar, R. Tyagi,


and S. Srivastava, "Low-cost production CNC
sys tem,ïn Intelligent Systems and Control
(ISCO), 2013 7th International Conference on,
2013, pp. 523- 528: IEEE.

[8] B. Jayachandraiah, Krishna, O. V., Khan, P. A.,


Reddy, R. A, "Fabrication of Low Cost 3-Axis
Cnc Router,"vol. 3, ed. International Journal of

También podría gustarte