Drivers TMC2130 en placa Trigorilla (Kossel)

Para este tutorial debemos saber, entre otras cosas, modificar y subir marlin, usar pronterface, soldar pines en la placa y en caso de tener TMC2130 1.0 chinos, soldar y desoldar puentes. También debes comprobar que tu Trigorilla tenga slots para los drivers y no los tenga soldados.

 

Al lío, alguien parece haber dado con la clave de hacer funcionar los 2130 en la Trigorilla sin sacrificar nada, y antes de todo, lo típico, no está de más avisar de que este es un procedimiento en el que tus manos son responsables de tus actos, asi que cuidadito!

Necesitaremos unos TMC2130, que si son chinos pueden necesitar la siguiente modificación o ya venir preparados (los llamados version 1.1 vienen con ello hecho):

u76y.jpg

(Soldar puentes en el recuadro rojo y recuadro verde, desoldar el azul y colocar los pines de SD0, CD, SCK y SDI hacia arriba, ojo con soldar mal, crear cortos o puentes donde no vayan, que son muy pequeños)

Unos consejos para soldar:

photo_2018-01-16_18-47-45.jpg

Una vez comprobado y soldado… cableamos de esta forma:

Para ello, podéis ver que la placa trigorilla no tiene los 3 pines de D4, D5 y D6, podemos soldar unas puntas de dupont, reutilizar unos drivers viejos, soldar pines que tengamos o desoldar los 3 de al lado y soldarlos ahí. Ojo con no hacer puentes entre ellos o cortocircuitar algo.

De tal forma que quedaría algo así:

IMG_20180129_195953.jpg

Una vez acabada la parte difícil, vamos con marlin, podemos usar un marlin fresco y meterle las modificaciones que ya le hayamos hecho (PID, invertir endstops, trim, diagonal_rod, etc.), o podemos utilizar el que teniamos guardado y añadir las siguientes modificaciones.

Abrimos el marlin y en al ventana de arduino vamos a Programa – Incluir libreria – Gestionar librerias y buscamos TMC2130, clicamos en la libreria y le damos a instalar (la version 2.1.4 en marlin 1.1.6).

En Configuration.h cambiamos lo siguiente:

#define INVERT_X_DIR true // DELTA does not invert
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true

por

#define INVERT_X_DIR false // DELTA does not invert
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

En Configuration_adv.h buscamos las lineas correspondientes y descomentamos y/o comentamos, y cambiamos a los siguientes valores:

#define HAVE_TMC2130
#define X_IS_TMC2130
 //#define X2_IS_TMC2130
#define Y_IS_TMC2130
 //#define Y2_IS_TMC2130
#define Z_IS_TMC2130
 //#define Z2_IS_TMC2130
#define R_SENSE 0.11
#define HOLD_MULTIPLIER 0.5
#define INTERPOLATE 1
#define X_CURRENT 800
#define X_MICROSTEPS 16
#define Y_CURRENT 800
#define Y_MICROSTEPS 16
#define Z_CURRENT 800
#define Z_MICROSTEPS 16
#define AUTOMATIC_CURRENT_CONTROL
#define HYBRID_THRESHOLD

#define X_HYBRID_THRESHOLD 100 // [mm/s]
// #define X2_HYBRID_THRESHOLD 100
#define Y_HYBRID_THRESHOLD 100
// #define Y2_HYBRID_THRESHOLD 100
#define Z_HYBRID_THRESHOLD 100 //3
// #define Z2_HYBRID_THRESHOLD 3

Explicación de lo que hemos hecho: en orden de recuadros de arriba a abajo, descomentamos la linea para que se active el modo TMC2130, descomentamos las lineas para los motores en los que usaremos los drivers, definimos la corriente en mV y los pasos a los que queremos que funcionen los drivers, descomentamos para activar el control de corriente automático (ya volveremos sobre ello), y descomentamos para activar el modo híbrido y ponemos a 100 para que al moverse a mas de 100mm/s entre en modo de alto torque.

En nuestro caso, no recomiendo descomentar para activar el modo “sensorless homing” para funcionar sin endstops en las torres porque desconozco la precisión, y en una delta necesitamos mucha.

Ahora vamos a pins_RAMPS.h y modificamos lo siguiente:

#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_CS_PIN 4

#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_CS_PIN 5

#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_CS_PIN 6

Subimos marlin, y desde pronterface mandamos un M502, M500, M501 para tener una EEPROM limpia. Para probarlos podemos, por ejemplo, autocalibrar la base con los G33 y G29 del otro tutorial.

Os recomiendo imprimir un túnel de viento para ventiladores 40×40 ya que estos drivers se calientan de lo lindo, aqui teneis uno.

Estos Gcode nos sirven para modificar cosas en los TMC2130 desde pronterface:

  • M906 – Varía la potencia del driver (por ejemplo si queremos poner 900mv al eje X marcamos M906 X900).
  • M906 S1 – Inicia el autoajuste de potencia. (Tras esto, hacemos un G33 por ejemplo, y mientras hace el G33 va probando diferentes voltajes y se queda con el mas alto justo antes de dar un fallo térmico)
  • M906 S0 – Finaliza el autoajuste de potencia.
  • M911 – Nos muestra si hay algún driver con sobre-temperatura.
  • M912 – Resetea el aviso de sobre-temperatura en todos los driver.
  • M913 – Cambia la velocidad del modo híbrido.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *