SKR GTR V1.0: Análisis completo y configuración con drivers TMC22xx y Sensorless (Marlin 2.0.x.x)

Desde hace ya algún tiempo las series SKR de BigTreeTech se han convertido en un referente del sector en lo que a electrónicas para impresión 3D se refiere. Los últimos modelos SKR v1.4 y SKR v1.4 Turbo se han popularizado de manera exponencial y no es de extrañar verlas de serie en nuevos lanzamientos de impresoras 3D que salen al mercado.

No obstante BigTreeTech dispone de otros modelos de electrónicas para impresión 3D, con características muy superiores pero no tan conocidas. Dos claros ejemplos son la SKR Pro V1.2 y la más reciente SKR GTR V1.0 con su placa de expansión M5 V1.0, una auténtica delicia para los más exigentes.

Estas electrónicas, sobre todo en la SKR GTR V1.0 + M5 V1.0, están diseñadas específicamente para aplicaciones de alto rendimiento ofreciéndonos la posibilidad de utilizar multitud de motores con sus correspondientes sensores y electrónica adicional.

Y como siempre suelo hacer antes de continuar, me gustaría recordarte que disponemos de una gran comunidad en nuestro canal de Telegram donde compartimos nuestras dudas y experiencias. No tengas reparo alguno en unirte si lo deseas.

 

Breve introducción

Adquirir una electrónica de estas características no es algo que deba preocuparnos en exceso, si vamos a diseñar o ensamblar una impresora sencilla (sin extrusión múltiple). Pero si tu objetivo es aumentar drásticamente el número de motores o extrusores deberás sin duda recurrir a ella.

En el artículo de hoy quisiera mostraros las características principales de la electrónica SKR GTR V1.0 junto al módulo de expansión M5 V1.0 y cómo configurarlos correctamente en Marlin con algunos drivers TMC22xx existentes en el mercado.

Después podrás activar o no la característica de Sensorless, una opción que a mi me gusta bastante y que nos evitará tener que utilizar finales de carrera en los ejes X e Y de nuestra impresora.

Y al respecto de los drivers TMC de Trinamic, si los desconoces te insto a que leas un interesantísimo artículo que redacté hace algún tiempo sobre ellos y sobre sus patentes en el siguiente enlace Drivers TMC: Descubre los mejores drivers para impresión 3D y sus tecnologías disponibles

 

Electrónicas SKR GTR V1.0

Cuando BigTreeTech preparó el diseño de esta electrónica, sin duda tenía en mente ofrecer al mercado una placa orientada a aplicaciones de altísimo rendimiento, esto es algo innegable. Habían dos posibles caminos al respecto, desarrollar clones de la Duet2 junto con su propio módulo de expansión como hicieron otros fabricantes antaño, o diseñar un nuevo producto propio (una decisión más que correcta a mi entender).

El microprocesador de esta auténtica bestia es un Cortex M4 STM32F407IGT6 de 32bits y nos ofrece velocidades de reloj de hasta 168 MHz. Esto hasta la fecha de hoy es algo muy poco habitual en dispositivos de impresión 3D.

Como no podía ser de otra manera, utiliza las últimas versiones de Marlin 2.0.6.x y superiores, para que los usuarios puedan personalizarlo sin ningún problema y poder adaptarlo a cualquiera de sus necesidades.

Según indica en el manual oficial debes descargar una versión de Marlin específicamente preparada por BigTreeTech para su compilación. Pero a partir de la versión 2.0.7.2 ya puedes compilar cualquier firmware Marlin con soporte sin restricción alguna. Más adelante explicaremos cómo hacerlo.

La placa dispone de un diseño completamente pensado en la disipación de calor de la misma (incluyendo Mosfet de alto rendimiento). Un problema habitual con el que solemos lidiar a menudo en impresión 3D y soporta todos los tipos de pantallas BTT Touchscreen, LCD2004 y LCD12864.

Además soporta 6 motores y 3 ventiladores, pudiéndose ampliar con 5 motores y 5 ventiladores más, siempre y cuando le conectemos su módulo de expansión M5 V1.0.

Un par de novedades, respecto a otras electrónicas más conocidas de la serie SKR, es que incluye soporte para las Raspberry Pi así como posibilidad de utilizar termopares de tipo K, los cuales pueden operar a temperaturas mucho más altas que los termistores habituales.

 

Multi-extrusión sin límite

Como ya podrás imaginar una de las aplicaciones que más sentido da a esta electrónica es la multi-extrusión. Y cuando digo multi-extrusión no me refiero a 2 filamentos sino a 4, 6 y hasta 8 que podemos soportar con la SKR GTR V1.0 y su módulo de expansión M5 V1.0.

Obviamente puedes montar multi-extrusión en cualquier impresora 3D, ya que el único límite aquí es la electrónica de la máquina, pero los precios hasta ahora con las electrónicas disponibles eran desorbitados.

Este es un ejemplo de una impresora comercial del fabricante E3D donde muestra 4 extrusores y su gestión, gracias al sistema ToolChanger que utiliza servos para efectuar los cambios.

Ciertamente muy pocas electrónicas soportan estas características, de hecho la Motion System de E3D utiliza una electrónica Duet + Módulo de expansión para ello. Con la nueva SKR GTR V1.0 podrías hasta acoplar 11 motores, algo que ni la Duet soporta en este momento, y por menos de la mitad del precio de la misma.

Esto deja claro el potencial de esta nueva serie de electrónicas que BigTreeTech está lanzando al mercado y sube el listón para el resto de los fabricantes, algo que nos encanta ya que fuerza a la competencia a mejorar sus productos.

 

Donde adquirir la SKR GTR V1.0

Por aquí puedes encontrar enlaces a algunos marketplace donde localizar esta electrónica. Es mi deber como siempre informarte que son enlaces de afiliados.

Si los utilizas, el precio del producto será el mismo que si accedes de manera habitual pero a 3DWork le quedará una pequeña comisión que ayudará a mantener la página web.

SKR GTR V1.0
SKR GTR V1.0 + M5 V1.0

También puedes utilizar nuestro buscador específico de productos para impresión 3D denominado Markets.sx. De esta forma rastrearás literalmente diferentes marketplaces online en un solo clic (Amazon, Gearbest, Aliexpress, etc.) y te mostrará los resultados en una sola búsqueda.

 

Comparativa: SKR V1.4 Turbo / SKR GTR V1.0

Para poder visualizar de un vistazo las diferencias principales os dejo una breve tabla comparativa con ambas placas y algunas de sus especificaciones técnicas correspondientes.

Si deseas entrar en detalles, más adelante del artículo tienes disponibles los esquemas completos y conexionado de la SKR GTR V1.0 y de su placa de expansión, la SKR M5 V1.0.

SKR V1.4 TURBO SKR GTR V1.0 + M5 V1.0
CPU Frequency LPC1769 Cortex M3 (120 MHz) STM32F4 Cortex M4 (168 MHz)
Motor driver interfaces 5 11
Fan interfaces 4 8
Temp. sensors 3 Thermistors 9 Thermistors + 2 K-Temp
Endstops 3 Endstops 11 Endstops
Neopixel connectors 1 2
Raspberry Pi support no yes

 

Alimentando nuestra SKR GTR V1.0

Un detalle importante a tener en cuenta es que vas a necesitar alimentar la electrónica SKR GTR V1.0 con 3 cables desde tu fuente principal. Como puedes comprobar, las líneas de alimentación de la placa, de los motores y de la cama caliente van separadas completamente.

En la imagen superior te muestro la forma adecuada de cablear la SKR GTR V1.0. Puede parecer algo engorroso, pero cuando adquieres la electrónica trae consigo 3 cables de alimentación preparados para tal efecto, así que no deberías tener complicación alguna.

Si además de la SKR GTR V1.0 vas a conectar su placa de expansión SKR M5 V1.0, deberás añadir una línea extra de alimentación, que en este caso sería la cuarta, y que también se conectaría a la misma fuente.

Aquí tienes otra imagen con una M5 conectada a su GTR correspondiente y a la fuente de alimentación (clic para agrandar la imagen).

Y por último revisa la polaridad de los cables cuando efectúes las conexiones. Es algo que me gusta recordar siempre, ya que de lo contrario podrías dañar la electrónica (o electrónicas) si te equivocas en las conexiones desde tu fuente.

 

Esquemas electrónicos y conexionado

Aquí tienes los esquemas de la SKR GTR y SKR M5 (módulo de expansión) así como los diferentes conectores en cada una de las dos. Si lo deseas puedes agrandar las imágenes haciendo clic en ellas:

SKR GTR V1.0

 

SKR M5 V1.0 (Módulo de expansión)

 

Descargando el firmware Marlin (Github)

Las electrónicas SKR GTR V1.0 utilizan un firmware Marlin propio, el cual debes descargarte desde el área de soporte de BigTreeTech (Github oficial) tal y como hemos comentado unas líneas más arriba. No obstante este firmware se encuentra en la versión v2.0.6.2, que si bien es muy reciente ya no es la última versión de Marlin (a día de la realización de este artículo la última es la versión v2.0.7.2).

Así que directamente te recomiendo que descargues los firmwares desde la página web oficial de Marlin, y por supuesto la última versión disponible. Antes Marlin no disponía de soporte oficial para esta nueva electrónica, pero ya desde la versión v2.0.7.2 está plenamente soportada.

Puedes encontrar los enlaces para descargar el último firmware en la siguiente página web (marlinfw.org). Una vez en tu poder, descomprimelo en tu escritorio y ya puedes empezar a modificarlo a tu gusto.

Antes de continuar dos breves incisos, el primero es que yo para esta guía he utilizado un display BigTreeTech TFT35 V3.0, el cual puede operar en dos modos (marlin y touchscreen). Simplemente si tu no dispones de este display, deberás modificar una línea de código al respecto y listo, no tiene mayor dificultad.

El segundo inciso es que para editar y compilar nuestro firmware deberás utilizar un editor de texto llamado Visual Studio Code, junto con su extensión Platformio.

Si no tienes experiencia alguna con él te recomiendo que leas un artículo muy interesante que escribí hace algún tiempo. De esta forma aprenderás a editar, compilar y subir tus firmware Marlin para placas de 8 bits y de 32 bits (que es nuestro caso).

Puedes consultar el artículo en el siguiente enlace: Configura y actualiza tu impresora 3D utilizando Visual Studio Code y Platform.io y, como no, descargar gratuitamente el software.

 

Configurando Marlin para la SKR GTR V1.0

En esta guía de configuración para tu electrónica SKR GTR V1.0 voy a obviar todo lo referente a la mecánica de tu impresora 3D y solamente mencionaré los parámetros a configurar para la SKR GTR V1.0, el display TFT35 V3.0, y los drivers TMC22xx (en modo inteligente UART + Sensorless).

Esto no significa que te quedes sin información al respecto, de hecho hace un tiempo escribí otro artículo sobre cómo configurar Marlin en cualquier impresora 3D cartesiana. Lo ideal sería que accedieras a él previamente para configurar tu impresora antes de continuar este artículo.

Puedes acceder al artículo en el siguiente enlace: Guía completa: Configurar Marlin 2.0.x desde cero y no morir en el intento.

 

Archivo «Platformio.ini»

El primero archivo que vamos a modificar es el «Platformio.ini» para indicarle a nuestro compilador que tipo de microprocesador o electrónica tenemos. Si no se lo indicamos Visual Studio Code tendría problemas a la hora de compilar nuestro firmware.

Este archivo se encuentra dentro del firmware Marlin, exactamente en el directorio raíz, así que lo deberías localizar muy fácilmente. Editaremos «Platformio.ini» y en el campo «default_envs» pondremos el acorde a nuestra electrónica.

En nuestro caso el valor a poner sería «BIGTREE_GTR_V1_0» y quedaría de esta manera:

[platformio]
src_dir      = Marlin
boards_dir   = buildroot/share/PlatformIO/boards
default_envs = BIGTREE_GTR_V1_0
include_dir  = Marlin

 

Archivo «Configuration.h»

Ahora llega el turno de modificar el fichero «Configuration.h» que se encarga de las configuraciones generales de nuestra impresora. Vamos a indicarle el tipo de electrónica, puertos, velocidad y algún parámetro más.

Comenzaremos con los parámetros para configurar los puertos de comunicación (principal y secundario) y la velocidad de comunicación. En este último parámetro yo suelo poner 250.000bds pero si experimentas algún problema, baja la velocidad y utiliza 115.200bds.

/**
 * Select the serial port on the board to use for communication with the host.
 * This allows the connection of wireless adapters (for instance) to non-default port pins.
 * Serial port -1 is the USB emulated serial port, if available.
 * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
 *
 * :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
 */
#define SERIAL_PORT -1

/**
 * Select a secondary serial port on the board to use for communication with the host.
 * :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
 */
#define SERIAL_PORT_2 3
/**
 * This setting determines the communication speed of the printer.
 *
 * 250000 works in most cases, but you might try a lower speed if
 * you commonly experience drop-outs during host printing.
 * You may try up to 1000000 to speed up SD file transfer.
 *
 * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
 */
#define BAUDRATE 250000

 

Ahora deberás indicarle a Marlin exactamente qué tipo de placa electrónica estamos ensamblando. En esta tabla puedes ver diferentes modelos de electrónicas SKR y a su derecha el parámetro que deberás introducir.

Tipo de placa electrónica Parámetro
SKR v1.1 BOARD_BTT_SKR_V1_1
SKR v1.3 BOARD_BTT_SKR_V1_3
SKR v1.4 BOARD_BTT_SKR_V1_4
SKR v1.4 Turbo BOARD_BTT_SKR_V1_4_TURBO
SKR Pro v1.1 BOARD_BTT_SKR_PRO_V1_1
SKR Pro v1.2 BOARD_BTT_SKR_PRO_V1_2
SKR Mini E3 V1.2 BOARD_BTT_SKR_MINI_E3_V1_2
SKR Mini E3 V2.0 BOARD_BTT_SKR_MINI_E3_V2_0
SKR GTR v1.0 BOARD_BTT_GTR_V1_0

En nuestro caso, montando una electrónica SKR GTR V1.0, quedaría de la siguiente manera:

// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_BTT_GTR_V1_0
#endif

 

Después vamos a configurar el tipo de driver que disponemos y los motores en los cuales están montados. Buscaremos las siguientes líneas y se los añadiremos. Tienes multitud de drivers diferentes, así que si el tuyo no fuera TMC2209 cámbialo por el que vayas a instalar.

/**
 * Stepper Drivers
 *
 * These settings allow Marlin to tune stepper driver timing and enable advanced options for
 * stepper drivers that support them. You may also override timing options in Configuration_adv.h.
 *
 * A4988 is assumed for unspecified drivers.
 *
 * Options: A4988, A5984, DRV8825, LV8729, L6470, L6474, POWERSTEP01,
 *          TB6560, TB6600, TMC2100,
 *          TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
 *          TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
 *          TMC26X,  TMC26X_STANDALONE,  TMC2660, TMC2660_STANDALONE,
 *          TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
 * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
 */
#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 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

 

Y para finalizar con la edición del archivo «Configuration.h» editaremos otros dos parámetros muy importantes y que no podemos olvidar. El primero de ellos nos servirá para poder activar la emulación Marlin en nuestro display.

Y el segundo parámetro nos permitirá dar soporte a almacenamiento eeprom en nuestra impresora, también es imprescindible activarlo.

//
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
/**
 * EEPROM
 *
 * Persistent storage to preserve configurable settings across reboots.
 *
 *   M500 - Store settings to EEPROM.
 *   M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes)
 *   M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.)
 */
#define EEPROM_SETTINGS     // Persistent storage with M500 and M501

 

Archivo «Configuration_adv.h»

Una vez finalizado de configurar el primer archivo pasaremos al «Configuration_adv.h«, el cual se encarga de gestionar opciones más avanzadas de nuestra impresora 3D, así como otras experimentales o en desarrollo.

El primer parámetro que debes modificar es la interpolación de pasos, de esta forma dejaremos que nuestro driver los gestione automáticamente.

#define INTERPOLATE       true  // Interpolate X/Y/Z_MICROSTEPS to 256

 

Lo siguiente a efectuar es indicar la tensión que deseamos suministrar a nuestros drivers y los micropasos a los que deben operar. Como yo solo tengo 4 ejes (X, Y, Z y E0), estas serián las líneas a configurar y los valores estándar que pondremos inicialmente.

  #if AXIS_IS_TMC(X)
    #define X_CURRENT       850        // (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

  #if AXIS_IS_TMC(Y)
    #define Y_CURRENT       850
    #define Y_CURRENT_HOME  Y_CURRENT
    #define Y_MICROSTEPS     16
    #define Y_RSENSE          0.11
    #define Y_CHAIN_POS      -1
  #endif

  #if AXIS_IS_TMC(Z)
    #define Z_CURRENT       850
    #define Z_CURRENT_HOME  Z_CURRENT
    #define Z_MICROSTEPS     16
    #define Z_RSENSE          0.11
    #define Z_CHAIN_POS      -1
  #endif

  #if AXIS_IS_TMC(E0)
    #define E0_CURRENT      600
    #define E0_MICROSTEPS    16
    #define E0_RSENSE         0.11
    #define E0_CHAIN_POS     -1
  #endif

 

Le indicaremos a Marlin el voltaje que suministra nuestra fuente de alimentación, que suelen ser de 12V o de 24V habitualmente, de esta forma:

  /**
   * Optimize spreadCycle chopper parameters by using predefined parameter sets
   * or with the help of an example included in the library.
   * Provided parameter sets are
   * CHOPPER_DEFAULT_12V
   * CHOPPER_DEFAULT_19V
   * CHOPPER_DEFAULT_24V
   * CHOPPER_DEFAULT_36V
   * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Prusa firmware for MK3 (24V)
   * CHOPPER_MARLIN_119   // Old defaults from Marlin v1.1.9
   *
   * Define you own with
   * { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
   */
  #define CHOPPER_TIMING CHOPPER_DEFAULT_24V

 

Activaremos las protecciones de temperatura que Marlin ofrece para nuestros drivers Trinamic con el parámetro MONITOR_DRIVER_STATUS:

  /**
   * Monitor Trinamic drivers for error conditions,
   * like overtemperature and short to ground.
   * In the case of overtemperature Marlin can decrease the driver current until error condition clears.
   * Other detected conditions can be used to stop the current print.
   * Relevant g-codes:
   * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given.
   * M911 - Report stepper driver overtemperature pre-warn condition.
   * M912 - Clear stepper driver overtemperature pre-warn condition flag.
   * M122 - Report driver parameters (Requires TMC_DEBUG)
   */
  #define MONITOR_DRIVER_STATUS

 

Ahora, y sólo en el supuesto caso que desees activar Sensorless en tu impresora, deberás activar el parámetro SENSORLESS_HOMING descomentándolo del código de Marlin. Una vez descomentado puedes usar las opciones X_STALL_SENSITIVITY e Y_STALL_SENSITIVITY para configurar la sensibilidad.

Un valor cercano a 0 significa que no va a parar el motor ante un obstáculo, y un valor cercano a 255 desactiva el movimiento del motor al mínimo obstáculo. El valor recomendable sería dejarlo a 100, como tengo yo en el código que os muestro a continuación:

  #define SENSORLESS_HOMING // StallGuard capable drivers only

  #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
    // TMC2209: 0...255. TMC2130: -64...63
    #define X_STALL_SENSITIVITY  100
    #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
    #define Y_STALL_SENSITIVITY  100
    //#define Z_STALL_SENSITIVITY  8
    //#define SPI_ENDSTOPS              // TMC2130 only
    //#define IMPROVE_HOMING_RELIABILITY
  #endif

 

Y para finalizar dos parámetros más. SQUARE_WAVE_STEPPING para disponer de una señal más precisa en nuestros drivers (recomendable activarlo) y TMC_DEBUG, para poder debuggear y saber el estado de nuestros drivers en tiempo real, muy útil si hemos configurado previamente el modo inteligente UART.

  /**
   * Beta feature!
   * Create a 50/50 square wave step pulse optimal for stepper drivers.
   */
  #define SQUARE_WAVE_STEPPING
  /**
   * Enable M122 debugging command for TMC stepper drivers.
   * M122 S0/1 will enable continuous reporting.
   */
  #define TMC_DEBUG

Y hasta aquí todo listo en lo que a la edición del firmware Marlin concierne. Como puedes comprobar no han sido excesivos cambios. Pasemos ahora a configurar nuestro display.

 

Actualizar Display TFT35 V3.0

