Hace un par de semanas compre lo que creía que eran 5 drivers TMC2130 en aliexpress. Mi cara era un poema, cuando me llega el paquete y veo que no compre 5 TMC2130, sino 5 TMC2208...
El caso es que revise el pedido y vi que era correcto, me equivoque al comprarlo... el caso es que no queria tener que repetir el pedido y esperar otros 15 dias a que me llegasen y me puse a investigar para ver las posibilidades que ofrecian estos drivers en comparacion con los 2130... Basicamente se diferencian en que los 2130 tienen stallGuard (para que el motor no pierda pasos, poder hacer homming sin finales de carrera etc) y se controlan por SPI y los 2208 NO tienen stallGuard y se controlan a traves de interfaz UART...
En un principio investigando, sobre como configurarlos, vi que la gente normalmente los pone tal cual le llegan y ya esta, pero se pierden muchas de sus capacidades. Otros, le cambian la configuración a trabes de un programador FTDI por USB, el problema es que los cambios solo los puedes hacer una vez, y cuando hayas hecho cambios estos serán permanentes...
El caso es que no me gustaba la idea de tener que modificarlos permanentemente, puesto que al ser mi primer contacto con los drivers, no quería dejarme algo por el camino, y arrepentirme después (que es algo que me suele pasar
) Total, que viendo que con los 2130 puedes hacer el apaño de enchufarlos con SPI a la RAMPS y todo era mucho mas cómodo, pensé que configurarlos por UART, seria similar y me facilitaría mucho la bien.
Pues bien, buscando y buscando encontré 0 documentación sobre como configurar estos drivers para que funcionasen en Marlin con la configuración por software activada. Al final a base de ver vídeos, de darle vueltas al código del Marlin, he conseguido dar con la tecla y hacer que funcionen al 100% de su potencia.
Y visto que es una opción algo mas barata y menos engorrosa que montar que los 2130, pensé que seria el post perfecto para iniciar un blog (Que llevo mucho tiempo queriendo abrir uno), y como no podía ser de otra forma, os lo dejo por aquí también para que si a alguien le viene bien, pueda instalarlos sin problema.
Dejo aqui el link al post del blog: Configuracion de driver TMC2208 con UART y Marlin 1.1.8
Para poder es necesario tener a mano, un soldador, estaño, un poco de cable, y resistencias de 1K:
Los pasos a seguir son los siguientes:
El caso es que revise el pedido y vi que era correcto, me equivoque al comprarlo... el caso es que no queria tener que repetir el pedido y esperar otros 15 dias a que me llegasen y me puse a investigar para ver las posibilidades que ofrecian estos drivers en comparacion con los 2130... Basicamente se diferencian en que los 2130 tienen stallGuard (para que el motor no pierda pasos, poder hacer homming sin finales de carrera etc) y se controlan por SPI y los 2208 NO tienen stallGuard y se controlan a traves de interfaz UART...
En un principio investigando, sobre como configurarlos, vi que la gente normalmente los pone tal cual le llegan y ya esta, pero se pierden muchas de sus capacidades. Otros, le cambian la configuración a trabes de un programador FTDI por USB, el problema es que los cambios solo los puedes hacer una vez, y cuando hayas hecho cambios estos serán permanentes...
El caso es que no me gustaba la idea de tener que modificarlos permanentemente, puesto que al ser mi primer contacto con los drivers, no quería dejarme algo por el camino, y arrepentirme después (que es algo que me suele pasar

Pues bien, buscando y buscando encontré 0 documentación sobre como configurar estos drivers para que funcionasen en Marlin con la configuración por software activada. Al final a base de ver vídeos, de darle vueltas al código del Marlin, he conseguido dar con la tecla y hacer que funcionen al 100% de su potencia.
Y visto que es una opción algo mas barata y menos engorrosa que montar que los 2130, pensé que seria el post perfecto para iniciar un blog (Que llevo mucho tiempo queriendo abrir uno), y como no podía ser de otra forma, os lo dejo por aquí también para que si a alguien le viene bien, pueda instalarlos sin problema.
Dejo aqui el link al post del blog: Configuracion de driver TMC2208 con UART y Marlin 1.1.8
Para poder es necesario tener a mano, un soldador, estaño, un poco de cable, y resistencias de 1K:
Los pasos a seguir son los siguientes:
- En mi caso, los pines vinieron soldados. Pero depende de la tienda, pueden venir sin soldar (menos trabajo). En cualquier caso, la configuración de los pines debe quedar con todos los pines apuntando hacia abajo. Los pines MS1, MS2, NC y CLK removidos. Y el pin PDN apuntando hacia arriba, alk contrario que el resto. Esto es por que desde ese pin vamos a sacar un cable para comunicar el controlador con un pin auxiliar de la ramps para que Marlin pueda configurarlo. Al final el driver tiene que quedar como en la siguiente imagen (no hace falta soldar 2 pines hacia arriba. Con tener el PDN sobra):
- Lo siguiente es hacer un puente en los puntos que se ven en la siguiente foto. Con esto le decimos al driver que vamos a controlarlo a traves del software.
- Ahora tenemos que hacer 1 cable en y, de manera que conectaremos el pin PDN del driver a 2 pines en concreto del puerto auxiliar 2 de la ramps (se pueden configurar estos pines). En el cable extra tenemos que soldar una resistencia de 1K
- Lo siguiente es remover todos los jumpers de la ramps referentes al motor donde vayamos a instalar el driver. Para este ejemplo supongamos que es el driver para el motor del eje X.
- Para conectarlo, como se ve en el esquema anterior tenemos que poner en el driver el cable en el pin PDN, y en la Ramps el cable que tiene la resistencia en el pin 59 yel otro en el pin 63. En el siguiente esquema os pone el numero de cada pin. Estos pines son los que vienen por defecto en marlin para el motor del eje X. Se puede cambiar por otro si estos ya los tenéis usados.
- Para configurar los drivers en Marlin, abrimos el proyecto en el IDE de arduino y buscamos el archivo Configuration_adv.h. En el, buscamos “HAVE_TMC2208” y descomentamos la linea para activar el módulo de control de estos drivers. Un poco mas abajo encontraremos las lineas donde indicamos en que motores tenemos instalados estos drivers, tenemos que descomentar las lineas relativas a los motores que usaran estos drivers. Y un poco mas abajo indicamos la corriente y los micropasos que tenemos configurados en cada driver.
- En este mismo archivo podemos configurar si queremos tener activado el modo stealthChop. Como queremos que se comporte el driver cuando hay algún problema (ej: Sobrecalentamiento del driver) con la opción MONITOR_DRIVER_STATUS. Y también podemos activar el modo híbrido, que usara el modo stealthCHOP por debajo de la velocidad configurada y spreadCycle por encima de esa velocidad con la opción HYBRID_THRESHOLD.
- También es bueno descomentar la linea TMC_DEBUG, de esa manera podremos ver el estado de los drivers enviando el GCODE M122
- Para finalizar, configuramos los pines que tienen configuración UART. Para ello, vamos al archivo pins_RAMPS.h y buscamos “HAVE_TMC2208”. Un poco mas abajo de donde nos sitúa la búsqueda tenemos la serie de pines que utilizara cada motor. En mi caso, están todos los pines por defecto.