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

jajajaja

Subida una version "nueva" a ver si la pilla XP:

https://bitbucket.org/grafisoft/procesado-g-code/downloads/Adaptador_G-CODE_XP.rar

No tengo ahora ningun pc virtual montado de XP, sino lo probaria yo -.-

Saludos

Sigue dando el mismo problema. He probado en un par de equipos con xp.

Ok, como lo desarrollo y compilo en un win 7 64 bits, igual tiene algo que ver. Lo voy a seguir revisando.

Haber si estas haciendo una version en x64 y por eso el error

Pues debe compilar para x64, voy a consultar a mi querido google, porque esta version del visual studio es muy distinta a la que gastaba yo. Al final como todo, sera una chorradilla :stuck_out_tongue:

Gracias por comprobarlo.

Saludos

Bueno, subo unicamente lo que es el programa, por lo que se ve, el instalador que genera el visual studio para la aplicacion es el que realmente da el problema. He instalado un XP virtual, y ha ejecutado la aplicacion.

Os dejo el enlace:
https://bitbucket.org/grafisoft/procesado-g-code/downloads/Adaptador_G-CODE_XP.rar

Saludos

@fm

Una preguntilla, ya tengo los driver y han empezado a funcionar, je,je la verdad es que van bien, estoy ahora con los ajustes.

Quería preguntarte un par de cosillas

1º. el LCD que tengo es i2c, pero basado en un PCF85741, y la verdad es que no me funciona con la librería que me bajé de tu página

2º Noto que ejecuntando la aplicación de Txapuzas, cuando finaliza de ejecutar un movimiento cualquiera de los ejes, veo que se mantiene unos segundos, en los que el consumo de corriente se dispara, aumentando bastante en comparación con lo que consume cuando está ejecutando un movimiento.

Nada más, por lo demás enhorabuena por el pedazo trabajo.

Salu2

@fariceos - me alegro que te estén funcionando bien los drivers.

Con respecto al LCD yo utilizo un PCF8574 similar al que tu utilizas. Lo que tendrás que hacer para que funcione la pantalla es mapear correctamente los pines del LCD. Actualmente los tengo configurados por defecto para mi LCD. También tendrás que configurar la dirección I2C para que funcionen.

Para inicializar el LCD con otro mapa de pines, tendrás que ver cómo están conectados en tu LCD. Después, al inicializar la "variable", tendrás que pasarle ese mapa de pines. Puedes verlo en el fichero LiquidCrystal_I2C.h, en la declaración.

El SW está diseñado para des habilitar los drivers cuando no hay actividad pasados unos 2 segundos. Cuando un motor está parado, es decir, manteniendo su posición y el driver está activo es cuando más consume. Toda la energía de la bobina se usa para mantener la posición y no se gerera nada de moviento, si no estás haciendo fuerza sobre el motor, se genera poca fuerza electromotriz. Por lo tanto, el consumo de corriente sube a lo que lo tengas configurado. De todas formas, comprueba con un polímetro la tensión en el punto de pruebas que hay para tal fin y ajusta el potenciómetro para tener la corriente que desees que fluya por los drivers.

La corriente se calcula de la siguiente forma: I = V / 0.8, es decir, cuando midas 0.8V, tendrás una corriente de 1A en cada fase. Esto lo puedes hacer solo alimentando la placa a 5V.

Espero que te haya resuelto las dudas. Si no consigues hacer que funcione el LCD, aquí me tienes para intentar ayudarte.

Muchas gracias por tus comentarios, se agradecen un montón.

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??