28
Titulo: CNC-DUINO Javier Estremera Pérez José Carlos Estremera Pérez 26 edición del Premio

Cnc Duino Memoria

Embed Size (px)

Citation preview

Page 1: Cnc Duino Memoria

Titulo: CNC-DUINO

Javier Estremera Pérez

José Carlos Estremera Pérez

26 edición del Premio

Page 2: Cnc Duino Memoria

Página 2

Prologo

Se ha creado un Blog, donde se encuentran videos,

Imágenes y todo lo relacionado con este proyecto.

Para visualizar el contenido digital.

http://cncduino.blogspot.com.es/

Page 3: Cnc Duino Memoria

Página 3

INDICE INTRODUCCION ............................................................................................................................. 4

LA IDEA .......................................................................................................................................... 5

FUNCIONAMIENTO DEL CONJUNTO ............................................................................................. 8

Mecánica ................................................................................................................................... 8

Electrónica ............................................................................................................................... 11

Motores paso a paso........................................................................................................ 11

Modulo Puente H L298N ................................................................................................. 11

Fuente de alimentación ...................................................................................................... 13

Arduino ............................................................................................................................... 13

Esquema de conexiones. ..................................................................................................... 14

Software .................................................................................................................................. 15

PLANOS ........................................................................................................................................ 22

Page 4: Cnc Duino Memoria

Página 4

INTRODUCCION

En este proyecto se ha marcado el objetivo principal construir y programar una CNC

(control numérico computarizado), buscando, además, que sea posible la utilización de

estas máquinas CNC en las aulas de institutos y FP para el aprendizaje y manejo de

movimientos en el espacio a través de 3 ejes (X, Y y Z) a un bajo precio.

Este prototipo tendrá como cerebro el controlador Arduino y para realizar los

movimientos consta de 3 motores paso a paso y de sus controladores. Arduino es un

microcontrolador de bajo coste y altas prestaciones.

El microcontrolador, hará que los motores se muevan para desplazar el taladro a la

posición adecuada y ajustando, además, la altura de éste. Además, acciona el motor

del taladro.

La información que necesita el dispositivo para posicionarse (coordenadas) y señal

para activar el taladro se transmite por una interfaz que comunica con el puerto serie

(USB) del ordenador.

Finalmente la maquina vuelve al origen de coordenadas, su punto inicial, para poder

hacer un trabajo similar al anterior y de esta manera podemos hacer piezas en serie.

Page 5: Cnc Duino Memoria

Página 5

LA IDEA

El principal motivo que nos ha llevado a realizar este proyecto es la necesidad de

hacer placas PCB más profesionales y no con ácidos, ya que el repaso con

rotuladores indelebles nunca sale todo lo bien que queremos, también observamos

cuando pasábamos por el aula de tecnología de la ESO que los alumnos estaban

realizando una maqueta, y para ello calcaban las piezas en madera y luego las

cortaban con seguetas. Una maquina de estas características haría este trabajo más

preciso y los alumnos aprenderían el movimiento de una maquina y su codificación.

Las alternativas comerciales de una CNC para este fin, ronda unos 2000€ las más

barata, esto es difícilmente asumible para un uso didáctico. Además, a esta inversión

habría que añadir el software necesario para el control de la misma.

Estar cursando estudios de F.P. en Sistemas de Regulación y Control Automáticos y

una gran curiosidad por saber cómo controlar el movimiento de una máquina. Nos ha

llevado a intentar desarrollar un prototipo de máquina asequible.

Lo primero que tuvimos que investigar es cómo podríamos comunicarnos con ella

desde un PC, había varios métodos, desde unas placas prefabricadas de las cuales al

final necesitarían de programas de pago como el MACH3 o la opción más económica

que es a través de un Arduino, un microcontrolador de bajo coste (20€).

El sistema Arduino era totalmente nuevo para nosotros, llevamos investigando sobre él

desde comienzo del curso y viendo que usa un lenguaje de programación basado en

C++. Tener conocimiento en C++ hizo más sencillo trabajar con el entorno de

programación de este microcontrolador.

Una vez encontrado el sistema de comunicación que íbamos a usar el siguiente reto

seria encontrar unos motores que nos dieran precisión. Buscando posibles soluciones,

descubrimos que se necesitan motores paso a paso. Siguiendo la idea inicial de

Page 6: Cnc Duino Memoria

Página 6

conseguir precios económicos. Encontramos uno que se dedica a el reciclaje de los

mismo, adquirimos 3 motores PAP por 40€. Un precio bastante más bajo que la media

