Arduino SB CNC Shield Premium
¡Oferta!

Arduino SB CNC Shield Premium

Valorado 5.00 sobre 5 basado en 3 puntuaciones de clientes
(3 valoraciones de clientes)

12,95 9,95--

Arduino SB CNC Shield es la placa que necesitas para controlar motores paso a paso.

Esta es la placa perfecta si quieres construir tu primera máquina CNC de bajo coste, como una cortadora láser, usando un Arduino Uno.

Es totalmente compatible con el popular firmware GRBL.

Soporta hasta 4 motores con drivers tipo A4988 o DRV8825. Tiene salidas para los finales de carrera, relés, y soporta el control de velocidad mediante PWM.

Compatible con Arduino Uno

Esta placa es 100% de código abierto. Es un remake de la popular placa Arduino CNC shield que puedes encontrar en http://blog.protoneer.co.nz/arduino-cnc-shield/

 

SKU: SBCNCSHIELD Categoría:

Descripción

Quieres montar tu propia máquina CNC.

Has visto una, y quieres montar la tuya propia.

Con esta placa vas a poder tener una CNC de bajo coste, sencilla y divertida de montar.

Diseñar la estructura no es especialmente complicado. Puedes usar unas piezas impresas en 3D y una estructura de aluminio. Todo usando software libre como el FreeCAD.

Pero sorprendentemente, no hay demasiadas opciones económicas para la electrónica. Y no encontramos una solución de código abierto para Arduino (quizás estamos equivocados). Pero con una búsqueda rápida, no encontramos nada.

Lo que hay es una en sitios como eBay o Aliexpress llamada Arduino CNC Shield.

Investigando un poco, descubrimos que los autores no les gustó la idea de que los chinos fabriquen sus placas sin aportar nada nuevo (algo con lo que estoy deacuerdo, el movimiento del Open Hardware es sobre la comunidad). Asi que no pude encontrar los ficheros opensource de esta placa.

Como además quería aprender KiCad (un software opensoruce para diseñar placas), decidimos crear la PCB para esta placa, usando exáctamente los mismos pines que el original, para conseguir experiencia con un proyecto completo en KiCad.

Y este es el resultado final. La SB CNC Shield para Arduino Uno, 100% compatible con GRBL.

Hemos seguido la misma filosofía que la popular RAMPS 1.4 SB: Componentes de marca, como el conector Molex, un diseño bonito, con una PCB negra, y un acabado dorado, y con un completo test antes del envío.

 

Arduino CNC Shield Premium con motor paso a paso
Arduino CNC Shield Premium con motor paso a paso

¿Qué puedo hacer con una SB CNC Shield para Arduino Uno?

La idea principal de esta placa es que puedas montar tu propia CNC funcional, con un presupuesto ajustado.

Si te interesan estas máquinas, o la robótica, deberías de hacer tu propia máquina CNC. Hay muchos problemas que no son obios al principio. Motores, drivers, calor, software, correas, holguras..

Incluso si quieres comprar una máquina más cara, y no tienes experiencia con una CNC, es una idea muy buena hacer tu propia máquina para aprender.

SB CNC Shield es 100% Open Hardware. Está diseñado con KiCad, y puedes leer el esquemático, comprobar el diseño de la PCB, aprender sobre electrónica, mejorarlo, lo que se te ocurra.

Y la parte más importante del Open Hardware, es que podemos crear comunidad, compartir experiencias, nuevas ideas, y solucionar problemas.

Esta placa es 100% compatible con el popular firmware GRBL. No necesitas configurar nada especial. Plug and Play.

Y hay una comunidad enorme detrás de este proyecto. Tú puedes formar parte.

¿Por qué no una placa CNC completa?

Bueno, puedes buscar una placa CNC completa. Si te tomas en serio la CNC, deberías de hacerlo.

Una placa integrada es autónoma. No necesitas de un ordenador para enviar comandos a la máquina.

Hay algunas placas de código abierto, con una buena comunidad. Es algo muy importante si quieres buen soporte. Pero la mayoría, son de código cerrado, o tienen un firmware propietario.

Y sobre todo hablamos de precio. Estas placas suelen estar a un precio superior a los 100 euros. Si estás preparando un proyecto casual, con una pequeña CNC, es un precio bastante alto.

¿Qué más necesito?

Para montar una CNC completa, vas a necesitar:

  • Un Arduino Uno (o una placa compatible)
  • Al menos, 3 drivers para los motores (puedes usar el popular a4988, o si necesitás mas fuerza, los DRV8825)
  • 3 motores paso a paso bipolares
  • Una fuente de alimentación. Puedes reutilizar la fuente del PC con nuestra ATX Board.
  • Un taladro, dremel, un láser, etc, lo que quieras usar para cortar material
  • Es posible que necites un controlador para el taladro, o un relé para encender la dremel
  • Una estructura de aluminio (la puedes montar con perfiles de aluminio, o una impresora 3D)

Características

Arduino CNC Shield Premium Frontal
Arduino CNC Shield Premium Frontal
  • Bonito diseño en negro, con acabado dorado, pines de colores y un botón de reset azul.
  • Sencillos jumpers amarillos para cambiar de configuración
  • Conector  de potencia Molex de 15A. Recuerda que los conectores chinos se pueden quemar, derretir y producir un desastre.
  • Soporta cables AWG22 para la fuente de alimentación
  • 100% Compatible con el firmware GRBL. Plug and Play.
  • Puedes duplicar cualquier eje, o sacrificar el spindle para usar un cuarto eje adicional. Simplemente cambia los jumpers, y duplica cualquier eje,
  • Condensadores de 35V. Puedes usar una fuente de alimentación de 24V sin problema.
  • Finales de carrera para X,Y,Z. Puedes usar un límite para el recorrido mínimo y máximo en cada eje.
  • Botón de emergencia externo.
  • Diseñada para aprovechar las capacidades PWM de GRBL y controlar la velocidad del taladro.
  • Jumpers para configurar el micropasos , en cada driver por separado, para un movimiento fluido y suave de los motores.
  • Salida para conectar drivers externos, como los más avanzados Gecko.
  • Pines adicionales de GRBL, como la válvula del refrigerante, Pausa, Reiniciar y abortar.
  • Puerto UART. Puedes conectar un dispositivo Bluetooth para tener una máquina inalámbrica.
  • Conector I2C. Puedes conectar, por ejemplo, un sensor de temperatura o una pantalla (pero tendrás que hackear un poco el GRBL)

Esquemático Arduino SB CNC Shield Premium
Esquemático Arduino SB CNC Shield Premium

 

Arduino SB CNC Shield Premium PCB
Arduino SB CNC Shield Premium PCB

 

Leyenda Arduino SB CNC Shield Premium
Leyenda Arduino SB CNC Shield Premium

Cómo empezar con la electrónica Arduino CNC paso a paso

Voy a ayudarte a montar la electrónica paso a paso. Estoy seguro que en esta guía, se me quedan cosas y detalles. Por eso me comprometo a continuar ampliandola en el futuro. Si tienes problemas en tu instalación, por favor, escribe un comentario.

Vas a necesitar, como mínimo:

  • El Arduino Uno, y un ordenador para subir el firmware.
  • Un driver para motores paso a paso bipolorales, como el DRV8825 o el A4988. Necesitas uno por cada motor.
  • Un motor paso a paso bipolar, por ejemplo, NEMA17, con un conector dupont de 4 pines.
  • Una fuente de alimentación para los motores. Lo normal es una fuente de 12V, de al menos 5A. Te recomiendo una de 30A para alimentar también el taladro y para que no vayas forzado.
  • Un boton de final de carrera. Neceistas uno para cada eje. Voy a dejar una sección especial para los finales de carrera porque mucha gente tiene dudas con esto.
  • Y por supuesto, la preciosa Arduino SB CNC Shield

GRBL

Lo primero es instalar el GRBL en un Arduino Uno. Te recomiendo visitar el artículo que he escrito sobre GRBL para aprender a fondo el sistema.

Yo lo hago antes de conectar ningún driver, ni los motores ni nada. Ni siquiera es necesario conectar el shield.

Conéctate al puerto serie. Si estás en windows, puedes usar un programa como putty.exe. No te recomiendo en este momento usar un programa de control de CNC, como bCNC. Primero asegúrte que todo funciona, y luego instala el programa de control.

Deberías de ver ok cada vez que pulsas enter.

Vale, con esto, ya tenemos lo que hace falta para controlar la CNC desde tu ordenador.

Arduino SB Shield

Ahora conectamos la placa Arduino CNC sobre el Arduino uno. Ten cuidado de no doblar los pines y de que todo encaje bien!

Después conectamos un driver de los motores paso a paso. Conecta sólo el driver del eje X para probar que algo se mueve.

Asegúrate que tienes la alimentación desconectada.

Asegúrate que los conectas en el orden adecuado y no los conectas al revés.

Motor

Ahora conectamos el motor paso a paso.

La placa permite conectar dos motores. Puedes conectarlo en cualquiera de las dos filas.

Muy bien, ahora conecta la corriente del motor. Ten cuidado de conectar el positivo y el negativo de forma correcta. Es posible que vayas a freir el driver si te equivocas.

En este momento, ya tienes lo necesario para hacer las pruebas.

Pruebas de movimiento y calibrado

Con el arduino conectado al puerto serie, y la fuente de los motores encendida, escribe en el terminal:

G0X10

Con esto se debería de mover el eje X!

Apaga la fuente de los motores, y desconecta el Arduino. No hagas nada sin apagar antes la fuente!

Conecta el driver del eje Y y el motor. Repita la operacion con el comando G0Y10

Y luego el driver del eje Z, el motor, y el comando G0Z10

Muy bien, con esto ya tienes los motores conectados.

Ahora te toca configurar los pasos por mm. Para eso, te conectas a GRBL por la consola y le dices

$101=400

Con esto le dices que el motor del eje X tiene 400 pasos por milimetro. Es un número totalmente arbitrario.

Entonces le dices que se mueva 100mm. Es más fácil calibrar si le dices que se mueva una distancia más grande. El error será mucho menor.

G0X100

Si tienes una regla, mide cuanto se ha movido de verdad, y puedes hacer una regla de tres.

Por ejemplo, si nos hemos movido 35mm (es un ejemplo que me acabo de inventar mientras escribo, no lo uses de referencia)

Si con 400 pasos, se ha movido 35 mm, para  que se mueva 10mm :

(400*100)/35 = 1143 pasos

Asi que escribimos en la consola:

$101=1143

y repetimos el calibrado, hasta que tengamos la maquina ajustada.

He usado el ejemplo de 400 pasos por mm por poner un ejemplo con el que puedes comenzar. El número de pasos por milímetro se podría calcular a priori, si conoces los datos de los motores, drivers y los datos del husillo o de la correa.

No voy a entrar en todos los detalles, para no alargar esta guía demasiado.

Te dejo un caso típico, con motores de 200 pasos por vuelta, y un husillo de 8mm de paso.

(200 pasos de motor * 32 micropasos del drv8825) / 8mm de paso del husillo = 400 pasos por mm

Cuando ya tenemos listo el eje X, pasamos al eje Y:

$102=400

Y para configurar el eje Z

$103=400

Con esto, ya tienes una máquina funcionando!

Configurar los finales de carrera

La electrónica envía los comandos para que la máquina se mueva de una posición a otra.

Pero ¿cómo sabe la máquina cuál es su posición actual?

En algún momento, tenemos que decirle a la máquina que está en la posición inicial. Cuando encendemos la placa, el GRBL asume que esa es su posición inicial. La posición 0,0,0

Lo que hacemos es lanzar el comando home. Entonces la máquina mueve los motores hasta encontrar el principio (o el final) del eje.

Para ello, usamos unos botones, que se denominan finales de carrera.

Finales de Carrera
Finales de Carrera

La máquina, cuando llega al borde, pulsa un botón. Entonces todo se para, y la máquina sabe que está en la posición cero.

En muchos casos, la posición X e Y no necesitan una super precisión. Pero la altura, la Z, suele ser muy importante.

Por ejemplo, una impresora 3D tiene que comenzar a depositar el plástico a una altura exácta. Dejamos la punta medio milímetro más arriba, y el plástico no se pega. Dejamos el plástico más abajo, y la base tapona la punta.

Por este motivo, podemos usar sensores más precisos que un simple botón, como los sensores inductivos o los capacitivos. Pero eso lo dejamos para más adelante.

Para una máquina sencilla, no necesitamos tanta precisión.

Tipos de Finales de Carrera

Si te fijas, el final de carrera tiene 3 pines.

Tenemos que soldar sólo dos de ellos, y el tercero queda libre.

Si miramos de cerca, veremos que uno de los pines pone algo como C , o también COM. Quiere decir COMÚN. Este cable lo tienes que soldar obligatoriamente.

Los otros dos tienen la leyenda NO, NC

Esto viene de Normally Open, Normally Closed.

Aqui tienes que elegir cuál quieres soldar.

  • Normalmente Abierto: El botón no permite pasar la corriente, hasta que lo pulsamos y se cierra.
  • Normalmente Cerrado: La corriente circula hasta que pulsamos el botón y se abre.

Configuración Normalmente Abierto

La configuración por defecto en el firmware es Normalmente Abierto. Cuando pulsamos el botón, la corriente circula, arduino lo detecta, y el movimiento se interrumpe.

De esta forma, puedes tener un par de límites. Uno para el principio y otro para el final de la carrera (la placa usa el mismo pin para el mínimo y el máximo)

¿Cual es el problema?

Imagínate que por algún motivo, se rompe el cable, o se desconecta. Entonces la máquina avanza hasta el final, y cuando se pulsa el botón, no ocurre nada! porque el cable está desconectado. El motor continúa moviendose… Desastre.

Configuración Normalmente Cerrada.

En esta configuración, el limite está siempre pulsado. Cuando pulsamos el botón, la corriente se corta. Arduno detecta que no hay tensión, y el movimiento se interrumpe.

Esto es importante. Si por cualquier motivo se corta el circuito, Arduino va a parar la máquina.

Esto puede ser, porque el botón se ha pulsado, o porque el cable se ha desconectado.

Esta es la configuración más recomendable y la que se usa en una máquina profesional.

Pero tiene el problema. En el Arduino SB CNC Shield sólo puedes usar un final de carrera por cada eje (los pines de mínimo y máximo están conectados).

Por este motivo, si usas dos finales de carrera, tendrías que pulsar los 2 botones, para que se cortase el circuito.

La solución es conectar los finales de carrera en serie. En vez de conectar los límites directamente al Arduino CNC, conectas la patilla de un final de carrera, con la patilla del siguiente.

La idea es que, si tienes todos los límites cerrados en serie, y cualquiera de ellos se abre, la máquina se va a parar. No sabrías cuál es el que está tocando, pero te da igual.

Lo que quieres es que la máquina se pare cuando llega al límite.

Configuración de los finales de carrera Normalmente Abiertos

Esta es la configuración por defecto de GRBL.

Lo primero es conocer el estado actual de los finales de carrera. Nos conectamos a nuestro Arduino a través de un terminal (como el putty.exe en windows)

Para ello, activamos la salida de información:

$10=31

Este comando es un poco raro. Pero hazme caso. Con esto, le decimos a GRBL que imprima por el terminal toda la información de posición, y de los limites.

Para ver esta información, tenemos que pulsar ? (puedes pulsar ? aunque la máquina esté en movimiento).

Lim:000 todo ok

Lim:001 límite X pulsado

Lim:010 límite Y pulsado

Lim:100 límite Z pulsado

Lim:111 límites XYZ pulsados

¿Se entiende la idea no?

Podemos hacer pruebas, manteniendo el final de carrera pulsado, y tecleando ?

Ahora que ya conocemos el estado de los botones, activamos la configuración normalmente abierta (ya viene activada de serie, pero vamos paso a paso)

$5=0

Con esto, le decimos que los botones están normalmente abiertos, y cuando se pulsan, se activa el circuito. Esto quiere decir que si no pulsamos nada, veremos Lim: 000 en la salida.

Ahora activamos los límites de hardware

$21=1

Con esto, cuando pulsemos alguno de los finales de carrera, el GRBL va a saltar, todo se para, y tendremos que resetear la máquina para continuar.

Ahora le decimos que la maquina avance, usando un sencillo gcode (avanza 100 en la X)

G0X100

El motor del eje X comienza a avanzar. Y  cuando pulsamos el final de carrera, la máquina debería de pararse al instante y el GRBL indicarnos que estamos en alerta.

Reseteamos la placa, y probamos con el siguiente eje.

Configuración de los finales de carrera normalmente cerrados

La única diferencia es decirle al GRBL que los botones funcionan al revés. Que cerrado quiere decir no pulsado y que abierto quiere decir pulsado

$5=1

Con esto, el GRBL entiende que el botón está normalmente cerrado, y cuando se pulsa, se abre el circuito.

Comprobamos el estado con el comando ? y vemos que los limites estén en 000

Sonda para calibrar la Altura

Para conectar una sonda de calibración, tienes que conectarla al pin SCL (marcado en rojo)

Para hacer la prueba, usa el comando G38.2 F10 Z-100

Con esto, bajamos la sonda a 10 mm/m, buscando 100mm hacia abajo, y el GRBL te indicará el desplazamiento.

El jumper amarillo EN_SETUP

De fábrica, cuando se cierra el circuito, el pin de arduino que detecta los finales de carrera, se conecta a GND. Por esto se llama Active Low. Esto es, que se activa, cuando el pin se pone a 0.

Pero hay casos, ya muy técnicos, de gente que prefiere que se active cuando se pone a 1 (active high). En este caso, necesitamos una resistencia que haga de pull down, y cambiar el jumper amarillo EN_SETUP.

Esta configuración, tiene sentido si trabajas en un entorno con mucho ruido eléctrico, y hay un riesgo de que los límites salten por alguna interferencia.

Mi consejo es que no lo utilices a no ser que sepas exáctamente lo que estás haciendo, y te mantengas con el Active Low.

Enlaces de interés

3 valoraciones en Arduino SB CNC Shield Premium

  1. Valorado en 5 de 5

    Pablo de Arriba

    Un diseño muy cuidado y muy bien documentado. Gracias

    • Javier Loureiro

      gracias a ti por leer el articulo completo!

      saludos

  2. Valorado en 5 de 5

    Rafael Gutiérrez

    Me encantó, como todos los demás, este artículo. Qué pasará ahora?… A vender lo chino y comprarme uno de estos.

    • Javier Loureiro

      que bueno!! muchas gracias, un saludo!

  3. Valorado en 5 de 5

    Alem Pintos (propietario verificado)

    Muy buena calidad!, y todo bien explicado, se agradece el Molex de 15A.

    • Javier Loureiro

      gracias a ti por leerlo! los conectores de marca son algo más caros, pero merecen la pena

      saludos!

Añadir una valoración

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Productos Testeados
Todas las placas se limpian y son sometidas a un proceso de test antes de ser empaquetadas
Con los mejores componentes
Ensamblamos las placas en nuestro taller para asegurar que el material que se envían lleva los mejores componentes
Centrados en la Calidad
Buscamos los mejores componentes, más resistentes y duraderos, para que disfrutes de lo mejor

Contacta con nosotros

CONTACTO

info@staticboards.es

C/Emilio González López, 29

15113 Malpica, A Coruña

Spain

SÍGUENOS

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

No se realizarán envíos desde el Miércoles 16 hasta el Domingo 27 de Mayo. Descartar