Autor: Oscar Gonzalez
Tiempo de lectura: 33 minutos
Controladora de 32-bits para impresoras 3D basada en el potente procesador ARM Cortex M4 SAMD51 de 120MHz y fabricada en España
Éste es uno de los elementos más importante de la Bricolemon, ya que si no configuramos adecuadamente los motores tendremos una máquina que no se mueve, literalmente.
En esta placa se utilizan los drivers TMC2209, los cuales están configurados por UART. De base desde el repositorio de la Bricolemon está todo configurado para que funcionen de manera inicial por UART, por lo que la configuración que tenemos que realizar es relativa a los pasos y corrientes.
Vamos empezar por la gestión de los pasos por vuelta de nuestra impresora, para ello vamos buscar en el código el Hastag ##Steppers_UNITS##
Sección Steppers
Con la ayuda de buscar (CONTROL F) podemos encontrar rápidamente con los hashtag las referencias de este manual. Una vez estemos en la línea como se muestra en la foto anterior lo que debemos hacer es configurar nuestros motores de la máquina que tengamos. Por lo tanto debemos configurar los campos:
#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
En estos campos debemos poner los valores adecuados en función de nuestra máquina. En Internet hay muchas calculadoras y guías para poder hacerlo de manera adecuada.
Dos ejemplos muy buenos son los vídeos de Obijuan así como este otro vídeo del Taller 3D de Alexei
Configuración de corriente de los motores
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.
Para poder encontrar esta sección debemos irnos al archivo configuration_adv.h de Marlin y buscar el tag @section tmc_smart o también HAS_TRINAMIC_CONFIG.
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.
Esto es un juego de balances, a mayor corriente mayor fuerza tiene el motor. Pero pensar esto también, una persona no debe realizar su fuérza máxima para levantar una barra de pan, sino la justa ya que te fatigas, con estas cosas ocurre lo mismo, sí forzamos la corriente máxima continuamente en los motores y drivers acortaremos su vida útil. Pero no os preocupeis demasiado, salvo que se hagan cafradas no tendríamos problemas.