Está en la página 1de 27

Titulo: CNC-DUINO Javier Estremera Prez Jos Carlos Estremera Prez

26 edicin del Premio

Prologo
Se ha creado un Blog, donde se encuentran videos, Imgenes y todo lo relacionado con este proyecto. Para visualizar el contenido digital.

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

Pgina 2

INDICE
INTRODUCCION ............................................................................................................................. 4 LA IDEA .......................................................................................................................................... 5 FUNCIONAMIENTO DEL CONJUNTO ............................................................................................. 7 Mecnica ................................................................................................................................... 7 Electrnica ............................................................................................................................... 10 Motores paso a paso ........................................................................................................... 10 Modulo Puente H L298N ..................................................................................................... 10 Fuente de alimentacin ...................................................................................................... 12 Arduino ................................................................................................................................ 12 Esquema de conexiones. ..................................................................................................... 13 Software .................................................................................................................................. 14 PLANOS........................................................................................................................................ 21

Pgina 3

INTRODUCCION
En este proyecto se ha marcado el objetivo principal construir y programar una CNC (control numrico computarizado), buscando, adems, que sea posible la utilizacin de estas mquinas CNC en las aulas de institutos y FP para el aprendizaje y manejo de movimientos en el espacio a travs 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 posicin adecuada y ajustando, adems, la altura de ste. Adems, acciona el motor del taladro. La informacin que necesita el dispositivo para posicionarse (coordenadas) y seal 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.

Pgina 4

LA IDEA
El principal motivo que nos ha llevado a realizar este proyecto es la necesidad de hacer placas PCB ms profesionales y no con cidos, ya que el repaso con rotuladores indelebles nunca sale todo lo bien que queremos. Las alternativas comerciales de una CNC para este fin, ronda unos 2000 las ms barata, esto es difcilmente asumible para un uso didctico. Adems, a esta inversin habra que aadir el software necesario para el control de la misma. Estar cursando estudios de F.P. en Sistemas de Regulacin y Control Automticos y una gran curiosidad por saber cmo controlar el movimiento de una mquina. Nos ha llevado a intentar desarrollar un prototipo de mquina asequible. Lo primero que tuvimos que investigar es cmo podramos comunicarnos con ella desde un PC, haba varios mtodos, desde unas placas prefabricadas de las cuales al final necesitaran de programas de pago como el MACH3 o la opcin ms econmica que es a travs 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 programacin basado en C++. Tener conocimiento en C++ hizo ms sencillo trabajar con el entorno de programacin de este microcontrolador. Una vez encontrado el sistema de comunicacin que bamos a usar el siguiente reto seria encontrar unos motores que nos dieran precisin. Buscando posibles soluciones, descubrimos que se necesitan motores paso a paso. Siguiendo la idea inicial de conseguir precios econmicos. Encontramos uno que se dedica a el reciclaje de los mismo, adquirimos 3 motores PAP por 40. Un precio bastante ms bajo que la media del mercado que rondaban los 25 cada motor. Estos motores necesitan para su uso unos driver controladores que tambin nos facilit la misma empresa.

Pgina 5

Para la estructura mecnica de la CNC nos han sido muy til los conocimientos de carpintera en madera por haber trabajado durante aos en esa profesin. Esto nos llev a decidir realizar la CNC, en un principio, de madera. Sin embargo, una posterior reflexin, nos hizo pensar que la madera es un material que con el roce tiende al desgaste y para una mquina de precisin no es muy adecuado ya que nos variara los resultados. Pasamos a buscar una alternativa en material ms resistente pero a la vez con caractersticas similares a la madera para trabajar en l. Optamos por el metacrilato que es un material plstico que con las mismas sierras y fresas de la carpintera podra 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 mquinas CNC de una precisin similar a las comerciales. Este coste hace posible el uso didctico desde la ESO hasta las FP y ensear con sistemas automatizados el control de trabajo en espacios de tres ejes.

Pgina 6

FUNCIONAMIENTO DEL CONJUNTO


En este apartado realizaremos la descripcin de nuestra maquina CNC,

descomponindola en partes, para detallar su funcionamiento.

Mecnica
La parte mecnica est hecha a partir de un diseo previo realizado por ordenador y basado en CNC comerciales, el material elegido para la construccin ha sido el metacrilato. El motivo es que es un material fcilmente 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 construccin de las guas del eje Y, de la gua del eje X y de los soportes para el desplazamiento del tornillo sin fin. (Piezas recogidas en planos)

