BricoLemon Lite

  • 19

1 Intermedio

En este caso, la configuración difiere de la Bricolemon en la cantidad de motores que se definen. Recordar que en este caso la Bricolemon Lite no tiene dos extrusores, por lo tanto si no partimos de la configuración de Ejemplo de la Ender 5 con BLTOUCH debemos configurar los motores de la siguiente manera en el archivo Configuration.h

NOTA: Antes de configurar los motores, asegúrate primero de tener el motor bien conectado. Tienes más información sobre cómo tener el cableado correcto un poco más abajo.

// Linea 834
#define X_DRIVER_TYPE  TMC2209
#define Y_DRIVER_TYPE  TMC2209
#define Z_DRIVER_TYPE  TMC2209
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
//#define I_DRIVER_TYPE  A4988
//#define J_DRIVER_TYPE  A4988
//#define K_DRIVER_TYPE  A4988
#define E0_DRIVER_TYPE TMC2209
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988

Configuración de pasos

Cada impresora tiene su propia configuración y debes establecer cuales son los pasos por vuelta de cada motor, así como la aceleración. 

Ten en cuenta que estos son valores de ejemplo. Deberás establecer los correctos para tu impresora 3D.

Esto se hace desde éstas líneas:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80.40, 80.40, 800.00, 111 } //Ender 5 M92 X84.03 Y80.40 Z800.00 E93.00
#define DEFAULT_MAX_FEEDRATE          { 500, 500, 5, 25 }
#define DEFAULT_MAX_ACCELERATION      { 500, 500, 100, 1000 }
#define DEFAULT_ACCELERATION          500    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  500    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration for travel (non printing) moves

Ajustar la corriente de motores paso a paso

A continuación vamos a explicar como modificar la corriente de los drivers mediante Marlin, ya que estos TMC2209 dan la capacidad de configurar la corriente máxima que queremos entregarles. Éstas líneas están en el fichero configuration_adv.h de Marlin.

De esta manera accederemos a los parámetros de corriente de los motores y sus posibles configuraciones. En el ejemplo de abajo, verás que es la configuración de corriente del driver X, indicado como AXIS_IS_TMC(X).

Verás que debes encontrar por el nombre el driver que quieras configurar:

  • AXIS_IS_TMC(X)
  • AXIS_IS_TMC(Y)
  • AXIS_IS_TMC(Z)
  • AXIS_IS_TMC(E1)

#if HAS_TRINAMIC_CONFIG

  #define HOLD_MULTIPLIER    0.5  // Scales down the holding current from run current
  #define INTERPOLATE       true  // Interpolate X/Y/Z_MICROSTEPS to 256

  #if AXIS_IS_TMC(X)
    #define X_CURRENT       600        // (mA) RMS current. Multiply by 1.414 for peak current.
    #define X_CURRENT_HOME  X_CURRENT  // (mA) RMS current for sensorless homing
    #define X_MICROSTEPS     16    // 0..256
    #define X_RSENSE          0.11
    #define X_CHAIN_POS      -1    // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
  #endif
...

Como podemos ver tenemos una serie de campos que continuamos a relatar:

  • X_CURRENT: Esta es la corriente del motor que queremos configurar, usualmente en impresoras como la Ender hemos estado probando que con 550-600ma son suficiente para alimentar los ejes. Aquí la clave será probar con los movimientos una vez configurada la corriente que nuestra máquina no pierde pasos, si los pierde lo que debemos revisar es si tiene el movimiento limitado (por que toca con algo) o por que le tenemos que subir la corriente (ya que la establecida inicialmente es insuficiente para que nos entrege la fuerza que requerimos).
  • X_MICROSTEPS: Precisión de los pasos que deseamos en el motor, si nos fijamos inicialmente tenemos habilitada la variable INTERPOLATE, por lo tanto esta variable de 16 se convertirá en 256 dentro del driver. No deja de ser una aproximación y ya hablaremos más detenidamente sobre este aspecto. Inicialmente 16 es un valor correcto.
  • X_RSENSE: Valor de la resistencia de medición de los drivers. Esta resistencia está soldad en la PCB y tiene el valor que aquí se establece, con esta resistencia el driver es capaz de calcular que corriente entrega y que ocurre en cada momento en el motor por lo tanto NO SE DEBE CAMBIAR NUNCA A RIESGO DE QUEMAR EL DRIVER.

Una vez llegados a los ejes con más cargas, extrusor y eje Z, debemos pensar que estos necesitarán un poco más de corriente. En un eje Z con doble motor un valor aproximado de 650-700ma debería ser suficiente, así mismo en el extrusor hemos estado trabajando en la Ender con 650mA con buenos resultados.

Cableado de los motores

Para poder conectar correctamente los motores a tu BricoLemon, es importante comprobar que todo los cables estén en el orden correcto. Sin entrar en detalles sobre el funcionamiento de los motores paso a paso, lo que debes saber es que, por norma general, los motores de impresoras 3D sin bipolares y tienes 4 cables.

Los 4 cables representan 2 bobinas, dos cables para cada una, normalmente llamadas Bobina A y Bobina B. Y se representa también así en la serigrafía de la placa por la parte posterior.

Bobinas de un motor paso a paso NEMA 17

Bobinas de un motor paso a paso NEMA 17

Conexión de motores paso a paso de BricoLemon

Conexión de motores paso a paso de BricoLemon

Debes hacer coincidir cada bobina con su toma correspondiente. No te fíes de los colores, ya que cada chino hace lo que le da la gana, créeme. Lo mejor es comprobarlo con un polímetro en modo de continuidad para saber cuales son las fases.

¿Cómo identificar las fases del motor?

Cada fase tiene continuidad, por lo que con un multímetro podemos medir la continuidad en las conexiones del motor. Cada conector tendrá continuidad con el que corresponde a su fase y no la tendrá con los otros dos. Si por algún motivo las fases están cruzadas  (por ejemplo, el orden de fase A invertida y conector B en sentido correcto), no le pasará nada a tu BricoLemon, pero el motor vibrará y funcionará de forma errática haciendo ruido.

En el caso de que las fases estén correctas, pero invertidas (por ejemplo, fase A invertida y fase B correcta) ocurrirá que el motor girará en sentido contrario. En tal caso, puedes o bien invertirlas de nuevo o bien modificar el sentido de giro en Marlin.

¿Dónde comprar motores paso a paso NEMA 17?

Si necesitas motores de calidad y compatibles con tu placa BricoLemon, aquí te dejamos algunas sugerencias:

Motor paso a paso 3.2 Kg/cm NEMA 17

Motor paso a paso 3.2 Kg/cm NEMA 17

Motor muy preciso ideal para montar tu impresora 3D Prusa Mendel o similar, 200 pasos por vuelta.

27,50€

Comprar


Motor NEMA 17 / 3.5Kg con conector y cable

Motor NEMA 17 / 3.5Kg con conector y cable

Motor NEMA 17 de 3.5Kg/cm ideal para impresoras 3D y máquinas CNC

15,50€

Comprar


Motor paso a paso NEMA 17 con husillo de 38cm

Motor paso a paso NEMA 17 con husillo de 38cm

Motor paso a paso NEMA 17 con husillo integrado de 38 cm

63,90€

Comprar


Solucionar error TMC CONNECTION ERROR

Es posible que en algunos casos pueda aparecer en pantalla un error de conexión de los drivers TMC, indicando el mensaje TMC CONNECTION ERROR.

Ejemplo de error mostrado en la pantalla

Ejemplo de error mostrado en la pantalla

Esto no ocurre siempre y lo normal es que los motores funcionen igualmente sin mayor problema. En cualquier caso, si te aparece éste error la solución es muy fácil ya que debes cambiar un parámetro de configuración.

Debes abrir el siguiente fichero: Marlin/src/pins/samd/pins_BRICOLEMON_LITE_V1_0.h y editar estas líneas:

    #define X_SERIAL_TX_PIN   0
    #define X_SERIAL_RX_PIN   1

    #define Y_SERIAL_TX_PIN   0
    #define Y_SERIAL_RX_PIN   1

    #define Z_SERIAL_TX_PIN   0
    #define Z_SERIAL_RX_PIN   1

    #define E0_SERIAL_TX_PIN  0
    #define E0_SERIAL_RX_PIN  1

    #define E1_SERIAL_TX_PIN  17
    #define E1_SERIAL_RX_PIN  16