Guía completa SKR v1.4/v1.4 Turbo con drivers TMC Sensorless y Display TFT35 V3.0

Aunque yo siempre he sido partidario de utilizar el menú original de Marlin (con pantallas LCD12864), desde que probé los displays TFT35 V3.0 suelo montar esta electrónica en mis máquinas.

Créeme si te digo que funcionan realmente bien, son híbridos (te permiten cambiar de modo en tiempo real entre TouchScreen y Marlin) y el soporte en TouchScreen mode no podía ser más completo, ya que incluye prácticamente todas las opciones de modificación que puedas imaginar.

Guía completa SKR v1.4/v1.4 Turbo con drivers TMC Sensorless y Display TFT35 V3.0Para poder utilizar ambos modos deberás efectuar 3 conexiones a la electrónica de SKR GTR V1.0.

Dos serán los típicos cables planos de 2×5 pines que siempre se suelen utilizar con los displays LCD12864, y otro será el conector específico para el TFT, como puedes comprobar en esta imagen (clic para agrandar).

Para alternar entre los dos modos de interface (Marlin o TouchScreen) solo deberás pulsar el botón durante 3 segundos y seleccionar la opción deseada, más sencillo imposible.

Tal como os comenté en la sección anterior donde modificamos el archivo «Configuration.h», descomentando el parámetro REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER sería suficiente para configurarlo y ya lo tendríamos completamente operativo.

No obstante yo te recomendaría actualizar el display a la última versión disponible, ya que he visto en alguna página usuarios con problemas utilizando firmwares no demasiado recientes en sus electrónicas SKR GTR V1.0.

Actualizarlo es un proceso muy sencillo, simplemente debes copiar a una tarjeta de memoria 2 archivos (config.ini y BIGTREE_TFT35_V3.0.26.x.bin) y 1 directorio (/TFT35), conectar esta misma memoria a la pantalla y encenderla (clic en imagen para agrandar).

El proceso de actualización se ejecutará automáticamente y en un minuto aproximadamente ya tendrás lista la actualización.

Los archivos de actualización los puedes descargar directamente desde este enlace. Yo he elegido el interface con diseño «Unified Menu Material Theme«, ya que me parece más elegante y más simple, aunque siempre puedes cambiar al «Classic menu» disponible en este otro enlace.

Por último indicar que dispones además de diversos parámetros de configuración en su archivo «config.ini», el cuál podrás modificar con tu editor de texto favorito y siempre antes de subirlo a la tarjeta de memoria para el proceso de actualización. Aquí es importante que la velocidad en baudios sea la misma que hemos configurado en Marlin (250.000bds), sino nuestro display no detectará la impresora 3D.

Para más información, por favor no dudes en consultar la documentación oficial que encontrarás en el Github de BigTreeTech.

 

Configuración de drivers (UART/SPI)

Por aquí os dejo la configuración de algunos drivers en electrónicas SKR GTR V1.0 para que operen en modo inteligente (UART/SPI). Dependiendo del fabricante y la revisión de placa es posible que puedas precisar de diferentes configuraciones para llevar a cabo la conexión correctamente.

Yo en esta sección os mostraré algunos drivers, que no serán todos al principio, y conforme vaya localizando más información la iré completando el artículo.

Guía completa SKR v1.4/v1.4 Turbo con drivers TMC Sensorless y Display TFT35 V3.0

Por último indicar que según la documentación del fabricante, si solo deseas el modo inteligente UART y vas a seguir utilizando finales de carrera mecánicos para los motores X e Y, recomiendan cortar un pin del driver como puedes observar en esta imagen (clic para agrandar).

Como cortar a mi personalmente me parece una medida un poco drástica, puedes optar por doblarlo con cuidado hacia un lado. De esta manera si en un futuro deseas cambiar la configuración y utilizarlos en modo Sensorless (sin finales de carrera mecánicos), puedes hacerlo sin problema alguno.

 

Makerbase TMC2208 V2.0 (UART)

Makerbase TMC2209 V2.0 (UART + Sensorless)

Makerbase TMC2225 V1.0 (UART)

BigTreeTech TMC2208 V3.0 (UART)

BigTreeTech TMC2209 V1.1/V1.2 (UART + Sensorless)