del mercado que rondaban los 25€ cada motor. Estos motores necesitan para su uso

unos driver controladores que también nos facilitó la misma empresa.

Para la estructura mecánica de la CNC nos han sido muy útiles los conocimientos de

carpintería en madera por haber trabajado durante años en esa profesión. Esto nos

llevó a decidir realizar la CNC, en un principio, de madera. Sin embargo, una posterior

reflexión, nos hizo pensar que la madera es un material que con el roce tiende al

desgaste y para una máquina de precisión no es muy adecuado ya que nos variaría

los resultados. Pasamos a buscar una alternativa en material más resistente pero a la

vez con características similares a la madera para trabajar en él. Optamos por el

metacrilato que es un material plástico que con las mismas sierras y fresas de la

carpintería podría ser cortado y mecanizado. Este material fue donado lo que ayudaba

a mantener la idea de bajo coste.

Todos estos materiales no han superado los 180€ y permiten construir máquinas CNC

de una precisión similar a las comerciales. Este coste hace posible el uso didáctico

desde la ESO hasta las FP y enseñar con sistemas automatizados el control de trabajo

en espacios de tres ejes.

Page 7: Cnc Duino Memoria

Página 7

TABLA DE COSTES CNC-Duino

Cantidad Material

Precio

Und.

Precio

Total

1 Arduino UNO v3 (Controladora) 26,00 € 26,00 €

1 Fuente Alimentacion 22,00 € 22,00 €

3 Controlador Driver Motor L298N 8,00 € 24,00 €

3 Motores Paso a Paso 13,00 € 39,00 €

1 Relé 5V 5,99 € 5,99 €

14 Rodamientos 0,99 € 13,86 €

3 Barras roscada M8 3,00 € 9,00 €

1 Componentes electronicos varios 12,00 € 12,00 €

1 Taladro de Mano 15,00 € 15,00 €

1 Ferreteria varios 18,50 € 18,50 €

1 Materiales Varios (Hardware) 35,00 € 35,00 €

1 Software 0,00 € 0,00 €

Total 220,35 €

TABLA DE COSTES CNC Comercial

Cantidad Material

Precio

Und.

Precio

Total

1 FRESADORA SOBREMESA HQ-5838 1.936,00 € 1.936,00 €

1 Software MACH3 181,00 € 181,00 €

Total 2.117,00 €

COMPARACION DE COSTES

CNC-DUINO 220,35 €

CNC COMERCIAL 2.117,00 €

En las tablas de arriba contemplamos una comparativa de precios de una maquina

comercial con respecto a nuestra CNC-Duino, observando una diferencia en un 90%

del costo. Indicar que la maquina comercia es de es de las más pequeñas que existen

en el mercado a diferencia de nuestra CNC que es adaptable al tamaño deseado, mas

fácil de controlar y más sencilla de aprender a usar.

Page 8: Cnc Duino Memoria

Página 8

FUNCIONAMIENTO DEL CONJUNTO

En este apartado realizaremos la descripción de nuestra maquina CNC,

descomponiéndola en partes, para detallar su funcionamiento.

Mecánica

La parte mecánica está hecha a partir de un diseño previo realizado por ordenador

y basado en CNC comerciales, el material elegido para la construcción ha sido el

metacrilato. El motivo es que es un material fácilmente manejable y al alcance de

nuestras capacidades, y de poco desgaste con el rozamiento. Las piezas fueron

sacadas a partir de un bloque macizo de metra quilato de 8x15x60, esta pieza fue

cortada en varias partes para la construcción de las guías del eje Y, de la guía del

eje X y de los soportes para el desplazamiento del tornillo sin fin. (Piezas

recogidas en planos)

Piezas ya cortadas

Page 9: Cnc Duino Memoria

Página 9

El desplazamiento se realiza atreves de unos

tornillos sin fin de M8 con paso 1,25mm. Este último

dato es muy importante porque es del que hay

realizar los cálculos de las vueltas que tendría que

dar un motor para mover un milímetro, ya que esto

nos dará la precisión que buscamos en nuestra

CNC.

Para el desplazamiento sobre las guías de los elementos trasportadores se han

usado unos rodamientos, de esta manera el desplazamiento se realiza de modo

limpio y sin mucho reten entre las piezas, para los ejes de los rodamientos se ha

usado un tornillo de diámetro 12, el cual se ha cortado y torneado para usarlo

como ejes.

El soporte de taladro se ha realizado con el mismo

material de metacrilato y para realizar la pieza se

ha empleado el sistema de control numérico de

nuestro centro. La sujeción firme del taladro se ha

logrado con un tornillo pasante. Apretando sobre

un espacio mínimo y así fijando fuerte el taladro.

Page 10: Cnc Duino Memoria

Página 10

El sistema de cadenado de cables(los

trasporta cables) ya que su precio era

realmente caro, se optó por realizarlos,

basándonos en los comerciales. El

sistema diseñado ha sido, el corte de

pequeños cuadrados unidos por el

mismo cable, aprovechando la forma de estos cables ha resultado muy sencillo

realizarlo, ya que al ser planos y unidos entre ellos ofrece un gran soporte para su

pegado. Estas cadenas trasporta-cables parten desde el centro de su movimiento

para así evitar en el desplazamiento, el cruzamientos de cables ya que esto podría

llevarnos a un error o incluso a la desconexión de los cables. Estas cadenas van

sobre una base plana, para que así tenga su propio espacio para el

desplazamiento.

CNC-DUINO

Page 11: Cnc Duino Memoria

Página 11

Electrónica

Para la electrónica se han usado una serie de elementos descritos a continuación:

Motores paso a paso , son los idóneos para realizar con

exactitud posiciones del mismo, se han usado uno por

cada eje. Las características de los motores usados son

de 1,8º el paso del motor, son motores unipolares, pero se

han transformado en bipolares, ya que de esta manera era

más sencillo controlarlos mediante la programación. Para realizar esto, lo único

que hemos tenido que realizar es localizar los comunes de cada bobinado y

eliminarlos de esta manera solo uso 4 hilos.

Modulo Puente H L298N , Usa el chip L298N de ST como chip controlador, el

modulo tiene grandes características como controlador de motores DC, baja

perdida en calentamiento y baja interferencia.

Este modulo puede utilizar su 78M05 integrado

para no usar 2 fuentes diferentes, utilizando

solo la fuente de potencia (siempre y cuando

esta no sea mas de 12V), pero es

Page 12: Cnc Duino Memoria

Página 12

recomendable utilizar una fuente externa de 5V cuando la fuente de potencia es

mayor a 12V para evitar el daño del 78M05.

La principal función de este driver o controlador es la de mover el motor paso a

paso e ir activando bobinas en un orden determinado para crear movimientos

coherentes del paso del motor.

Los L298N usan cuatro entradas para la activación de las bobinas, nosotros

solo hemos usados dos de esas entradas para activar el bobinado de las

cuatro que hay, de este modo no usamos muchas salidas del Arduino ya

que nuestro modelo, Arduino UNO, sólo tiene 13 salidas. Para realizar esta

operación se han realizado unos circuitos para cada uno de los driver.

Con este circuito delante del chip L298N, hacemos que con solo dos entradas se

controlen las cuatro bobinas. En esta tabla vemos la activacion de las bobinas de

los motores una vez pasando por el circuito

electrico indicado arriba. Para que la bobina 4

no se encutre siempre en activo, ya que esto

probocaria calentamiento del motor, los

L298N permaneceran inactivos mientras no se

usan, a traves del enable

BOBINAS Int1 Int2 Int3 Int4

Bobina 1 0 0 0 1

Bobina 2 0 1 0 0

Bobina 3 0 1 0 1

Bobina 4 0 0 0 0

Page 13: Cnc Duino Memoria

Página 13

Fuente de alimentación, para la suministración de corriente, se ha usado una

fuente de alimentación de un ordenador, una

ATX. Este tipo de fuente de alimentación,

proporciona los amperios necesarios para

alimentar los driver y los motores. La fuente se

ha preparado eliminando todos los cables que no

eran necesarios y sólo se ha dejado los

imprescindibles para nuestro circuito.

Para que las fuentes ATX funcionen sin estar conectadas al ordenador hay que

puentear el PS-ON con GND de esta manera siempre estaría funcionando nuestra

fuente de alimentación. El PS-ON es el cable Verde, siempre es así.

Arduino es una plataforma de hardware libre, basada en una placa con un

microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la

electrónica en proyectos. El Arduino que usamos en la CNC es el Arduino UNO

V3, este Arduino usa el microcontrolador Atmega 328, que tiene una capacidad de

32KB, el Arduino Uno tiene 13 salidas digitales y 6 analógicas, para este proyecto

es suficiente ya que no hacen falta más. El Arduino lo comunicamos mediante

puerto USB, para enviarle y recibir datos de él, con este mismo conector se

alimenta nuestro Arduino.

Conectores de

entradas L298N

Conectores de

