Ir al contenido principal

Maquina de dibujo CNC

Proyecto Robótica

En este proyecto el objetivo es realizar una máquina de dibujo CNC (Control Numérico Computarizado). Reutilizando piezas y componentes de una impresora de papel, en donde además, diseñamos los demás componentes con un programa de diseño 3D donde una vez diseñada la imprimiremos con una impresora 3D. Y todo esto, controlado, a través de un arduino y una CNC shield del que hablaremos mas adelante

Como son varios temas y apartados lo iremos dividiendo y organizando en este orden: 


1- Diseño de componentes.
2- Impresión 3D.
3- Control Eléctrico.
4- Software de Control.
5- Vectorizar Imagen para convertirlo a Gcode
6- Comunicación y Envió de Datos


1- Diseño de componentes.

Para el diseño de componentes Utilizaremos el software (Solid Edge ST9)  diseñamos todas las partes y luego la ensamblamos 
Lo primero a sido realizar el diseño en formato Part en donde creamos las distintas partes y piezas
Husillo.
Con el husillo el primer problema que nos encontramos ha sido el del tamaño, ya que, la longitud que tenía no la podíamos imprimir con la impresora, y lo primero que hicimos fue partirlo en dos e imprimirlo en dos partes 
No hemos tenido dificultades con las demás partes que hemos ido diseñando, los cuales según los diseñábamos los íbamos ensamblando en el SOLID EDGE para comprobar errores y ver que todas las piezas quedaban encajadas correctamente 
Primera idea de diseño 

Piezas ensambladas del primer diseño 
Una vez impresa y colocada cada componente en su sitio nos hemos encontrado al principio con varios problemas de diseño, la primera idea que tuvimos de como hacer mover el eje X con el Husillo no era nada estable ya que los desperfectos y la curvatura del husillo nos balanceaba bastante el cabezal. El eje Y no nos convencía, ya que pegaba trompicones o quedaba atascada. Todo esto se puede ver en la primera imagen superior.
Una vez comprobado los problemas del diseño a base prueba y error he decidido un cambio de diseño en donde en vez de desplazar todo el eje Y he optado por mover la base en el cual sería mas fácil de alinearlo y de moverlo. Además he puesto unas varillas pasantes de 8mm al cabezal para mantenerlo mas firme y que no se balancee de tal manera que el siguiente diseño que de está manera:
Segundo Diseño 





2- Impresión 3D.

Ya una vez creado el diseño con el SOLID EDGE no hemos puesto a imprimir todas las piezas. Lo primero seria pasarlo a Gcode con un software para la impresora en el que utilizamos el CURA en este caso. En el que tuvimos que configurar la temperatura, el relleno deseado, las capas necesarias, teniendo en cuenta los requisitos de nuestro diseño y la carga que iría a soportar las piezas. 
La impresión la hemos hecho con dos impresoras una de ellas es el modelo LionPro3D de la marca leon3D y el otro la  A10M de la Marca Geeetech. 
Al imprimir hemos tenido algunos problemas😤, tales como, ejemplos:


WARPING  
           
Extrusor Atascado 
Thermal Runaway 
Mal calibrado con la temperatura del material 
Al despegarse mover la pieza e imprimir en el aire 












Todas fueron impresas con PLA ya que es un material bastante fácil de imprimir que no genera muchos problemas, además es biodegradable y No es Toxico ya que  esta hecho a base de vegetal. Ideal para imprimirlo en nuestro entorno de trabajo o en casa.

3- Control Eléctrico.

Los componentes eléctricos de control de la maquina serán:
- 1 Arduino UNO
- 1 CNC Shield
- 2 Drivers A4988 
- 1 Motor paso a paso Nema 17 de 12v
- 1 Motor paso a paso de 5v 28BYJ-48 ULN2003
- 1 Servomotor SG90
- Fuente de alimentación de 5~12v
 El control se realizara mediante el Arduino y la CNC Shiel con los Drivers, donde la parte de los movimientos mecánicos se encargaran los Motores Paso a Paso para el control de los ejes. Y el Servo motor se encargara del levantar el bolígrafo.Todo esto alimentado con la fuente de alimentacíon externa.  

4- Software de Control.

Como software de control tenemos varias. Empezando por el Arduino IDE donde lo primero sería configurar el puerto de conexión, y reconocer nuestro Arduino. Creamos un proyecto nuevo, donde lo primero sería descargar la libreria GRBL que es el interprete de nuestro G-code, que lo generaremos mas adelante con  el InKskape. La versión de GRBL que utilizamos en esta ocasión es la 0.9j. Es una versión generica en donde tendremos que entrar  en el codigo del programa e indicarle que tipo de máquina tenemos. Nuestro caso es una Core XY ya que tenemos dos ejes y el control del servo es mediante PWM.
Para modificar el codigo del programa nos dirigimos a la carpeta donde esta nuestra libreria y abrir el archivo txt CONFIG, buscamos la linea comentada donde pone //define COREXY y le borramos las dos barras, como podemos ver en la siguiente imagen

Una vez declarada y configurado nuestro programa sería compilarlo y cargarlo a nuestro Arduino, donde ya se encargaria el GRBL de realizarlo todo automaticamente.


5- Vectorizar Imagen para convertirlo a Gcode 

Vectorizar una imagen es muy útil si estamos trabajando con redimensiones, por ejemplo. La vectorización consiste en convertir imágenes 'construidas' con píxeles (lo que se llama mapa de bits) en curvas formadas por vectores.Esto se logra dibujando todos los contornos y rellenos de la imagen mediante curvas Bezier.

Para generar los Gcode que son los datos que mandaremos a la Maquina CNC., utilizaremos un Software llamada InKskape lo que nos hace este programa es coger un dibujo ya hecho y lo vectoriza. 
Para vectorizar la imagen, lo primero sería abrirlo en el InKscape, seleccionar el dibujo y usar las opciones de trayecto. Tendremos varias opciones, algunas de ellas son la de convertir el objeto a trayecto o el borde a trayecto. 

Una vez realizada una de las dos opciones podremos Vectorizar mapa de bits en la que podemos configurar varias cosas, como el corte de luz, deteccion de bordes, filtro por colores, eliminar color de fondo, etc.
Ejemplo de prueba.
A la izquierda borde vectorizado, a la derecha relleno vectorizado.
Una vez convertido a una imagen de vectores pasamos en este caso a los dos ejemplos antes seleccionados, que son las de pasar borde a Gcode  y relleno a Gcode.
Extensión para la impresora 3D de clase 
Para generar el  Gcode tenemos varias opciones y extenciones, que s epueden descargar de internet según las necesidades que tengamos o las caracteristicas que tenga nuestra maquina. 
En nuestro caso tenemos dos opciones, una es la de la impresora 3D Leon3D que disponemos en clase y la otra es la de nuestra maquina, que para ellos hemos descargado la extensión correspondiente que este caso es un generico para las maquina Tipo COREXY con salida PWM, al que le conectaremos luego un servomotor o bien un laser en proyectos futuros... 
Complemento para nuestra maquina CnC
La extención para nuestra maquina cnc es J Tech Photonics Laser Tool, el cual al seleccionarlo nos da las coniguraciones y datos que nuestro programa GRBL dispone, en este caso lo mas importante es: - Seleccionar el comando que activa nuestro servo. - El comando que desativa el servo, y las pasadas que queremos que haga. Tambien podemos seleccionar la velocidad, el tiempo de retraso en enceder, etc. 

6- Configuración y Envió de Datos 

 Para cargar los datos a nuestro arduino será necesario un software, que este caso usamos el Universal Gcode Sender que es bastante ligero, facil de usar y bastante grafico.
usamos la versión 2.0 que es menos problema nos ha creado desde el principio.
Para cargar el archivo, lo primero es conectar el arduino al puerto USB, buscamos en la opcion de Puerto y seleccionamos el COM6 que es nuestro caso. Luego seleccionamos los baudios en 115200 y el firmware GRBL uns vez seleccionado todo le damos a abrir. 
Ahora tenemos que configurar algunos parámetros de nuestra máquina, pero antes debemos conocer los pasos que tiene dar nuestro motor para recorrer un milímetro y esto se saca conociendo 2 datos.
El primer dato es los pasos por vuelta que tiene nuestro motor, esto lo debemos sacar de  los datos de nuestro fabricante. Por lo general el fabricante nos indica el angulo que recorre el motor en cada paso, suele ser 1,8 grados por paso en el caso del NEMA17; Una vuelta completa son 360 grados. Dividimos:
360 grados de la vuelta completa / 1,8 grados cada vuelta = 200 PASOS por vuelta
El otro dato que necesitamos conocer es cuanta distancia va a recorrer nuestro husillo cuando de una vuelta completa, en nuestro caso como lo hemos fabricado nosotros sabemos que nuestro husillo recorre 8mm en cada vuelta.Esto quiere decir que nuestro motor no tiene que dar una vuelta completa para recorrer 1mm, dividimos de nuevo:
200 paso por vuelta del motor / 8 mm que recorre el husillo = 25 pasos por mm
Ahora si estamos listos para configurar nuestra máquina. Vamos a linea de comandos y escribimos $$ y presionamos “enter”, esto nos dará la lista de todos los parámetros configurables de nuestro CNC.

Me voy a centrar lo primero en lo mas basico para  hacer funcionar nuestra maquina.En este caso voy a tocar los pasos de cada eje y la velocidad.
Comando $100 son los paso del eje X.
Comando $101 son los paso del eje Y
En nuestro caso en el Eje X $100=2050 si instalo el motor de 5V 28byj-48 o $100=25 si instalo el NEMA17 y en el Eje Y como solo va a ir el NEMA17 $101=13.630.
Para la velocidadad los comando son $110 para el eje X y $111 para el eje Y . Los dos lo hemos pues a 200 mm/min $110=200 y $111=200.
Con esto ya tendriamos todo para poner a prueba nuestra maquina.
Para hacer la prueba podemos seguir este orden:
-Poner la maquina en el punto de inicio con el modo manual.
-Reset del punto de inicio.
-Explorar y buscamos el archivo generado con el InKscape. 

-Le damos a visualizar y luego  a enviar.
Una vez enviado información, la maquina se pondra a imprimir el archivo, dejamos un video con la primera prueba realizada:

Una vez realizada la primera prueba nos hemos encontrado con algunos inconvenietes, el mas importante ha sido la falta de presición, aunque tambien la falta de potencia del motor de 5V en el eje X, por lo que hemos decidido cambiarlo por un nema 17.Tambien cambiamos el sistema de sujeción del boligrafo, por uno mas preciso, con menos holgura y un sistema estable de retorno  posición inicial.
El diseño final a quedado de la siguiente manera:
 

Comentarios

Entradas populares de este blog

PUENTE GRUA

1. Objetivo El proyecto intenta simular un puente grua impreso en 3D con piezas, programación de arduino y controlado por un mando en una aplicación de un movil. En él queremos realizar la simulación de la elevación y transporte de cargas suspendidas en un gancho. El mecanismo consta de dos movimientos horizontales para el desplazamiento y uno para subir y bajar el gancho. Estos movimientos serán realizados por tres motores paso a paso, los desplazamientos tendrán unos finales de carrera que controlan el final del recorrido por un lado y cuentan los pasos hacia el otro. A continuación veremos  los pasos  seguidos y la evolución del trabajo. 2. Componentes 2.1. Componentes impresos en 3D Para el diseño de componentes hemos usado el software Solid Edge ST9 y la impresión se ha realizado en la LION3D.  Las primeras partes que se han diseñado son la base que hace de soporte para el puente grua y las patas que lo levantan para simular mejor el efecto. Esto es ...

Automatización Elevador de tijera

Objetivo El proyecto que vamos a presentar es un elevador de tijera echo con arduino y una impresora 3D, a continuación vamos a ver los pasos que hemos seguido, y la evolución que ha tenido este proyecto. 1 Proceso Diseño. En primer lugar hemos diseñado la parte mecánica en el programa de diseño 3D ´´Solid edge`` de Siemens, empezando por las partes mas fáciles que en este caso es la tijera El primer problema que nos hemos encontrado es que el diseño pensado era demasiado grande para imprimirlo de una sola vez, para ello la solución que hemos escogido es dividir las piezas para luego ensamblarlas a través de unos encajes cuadrados. Viga 1 tijera En esta imagen se puede ver una de las partes que componen la tijera del elevador donde se ve el encaje de la pieza. Viga 2 tijera Otro de los encajes que hemos creado para el ensamblaje de la tijera.y el soporte exterior cilíndrico con varias maneras de cierre, con un agujero en el final para pasar un eje y cerrar...

Herramienta tipo tijera para brazo IRB120 ABB

MEMORIA DE LA HERRAMIENTA TIPO TIJERA CON APERTURA Y CIERRE MEDIANTE SERVO Profesor : Juan Primo Huerta Módulo: Robótica Industrial Ciclo Formativo: Automatización y Robótica Industrial (2018-2019) Centro Educativo: IES de Astorga Alumno: Pablo Álvarez González PRINCIPIO DEL FUNCIONAMIENTO La pinza posee una parte fija , la cual está apretada a la briza del robot mediante dos tornillos . En el otro extremo , tenemos el servo fijado a la propia brida y asociado a su eje tenemos la parte móvil de la pinza . Ambas partes, tienes dos dientes para facilitar el agarre de los diferentes objetos a coger. La orden de apertura la proporciona una placa de Arduino Mega , en la cual debemos programar los grados de cierre y apertura de la misma. Debemos aclarar que el servo necesita una salida PWM(por pulsos) de nuestra placa de Arduino. PARTES QUE COMPONEN LA PINZA -Brida de acople al brazo robótico con hueco para albergar el ser...