Ir al contenido

Cómo cambiar la motherboard de tu Ender 3 por una BIGTREETECH SKR Mini E3 V2.0

·2313 palabras·11 mins
Emiliano Fernández Cervantes
Autor
Emiliano Fernández Cervantes
Construyo cosas en la frontera entre el hardware y el software: arquitecturas en Verilog, instrumentación biomédica y un home lab que nunca deja de crecer.
Mejorando la Ender 3 - Este artículo es parte de una serie.
Parte 2: Este artículo

¿Tu Ender 3 de las primeras versiones es lo más ruidoso del cuarto cada vez que arranca una capa, o ya te topaste con pared tratando de meterle funciones que el firmware de fábrica simplemente no aguanta? Los dos problemas vienen de la misma pieza: la placa con la que Creality mandó la impresora. Ese chillido no es un defecto genérico de las impresoras baratas. Es una consecuencia muy concreta de los drivers que vienen soldados en esa placa, y es apenas una de varias cosas que limitan en silencio lo que la máquina puede hacer.

La solución es un cambio directo, de esos que se resuelven en una tarde aunque nunca hayas abierto la impresora. Este post recorre el cambio de la placa de fábrica por una BIGTREETECH SKR Mini E3 V2.0: qué te está costando realmente la placa original, por qué este reemplazo en particular es la respuesta fácil para una Ender 3, y cómo hacer el cambio sin sacarle el humito mágico a nada. Es la parte 2 de cinco. La parte 1 imprimió las piezas que le arreglaron a esta máquina todo lo mecánico, la parte 3 le agrega un sensor BLTouch, y la parte 4 compila firmware de Marlin a la medida para todo el conjunto usando VS Code.

Gráfico de reemplazo que dice que la foto de la SKR Mini E3 V2.0 viene en camino
La BIGTREETECH SKR Mini E3 V2.0 junto a la placa Creality de fábrica que reemplazó.

Qué te está costando de verdad la placa de fábrica
#

La placa de una Ender 3 de las primeras es un diseño de Creality derivado de la familia Melzi. Está construida alrededor de un ATmega1284P: un microcontrolador AVR de 8 bits a 16 MHz, con 128 KB de flash y 16 KB de RAM. Es la misma familia de chip que un Arduino, y sí funciona. La impresora imprime. Pero trae cuatro límites de fábrica.

Los drivers de los motores vienen soldados. Son drivers de la clase A4988 y no están en zócalos, así que no puedes cambiarlos por unos más silenciosos. Cada movimiento de la impresora se escucha por cómo esos drivers recortan la corriente en las bobinas del motor. De ahí viene el ruido del que todo el mundo se queja.

La mayoría de estas placas viene sin bootloader. En un Arduino normal, el bootloader es el programita que permite que el chip acepte firmware nuevo por USB. Creality lo omitió, lo que significa que para meterle tu propio firmware primero tienes que grabarle un bootloader al chip usando otro dispositivo como programador ISP, cableando un Arduino Uno o un USBasp al header ICSP de la placa. Aunque no es difícil, sí es un proyecto entero atravesado entre tú y un simple cambio de firmware.

128 KB de flash no dan para mucho. Un Marlin moderno con las funciones que de verdad quieres (nivelado automático de cama, malla de nivelación, babystepping, linear advance, asistente de offset del probe) no entra cómodamente. Terminas sacrificando unas funciones por otras y peleándote con errores de compilación por falta de espacio.

No hay dónde conectar un sensor de nivelación. La placa de fábrica no tiene header dedicado de probe ni de servo, así que agregar un BLTouch implica repartir sus cinco cables entre una señal de servo improvisada y la entrada del final de carrera Z.

O sea: ruidosa, difícil de flashear, sin espacio y complicada de ampliar. Cambiar la placa resuelve las cuatro de una sola vez.


Por qué la SKR Mini E3 V2.0 en particular
#

BIGTREETECH diseñó esta placa como un reemplazo directo de la motherboard de la Ender 3, y lo de “directo” es literal. Los barrenos coinciden con los postes de la placa original, los conectores son de los mismos tipos y están más o menos en los mismos lugares, y la pantalla de fábrica se conecta tal cual. No hay cable adaptador, no hay que barrenar nada, no hay que recablear el display.

Lo que ganas a cambio:

  • Un STM32F103RC de 32 bits a 72 MHz con 256 KB de flash. El doble de espacio y muchísimo más margen, tanto para funciones como para la planificación de movimiento.
  • Drivers TMC2209, soldados pero en modo UART. Que vengan soldados aquí da igual, porque son justamente los silenciosos. En modo StealthChop los motores quedan prácticamente mudos, y el control por UART significa que el firmware ajusta corriente, microstepping y modos por software, en lugar de que tú andes moviendo potenciómetros diminutos con un desarmador.
  • Flasheo de firmware desde la microSD. En lugar de grabar un bootloader con un programador ISP, copias un archivo firmware.bin a una tarjeta, la metes en la placa y enciendes. Ese es todo el proceso.
  • Un header de probe de 5 pines dedicado, así que el BLTouch se conecta con su propio conector en vez de andar repartido entre dos puertos. En eso se apoya la parte 3.
  • Compatibilidad con la pantalla giratoria de fábrica, que en Marlin corresponde a la opción CR10_STOCKDISPLAY.