BigTreeTech TMC2225 V1.0 (UART)

BigTreeTech TMC2226 V1.0 (UART + Sensorless)

Los drivers Trinamic TMC2225 vienen a ser una actualización de los TMC2208 pero con diferente encapsulado (HTSSOP). Por lo demás y según las especificaciones del fabricante son idénticos. No obstante, este nuevo encapsulado de los TMC2225 nos ofrece una mayor resistencia térmica del driver, ya que mejora en gran parte su refrigeración respecto a su predecesor el TMC2208. Y si tu electrónica no dispone de refrigeración yo optaría por elegirlos, respecto a los TMC2208.

No disponen de la tecnología patentada StallGuard, con lo cual no nos dan la posibilidad de configurar nuestra impresora en modo Sensorless (sin finales de carrera). Pero puedes configurarlos en modo UART para poder monitorearlos y acceder a otras funciones interesantes (como la configuración del amperaje de nuestros drivers), algo que es recomendable y práctico.

Sobre los TMC2226 pues más de lo mismo, otra actualización de los ya conocidos TMC2209 con idénticas especificaciones, pero con nuevo encapsulado (HTSSOP), poco más que añadir. Y como me gusta recordar, si deseas conocer más sobre estos fabulosos drivers Trinamic no dejes de consultar este artículo: Drivers TMC: Descubre los mejores drivers para impresión 3D y sus tecnologías disponibles

La forma de configurar estos drivers listados arriba con nuestra electrónica GTR SKR V1.0 es idéntica. Como puedes ver en la imagen superior, simplemente debes poner un solo jumper en la primera posición, y eliminar el resto de los mismos que vienen conectados a la placa, inclusive los que se ubican debajo del mismo driver.

 

FYSETC TMC2209 V3.0 (UART + Sensorless)

FYSETC es otro importante fabricante de electrónicas para impresión 3D y, como no podría ser menos, de drivers propios. Entre su catálogo cuenta con el FYSTEC TMC2209 V3.0, el cual deberás configurar tal y como aparece en la foto superior (clic en imagen para agrandar).

Simplemente sería poner el mismo jumper que utilizamos en los otros modelos de drivers en la posición de UART, y después debajo del driver colocar otro jumper en esa posición que aparece en la imagen. Y ya estarían configurados para modo UART sin problema alguno.

 

Algunas recomendaciones finales

Es probable que después de compilar el firmware de Marlin y subirlo a tu electrónica aparezca en tu pantalla un error de Eeprom. Si este es el caso, no te preocupes ya que es algo habitual tras instalar un nuevo firmware.

Debes ejecutar estos comandos g-code uno por uno (no los insertes de golpe) y el problema se solucionará. Los comandos son M502, M500 y M501 en este mismo orden. Te dejo aquí mismo la descripción de lo que hace cada uno de ellos.

  • M502 – Reseteo completo a valores de fábrica. No precisa del parámetro EEPROM_SETTINGS.
  • M500 – Graba toda la configuración actual a nuestra EEPROM.
  • M501 – Carga los valores actuales de la EEPROM.

En las últimas versiones de Marlin, y muy acertadamente, los programadores han añadido una nueva opción que te indica si la Eeprom está corrupta. Si es el caso, Marlin te ofrece la posibilidad de resetearla con un simple clic de botón, así que no es algo de deba preocuparte en exceso.

Y bueno, esto sería todo lo básico para poner en marcha tu nueva electrónica. No pensaba que fuera a alargarse tanto el artículo ciertamente. No obstante, y debido a su extensión, no descarto que se me haya podido «colar» alguna errata en el mismo. Si este fuera el caso te pido disculpas de antemano y que me lo comuniques para poder corregirlo sobre la marcha.

La mayoría de los drivers los he probado yo mismo, pero no son ni de lejos todos los disponibles actualmente en el mercado. Si dispones de uno no reseñado y deseas compartir conmigo la configuración UART del mismo muy gustosamente lo añadiré para toda la comunidad de 3DWork.io

 

Así que nada, me despido deseando que esta lectura haya podido ser de tu interés. Y recuerda, tienes más articulos interesantes de 3DWork.io en los siguientes enlaces:

No dudes en leer otros artículos interesantes de 3DWork.io y agregarnos a Telegram: