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

Ok, perfecto. Tenia una ligera duda por si no fuera bueno cortar la alimentacion directamente, pero viendo que lo teneis asi implementado tambien, me quedo mas tranquilo.

Si, el caso es que la electrónica de control no deja de estar alimentada a +5V ya que le está llegando la alimentación del USB.
Lo que nunca se debe hacer es cortar la alimentación de +5V, es decir, desconectar el USB mientras la máquina está trabajando. Esto deja la lógica de control del driver en un estado indeterminado y puedes dañarlos. Al dejarlos en un estado indeterminado y dependiendo del momento que se queden sin alimentación puede que la corriente de retorno de la bobina recircule por los FETs de potencia sin control y los fria.

Si esta coenctado a +12V el arduino funciona sin estar conectado al pc. Supongo que seguiria ejecutando la ultima instruccion.

Un detalle, el ventilador de la FA se mueve con tener coenctado unicamente los +5V. Si tengo que parar, al apagar la FA, le quito los +12V.

Es un buen detalle saber la actuacion de los drivers si pierden la parte logica.

Saludos

Bueno, ya esta listo el programita, ya procesa todo el codigo completo sin necesidad de eliminar ninguna linea a mano por comentarios que introduce el coppercam y otros comandos que no son utiles.

Pongo un ejemplo del G-CODE generado por Coppercam, y posteriormente el codigo procesado por el programita.

** Nota: El g-code mostrado es un fragmento, si lo cargais en la maquina no se que hara, saldra algun cacho de figura supongo.

G-CODE proporcionado por Coppercam:

( CopperCAM 3 - 29/06/2012 / ISO-Mill Output )
( E:\CNC\COPPERCAM\CopperCAM.iso created 09/10/2012 at 11:58 )
( Workpiece dimensions: 130.242 x 10.95 x 1 mm )
G00 G90 G94 G40 G54 G80
T1 M06 ( Engraving tool )
M03 S8000
M07
G00 F1200 X6.91 Y5.96
G00 F240 Z0
G01 Z-0.1
G01 F300 X6.81 Y6.15
G01 X6.67 Y6.32

G00 F240 Z0
G01 Z-0.1
G01 F300 X3.29 Y5.18
G01 Y3.98
G01 X3.87
G01 Y3.2
G01 X3.97 Y3.38
G01 X4.14 Y3.59
G01 X4.34 Y3.75
G01 X4.51 Y3.84
G00 F900 Z2
M09
M05
T3 M06 ( Drilling tool )
M03 S8000
M07
G00 F1200 X5.89 Y5.54
G00 F240 Z0
G01 Z-2
G00 F900 Z2
G00 F1200 Y7.74
G00 F240 Z0
G00 F900 Z2
G00 F1200 X127.7
G00 F240 Z0
G01 Z-2
G00 F900 Z2
G00 F1200 X2.54
G00 F240 Z0
G01 Z-2
G00 F900 Z2
M09
M05
M02
%

G-CODE procesado con el programa:

G00 X6.91 Y5.96 F1200 
G00 Z0 F240 
G01 Z-0.1 
G01 X6.81 Y6.15 F300 
G01 X6.67 Y6.32 
G00 Z0 F240 
G01 Z-0.1 
G01 X3.29 Y5.18 F300 
G01 Y3.98 
G01 X3.87 
G01 Y3.2 
G01 X3.97 Y3.38 
G01 X4.14 Y3.59 
G01 X4.34 Y3.75 
G01 X4.51 Y3.84 
G00 Z2 F900 
G00 X5.89 Y5.54 F1200 
G00 Z0 F240 
G01 Z-2 
G00 Z2 F900 
G00 Y7.74 F1200 
G00 Z0 F240 
G00 Z2 F900 
G00 X127.7 F1200 
G00 Z0 F240 
G01 Z-2 
G00 Z2 F900 
G00 X2.54 F1200 
G00 Z0 F240 
G01 Z-2
G00 Z2 F900

Y aqui la ventana del programa.

Programita subido a bitbucket: https://bitbucket.org/grafisoft/procesado-g-code/downloads

Probado en win 7, si lo podeis bajar y ejecutar en otros SO, para saber que funciona bien.

Saludos

Fantástico, seguro que a más de uno le viene muy bien!

Toma Karma!

fm:
Fantástico, seguro que a más de uno le viene muy bien!

Toma Karma!

Me vas a emborrachar con tanto karma :stuck_out_tongue:

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