Una cosa que hay que verificar antes de comprar: la versión importa. El repositorio de BIGTREETECH cubre la V1.0, la V1.2 y la V2.0 de esta placa, y no son la misma placa. La versión viene impresa en el propio PCB. Todo en esta serie es la V2.0, y más adelante, en el firmware, eso se traduce en la línea #define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V2_0. Si te equivocas en ese define, el firmware compila sin problema y luego se comporta como poseído, porque va a estar manejando los pines equivocados.


Antes de desconectar nada
#

Dos costumbres que te van a ahorrar una mala noche.

Fotografía el cableado primero. Quita la tapa de la base y, antes de tocar un solo conector, toma fotos claras y bien iluminadas de toda la placa desde arriba, y luego acercamientos de cada esquina. Cuando estés reconectando una hora después y dos conectores negro-con-rojo de dos cables se vean idénticos, esas fotos van a ser tu única fuente de verdad.

Etiqueta los conectores. Cinta masking y pluma. Resistencia del hotend, termistor del hotend, ventilador de capa, ventilador del disipador, resistencia de la cama, termistor de la cama, motores X/Y/Z/E, finales de carrera X/Y/Z, pantalla. Toma cinco minutos y elimina toda una categoría de errores, esos donde acabas metiendo el termistor de la cama en la entrada del termistor del hotend.

Además, desconecta la impresora de la pared y dale un minuto a la fuente para descargarse antes de empezar. Ya que estás ahí adentro, no toques el switch selector de voltaje de la fuente si el tuyo lo trae; está puesto para el voltaje de tu país y nada de esta modificación requiere cambiarlo.

Gráfico de reemplazo que dice que la foto del cableado original viene en camino
La placa Creality de fábrica todavía en su lugar, fotografiada antes de desconectar nada. Esta es la foto de referencia que vas a querer después.

El cambio, paso a paso
#

1. Abrir la base
#

La motherboard vive en la caja debajo de la impresora. Acuesta la máquina de lado, quita los tornillos de la tapa y levántala. Todo lo que sigue se hace con la impresora desconectada.

2. Desconectar todo de la placa vieja
#

Recorre la placa de forma metódica, en lugar de ir jalando conectores al azar:

  • Motores: X, Y, Z y E. En una Ender 3 son cuatro conectores JST de cuatro pines idénticos, que es exactamente la razón por la que los etiquetaste.
  • Finales de carrera: X, Y y Z, tres conectores de dos pines.
  • Hotend: el cartucho calefactor (dos cables más gruesos) y el termistor (dos cables delgados).
  • Ventiladores: el de capa y el del disipador del hotend.
  • Cama: los cables de la resistencia (gruesos, normalmente en terminal de tornillo) y el termistor de la cama.
  • Pantalla: el cable listón que va al LCD.
  • Alimentación: la entrada de 24 V desde la fuente. Anota la polaridad ahora mismo, viene impresa en la placa junto a la terminal.

Algunos conectores tienen una pestañita de retención; jala del cuerpo de plástico, nunca de los cables.

3. Desatornillar y sacar la placa vieja
#

Cuatro tornillos hacia los postes y ya sale. Guarda los tornillos, los vas a reutilizar.

4. Montar la SKR Mini E3
#

Va sobre los mismos postes con los mismos tornillos. Si no coincide, detente y verifica que tengas la variante para Ender 3 y no otro modelo de SKR.

5. Reconectar guiándote por la serigrafía
#

Cada puerto de la SKR Mini E3 viene etiquetado en el PCB. Recorre la misma lista de antes, pero fijándote en la etiqueta y no en la posición: XM, YM, ZM, EM para los motores; X-STOP, Y-STOP, Z-STOP para los finales de carrera; HE0 y TH0 para la resistencia y el termistor del hotend; FAN0 y FAN1 para el ventilador de capa y el del disipador; HB y TB para la cama; EXP1 para la pantalla.

Deja la entrada de 24 V para el final y verifica dos veces la polaridad contra lo que anotaste en el paso 2. Este es el único conector que puede destruir la placa si va al revés.

Un apunte sobre el motor del extrusor. En esta placa el conector del extrusor queda eléctricamente invertido respecto al cableado original de Creality. No lo arregles recrimpando el conector ni volteando cables. Se corrige en el firmware con una sola línea, #define INVERT_E0_DIR true, que forma parte de la configuración de la parte 4. Si flasheas el firmware precompilado de BIGTREETECH y el extrusor gira al revés, esta es la razón.