Piezas ya cortadas

Pgina 7

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 clculos de las vueltas que tendra que dar un motor para mover un milmetro, ya que esto nos dar la precisin que buscamos en nuestra CNC.

Para el desplazamiento sobre las guas 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 dimetro 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 numrico de nuestro centro. La sujecin firme del taladro se ha logrado con un tornillo pasante. Apretando sobre un espacio mnimo y as fijando fuerte el taladro.

Pgina 8

El sistema de cadenado de cables(los trasporta cables) ya que su precio era realmente caro, se opt por realizarlos, basndonos en los comerciales. El sistema diseado ha sido, el corte de pequeos 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 podra llevarnos a un error o incluso a la desconexin de los cables. Estas cadenas van sobre una base plana, para que as tenga su propio espacio para el desplazamiento.

Pgina 9

Electrnica
Para la electrnica se han usado una serie de elementos descritos a continuacin:

Motores paso a paso, son los idneos para realizar con exactitud posiciones del mismo, se han usado uno por cada eje. Las caractersticas 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 ms sencillo controlarlos mediante la programacin. 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 caractersticas 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

Pgina 10

recomendable utilizar una fuente externa de 5V cuando la fuente de potencia es mayor a 12V para evitar el dao del 78M05. La principal funcin 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 activacin 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, slo tiene 13 salidas. Para realizar esta operacin 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 que los valores del devanado 2 es el invertido del 1 y que los del devanado 4 son los invertidos del 3, por lo que si invertimos la seal del L1 obtenemos la seal de control necesaria para L2 y de la misma manera si invertimos la seal de L3 obtendremos la seal de control de L4, con lo que la tabla para poder mover el motor quedara de la forma siguiente: N devanado Int1 Int2 Int3 Int4 Deva 1=-Deva 2 1 1 0 0 Deva 3=-Deva 4 1 0 0 1

Pgina 11

Fuente de alimentacin, para la suministracin de corriente, se ha usado una


fuente de alimentacin de un ordenador, una ATX. Este tipo de fuente de alimentacin, proporciona los amperios necesarios para

alimentar los driver y los motores. La fuente se ha preparado eliminando todo los cables que no eran necesarios y slo 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 estara funcionando nuestra fuente de alimentacin. 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, diseada para facilitar el uso de la electrnica 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 analgicas, para este proyecto es suficiente ya que no hacen falta ms. El Arduino lo comunicamos mediante puerto USB, para enviarle y recibir datos de l, con este mismo conector se alimenta nuestro Arduino.

Conectores de enables de L928N

Conectores de entradas L298N

Pgina 12

Esquema de conexiones.

Pgina 13

Software
La programacin que maneja la CNC esta realizada en lenguaje Arduino ya que es nuestro microcontrolador. En el programa definimos los clculos: El paso de vuelta de nuestro tornillo, que es de 1,25mm. Para el clculo 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 definiramos como 1 mm es decir 160 del motor son 1mm en nuestro movimiento, de esta manera conseguimos la precisin en la CNC. La velocidad mxima de movimiento de nuestro motor, esto depender del tipo de motor que usemos, si la velocidad es muy rpida es posible que el motor no se mueva ya que las bobinas se activan tan rpido que no le da tiempo a descargarse y el motor no se movera. Los pines de comunicacin con los diferentes driver de los motores el cual definimos 3 por motores, uno de envi, otro de recepcin y otro de enables. Este ltimo nos conecta y desconecta el driver, de esta manera evitamos que los motores estn siempre activos, evitando as el calentamiento innecesario del mismo. El lenguaje de comunicacin a usar, definimos los comandos a traducir, es decir para el control de una CNC se realiza a travs de una serie de comandos, activar y desactivar el taladro, movimientos giratorios, movimientos lineales etc., estos comandos definidos a continuacin:

Pgina 14

Comando G0 G1,G01 G2,G02 G3,G03 G4,G04 G20 G21 G28 G30 G90 G91 G92 M0 M3,M03 M5,M05

Descripcin Movimiento lineal Rpido Movimiento lineal Controlado (Avance: 100) Movimiento curvo (sentido horario) Controlado Movimiento curvo (antihorario) Controlado Pausa con retardo (Retardo: 200ms) Definir Unidades en Pulgadas Definir Unidades en milmetros Ir a Origen Ir a Origen a travs de un punto Definir Coordenadas absolutas Definir Coordenadas relativas Definir punto actual como origen Paro (Pausa programada) Marcha del cabezal Paro del cabezal

El cdigo es creado por un software libre ya existente. INKScape es un software que trabaja en vectores y es muy sencillo de usar usar, para generar el cdigo del dibujo vectorizado lo realiza una extensin llamada GCodeTool.

Ejemplo de una Imagen realizada por Inkscape

Pgina 15

Generar Cdigo. Paso 1.-Para generar el cdigo de nuestro dibujo, lo primero es crear 2 puntos de referencias, esto lo realizamos desde Extensiones>gcodetool>puntos de orientacin. Generando en el margen inferior una referencias .

Indicndonos 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.- Indicacin de fresa que vamos a usar, que software nos ofrece un gran posibilidad de herramientas a usar, cnicos, cilindros, plasmas muy importante identificar correctamente el tipo de herramienta que va a realizar el fresado. Ya que sobre esta informacin se creara un cdigo de una manera u otra. Para ello vamos a

Extensiones>gcodetool>librera herramientas.

Y se nos generara en el dibujo una ventana verde con la informacin de las medidas que va usar nuestra fresa, la cual hay que modificar segn convenga.

Pgina 16

Dimetro de nuestra herramienta Velocidad de Avance Velocidad de penetracin

Paso 3.- Este paso es el ltimo y es el ms importante, pues es el que nos genera el cdigo. En ste establecemos cunto bajara to Z, para ello vamos a

Extensiones>gcodetool>generar

cdigo

(path

gcode), indicamos donde vamos a guardar el archivo, y generamos el cdigo dndole 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 cdigo, encontraremos un archivo .gnb que debemos convertirlo a .txt y eliminndole toda las cosas que se encuentre entre parntesis y unir todas las lneas, ya que si no realizamos este trabajo, el programa que enva el archivo no es capaz de leer espacios y parntesis. Pues no se encuentran dentro de la programacin de Arduino.

Pgina 17

Software de comunicacin. Para enviar las instrucciones al Arduino desde nuestro ordenador hemos creado un software llamado CNC DUINO a travs de Visual Basic Studios .NET 2010 que nos permite comunicarnos a travs 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 pestaa que nos permite establecer el avance en milmetros. De esta manera podemos poner el punto cero de manera manual pulsando Establecer punto 0. Si entramos en el modo por Coordenadas veremos una pestaa que nos pide el eje X, Y, Z y avance. De esta manera iremos directamente al punto establecido de manera lineal. Este modo tambin sirve para establecer el punto 0 o para ir a un punto especfico de la CNC. Enviando un archivo nos pedir su ubicacin, una vez seleccionada la misma le daremos a enviar, este botn nos abrir una nueva pestaa y descompondr el archivo .txt en lneas independientes. Esto es as para poder enviar al Arduino lnea por lnea para no colapsar el puerto serial ya que si enviramos el archivo de una sola vez el Arduino solo leera las 5 primeras lneas y luego dejara de procesar el resto de lneas, debido a la memoria del Arduino solo es capaz de memorizar y ejecutar las 5 primeras lneas. En la nueva pestaa le damos a comenzar y el programa enviar la primera lnea, cuando el Arduino lo recibe manda un mensaje al programa para que este espere al siguiente mensaje para enviar la prxima lnea y as sucesivamente hasta el final del cdigo.

Pgina 18

Arduino recibe las lneas del programa CNC DUINO una a una, Arduino est no programado de forma que cada lnea la descompone en diferentes caracteres. Si Arduino recibe una lnea G00 X10.000 Y10.000 significa que Arduino debe mandar a los motores X e Y que vayan a la mxima velocidad (velocidad establecida en Arduino) ya que Arduino al descomponer la lnea lee primero la G y su cdigo 00 que significan ir directamente al punto a la mxima velocidad. Luego Arduino lee la X y guarda la informacin a continuacin de esta en la variable x de destino. Despus lee Y para guardar su variable de destino en la variable y de destino. Tras hacer esta operacin Arduino empieza a mandar a los motores seales de direccin y paso. Al ser salidas digitales establece que cuando la direccin es 1 la CNC tiene que ir a una posicin 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 direccin direccin.

Pgina 19

Pgina 20

PLANOS

Pgina 21

Pgina 22