SKR v2
Renovación por todo lo alto de una de las mejores placas para nuestras impresoras 3D
CAMBIAMOS EL CONTENIDO DE LA GUÍA A NUESTRA WEB!!! ABAJO PUEDES ENCONTRAR EL NUEVO LINK A LA GUÍA DONDE SEGUIREMOS ACTUALIZANDO EL CONTENIDO.
Una de nuestras marcas favoritas por fin lanzó la revisión de sus placas más famosos como fueron las SKR 1.3/1.4. En este caso, y por desgracia, con ciertos problemas de diseño que trataremos en detalle más adelante hicieron que su lanzamiento fuera un poco accidentado.
De nuevo Bigtreetech ha sacado esta revisión con muchas mejoras y novedades que seguro que van a permitir exprimir nuestras impresoras al máximo.
Comenzamos!!!
Donde comprarla?
SKR v2... que hay de nuevo?
Comenzamos como siempre con los diagramas de la placa los cuales nos ayudarán de una forma rápida a ver todas sus novedades y mejoras introducidas con un formato en cuanto a medidas muy similares a sus hermanas.
Mejoras como una mejor MCU más potente, protecciones en los conectores de los thermistores, protecciones térmicas, protección en drivers si estos son colocados en una dirección incorrecta, jumpers para sensorless y evitar cortar pines en drivers, puerto dedicado wifi, 3 ventiladores controlables, mejorado el interfaz de la SD además de incluir un conector USB, y otras mejoras que podréis leer a continuación
Especificaciones
En la siguiente lista podréis encontrar las especificaciones de la SKR v2:
Tamaño de 110mmx85mm, en la sección previa tenéis un esquema acotado de la placa
MCU ARM Cortex-M4 STM32F407VGT6 a 168Mhz... una auténtica bestia!!!
Desde Octubre 2021 la MCU de la SKR 2 ha sido cambiada por otra más potente, la F429
Voltajes de entrada soportados DC12V y DC24V, usando como voltaje de trabajo 3.3V
Soporte de los firmwares Marlin, RepRap Firmware y Klipper
Conector Wifi para ESP-12S/ESP-07S especialmente útil para el uso con RepRap Firmware
Conectores de expansión I2C, Servos, Nivelación, Relé, UPS, Filamentos, Leds, etc...
Soporte de drivers TMCxxxx, DRV8825, A4988, etc... soportando interfaces SPI, UART, STEP/DIR
Conectores para drivers X, Y, Z (con doble salida motor), E0, E1... cinco en total cada uno con interfaz para conexión a motores servo
Soporte para pantallas táctiles serial, SPI táctiles y displays LCD
Soporta cinemáticas (dependiendo del firmware) XYZ, delta, kossel, Ultimaker, CoreXY, etc...
Mejoras introducidas en la SKR v2 al detalle
Como ya hemos comentado la SKR v2 es una evolución de las SKR 1.3/1.4 introduciendo las siguientes mejoras sobre estas:
MCU, mientras que sus hermanas SKR 1.3/1.4 montaban MCUs LPC176* la SKR v2 ha mejorado este aspecto incluyendo una MCU ARM Cortex-M4 STM32F407VGT6 a 168Mhz que dará una potencia extra a nuestra impresora.
Thermistores, como ya hemos comentado otra de las grandes mejoras son la inclusión de protecciones en las partes donde normalmente por manipulación o fallo externo hardware pueden afectar a nuestra placa. En este caso los thermistores cuentan con protección para evitar cortos que puedan destruir nuestra placa.
Fusibles, cambiando de los fusibles blade tradicionales a fusibles SMD reemplazables que mejoran considerablemente la imagen final de la placa.
MOSFETS, una parte muy importante de nuestras placas son los MOSFETS encargados de gestionar nuestra cama y hotend así como los ventiladores. En la SKR v2 se han mejorado estos usando unos HYG090N06LS1C2 además de incluir adicionalmente un G045P03 que sirve para la protección de la placa ante posibles fugas térmicas.
Ventiladores, añadiendo 3 ventiladores controlables perfectos para usar como ventilador de capa, refrigeracion controlada del hotend y de electrónica. Tenéis más información de como usar estos en nuestra guía de ventiladores.
USB y SD, la parte SD ha sido mejorada usando el modo SDIO y añadiendo un interfaz USB.
Wifi, aunque sus hermanas ya contaban con un conector para la conexión de Wifi en esta SKR v2 se ha mejorado y compatible con ESP12S o ESP07 sobretodo por la compatibilidad con RepRap Firmware.
Expansión, aunque no son mejoras con respecto a versiones anteriores os recordamos las posibilidades de mejorar nuestra impresora añadiendo sensores de nivelación, módulos relé, módulos UPS, Neopixel, etc...
Una gran mejora para nuestras impresoras que nos pueden facilitar tener una primera capa lo más perfecta posible es la instalación de un sensor de nivelación como el Bltouch por ser uno de los más versátiles. Tienes información detallada en nuestra guía de Bltouch o si prefieres unos inductivo en su propia guía.
Drivers, sin duda uno de los grandes cambios en esta revisión sobre las SKR 1.3/1.4 es como los drivers interactuan con el resto de la electronica mediante la inclusión de protecciones para evitar la conexión incorrecta de los drivers además de la inclusión del tan solicitado jumper para habilitar sensorless que desgraciadamente fué eliminado en la SKR 1.4 y que nos obligaba a "mutilar" nuestros drivers en caso de ejes que no fueran X, Y o en el caso de no usar Sensorless el cual podéis encontrar más información en nuestra guía.
Podéis revisar las diferentes opciones en los interfaces disponibles en los drivers de la SKR v2:
IMPORTANTE!!! Vamos a hacer una breve pausa en la guía para explicar algo importante en estas placas SKR v2 en las primeras unidades que fueron distribuidas y que es muy importante conocer. Tal y como hemos comentado una de las grandes novedades de la SKR v2 ha sido la inclusión de una protección para evitar que al colocar los drivers de forma incorrecta la placa y drivers quedasen irremediablemente dañados. Por desgracia las primeras unidades de SKR v2 llamadas REV A tuvieron un grave problema de diseño/componentes que precisamente provocaba los fallos que pretendía solventar en drivers TMC. En el siguiente documento de Gdocs podéis encontrar más información sobre el problema con más detalles, también en el siguiente documento como solventarlo si disponéis de una de estas placas.
Cómo identificar si mi placa es una REV A o REV B o REV F429?
Aunque os hemos facilitado acceso a los documentos relacionados con el problema de las REV A os mostramos un pequeño tip para identificar si nuestra placa está afectada o no por este fallo.
Aunque se indica que una diferencia entre ambas revisiones son las pegatinas de QC nos hemos encontrado que no siempre es así y para evitar confusiones es mejor revisar directamente el componente afectado.
Básicamente deberemos verificar el componente marcado en el siguiente esquema si la serigrafía empieza por HY1904 nuestra placa será una REV B.
Por otro lado a partir de Octubre 2021 las nuevas unidades de SKR 2 han cambiado de MCU a otra más potente F429. En sí no es un problema salvo que dependiendo del firmware que usemos deberemos tenerlo en cuenta.
Que pasa si tengo una REV A y no puedo/quiero realizar el cambio?
En algunas ocasiones el proveedor que no siempre es Bigtreetech puede dar problemas con el cambio, ofrecer un reemplazo o abonar el coste total o parcial de la placa y en muchas ocasiones no es necesario devolverla... podemos usarla?
Existe un par de "workarounds" para usar estas placas sin ningún tipo de problemas, el primero sería realizar un par de pequeños puentes entre MGND y PGND siguiendo el esquema siguiente.
Como segunda opción más intrusiva sería la de eliminar el componente en cuestión y colocando en su lugar un fusible de 10A tal y como se puede ver en el siguiente esquema.
Por último y en cualquier caso realizaremos la siguiente modificación en Marlin/configuration_adv.h, es importante comentar que en versiones actuales este paso ya se hace automáticamente dependiendo de la definición de placa que pongamos en nuestro Marlin.
Firmware
Como casi todas las placas de Bigtreetech prestan especial atención a la máxima compatibilidad con los firmwares más populares, en este caso soporte para Marlin, RRF o Klipper nos aseguran poder usar esta placa en prácticamente cualquier entorno de impresión 3D.
Marlin
Os aconsejamos seguir nuestra guía para "cocinar" vuestro propio Marlin que tenemos en la sección /Marlin de nuestro bot de ayuda en Telegram @ThreeDWorkHelpBot
Podéis encontrar las fuentes del firmware oficial aquí:
platformio.ini
En este fichero deberemos indicar el chipset que tiene nuestra placa por lo que deberemos buscar en el inicio del fichero el valor "env_default" y cambiarlo por el siguiente en el caso de que nuestra placa tenga una MCU F407:
En el caso que tengamos una posterior a Octubre 2021 con MCU F429:
Importante!!! ese default_envs solo esta disponible a partir de la versión 2.0.9.3 por lo que de tener este modelo es la versión aconsejable a usar.
Marlin/configuration.h
Os aconsejamos añadir un comentario a cualquier linea que modifiquemos ya que después nos será mucho más sencillo encontrar nuestras modificaciones. Para ello podemos añadir:
Comenzaremos por configurar correctamente los SERIAL y BAUDRATE para esta máquina algo clave para el correcto funcionamiento de nuestra conexión TFT, USB o WIFI.
Ahora definiremos nuestro MOTHERBOARD el cual al igual que hicimos el platformio.ini nos indica el tipo de chipset que lleva nuestra placa y que permite a Marlin usar una configuración de pines u otra.
Tal como os comentábamos anteriormente existen dos revisiones de esta placa, es importante identificar cual es la nuestra y definirla correctamente:
REV A usaremos: #define MOTHERBOARD BOARD_BTT_SKR_V2_0_REV_A
REV B usaremos: #define MOTHERBOARD BOARD_BTT_SKR_V2_0_REV_B
Definiremos el número de extrusores y diámetro del filamento que usa nuestra impresora que básicamente indica el diámetro del mismo. Normalmente impresoras usan filamento del 1.75 aunque otra medida más o menos estándar es 3.
Termistores, en estas variables indicaremos que termistores tenemos, os aconsejamos que identifiquéis cuál es el vuestro o en su defecto uséis uno de valor 1 que suele ser el más normal.
Es importantísimo indicar el tipo de thermistor correcto para que las medidas que Marlin recibe sean las correctas para evitar problemas de extrusión y/o fallos de lecturas.
En el caso que queramos desactivar o activar la cama caliente comentaremos o activaremos el thermistor de la cama, de esta forma Marlin sabe si tiene o no cama caliente.
En nuestro ejemplo y para esta placa usaremos un hotend y una cama caliente con un sensor de temperatura estándar.
Recordad que esta placa tiene soporte para 2 extrusores y cama caliente con lo que en caso de usarlos deberemos activar el tipo correcto en cada uno de ellos
PID, otra parte muy importante es el PID del que podéis obtener más información detallada en la sección /Calibracion/Calibracion Inicial de nuestro bot de ayuda en Telegram @ThreeDWorkHelpBot o en nuestra guía de calibración.
Básicamente el PID ayuda a que Marlin controle de forma adecuada la temperatura sin tener grandes fluctuaciones.
ENDSTOPS o finales de carrera, es importante verificar cuando realizamos un cambio de electrónica y encendemos por primera vez que la lógica de los finales de carrera es la correcta usando el comando M119 desde un terminal como Pronterface... esto es OPEN en estado normal y TRIGGERED cuando están pulsados. Podremos invertir esta lógica cambiando:
Por otro lado y aunque lo normal es que las máquinas realicen el home en MIN (esquina inferior izquierda) en lugar de MAX (esquina superior derecha), usando HOME_DIR para este cambio -1(MIN) 1(MAX), debemos recordar que en el caso de cambiar la lógica habilitar los finales de carrera correspondientes:
Recordad que si disponéis de drivers TMC en modo UART podéis utilizar, si el driver lo soporta, el uso de SensorLess que permitirá prescindir de los finales de carrera físicos liberando de componentes y cables. Podéis encontrar información de cómo activar SensorLess en nuestra guía para Marlin.
Drivers, como ya hemos comentado esta placa cuenta con 5 zócalos para drivers soportando diferente tipos de drivers y sus configuraciones.
En nuestro ejemplo utilizaremos unos TMC2209 en modo UART (inteligente), con doble Z independiente y un solo extrusor:
STEPS o pasos de motor, tos valores indicaremos a Marlin los pasos de motor para realizar movimientos. En este ejemplo usaremos los que una impresora Ender lleva por defecto, en todo caso de nuevo os remitimos a la sección /Calibracion/Calibracion Inicial de nuestro bot de ayuda en Telegram @ThreeDWorkHelpBot o aquí para el proceso calibrar estos pasos para nuestro extrusor y ejes de movimiento.
S_CURVE_ACCELERATION, esta funcionalidad ofrece una gran mejora en la calidad de impresion ya que suaviza la aceleración o deceleracion cuando el cabezal de impresión está en movimiento.
Nota importante!!! es que dependiendo de nuestra versión de Marlin y si usamos Linear Advance no son compatibles. En la seccion /Calibracion/Calibracion Inicial de nuestro bot de ayuda en Telegram @ThreeDWorkHelpBot o en nuestra guía de calibración podréis encontrar más información detallada de Linear Advanced
PROBE o sensor de nivelación, ya hemos comentado hay una guía detallada de como instalar un sensor BLTouch vamos a realizar una revisión de las partes más importantes a tener en cuenta en el caso que queramos instalar un sensor de nivelación, algo muy aconsejable para asegurarnos que nuestras impresiones siempre tienen una primera capa lo más perfecta posible.
Comenzaremos por indicar donde está conectado nuestro sensor de nivelación, en este caso lo conectaremos en el conector final de carrera de Z-
Tipo de sensor BLTouch o Inductivo, existen diferentes tipos de sensores. Dependiendo del usado deberemos des-comentar uno u otro.
Offsets del sensor, es muy importante decirle a Marlin dónde se encuentra exactamente instalado nuestro sensor de nivelación... esto lo haremos definiendo los PROBE OFFSET.
El Offset es la distancia entre la punta del nozzle y la punta del sensor de nivelación que dependiendo de dónde esté deberán ser valores positivos o negativos, puedes usar el siguiente gráfico como ejemplo de que valor poner en cada caso.
En nuestro caso y como ejemplo nuestro sensor esta desplazado hacia la izquierda del nozzle en X 30mm y 10mm en Y ya que está esa distancia hacia el fondo de la impresora.
PROBING_MARGIN (en versiones anteriores MIN_PROBE_EDGE), es muy normal que tengamos en nuestras impresoras un cristal como base de impresión aunque personalmente nos gustan más las láminas PEI magnéticas que aunque ser un poco mas susceptibles a marcarse con golpes tienen una excelente adherencia, no te limita el tamaño de la cama y retirar las piezas es extremadamente sencillo y rápido.
En cualquier caso ya tengamos cristal u otra superficie es aconsejable que el sensor este alejado de cualquier objeto que pueda molestarle durante el proceso de nivelación, ya sean grapas para fijar el cristal o el propio desajuste del inicio y final de cama que haga que el sensor no pueda medir.
Para esto usaremos este PROBING_MARGIN en el cual le diremos cuántos mm se tiene que alejar de los bordes de la cama.
En nuestro caso usando un BLtouch y una plataforma PEI lo dejamos por defecto.
Dirección de motores, otro problema muy común a la hora de poner en marcha una impresora es que el cableado de las bobinas de nuestros motores no coincidan y se pueden dar dos casos:
que estén mezclados los conectores de nuestras bobinas, es muy fácil de identificar ya que el motor no girará correctamente e irá a trompicones. Para solucionarlo es aconsejable revisar el pinout de la antigua placa y/o del motor y compararlo con el de nuestra nueva placa para asegurarnos que coinciden
que el motor gire en la dirección incorrecta. En este caso de nuevo tenemos dos opciones... la primera y aconsejable es la de modificar en Marlin el giro del motor y la segunda es la de invertir el cableado de una de las bobinas del motor
En nuestro caso optamos por la primera modificando las siguientes lineas en Marlin cambiando el valor actual por el contrario... en este caso invertimos el eje Z.
Tamaño de impresión, si hemos usado un Marlin genérico es importante verificar que las dimensiones de impresión son las correctas para nuestra máquina.
Para el tamaño de cama en el ejemplo usamos una Ender 3 a su máximo tamaño, es aconsejable verificar que puedes llegar físicamente a estas medidas y ajustarlo de ser necesario:
También definiremos el tamaño de nuestro eje Z:
Sensor de filamentos, te aconsejamos revisar en la sección /Mejoras/Sensor de filamentos de nuestro bot de ayuda en Telegram @ThreeDWorkHelpBot o en nuestra guía podréis encontrar más información detallada acerca de como instalar y configurar un sensor de filamentos.
Al igual que con los finales de carrera es aconsejable revisar con un M119 el estado del sensor de filamentos el cual tiene que aparecer TRIGGERED con filamento y OPEN sin. En el caso que parezca invertido deberemos de jugar con el valor de (LOW/HIGH):
También podemos indicar la distancia de filamento que queremos desde que el sensor detecta el fallo el sensor en:
En el caso que nuestro sensor de filamento funcione por detección de flujo de filamento (como el sensor de BigtreeTech Smart Filament Sensor) deberemos habilitar lo siguiente:
Autonivelación, tal como os comentábamos anteriormente en la sección /Nivelacion de nuestro bot @ThreeDWorkHelpBot tenéis más información detallada de como activar autonivelación UBL (la más avanzada y aconsejable para camas de cierto tamaño o con problemas) y MESH que permite tener una malla sin sensor haciendo el proceso manualmente.
En todo caso para este ejemplo habilitaremos BILINEAR.
Es importante decirle a Marlin que habilite la autonivelación (G29) después de un homing (G28) aunque en versiones actuales ya no es necesario pero aconsejamos habilitarlo.
En el caso de BILINEAR especificaremos el número de puntos a realizar por malla en la siguiente parte de Marlin (por defecto lleva 3 puntos por eje, 3x3=9 puntos de comprobación).
Otra función que por seguridad debemos de habilitar es la de que realice un homing en el centro de la cama, esto nos ayuda a dos cosas... la primera a asegurar que el sensor tiene una superficie donde detectar el final de carrera y el segundo verificar visualmente que nuestros Offsets están de forma correcta ya que el sensor de nivelación tiene que quedar perfectamente posicionado en el centro de nuestra cama.
EEPROM, en la EEPROM Marlin guarda los valores de configuración de diferentes funciones para que estas puedan usarse por el sistema y ser cambiadas por el usuario sin necesidad de tener que modificar ficheros fuentes de Marlin, compilar y subir en cada cambio el firmware. Es muy aconsejable activarla y con nuestra SKR v2 no tendremos problemas de memoria.
Nozzle Park, en el ejemplo que estamos explicando hemos añadido un sensor de filamentos. Para que este funcione deberemos activar NOZZLE_PARK_FEATURE que básicamente nos permite "aparcar" el cabezal de impresión en una zona segura para realizar este cambio de filamentos aunque si no tenemos sensor de filamentos es muy aconsejable tenerlo activo ya que nos permite mejorar las funciones de pausado.
SD, si queremos que nuestro Marlin pueda leer de nuestra SD ya sea el de la placa o en una pantalla que sea compatible (ojo que las Touch no lo son) deberemos activar el soporte de SD.
Menu Homing Avanzado, no es necesario pero si muy aconsejable en el caso de realizar tests habilitar esta función que nos permite poder realizar un homing por separado de cada eje.
Marlin/configuration_adv.h
Ya hemos finalizado la primera parte y ahora tendremos que pasar a la configuración de las opciones avanzadas.
Scroll y nombres ficheros largos, es interesante activar esta función para poder mostrar el nombre completo de los ficheros a imprimir.
Al igual que el anterior y para que funcione correctamente tenemos que activar la siguiente opción.
Conexión SD, en configuration.h habilitamos el soporte para SD y en configuration_adv.h definiremos de donde Marlin intentará usar esa SD.
Disponemos de tres opciones, LCD donde usaremos la de la pantalla Marlin... ONBOARD donde usaremos la de la placa y CUSTOM_CABLE donde le indicaremos que usamos un lector externo conectado a la placa
Tal como comentamos previamente no todas las pantallas que dispongan de SD van a funcionar correctamente.
Ventiladores, un gran acierto por parte de Bigtreetech es la inclusión de 3 ventiladores gestionables.
La definición del pin de cada FAN la podemos encontrar en
REV A /Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_REV_A.h
REV B /Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_REV_B.h
Para ambas /Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
FAN0, en este caso no vamos a realizar ningún cambio en su rol ya que es el ventilador de capa y este lo gestiona el propio slicer/fileteador para enfriar el filamento.
FAN1, en nuestro ejemplo lo vamos a asignar al hotend para que de forma dinámica solamente se active cuando el hotend este en funcionamiento evitando desgastes del ventilador y ruido innecesario:
FAN2, para aprovechar este arsenal de ventiladores gestionables (podemos disponer de más reutilizando pines de otras funciones como RGB por ejemplo) para asignar FAN2 como ventilador de la electrónica dinámico para que este se active cuando los drivers estén en uso minimizando de nuevo desgaste y ruido por parte del ventilador:
Babystepping, una función casi imprescindible tener es baby stepping. Babystepping nos permite ajustar la altura de Z durante una impresión para ajustar de forma manual esta altura a nuestro gusto.
En nuestro ejemplo habilitaremos que se pueda activar con un doble click en el botón/encoder, que siempre este disponible y nos muestre mejoras gráficas en el ajuste para entender la dirección del ajuste desde la pantalla.
Reintentos en caso de fallo en la nivelación, otra función muy útil es la de poder reintentar el proceso de homing en caso de fallo. En ocasiones nuestro sensor de nivelación puede tener un fallo puntual y mediante esta función nos permitirá volver a intentarlo un número finito de veces.
En caso de usar nivelación UBL esta opción no es compatible.
Soporte ARC, una mejora sustancial en la calidad de nuestras impresiones y también cuando imprimimos a través de dispositivos serial como TFT, Octoprint, etc... Permite simplificar los comandos gcodes minimizando el numero de movimientos y haciéndolos más fluidos evitando también un gran número de retracciones.
Para usarlo debemos de configurar nuestro fileteador/slicer para que aplique estos cambios o en el caso de Octoprint podemos usar un plugin. En cuanto a los cambios en en Marlin:
Es importante recalcar que en el caso de habilitar ARC para su uso es aconsejable, en el caso que también lo tengamos habilitado, la compatibilidad con S_CURVE. Tenéis más información en la guía de calibración.
Pausado avanzado, tal como comentamos anteriormente en este ejemplo usamos un sensor de filamentos. Para que funcione correctamente tenemos que habilitar ADVANCED_PAUSE_FEATURE que habilita el comando gcode M600 para el cambio de filamentos.
Esto puedes hacerlo con o sin sensor de nivelación y requiere NOZZLE PARK para su correcto funcionamiento.
No entraremos en la configuración detallada ya que la tienes dentro de /Mejoras/Sensor Filamentos dentro de nuestro bot o directamente en la guía.
Configuración drivers UART/SPI, con nuestros drivers en UART/SPI tenemos que configurar correctamente los parámetros avanzados que encontraremos en la sección HAS_TRINAMIC_CONFIG
Micro-pasos, aunque podemos configurar desde 16 a 256 micro-pasos no os aconsejamos para nada usar otro valor diferente al de 16. Con esos micro-pasos la definición que podríamos alcanzar mecánicamente es prácticamente imposible de alcanzar con impresoras normales además de que los drivers TMC ya realizan ellos mismo la interpolación de estos para siempre ofrecer la máxima fiabilidad y precisión.
Hablando de fiabilidad es otro aspecto importante a la hora de los micro-pasos, los motores de pasos que llevan nuestras impresoras pierden torque (y pasos) a altas revoluciones así que aumentar esta definición de pasos aumentará exponencialmente el porcentaje de fiabilidad y por lo tanto que nuestras piezas no salgan correctamente.
En el ejemplo siguiente podremos ver cómo tenemos 16 micro-pasos para nuestro eje X.
Otro valor importante de los valores anteriores es el de CURRENT donde ajustaremos la corriente de nuestros motores. También puedes ajustarlos desde el LCD desde Configuración/Avanzado/TMC junto con otras opciones que explicaremos a continuación.
STEALTHCHOP, es importante habilitarlo si queremos que nuestros motores sean "silenciosos" ya que si no estarán funcionando en modo SpreadCycle que es el modo potencia.
Aunque es raro algunos extrusores pueden trabajar mejor con el modo StealthChop deshabilitado. Si es nuestro caso comentaremos la siguiente linea.
CHOPPER TIMMING, es usado por StealthChop para la sincronización de señales a los motores. Este tiene que coincidir con el voltaje usado en nuestra impresora, en el caso de Ender 3 y normalmente en todas las impresoras a 24v.
Monitor Status, esta función nos permite que Marlin pueda controlar en detalle todos los parámetros de los drives para poder ajustar por ejemplo la temperatura de los mismos para evitar problemas más graves.
Hybrid Threshold, otra interesante función es Hybrid Threshold que nos permite que Marlin cambie entre StealthChop (silencio) o SpreadCycle (potencia) dinámicamente en base a la velocidad de movimientos.
En nuestro caso usamos los valores indicados para una Ender que son 100mm/s para X Y y de 15 para Z aunque lo podemos ajustar a nuestras necesidades.
TMC Debug, en este caso es un requerimiento de MONITOR_DRIVER_STATUS que deberemos de habilitar y nos permitirá tener accesible el comando M122 muy útil para obtener información avanzada del estado y configuración de nuestros drivers.
Fichero pins de nuestra SKR v2
A continuación tienes los ficheros pins que contienen las referencias para esta placa:
REV A /Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_REV_A.h
REV B /Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_REV_B.h
Para ambas /Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
Actualizar firmware Marlin
En este caso es muy sencillo y tan solo tenemos que copiar nuestro firmware.bin en la raíz de la SD formateada en FAT32, insertar la SD en la ranura del módulo y esperar unos 30seg a que finalice el proceso. Una vez finalizado el fichero firmware.bin debe quedar renombrado a firmware.CUR el cual podemos guardar a modo de copia de seguridad (recordar que un firmware compilado no se puede modificar, ese proceso solamente se puede hacer con los ficheros fuentes de vuestro firmware y vuelto a compilar).
Reprap Firmware
Tal como hemos comentado la SKR v2 soporta RepRap Firmware el cual podréis encontrar aquí:
Pues ya hemos terminado!!!
ahora solamente queda compilar, ajustar cualquier error que nos reporte el compilado y meterlo en nuestra placa!!!
Como siempre os aconsejamos verificar inicialmente la impresora de la siguiente manera:
en el caso de nuestra SKR 2 revisar el jumper de alimentación ya que de tenerlo en una posición incorrecta no funcionará correctamente.
Usaremos la posición 1 en VDD en un uso normal de la impresora alimentada mediante la fuente de alimentación de la impresora (12/24v)
Usaremos la posición 2 en USB cuando tengamos la placa conectada solamente a nuestro ordenador desconectada de nuestra impresora
revisar los finales de carrera siempre que sea posible usando un terminal (Pronterface por ejemplo) con el comando M119
en el caso que usemos nuestros drivers en UART/SPI es importante lanzar el comando M122 desde un terminal (Pronterface por ejemplo) para verificar que todo funciona correctamente. En el caso que nos repote en todos o algunos de nuestros ejes el error ALL LOW podemos revisar los siguientes puntos:
Estamos alimentando nuestra placa usando la fuente de alimentación de la impresora con el pin de selección de voltaje en la posición correcta.
Que nuestros drivers/placa estén preparados para comunicacióno UART/SPI ya que hay que colocar unos jumpers en placa y algunos drivers DIY pueden requerir de soldar un pequeño puente en ellos.
Que en nuestro Marlin tengamos definidos correctamente los drivers así como las direcciones de comunicación UART/SPI para nuestro modelo de placa que podemos encontrar en configuration_adv.h buscando ADDRESS.
revisar individualmente el homing de cada uno de los ejes de movimiento en el siguiente orden X Y Z E y en caso necesario invertir el giro del motor
revisar que nuestros termistores reportan correctamente la temperatura
revisar que nuestros calentadores de cama y de hotend funcionan correctamente
realizar la guía de Calibración Inicial que podéis encontrar en nuestro bot en el apartado /Calibracion