Gráfico de reemplazo que dice que la foto de la placa nueva instalada viene en camino
La SKR Mini E3 V2.0 montada sobre los postes originales, con todo reconectado, antes de poner la tapa.

Cómo meterle firmware
#

Una SKR Mini E3 nueva no llega sabiendo que está montada en una Ender 3. Necesita firmware, y el proceso de flasheo es refrescantemente simple:

  1. Formatea una microSD en FAT32. Las tarjetas de 32 GB o menos son la apuesta segura; algunas placas son quisquillosas con las más grandes. El tamaño de unidad de asignación de 4096 bytes es la recomendación habitual.
  2. Copia un archivo llamado exactamente firmware.bin a la raíz de la tarjeta. No dentro de una carpeta.
  3. Con la impresora apagada, mete la tarjeta en la ranura microSD de la placa.
  4. Enciende y espera. La placa lee el archivo, lo escribe en su memoria flash y lo renombra en la tarjeta como FIRMWARE.CUR para marcarlo como ya usado. La pantalla enciende cuando termina.

Ese renombrado es tu señal de éxito. Si después de un ciclo de encendido el archivo sigue llamándose firmware.bin, la placa nunca lo leyó: formato equivocado, nombre equivocado, tarjeta incompatible, o el archivo estaba dentro de una subcarpeta.

BIGTREETECH incluye binarios precompilados en su repositorio, en firmware/V2.0/, entre ellos firmware.bin, firmware-bltouch.bin y firmware-bltouch-for-z-homing.bin. Son una forma perfectamente razonable de confirmar que la placa funciona la primera vez que la enciendes, y un buen plan B si una compilación tuya se porta mal. Pero son genéricos, y no van a conocer los offsets de tu probe, el tamaño de tu cama ni tus temperaturas de precalentamiento. Compilar el tuyo es justo de lo que trata la parte 4.


Primer encendido: revisa antes de imprimir
#

Aunque dan ganas de cargar filamento y lanzar un Benchy de inmediato, aguántate. Haz esto primero, con la tapa todavía quitada para poder alcanzar rápido el switch de encendido:

Enciende sin calentar nada. La pantalla debe prender y mostrar la pantalla de estado normal de Marlin. Si se queda oscura, apaga de inmediato y revisa el listón de la pantalla y el conector de 24 V.

Mueve cada eje desde el menú. Movimientos cortos, de 10 mm. Cada eje debe moverse en la dirección que le pediste. Si un eje va al revés, eso es un ajuste de dirección en el firmware, no una falla de cableado.

Prueba los finales de carrera. Conéctate por USB con una terminal (Pronterface, OctoPrint, o el monitor serial de VS Code) y manda:

M119

Te devuelve el estado de todos los finales de carrera. Actívalos con la mano uno por uno y vuelve a mandar M119; la línea correspondiente debe cambiar entre open y TRIGGERED. Si alguno reporta TRIGGERED sin que nada lo esté tocando, revisa ese conector antes de mandar la impresora a home.

Después sí, haz home. G28, mirando la máquina con el dedo sobre el apagador. El homing es justo el momento en el que un final de carrera mal conectado o una dirección invertida se convierte en un eje estrellado.

Revisa los termistores antes que las resistencias. Con todo frío, la temperatura del hotend y la de la cama deben marcar algo parecido a la temperatura ambiente. Si alguna marca un número absurdo, tienes los termistores cambiados o una mala conexión, y no quieres enterarte de eso encendiendo una resistencia.

Solo cuando todo eso salga limpio, pon la tapa de vuelta e imprime algo pequeño.


Qué ganas con esto y qué sigue
#

Justo después del cambio, dos cosas se transforman: tu impresora se vuelve dramáticamente más silenciosa, y flashear firmware pasa de ser un proyecto con cautín a ser arrastrar un archivo. Lo segundo es lo que de verdad importa, porque convierte al firmware de algo fijo en algo sobre lo que puedes seguir iterando. A mí ese cambio fue justo lo que me abrió la puerta a las siguientes dos mejoras de esta serie.

Además, terminas con una placa que te da un margen que antes no tenías: el doble de flash, un header de probe dedicado, y drivers que controlas desde software en vez de con un desarmador. Ese margen es justo lo que aprovecha el resto de esta serie. La parte 3 instala un sensor BLTouch en el hotend con un soporte impreso, lo conecta al header de probe dedicado que trae esta placa, y calcula los offsets del sensor. La parte 4 arma el entorno en VS Code con PlatformIO y Auto Build Marlin, y recorre cada cambio de configuración necesario para compilar un firmware que sepa de todo lo anterior.

Mejorando la Ender 3 - Este artículo es parte de una serie.
Parte 2: Este artículo