Electrónica CNC/impresora 3D (driver, shields y placa)

Muchas gracias @fm

Efectivamente era como comentabas, eres una máquina, el LCD ya está rulando perfectamente siguiendo tus indicaciones, y en cuanto a los driver los he limitado para que el consumo no sea muy elevado, entorno a 1 A.

Todo perfecto, seguiré realizando pruebas

Salu2 y muchas gracias, por tu inestimable ayuda

Me alegro que te funcione y muchas gracias por tus amables comentarios.

Yo haría trabajar a esos drivers entre 1.25A y 1.5A, en cuanto tengas carga de trabajo es posible que empiecen a perder pasos por falta de corriente. Siempre y cuando los motores lo aguanten bien, claro.

Le has conectado el ventilador de 12V?

Gracias @fm, voy a configurar como comentas.

El ventilador todavía no lo tengo mecanizado, voy a preparar una caja para poder poner el montaje y así poder ventilar, ya que he observado que la temperatura va subiendo.

Muchas gracias, continuaré con las pruebas e iré comentando.

Salu2

Hola, soy nuevo por estos lares así que un saludo a todos antes :).

Tengo una placa leonardo y he visto este hilo muy interesante, lo que veo es que se puede controlar solo 3 motores con este circuito no?

Se podría controlar una reprap con este circuito vinciduino/leonardo?

Hay mucho material disponible sobre montaje de estas impresoras.

Un saludo.-

Para una impresora 3D, necesitas 4 drivers: X, Y, Z y E. Es decir, los drivers de este hilo irían muy buen, pero el escudo se queda corto.

Por otro lado está el SW de control. Los que han escrito son un poco voraces con la memoria y seguramente la Leonardo se quede corta aunque sí usas Teacup te cabra bien.

Para la CNC es algo más simple aunque con las funciones que le he añadido: LCD y control de temperatura, aún queda mucho espacio.

No quería despedir el año sin presentaros una de las mejores electrónicas que hay para controlar motores paso a paso. La evolución de la familia ELFDRV ahora tiene a en sus familia uno de los controladores más competitivos de todos el ELFDRV3 Next Gen.

Por lo tanto, aquí os dejo las familia de placas con el nuevo ELFDRV3 -NG:

  • 2.5A por fase - con disipador ventilación forzada, 1.25A al aire
  • 1/32 micro-steps -> es decir, 4266 pasos por mm para varilla M10, resolución 234nm
  • Rectificación síncrona
  • Completamente compatible con el SW CNC controller que ya conocéis.
  • Más pequeño: 27mm x 27mm

Funciona simplemente de película.

fm:
No quería despedir el año sin presentaros una de las mejores electrónicas que hay para controlar motores paso a paso. La evolución de la familia ELFDRV ahora tiene a en sus familia uno de los controladores más competitivos de todos el ELFDRV3 Next Gen.

Por lo tanto, aquí os dejo las familia de placas con el nuevo ELFDRV3 -NG:

  • 2.5A por fase - con disipador ventilación forzada, 1.25A al aire
  • 1/32 micro-steps -> es decir, 4266 pasos por mm para varilla M10, resolución 234nm
  • Rectificación síncrona
  • Completamente compatible con el SW CNC controller que ya conocéis.
  • Más pequeño: 27mm x 27mm

Funciona simplemente de película.
¿Te puedo preguntar cuanto cuesta mas o menos?

Gracias
[/quote
¿Es dificil montar todo el tema para 3d o para cnc?Gracias

Montar la electrónica es simple. Yo donde encuentro la complicación es en la parte mecánica ;(

muy bueno el trabajo fm, es impresionante. soy nuevo en este mundo, desde hace un mes se me metio en la cabeza hacer algo parecido a tu creacion y he buscado y leido informacion de toda la red, buscando y buscando. pero todavia no me queda claro muchas cosas. por ejemplo hay versiones diferente del arduino incluso copias chinas, luego me encuentro con el vinciduino español, los driver y los motores. he ido recopilando material reciclado de impresoras pero no se si me servira. estos son los motores y me gustaria saber si me sirven para algo. gracias.

42SHA-34B2D 2.5 OHMIOS 1.8 deg
EM - 284 STP-42D221-01
EM - 243 STH-39H112-01
EM - 181 17PM-H005-P2V
EM - 183 42SIN-15DCNP 55 OHMIOS

Pues muchas gracias por tus comentarios. Personalmente, usaría unos NEMA 23 bipolares de 2A. Similares a los que monto y puedes ver en las imágenes de las primeras páginas y videos varios.

Esos motores pueden funcionar bien, pero el problema con el que te vas a encontrar es que seguramente no tengan la suficiente potencia para mover una máquina fresando material o posiblemente pierdan pasos.

Los míos los compré en eBay (quiero recordar).

a mi hace poco se me ocurrió una idea un tanto loca, pero pueda que funcione, que pasaría si utilizo un motor en cada extremo del sin fin??

la idea seria utiliza algo así como un inversor con algún amplificador operacional(no estoy seguro si sea buena idea) para poder cambiar el estado del motor, me explico un motor estaría en su estado normal, pero como el otro se encuentra a espejo del primero, debería girar hacia el otro lado para poder mantener la rotación continua, entonces de la salida del arduino se invierte la señal de DIR para que de el paso hacia el contrario del otro motor...

ahora me pregunto, ayudaría a mejorar el torque evitando perdida de pasos??

Bueno chicos pues la vinciDuino evo uSD ha llegado de la mano del Año Nuevo. Una vinciDuino con tarjeta uSD que funciona a las mil maravillas.

Tengo intención de actualizar el SW de control de la CNC de tal forma que compruebe si hay un fichero "job.gcode" en la uSD y en caso de encontrarlo, leerlo directamente del fichero en vez de enviárselo por USB. En el futuro, pondré un pequeño menú de control para poder seleccionar desde un teclado y LCD el fichero a procesar.

Espero que os guste.

fm:
Bueno chicos pues la vinciDuino evo uSD ha llegado de la mano del Año Nuevo. Una vinciDuino con tarjeta uSD que funciona a las mil maravillas.

Tengo intención de actualizar el SW de control de la CNC de tal forma que compruebe si hay un fichero "job.gcode" en la uSD y en caso de encontrarlo, leerlo directamente del fichero en vez de enviárselo por USB. En el futuro, pondré un pequeño menú de control para poder seleccionar desde un teclado y LCD el fichero a procesar.

Espero que os guste.

vas increíblemente bien en esto jajaja hasta que tengas esta versión actualizare las versiones de drivers, ya que quiero ese cuarto eje, y si es posible un quinto jajaja para que quede lo mas profesional que se pueda...
por cierto Fm, hay alguna manera de que en tu SW nuevo incluyas para manejar la velocidad del cabezal??

Gracias por tu respuesta. ya les habia hechado el ojo por ebay a un par de kits en los cuales por unos 160 euros con portes te traia la controladora los tres motores etc, y era la idea que tenia pero era por probar. No obstante muchas gracias. :slight_smile:

si, lastima la diferencia de países, sino seguro te regalaría uno de los nema 14 que tengo por ahi sin uso ya que no son tan potentes para una CNC

Hola

Estoy utilizando la versión 1.0.7 para los drivers de fm y al ir a configurar un relé para automatizar la puesta en marcha de la broca y el aspirador, pensé que con definir el pin en el configMe.h bastaba.

#define MOTOR_PIN        14 // Spindle motor control pin

pero también se tienen que descomentar 2 lineas en processGcode.cpp

digitalWrite(MOTOR_PIN,HIGH);
digitalWrite(MOTOR_PIN,LOW);

ahora al enviar los comandos M3 y M5 vemos como el voltaje varia en el pin seleccionado pero al poner un relé no actúa, por lo que he tenido que añadir en el setup()

pinMode (MOTOR_PIN,OUTPUT);

y ahora si funciona el relé.

Casi me vuelvo loco ya que no sabia que estaba haciendo mal y resulta que en mi vinciduino no funcionan los pines analógicos, por lo que he tenido que poner el relé en el pin D4 en vez del A0, he probado con un duemilanove y a funcionado en el pin A0 sin problemas.

fm, excelente trabajo.

A ver si hago una actualización y dejo los pines activados por defecto.

Por qué no te funcionan los pines analógicos de la vinciDuino?

Pues no sé a que se debe, no me han funcionado A0,A1 y A2, el bus I2C funciona bien (funciona la LCD y la temperatura) y A3 no lo he probado, en principio ya está funcionando la CNC y a menos que se te ocurra alguna ampliación de la leche no creo que necesite más pines. A ver si termino la caja y la dejo fija, que llevo toda la electrónica colgando.

Hola a todos, hoy he estado probando los nuevos drivers ELFDRV3 a fondo mecanizando un par de piezas durante algo más de una hora. Los resultados han sido mucho mejor de los esperado. Los drivers estaban configurados para trabajar a 2A por fase, el incremento de temperatura durante la hora de trabajo no ha sido más que de 2ºC. La temperatura final de la vinciCNC era de 25ºC!

Configuración de los drivers:

  • 2A por fase
  • Alimentación de cada fase 12V.
  • Motores NEMA 21 2.5A max a 3.5V.
  • Temperatura ambiente 23ºC
  • Temperatura final (1 hora después) 25ºC.
  • 1/32 microsteps

En el hilo del foro de la CNC podréis ver lo que he mecanizado.

No está nada, pero que nada mal para unos drivers tan pequeños.

Hola a todos, he publicado la nueva versión del SW de la CNC: versión 1.0.8.
Novedades:

  • Corrige la velocidad de los movimientos. Antes eran un poco lentos (30% más lentos).
  • Añade aceleración al movimiento. La velocidad va incrementándose progresivamente hasta alcanzar velocidad de crucero.
  • Usa la librería FastIO, así se pierde menos tiempo con el dichoso digitalWrite
  • Pequeñas correcciones de código

Ojo, que está configurada para hacer micro-stepping de 1/32. Hay que entrar en el fichero confirMe.h y cambiar:

/*!
 @defined    MICRO_STEP
 @abstract   Stepper driver micro stepping.
 @discussion Stepper driver micro stepping configuration:
 1: 1    step
 2: 1/2  step
 4: 1/4  step
 8: 1/8  step
 16: 1/16 step
 32: 1/32 step
 Default configuration (1/8).
 
 TO BE CONFIGURED for each machine and stepper. (CONFIG ME)
 */
#define MICRO_STEP       (32)

Por los pasos que tenga vuestro controlador.

Como siempre, la podéis encontrar en: https://bitbucket.org/fmalpartida/cnc-controller/downloads o descarga directa: https://bitbucket.org/fmalpartida/cnc-controller/downloads/CNC_V1.0.8.zip

@vic20 - perdona pero al final se me olvidó poner el código para activar un motor externo. En la versión 1.0.9 lo llevará de serie!