Go Down

Topic: Electrónica CNC/impresora 3D (driver, shields y placa) (Read 34942 times) previous topic - next topic

Robertob

Buenos dias y saludos a todos
Estoy empezando en esto de las cnc y me parece que el conjunto de electronica desarrollado por fm es impresionante
me gustaria saber mas o menos cuando tienes previsto poder suministar el producto,estaria interesado en adquirirlo
y saber mas o menos su coste

He intentado probar el ultimo soft que posteaste pero no me compila creo que falta una libreria

  In file included from CNC.cpp:34:
  tempCntrl.h:44: error: 'lm75' does not name a type

Y por ultimo ya se que las placas de los driver por separado son mas versatiles pero porque no pensastes en hacer una placa escudo con los tres controladores juntos todo en uno.


Un saludo enhorabuena por tu trabajo.

grafisoft

Bajaste la libreria del sensor de temperatura? Y la del lcd?

Sobre hacerlo modular, es mucho mejor asi, porque si por algun motivo fallara algo, solo tienes que cambiar esa parte que esta mal. En caso contrario, hay que cambiarlo todo.

No deberia de tardar mucho Fm en tener material disponible.

Saludos

fm

@Robertob - pues muchas, muchas gracias por tus amables comentarios.

Este fin de semana empiezo a distribuir drivers a todos los que lo han reservado. En principio van a salir los ELFDRV1 y una semana después los ELFDRV2. Con todas las reservas que la gente ha hecho me he quedado sin material! A lo largo de este mes iré completando el stock para poder poner material en mi web.

El soft que he publicado tiene activado por defecto el uso del MMI así como el uso del control automático de temperatura. En el fichero de configuración "confirMe.h", puedes comentar la línea donde se define si se usa el MMI o no:
- #define _MMI_ENABLED_ // comenta esta linea
- #define _TEMP_CONTROL_ENABLED_ // comenta esta línea también

También puedes descargarte la "New LiquidCrystal library" como sugiero en mi web y la librería "thermistor" también disponible en mi web.

En principio, lo que comenta grafisoft es el principal motivo por el que me decanté hacer una solución modular. Imagina que te compras el escudo con los drivers integrados, pasado un tiempo por el motivo que sea uno de los drivers deja de funcionar (por ejemplo desenchufaste un motor mientras el driver estaba trabajando). En este caso, tendrías que tirar la placa entera.

En cuestión de precio también mejora la cosa sustancialmente. Aunque es cierto que con esta solución estamos hablando de 4 PCBs, la solución con uno solo tiene el problema que es mucho más caro de fabricar ya que cualquier error en el proceso la convierte en algo inservible. Al tener más componentes hay una probabilidad mayor de fracaso.

Además, todas las placas que tengo en mi web, las monto de forma casi artesanal. Vamos que las monto yo y las pruebo todas antes enviar una a una. Con esto además consigo que casi todas las placas salgan bien por lo tanto la carencia de placas erróneas repercute muy favorablemente en el precio final de cada unidad.

Tampoco hago tiradas muy grandes, con lo cual no puedo competir con los grandes pero creo que los precios que tengo y la relación calidad precio es mucho mejor que cualquier tienda on-line de distribución de material para hobby. Prueba de ello es que actualmente he enviado placas de todo tipo por todo el mundo. El único continente que me queda por marcar es África y el país que más me ha pedido material es Alemania.
   

Robertob

Hola a todos
Gracias por contestar

He comprobado el soft y efectivamente no he "leido" lo que esta escrito en varias lineas sobre la utilizacio de la libreria ya esta solucionado, el LCD no me daba fallo porque ya estaba utilizando tu libreria.



fm

#79
Sep 16, 2012, 10:52 pm Last Edit: Sep 16, 2012, 11:24 pm by fm Reason: 1
Hola a todos, hoy he subido la nueva versión V 1.0.0 del SW de control de la CNC. En principio es completamente operativa y añade unos cuantos comandos adicionales al parser. También es compatible con promterface, replicatorG y TxapuzasCNC.

Es compatible tanto con todas las máquinas que utilizan los drivers de pololu así como con el ELFDRV1 o ELFDRV2 y ELFSHL1 (el shield de la CNC).

Al final ha quedado relativamente manejable el código y es una refactorización radical del software de TxapuzasRx. Con estos cambios el código es mucho más escalable y fácil de mantener.

En el archivo "configMe.h" podéis cambiar todos los parámetros de la máquina (pines de control, feedrate, pasos, ...) al igual que activar el MMI y el control de temperatura.

Espero que lo disfrutéis.

Aquí tenéis el enlace: https://bitbucket.org/fmalpartida/cnc-controller/downloads
   

fm