Lo que debes hacer es poner todos los valores a cero. De esta forma ya no verá el error.

También cabe recordar que a veces el error es lanzado solo cuando cuando alimentas tu BricoLemon solo mediante el cable USB sin alimentación. Dado que la línea de alimentación de los drivers está separada de la alimentación USB, siempre debes alimentar la placa mediante la entrada de voltaje, aún cuando ya la tienes conectada por USB.

IMPORTANTE: Asegúrate que el cable USB que estás utilizando es de datos. Algunos cables USB solo sirven para cargar y no tienen los cables de datos. Puede parecer una tontería, pero compruébalo siempre, porque ocurre muchas veces!

Configuración de micropasos (microsteps)

Para configurar los micropasos de los motores, debes abrir el fichero Configuration_adv.h y buscar las siguientes líneas:

/**
   * Interpolate microsteps to 256
   * Override for each driver with <driver>_INTERPOLATE settings below
   */
  #define INTERPOLATE      true

  #if AXIS_IS_TMC(X)
    #define X_CURRENT       800        // (mA) RMS current. Multiply by 1.414 for peak current.
    #define X_CURRENT_HOME  X_CURRENT  // (mA) RMS current for sensorless homing
    #define X_MICROSTEPS     16        // 0..256
    #define X_RSENSE          0.11
    #define X_CHAIN_POS      -1        // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
    //#define X_INTERPOLATE  true      // Enable to override 'INTERPOLATE' for the X axis
  #endif

  #if AXIS_IS_TMC(X2)
    #define X2_CURRENT      800
    #define X2_CURRENT_HOME X2_CURRENT
    #define X2_MICROSTEPS    X_MICROSTEPS
    #define X2_RSENSE         0.11
    #define X2_CHAIN_POS     -1
    //#define X2_INTERPOLATE true
  #endif

  #if AXIS_IS_TMC(Y)
    #define Y_CURRENT       800
    #define Y_CURRENT_HOME  Y_CURRENT
    #define Y_MICROSTEPS     16
    #define Y_RSENSE          0.11
    #define Y_CHAIN_POS      -1
    //#define Y_INTERPOLATE  true
  #endif

  #if AXIS_IS_TMC(Y2)
    #define Y2_CURRENT      800
    #define Y2_CURRENT_HOME Y2_CURRENT
    #define Y2_MICROSTEPS    Y_MICROSTEPS
    #define Y2_RSENSE         0.11
    #define Y2_CHAIN_POS     -1
    //#define Y2_INTERPOLATE true
  #endif

  #if AXIS_IS_TMC(Z)
    #define Z_CURRENT       800
    #define Z_CURRENT_HOME  Z_CURRENT
    #define Z_MICROSTEPS     16
    #define Z_RSENSE          0.11
    #define Z_CHAIN_POS      -1
    //#define Z_INTERPOLATE  true
  #endif

Fíjate que varios grandes bloques indicando la letra del eje y cada uno de esos bloques tiene un parámetro que indica los micropasos a utilizar. Por defecto los microsteps están a 16 y con eso todo funciona perfectamente.

Pero si quieres conseguir un movimiento suave, lo suyo es aumentar ese valor. La BricoLemon tiene drivers TMC y por lo tanto soporta hasta el valor 256. Procura siempre utilizar valores potencia de 2 (16, 32, 64, 128 y 256).

Si modificas los microsteps, debes ajustar los pasos por milímetro en consecuencia. Hay calculadoras online para eso, como la calculadora de Prusa. Y por si no tienes claro de qué va esto, aquí tienes un vídeo que te explica en detalle cómo funcionan los microsteps y para qué sirven.

Conectores de los motores

La BricoLemon utiliza conectores de tipo JST 4P (4 pines) para los motores y JST 2P (2 pines) para los finales de carrera de la serie XH como estos:

Conectores XH usados en la BricoLemon

Conectores XH usados en la BricoLemon

Estos conectores son bastante comunes y vienen normalmente con el plastico y el conector interior por separado.

Estas son las referencias exactas de cada uno de ellos: