Arduino

Mostrando entradas con la etiqueta grbl. Mostrar todas las entradas
Mostrando entradas con la etiqueta grbl. Mostrar todas las entradas

viernes, 12 de enero de 2018

Control de CNC mediante tarjeta SD y mando a distancia (sin necesidad de pc)

Buenas señores/as, en este proyecto os voy a explicar como seguir el procedimiento para  conseguir controlar una CNC sin necesidad de tener un ordenador a mano y poder así realizar cortes por medio del fichero previamente guardado en una tarjeta sd. Este no es un tutorial para explicar como montar una CNC casera, eso lo dejaremos para otro proyecto, simplemente aquí aprenderemos a crear un control para esta.
Lo primero que necesitamos es tener una máquina CNC ya terminada  controlada por medio de un controlador Arduino con el firmware GRBL. Usaremos los pines 0 y 1 de comunicación serial para conectarlo con otro arduino el cual controlara tanto el display LCD como el lector de tarjetas y el mando a distancia.

Lista de materiales:

A continuación expondré una lista de los diferentes materiales que usaremos para poder realizar nuestro proyecto  ademas de un enlace de compra y como se conecta a nuestro arduino.


-Arduino, en este caso podemos elegir el modelo que más nos guste siempre que cuente con un puerto de comunicación serie. Los mejores para utilizar en nuestro proyecto son tanto el arduino UNO como el Nano.
Enlace de compra amazon
Enlace de compra aliexpress





-Mando a distancia con sensor:
Os dejo un enlace de un mando igual al mio ya que si usáis un mando diferente los códigos que usa el mando serán diferentes por tanto si cambiáis de mando se deberá modificar el código de arduino. Os dejo un enlace con el mando igual al mio y un enlace del sensor infrarrojo.
Enlace Mando a distancia (enlace nuevo)
Enlace sensor infrarrojo arduino
Por ahora no he encontrado este producto con un mando igual en Amazon pero os dejo un enlace que incluye mando y sensor
Enlace de otra tienda (enlace renovado)
(La salida esta conectada al pin 3 de arduino, vcc=5v )






-Pantalla lcd I2c:(Se debe conocer la dirección de nuestro LCD para la hora de cargar el programa)
Se conectan los pines de SDA y SCL a los pines respectivos de arduino.
Enlace de Aliexpress
Enlace de amazon








-Modulo SD (Podemos usar cualquier tipo de modulo):
Enlace aliexpress
Enlace de Amazon



Esquema conexionado modulo SD:




¿Que funciones le daremos a las teclas de nuestro mando a distancia?



Programas necesarios para compilar:

Lo primero que necesitamos tener el IDE de arduino para poder compilar el programa. En este caso yo estoy usando la versión (1.6.5-r5) la cual podéis descargar aquí. Con otras versiones posteriores me da errores por eso es mejor utilizar esta versión.

Librerías que debemos incluir:

En este programa necesitamos incluir una serie de librerias para que compile perfectamente, para ello deberemos descargar estas librerias e incluirlas dentro de la siguiente ruta:
\Documents\Arduino\libraries


Programa para arduino:

En el siguiente enlace dejare el programa que deberemos introducir en el arduino el cual controlara la pantalla el lector SD y el mando a distancia (versión beta).
Es recomendable sacar un botón de reset de arduino fuera de la caja por si alguna vez necesitamos reiniciar por que se quede trabado (por ahora no me a pasad, solo cuando acaba de fresar un archivo se necesita hacer reset para volver a cortar otro archivo)

El programa se puede cargar a arduino tal cual esta siempre que la dirección de nuestro display lcd (pantalla) sea igual que la que yo e usado, en este caso mi dirección es "0x27".
Para cambiar esto abrimos el archivo y nos vamos a la siguiente linea:



En caso de que en nuestro display no se vea nada deberemos averiguar la dirección del nuestro y cambiar "0x27" por el vuestro.
Todo lo demás se puede quedar tal cual esta en el programa.

Este programa esta funcional tal cual se encuentra en este momento sin embargo tiene algunas fallas sin importancia las cuales iré solucionando en posteriores versiones.

Importante: hay que tener en cuenta que a la hora de transferir el programa a Arduino debemos desconectar los pines de transmisión y recepción de arduino sino nos dará un error de conexión.

Esquema  del conexionado completo:

A continuación os mostrare un esquema completo de todo el cableado que debemos realizar.
lo que debemos de tener en cuenta es que para enlazar nuestro arduino con el display y el lector al arduino con el GRBL cargado debemos cruzar los cables de transmisión y recepción, ademas de unir ambos pines de gnd y alimentar los dos arduinos con la misma fuente de alimentación.

En mi caso he fabricado una caja donde alojar el arduino  con nuestro programa  el display lcd, el lector de tarjetas y el sensor infrarrojos que mas abajo mostrare.

Esquemático realizado con Fritzing:
Aquí os dejo un enlace del fichero de fritzing por si queréis analizarlo al detalle.

Resultado del montaje:

En esta imagen podemos observar el resultado final montando todos los elementos en una caja de las típicas de electricidad. Además he provisto dos botones para pausar  y reanudar el fresado. Estos botones irán conectados directamente a los pines dde Hold y Resumen de la shield CNC.
En esta imagen se puede observar el menú principal de movimiento manual de la máquina, en el cual se muestra en el display las coordenadas donde se encuentra la CNC. El "X1" que hay delante de las coordenadas significa que la máquina avanza de 1 en 1 milimetros su posición cuando pulsamos las teclas de movimientos ( esto se puede modificar  pulsando las teclas 1-"1mm"  4-"10mm" 7-"100mm")



En esta imagen podemos observar el menú de búsqueda de ficheros a través de nuestra tarjeta SD pulsando la tecla menú del mando y desplazándonos entre los ficheros con las teclas de dirección del mando.


Aquí OS dejo una imagen de la shield CNC de mi máquina la cual en este caso funciona con un arruinó nano:


Este es un vídeo demostrativo del funcionamiento, no tiene muy buena calidad pero eran las primeras pruebas.
Mas adelante subiré mas vídeos.

 

Vídeo de segunda prueba autónoma con archivo (sin cortar)

ACTUALIZACIÓN 26/03/2018

¿Como cambiamos entre modo manual SD o modo PC?

Antes de empezar tengo que decir que en las nuevas versiones del programa quiero integrar el cambio mediante el mando a distancia para poder elegir el modo..
Dicho lo anterior la forma mas sencilla es mediante un interruptor doble  el cual cortara los cables de transmisión y recepción que comunica ambos arduinos..
Subiré un esquema para que podáis verlo graficamente.
ACTUALIZACIÓN 15 DE MAYO
ACTUALMENTE DE ESTA TRABAJANDO PARA PODER CONTROLAR DESDE UN LCD FULL GRAPHIC COMO USAN LASPARA INPRESORAS 3D

BLOG EN CONSTRUCCIÓN....

CONTINUARÁ CON IMÁGENES DEL
MONTAJE Y VÍDEOS PARA  VER 
SU FUNCIONAMIENTO