En el otro hilo comenté que había publicado la versión 1.0.1 del controlador de la CNC. Esta versión corrige una pulga que introduje a la hora de optimizar un poco el código :(.
Ya está resuelta y completamente operativa. La podéis encontrar donde siempre:
https://bitbucket.org/fmalpartida/cnc-controller/downloads

Que la disfrutéis y avisadme si veis algo raro.
   

vic20

Hola a todos.

Me he bajado la versión 1.0.2 del SW  para cambiar el paso de rosca ya que los he estado probando y cuando le digo que avance 10 mm , avanza solo unos 7.

Supongo que simplemente hay que cambiar en el configMe.h M10 por M8 en:

#define X_STEPS_PER_MM   ( M10 * SCALE_STEPS * MICRO_STEP )
#define X_STEPS_PER_INCH (X_STEPS_PER_MM * MM_PER_INCH)

#define Y_STEPS_PER_MM   ( M10 * SCALE_STEPS * MICRO_STEP )
#define Y_STEPS_PER_INCH (Y_STEPS_PER_MM * MM_PER_INCH) 


#define Z_STEPS_PER_MM   ( M10 * SCALE_STEPS * MICRO_STEP )
#define Z_STEPS_PER_INCH (Z_STEPS_PER_MM * MM_PER_INCH)


Y ya que estoy preguntón, no me queda claro que es lo del MMI.

Y por último para colaborar un poco, aunque sea una chorrada en el configMe.h de la versión 1.0.2 pone:

#define FRMW_VERSION "1.0.1"


Los ELFDRV1 van como la seda, ya había conseguido mover los motores con otros drivers hechos por mi, pero no hay color.

Un trabajo (en dos palabras ) "im presionante".

Gracias.


grafisoft

Estaran maracdas como comentario las lineas correspondientes a M8, desmarcalas, y marca como comentarios las de M10.

fm

@vic20 - el MMI es simplemente el (Man Machine Interface), en el caso de esta aplicación es una forma de visualizar en un LCD lo que está haciendo la máquina. El escudo se puede conectar un LCD I2C directamente y lo que se ve en pantalla (en la versión actual) es: temperatura, velocidad del ventilador, posición tras el último movimiento. Esto irá evolucionando con el tiempo. Por defecto tengo des habilitado tanto el control térmico como el MMI.

En las macros que has publicado, simplemente cambia M10 por M8, en la siguiente versión voy a poner una macro genérica para que simplemente haya que cambiar una línea de código para configurar el paso de la varilla roscada y poner un indicador para que se vean las constantes que se pueden y no tocar. La constante será algo como ROD_CONF o similar, que tome los valores M8, M10.

La versión se me ha pasado ;-), muchas gracias por la indicación, tengo que pulir el procedimiento de publicación de esta aplicacion.

Me alegro que te guste el ELFDRV1! La verdad es que va muy, pero que muy bien. El ELFDRV2 va de cine también.
   

fm

Lo prometido es deuda...  :P

Ya he subido algunas modificaciones para simplificar la configuración de la máquina CNC:
Configurar la varilla roscada de la máquina:
M10_200 -> Varilla M10 con stepper 200 pasos por revolución.
M8_200 -> Varilla M8 con stepper 200 pasos por revolución.
Cada eje se puede configurar por separado por si alguna máquina utiliza una varilla diferente por cada eje.
Code: [Select]

#define ROD_CONF_X    (M10_200)
#define ROD_CONF_Y    (M10_200)
#define ROD_CONF_Z    (M10_200)


Configuración microstepping de los drivers de control
Code: [Select]

#define MICRO_STEP       (8)


En el código he puesto los comandos que se puede configurar con un comentario:
Code: [Select]

(CONFIG ME): configuración para los parámetros y configuración de mi máquina

(ENABLE ME): para activar o desactivar cierta funcionalidad de la aplicación de control (control LCD y temperatura).

La versión está disponible en https://bitbucket.org/fmalpartida/cnc-controller/downloads - Versión V 1.0.3
   

grafisoft

Un acierto esta pequeña actualizacion de codigo para hacerlo mas facil. Muy buen trabajo Fm.

Saludos

vic20

Buenas.

He estado probando la versión 1.0.3 y me ocurre lo siguiente.

Cuando cambio M8_200 por M10_200 en:

#define ROD_CONF_X    (M10_200)
#define ROD_CONF_Y    (M10_200)
#define ROD_CONF_Z    (M10_200)

Compila bien, pero cuando conecto el vinciduino a la cnc al dar una orden para que mueva cualquier motor este se mueve muy despacio y pierde la comunicación con TxapuCNC_TX03, quedando girando el motor muy despacio e indefinidamente y creo que también aumenta el consumo con respecto a cuando tiene cargado los valores M10_200.

Al volver poner los valores a M10_200 los motores van como la seda, pero claro está el error por el tamaño de la varilla.

Muchas gracias.




fm

Haz una pequeña prueba: pon 166.0 a ver que sucede. Me da la impresión que no le está gustando el número entero.

   

vic20



Le he puesto 160.0 y parece que funcionan bien.

Pero también estoy adaptando una pequeña fresadora manual como CNC y tiene una vuelta por mm, en este caso al poner 200 aparece el mismo problema y al poner de nuevo 200.0 va perfecta.

Muchas gracias, sigo trasteando.

fm

Me lo apunto para la 1.0.4. Se estaba desbordando el cálculo del define ;-)
   

Go Up