enables de L928N

Page 14: Cnc Duino Memoria

Página 14

Esquema de conexiones.

Page 15: Cnc Duino Memoria

Página 15

Software

La programación que maneja la CNC esta realizada en lenguaje Arduino ya que es

nuestro microcontrolador. En el programa definimos los cálculos:

• El paso de vuelta de nuestro tornillo, que es de 1,25mm.

Para el cálculo se usan los grados del motor y la vuelta del tornillo. En nuestro

caso tenemos un motor PAP 1,8º y un tornillo de paso 1,25 mm

CALCULO:

360º/1,25mm de paso=288

288/1,8º=160

160 lo definiríamos como 1 mm es decir 160º del motor son 1mm en nuestro

movimiento, de esta manera conseguimos la precisión en la CNC.

• La velocidad máxima de movimiento de nuestro motor, esto dependerá del tipo

de motor que usemos, si la velocidad es muy rápida es posible que el motor no

se mueva ya que las bobinas se activan tan rápido que no le da tiempo a

descargarse y el motor no se movería.

• Los pines de comunicación con los diferentes driver de los motores el cual

definimos 3 por motores, uno de envió, otro de recepción y otro de enables.

Este último nos conecta y desconecta el driver, de esta manera evitamos que

los motores estén siempre activos, evitando así el calentamiento innecesario

del mismo.

• El lenguaje de comunicación a usar, definimos los comandos a traducir, es

decir para el control de una CNC se realiza a través de una serie de

comandos, activar y desactivar el taladro, movimientos giratorios, movimientos

lineales etc.…, estos comandos definidos a continuación:

Page 16: Cnc Duino Memoria

Comando

G0

G1,G01

G2,G02

G3,G03

G4,G04

G20

G21

G28

G30

G90

G91

G92

M0

M3,M03

M5,M05

El código es creado por un software

es un software que trabaja en vectores y es muy sencillo de usar

para generar el código

extensión llamada GCodeTool.

Ejemplo de una Imagen realizada por Inkscape

Página 16

Descripción

Movimiento lineal Rápido

Movimiento lineal Controlado (Avance: 100)

Movimiento curvo (sentido horario) Controlado

Movimiento curvo (anti horario) Controlado

Pausa con retardo (Retardo: 200ms)

Definir Unidades en Pulgadas

Definir Unidades en milímetros

Ir a Origen

Ir a Origen a través de un punto

Definir Coordenadas absolutas

Definir Coordenadas relativas

Definir punto actual como origen

Paro (Pausa programada)

Marcha del cabezal

Paro del cabezal

El código es creado por un software libre ya existente. INKScape

es un software que trabaja en vectores y es muy sencillo de usar,

para generar el código del dibujo vectorizado lo realiza una

extensión llamada GCodeTool.

Ejemplo de una Imagen realizada por Inkscape

Page 17: Cnc Duino Memoria

Página 17

Generar Código.

Paso 1 .-Para generar el código de nuestro dibujo, lo

primero es crear 2 puntos de referencias, esto lo

realizamos desde Extensiones>gcodetool>puntos de

orientación. Generando en el margen inferior una

referencias .

Indicándonos que ya podemos realizar el siguiente paso. En caso de que no se nos

haya generado. Debemos revisar el dibujo, ya que puede que hay un conflicto.

Paso 2 .- Indicación de fresa que vamos a usar, que software

nos ofrece un gran posibilidad de herramientas a usar,

cónicos, cilindros, plasmas… muy importante identificar

correctamente el tipo de herramienta que va a realizar el

fresado. Ya que sobre esta información se creara un código

de una manera u otra. Para ello vamos a

Extensiones>gcodetool>librería herramientas.

Y se nos generara en el dibujo una ventana verde con la información de las medidas

que va usar nuestra fresa, la cual hay que modificar según convenga.

Page 18: Cnc Duino Memoria

Página 18

Paso 3 .- Este paso es el último y es el más importante, pues es el que nos genera el

código. En éste establecemos cuánto bajara Z, para ello vamos a

Extensiones>gcodetool>generar código (path to

gcode), indicamos donde vamos a guardar el archivo,

y generamos el código dándole a aplicar. Una vez

creado nuestra imagen se verá cubierta de muchas

flechas estableciendo el recorrido.

Si nos vamos a la carpeta donde le hemos dicho que nos genere el código,

encontraremos un archivo .gnb que debemos convertirlo a .txt y eliminándole toda las

cosas que se encuentre entre paréntesis y unir todas las líneas, ya que si no

realizamos este trabajo, el programa que envía el archivo no es capaz de leer

espacios y paréntesis. Pues no se encuentran dentro de la programación de Arduino.

Diámetro de nuestra

herramienta

Velocidad de Avance

Velocidad de penetración

Page 19: Cnc Duino Memoria

Software de comunicación.

Para enviar las instrucciones al

software llamado CNC DUINO

permite comunicarnos a través del puerto serial con el

Una vez conectados podemos manejar la CNC de modo manual, por coordenadas o

enviando un archivo .txt. Si entramos en el modo manual veremos una especie de

joystick y una pestaña que nos permite establecer el avance en milímetros. De esta

manera podemos poner el punto cero de manera manual pulsando Establecer punto 0.

Si entramos en el modo por Coordenadas veremos una pestaña que nos pide el eje X,

Y, Z y avance. De esta manera iremos directamente al punto establecido de manera

lineal. Este modo también sirve para establecer el punto 0 o para ir a un punto

específico de la CNC.

Página 19

Software de comunicación.

Para enviar las instrucciones al Arduino desde nuestro ordenador hemos creado un

CNC DUINO a través de Visual Basic Studios .NET 2010 que nos

permite comunicarnos a través del puerto serial con el Arduino.

Una vez conectados podemos manejar la CNC de modo manual, por coordenadas o

enviando un archivo .txt. Si entramos en el modo manual veremos una especie de

joystick y una pestaña que nos permite establecer el avance en milímetros. De esta

manera podemos poner el punto cero de manera manual pulsando Establecer punto 0.

en el modo por Coordenadas veremos una pestaña que nos pide el eje X,

Y, Z y avance. De esta manera iremos directamente al punto establecido de manera

lineal. Este modo también sirve para establecer el punto 0 o para ir a un punto

sde nuestro ordenador hemos creado un

a través de Visual Basic Studios .NET 2010 que nos

Una vez conectados podemos manejar la CNC de modo manual, por coordenadas o

enviando un archivo .txt. Si entramos en el modo manual veremos una especie de

joystick y una pestaña que nos permite establecer el avance en milímetros. De esta

manera podemos poner el punto cero de manera manual pulsando Establecer punto 0.

en el modo por Coordenadas veremos una pestaña que nos pide el eje X,

Y, Z y avance. De esta manera iremos directamente al punto establecido de manera

lineal. Este modo también sirve para establecer el punto 0 o para ir a un punto

Page 20: Cnc Duino Memoria

Página 20

Enviando un archivo nos pedirá su ubicación, una vez seleccionada la misma le

daremos a enviar, este botón nos abrirá una nueva pestaña y descompondrá el

archivo .txt en líneas independientes. Esto es así para poder enviar al Arduino línea

por línea para no colapsar el puerto serial ya que si enviáramos el archivo de una sola

vez, este solo leería las 5 primeras líneas y luego dejaría de procesar el resto de

líneas, debido a la memoria del procesador solo es capaz de memorizar y ejecutar las

5 primeras líneas.

En la nueva pestaña le damos a comenzar y el programa enviará la primera línea,

cuando el Arduino lo recibe manda un mensaje al programa para que este espere al

siguiente mensaje para enviar la próxima línea y así sucesivamente hasta el final del

código.

Arduino recibe las líneas del programa CNC DUINO una a una, está programado de

forma que cada línea la descompone en diferentes caracteres. Si Arduino recibe una

línea “G00 X10.000 Y10.000” significa que debe mandar a los motores X e Y que

vayan a la máxima velocidad (velocidad establecida en programacion) ya que Arduino

al descomponer la línea lee primero la G y su código 00 que significan ir directamente

al punto a la máxima velocidad. Luego lee la X y guarda la información a continuación

de esta en la variable x de destino. Después lee Y para guardar su variable de destino

en la variable y de destino. Tras hacer esta operación Arduino empieza a mandar a los

motores señales de dirección y paso. Al ser salidas digitales establece que cuando la

dirección es 1 la CNC tiene que ir a una posición que está a su derecha en caso de la

X, adelante en el caso de la Y o arriba en caso de la Z. si es 0 simplemente cambiara

la dirección.

Page 21: Cnc Duino Memoria

Página 21

Page 22: Cnc Duino Memoria

Página 22

PLANOS

Page 23: Cnc Duino Memoria

Página 23

Page 24: Cnc Duino Memoria
Page 25: Cnc Duino Memoria
Page 26: Cnc Duino Memoria
Page 27: Cnc Duino Memoria
Page 28: Cnc Duino Memoria