Autor: Oscar Gonzalez
Tiempo de lectura: 35 minutos
La mejor electrónica para tu impresora 3D, silenciosa, de alta calidad y altamente eficiente fabricada en España
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
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
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:
#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:
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.
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
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.
Si necesitas motores de calidad y compatibles con tu placa BricoLemon, aquí te dejamos algunas sugerencias:
Motor muy preciso ideal para montar tu impresora 3D Prusa Mendel o similar, 200 pasos por vuelta.
27,50€
Motor NEMA 17 de 3.5Kg/cm ideal para impresoras 3D y máquinas CNC
15,50€
Motor paso a paso NEMA 17 con husillo integrado de 38 cm
63,90€
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
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!
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.
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
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: