SKR 3
nueva evolución
Última actualización
nueva evolución
Última actualización
Tenéis disponible la guía en nuestra web:
https://3dwork.io/skr-3-re-evolucion/
Si visitas la web nos ayudará a soportar el proyecto y continuar generando contenido
Bigtreetech ha sacado la nueva serie SKR 3 con dos versiones que incluyen muchas mejoras y novedades que seguro que van a permitir exprimir nuestras impresoras al máximo.
Si necesitas más información o ayuda no dudes a unirte al grupo de Telegram de SKR @SKR_board_32bits.
Os recordamos que tienes mas guías de ayuda en nuestro bot de Telegram @ThreeDWorkHelpBot
Os dejamos algunos enlaces de compra para la SKR MINI E3 V3:
Bigtreetech SKR 3 | ||
Bigtreetech SKR 3 EZ |
Si utilizas los links de compras, el precio del producto será el mismo que si accedes de manera habitual, pero a 3DWork le quedará una pequeña comisión. Algo que nos ayudará a soportar el proyecto y continuar generando contenido.
Tal como os hemos avanzado la nueva serie SKR v3 de Bigtreetech dispone de dos versiones de su electrónica, a continuación tenéis un video donde podéis ver en resumen sus bondades.
Multiples salidas para ventiladores, tres de ellas controlables con la que podemos optimizar el uso de los mismos para que, por ejemplo, se usen como ventiladores de capa... para el hotend o para nuestra electrónica. También disponemos de selección de voltaje, con un módulo que no se incluye, que nos permite seleccionar entre 24v, 12v o 5v las salidas de ventilador controlables (afecta a todas las salidas de ventilador el voltaje seleccionado)
Hasta 5 drivers, los cual nos da una gran versatilidad para una electrónica de este tamaño. Poder tener un doble Z real en drivers separados, todo y que cuenta con doble salida de motor a uno de los drivers, contar con doble extrusión o incluso para tenerlo de respaldo por si falla alguno de los otros ahora no es un problema.
Conectividad, podemos usar conexiones USB o CAN a nuestro gusto permitiendo mayor flexibilidad. En el caso de usar CAN contamos con dos conexiones, una usando el conector USB y otro usando los 6 pines XH2.54
Protecciones, si ya su hermana la SKR 2 disponía de múltiples protecciones con esta SKR 3 se siguen manteniendo y mejorándolas como el caso de las entradas de termistores.
Modo DFU, que nos va a facilitar una forma alternativa y útil para poder actualizar nuestra SKR 3
Soporte PT1000, ahora no necesitaremos ningún módulo externo para poder usar este thermistor de alta capacidad
DCDC 5v, la inclusión de un DCDC TPS5450-5A nos permite mantener una corriente de salida de 5A, hasta picos de 6A, perfectos para alimentar nuestra Raspberry Pi.
Es importante recordar que alimentar nuestra Raspberry Pi por GPIO no es siempre aconsejable dependiendo del modelo dado que no disponen de protecciones adecuadas para filtrado de voltaje/corriente.
Por otro lado este DCDC comparte los 5A con todos los conectores 5v de la electrónica que cubren, entre otros, con TFT, Servo, RGB, etc...
WiFi universal y modular, con el principal objetivo para usarse en firmwares RRF contamos con soporte WiFi universal pudiendo elegir entre diferentes controladoras como ESP12S, ESP-07 o ESP32.
MCU, tanto la SKR 3 como la SKR 3 EZ usan los mismos procesadores... podemos encontrar ARM Cortex-M7 CPU STM32H743VIT6 a 480MHz (que montan en sus hermanas mayores BTT Octopus y Octopus Pro) y el STM32H723GT6 a 550MHz. Estas MCUs son totalmente compatibles con Marlin, Klipper y RepRap.
EEPROM, dispone de un chip EEPROM dedicado permitiendo mayor espacio para firmware.
Diferentes tamaños, mientras que la SKR 3 tiene un tamaño de 110*85mm la SKR 3 EZ cuenta con unas dimensiones de 109.7*98mm.
Compatibilidad con motores/drivers HV (high voltage), la SKR 3 soporta motores de 12v a 24v... por otro lado la SKR 3 EZ permite, ajustando un jumper, trabajar con motores de 12v a 48v algo que puede incrementar las prestaciones de nuestra máquina en términos de velocidad de impresión.
Ventiladores normales no controlables, mientras que la SKR 3 dispone de dos conectores para ventiladores normales no controlables la SKR 3 EZ dispone de 3 de estos conectores.
Drivers EZ, los nuevos drivers EZ como más adelante detallaremos cuentan con muchas ventajas al usar un nuevo encapsulado. En el caso de la SKR 3 para poder usar drivers EZ es necesario un adaptador, por otro lado la SKR 3 EZ dispone de un zócalo exclusivo para ellos.
Si nos estamos planteando renovar nuestra eletrónica y tenemos dudas entre seleccionar la estupenda SKR 2 o alguna versión de las nuevas serie SKR 3 os listamos algunas diferencias para ayudaros a decidir la más adecuada en vuestro caso:
La nueva serie SKR 3 cuenta con una potentísima MCU a 480MHz mientras que normalmente las SKR 2 montan una MCU a 168MHz. Este extra de potencia es especialmente importante en el caso que usemos firmwares como Marlin o Reprap.
En el caso que quieras mejorar tu máquina con drivers/motores HV (hasta 48v) solamente la SKR 3 EZ te va a dar un soporte nativo para ellos.
Para trabajar con filamentos técnicos suele ser lo más común el uso de termistores PT1000, en este caso la serie SKR 3 dispone de soporte para ellos sin electrónica adicional.
Si eres de los que usas o tienes pensado usar CAN la serie SKR 3 tiene más opciones de soporte nativo.
Junto con la nueva serie SKR 3 Bigtreetech ha presentado una nueva gama de drivers EZ que se caracterizan por un nuevo formato totalmente revolucionario y que, según Bigtreetech, va a permitir múltiples mejoras en el manejo y uso de estos componentes.
Bigtreetech ha lanzado siete versiones de sus drivers en formato EZ para cubrir una amplia gama de máquinas: EZ5160 Pro, EZ2208, EZ2209, EZ2130, EZ2225, EZ2226, y EZ6609. Todos ellos usando drivers TMClos cuales son a día de hoy un estándar en calidad y fiabilidad en impresión 3D.
Además su diseño compacto, que permite el diseño de placas potentes y más compactas, lleva integrado un disipador de calor 2 en 1 que mejora la temperatura y flujo de aire de disipación mejorando el rendimiento del driver.
Por otro lado y gracias a su diseño no dispone de pines como los tradicionales reduciendo el riesgo de dañar los drivers durante su manipulación algo que según Bigtreetech afecta a un 40% de los usuarios.
En el caso que estemos interesados en cambiar nuestros drivers pero nuestra electrónica no disponga de zócalos compatibles con drivers EZ Bigtreetech ha pensado en todo con adaptadores que permiten usarlos.
Si algo nos tiene acostumbrados Bigtreetech es a disponer de un completo arsenal de conexiones para poder sacar el máximo provecho a sus electrónicas y como no podía ser de otra forma la serie SKR 3 esta a la altura y con nota.
Os adjuntamos algunos esquemas/diagramas de la serie SKR 3 que nos van a ser de mucha ayuda en la instalación/configuración:
Vamos a revisar las conexiones básicas que hemos de tener en cuenta para poner en marcha nuestra SKR 3.
Podemos alimentar nuestra SKR 3 de dos formas, dependiendo de que queramos hacer con ella, ya sea desde una fuente de alimentación externa que será la forma por defecto o por USB en aquellos casos que la usemos para tests básicos de electrónica o carga del firmware.
Para seleccionar una forma u otra lo haremos mediante un jumper en los pines VUSB de la electrónica... con el puesto diremos a la electrónica que su alimentación es por USB.
Os volvemos a recordar que en carga por USB determinadas funciones NO están disponibles como mover motores, comunicación con drivers inteligentes, calentadores, etc...
En caso de que la electrónica le llegue alimentación correcta el led D7 se encenderá (rojo), de no encenderse comprobar la correcta instalación de los cables y que los fusibles (amarillo y rojo) estén bien.
La SKR 3 es compatible con gran variedad de drivers además que dependiendo de estos podemos usarlos en diferentes modos en caso que sean UART/SPI o inteligentes.
Modo Step/Dir (STANDALONE)
En este modo el driver se usa en modo "tonto" en el cual la electrónica/firmware no puede intercambiar información o ajustarlo dinámicamente según necesidades.
Normalmente usaremos este modo para drivers del tipo A4988, DRV8825, LV8729, etc... o aquellos que no dispongan de opciones para poder usarse en modo UART/SPI.
En este modo tenemos que configurar los jumpers MS0-MS2 de acuerdo con las especificaciones de nuestros drivers y necesidades. Es importante indicar en el firmware que vamos a usar este modo!!
La SKR 3 EZ no cuenta con pines MS0-MS2 y esta configuración se realiza directamente en el firmware de la electrónica.
Modo UART/SPI
A día de hoy es más que aconsejable el uso de drivers en modo UART/SPI los cuales permiten obtener un mejor rendimiento del driver y la máquina además de darnos acceso a algunas ventajas como el ajuste de la corriente de los motores, sensorless u otras funciones avanzadas directamente desde el firmware.
Dependiendo de nuestro driver soportará UART o SPI, si necesitais más información sobre UART y SPI os aconsejamos leeros la guía de drivers TMC.
Los drivers compatibles con UART suelen ser los más extendidos hoy en día para máquinas de gama baja o media por su coste contenido y su gran desempeño.
Normalmente tenemos dentro de esta gama los TMC2208, TMC2209 y los TMC2225 que son identicos a los TMC2209 con otro encapsulado que mejora la refrigeración del driver.
Para indicar a nuestra electrónica que estamos usando unos drivers en modo UART tan solo tenemos que colocar el driver tal como ves en las siguientes capturas.
En la SKR 3 EZ y usando drivers TMC normales no es posible mezclar drivers UART y SPI. Mientras que si usamos drivers EZ podremos hacerlo.
También es importante indicar que la SKR 3 EZ no dispone de jumpers para la seleccion de UART/SPI y este se realiza a través del firmware.
Modo Sensorless (solamente en UART/SPI)
Una funcionalidad muy interesante para reducir el cableado y posibles puntos de fallos hardware con sensores de final de carrera es el uso de Sensorless.
Esta funcionalidad te permitirá prescindir de los finales de carrera haciendo que el propio driver detecte el final de carrera directamente.
Para habilitar este modo tan solo tendremos que colocar un jumper en la elctrónica y configurar de forma adecuada nuestro firmware. Os aconsejamos reviséis nuestra guía sensorless para más detalle e información.
Este modo solamente se puede utilizar en caso de drivers en UART/SPI y que cuenten con compatibilidad sensorless/stallguard.
Es aconsejable usara únicamente en los ejes X e Y.
Ventiladores
Como ya os adelantamos la serie SKR 3 cuenta con 3 ventiladores controlables perfecto para usarlos en diferentes roles, como ventilador de capa o hotend o electrónica, o de repuesto en caso que alguno se estropee.
Otra novedad interesante en esta serie SKR 3 es la posibilidad, mediante un módulo externo SKR 3-DC MODE que se ha de adquirir por separado, de poder seleccionar el voltaje de las salidas de ventiladores controlables. Algo que puede ser de gran utilidad en determinadas máquinas.
Para poder utilizar este módulo externo lo primero será colocar el jumper de selección de voltaje de ventiladores en la posición VOT, en la posición VIN usará el voltaje de nuestra fuente de alimentación. Mediante el módulo SKR 3-DC MODE podremos seleccionar entre 5v o 12v mediante un jumper.
Modos USB/CANbus
Con el auge del uso de Klipper y como siempre Bigtreetech adaptandose a las necesidades de los usuarios se ha introducido el uso de la electrónica por CANbus usando el interfaz USB.
La serie SKR 3 incluye un botón próximo a la conexión USB que permite la configuración del puerto USB para el uso como CANbus o USB normal.
Con el botón pulsado el puerto USB queda en modo CANbus y con el sin estar pulsado en modo USB normal.
La nueva serie SKR 3 cuenta con múltiples conectores dedicados para mejorar y expandir sus funcionalidades mejorando nuestra impresora con sensores de nivelación, de filamento, módulos relé, módulos UPS, tiras leds Neopixel o RGB, etc...
A continuación os adjuntamos detalles de algunos de ellos:
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.
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, Klipper o RRF nos aseguran poder usar esta placa en prácticamente cualquier entorno de impresión 3D.
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 de Bigtreetech aquí:
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 STM32H743VIT6:
Si nuestra SKR 3 cuenta con una MCU STM32H723GT6:
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 definiendo 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.
En el caso que usemos una versión de Marlin 2.9.x:
En el caso que usemos una versión de Marlin 2.1.x o superior:
Configuraremos correctamente los SERIAL y BAUDRATE para esta máquina algo clave para el correcto funcionamiento de nuestra conexión TFT, USB o WIFI.
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 y en ceuanto al número de extrusores lo más normal es de disponer de 1.
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.
En el caso que usemos un termistor PT1000, que estas SKR 3 lo soportan de forma nativa, deberemos de indicar que es del tipo 1010 (PT1000+1K pull-up).
PID/MPC, otra parte muy importante es el PID/MPC 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/MPC ayuda a que Marlin controle de forma adecuada la temperatura sin tener grandes fluctuaciones.
En el caso de usar hasta versiones 2.0.9.x habilitaremos PID como sistema de control de temperatura además de las opciones de ajuste desde la pantalla de nuestra impresora si disponemos de ella:
En el caso que usemos versions 2.1.x os aconsejamos que, para el hotend, usemos el nuevo MPC ya que es más inteligente y adaptable que el tradicional PID:
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. En todo caso aquí tenéis una breve información de como habilitarlo:
Es importante el ajuste de la sensibilidad para ajustarla a nuestra máquina.
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:
La serie SKR 3 soporta diferentes modos para los drivers tando en modo STANDALONE como en modo UART/SPI.
Para modo UART/SPI cogeremos de la lista el modelo de nuestro driver
Para modo STANDALONE cogeremos el modelo de nuestro driver pero acabado en _STANDALONE
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 3 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.
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 /Marlin/src/pins/stm32h7/pins_BTT_SKR_3.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.
En el caso que usemos drivers en SPI deberemos revisar la sección TMC_USE_SW_SPI en configuration_adv.h
Como ya os explicamos anteriormente la SKR 3 cuenta con diferentes opciones de expansión con diferentes módulos. A continuación os indicamos como configurar estos:
Contar con un sensor de filamentos en nuestra máquina es interesante para no perfer algunas impresiones si no hicimos un cálculo del uso y disponibilidad de filamento.
Ya os indicamos en el apartado opciones de expansión como conectar el sensor de filamentos, ahora vamos a indicaros como configurarlo en Marlin.
En el caso que usemos un sensor de filamentos inteligente, con detección de astascos o rotura de filamento, como los Smart Filament Sensor de Bigtreetech:
También necesitaremos tener NOZZLE_PARK aunque si seguimos la guía de configuración Marlin anterior ya la tendremos habilitada, aunque en el caso de tener sensor se aconseja modificar las coordenadas:
Otra función necesaria será ADVANCED_PAUSE_FEATURE:
Disponéis de más información extre en nuestra guía específica de instalación de sensor de filamentos.
A continuación tienes los ficheros pins que contienen las referencias para esta placa:
Marlin/src/pins/stm32h7/pins_BTT_SKR_3.h for oldest Marlin versions, for last versions use pins_BTT_SKR_V3_0.h & pins_BTT_SKR_V3_0_common.h
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).
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 3 revisar el jumper de alimentación ya que de tenerlo en una posición incorrecta no funcionará correctamente.
Usaremos la no colocaremos el jumper VUSB para un uso normal de la impresora alimentada mediante la fuente de alimentación de la impresora (12/24v)
Usaremos la colocaremos el jumper VUSB 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
Klipper es un firmware open-source para nuestras impresoras 3D que usa la potencia de una Raspberry Pi, normalmente aunque se puede montar en muchos más dispositivos, para el control de la electrónica de tu impresora. Haciendo esto podemos hacer funcionar de una forma más veloz y con más precisión dependiendo del sistema y hardware que tengamos.
Algo que si que nos va a permitir Klipper en cualquier caso es el poder tener un control a más bajo nivel de nuestra máquina, que también requerirá de un extra de conocimientos/esfuerzos, mayor velocidad a la hora de aplicar cualquier cambio además de un control remoto de la máquina de primera clase.
Es importante recalcar que si venimos de otros sistemas Klipper puede tener algunas restricciones en cuanto a compatibilidad con componentes o con determinadas funciones que ahora tengamos en nuestra impresora.
Por otro lado contamos con funciones muy interesantes de control de nuestra impresora como Pressure Advance (similar a Linear Advance de Marlin) y Input Shaper los cuales van a mejorar enormemente la velocidad y calidad.
Klipper básicamente consiste en tres componentes básicos sobre los cuales se pueden integrar otros para extender el sistema.
Klipper es el componente central y encargado de interpretar el gcode y control de tu impresora.
Moonraker, es una API que permite enlazar servicios externos con Klipper exponiendo estados de impresión o métodos para permitir que otros servicios hablen con Klipper.
UI/Interfaz, permite un control sencillo de Klipper usando Moonraker para interactuar con él.
Klipper es un firmware muy versátil y podemos instalarlo sobre casi cualquier host/dispositivo que pueda correr Linux. En nuestros ejemplos vamos a usar siempre una Raspberry Pi dado que suele ser lo más extendido además de por compatibilidad y tener un gasto de corriente eléctrica comedido.
Lo primero de todo deberemos preparar nuestra Raspberry Pi montando Klipper, tenemos diferentes opciones que os pasamos a describir:
Usando una distribución de Klipper, es la forma más aconsejable y rápida para montar el sistema. Disponemos de diferentes opciones aconsejadas:
MainsailOS, una de las más usadas y muy aconsejable
RatOS, está enfocada a máquinas Ratrig pero si tienes conocimientos ya de Klipper puede ser muy aconsejable aún sin disponer de máquinas Ratrig ya que su configuración modular, macros y scripts son enormemente útiles.
FluiddOS, otra distribución interesante para montar Klipper de una forma rápida.
Usando Kiauh, Kiauh es un conjunto de scripts que disponen de menús para poder instalar todo el sistema Klipper y otras extensiones de una forma muy sencilla desde nuestro cliente SSH. Además incluye algunas herramientas muy útiles para el mantenimiento/gestión de nuestro Klipper.
Manualmente, otra opción... que no siempre sería la más aconsejable dependiendo de vuestros conocimientos... es la instalación manual de todos los componentes que necesita Klipper.
No vamos a entrar en el detalle de la instalación dado que es un proceso más o menos largo dependiendo de que opción elijamos para la instalación.
Os aconsejamos revisar nuestra guía instalación Klipper.
Una vez tengamos todo el sistema Klipper montado y acceso tanto a la UI como al terminal por SSH el siguiente paso será la generación del firmware Klipper para nuestra SKR 3.
Tenemos diferentes opciones para generar este firmware:
Usando firmware Klipper precompilados que podemos encontrar en el Github de Bigtreetech, si bien parece la forma más cómoda no os la aconsejamos ya que es muy probable que tarde o temprano tengáis que hacer el proceso manual.
firmware-USB.bin en el caso que usemos la conexión entre nuestro Klipper y SKR 3 mediante USB
firmware-USART1.bin en este otro caso usaremos la conexión USART1 para comunicar ambos componentes.
Para utilizar la conexión USART tenemos que conectar el pin UART-TX de nuestra Raspberry con el pin USART-RX1 de nuestra placa, el pin UART-RX de nuestra Raspberry con el pin USART-TX1 de nuestra placa.
Compilando nuestro firmware
Podemos seguir la documentación oficial de Klipper para instalarlo también aconsejamos usar Kiauh, Fluidd Pi o MainsaiOS disponen de imágenes que facilitan mucho el proceso de instalación de todos los componentes necesarios. Podéis revisar nuestra Guía de Klipper.
Siguiendo la documentación anterior iremos a la opción de Building the micro-controller usando esta configuración:
[*] Enable extra low-level configuration options
Micro-controller Architecture = STMicroelectronics STM32
Processor model = STM32H743
Bootloader offset = 128KiB bootloader (SKR SE BX v2.0)
Clock Reference = 25 MHz crystal
Si usamos USB
Communication interface = USB (on PA11/PA12)
Si usamos USART1
Communication interface = Serial (on USART1 PA3/PA2)
El firmware klipper.bin se generará en la carpeta home/pi/klipper/out el cual si Klipper no es capaz de copiarlo directamente en la SD de nuestra SKR 3 copiar manualmente en la SD usando WinSCP o el comando pscp en el CMD.
Actualizando nuestra SKR 3 a firmware Klipper bastará con renombrar el firmware creado/descargado firmware-USB.bin, firmware-USART2.bin o klipper.bin a fiwmware.bin que es el nombre por defecto que usa el bootloader de nuestra Octupus para hacer el. proceso de actualización
Usando como referencia documentación oficial de Klipper para instalarlo para configurar Klipper usaremos la configuración SKR 3 klipper.cfg como base para nuestro printer.cfg que incluye las definiciones correctas a nivel de pineado para nuestra SKR 3.
Puedes usar la documentación de configuración de Klipper para habilitar las funciones que más nos interesen.
Si vamos a usar USB para comunicar Klipper con SKR 3 ejecutaremos el siguiente comando desde Klipper ls /dev/serial/by-id/*, desde Kiauh disponemos desde su menú de una forma rápida y sencilla para ejecutar esta acción, para identificar el ID correcto de nuestra SKR 3 y añadirlo a nuestro printer.cfg
Si usamos USART1 para comunicar necesitaremos modificar algunas configuraciones en nuestra Raspberry Pi directamente en la SD desde el ordenador o. de la forma más cómoda y aconsejable que es mediante SSH
Eliminar o comentar la linea console=serial0,115200 en /boot/cmdline.txt
Añadir dtoverlay=pi3-miniuart-bt al final de /boot/config.txt
Modificar la configuración de [mcu] en printer.cfg a serial: /dev/ttyAMA0 y habilitar restart_method: command
Para habilitar la UI de Klipper para pantallas LCD/TFT tenemos los siguientes ejemplos:
Las TFT duales de BigtreeTech unas todo terreno y la mejores pantallas para nuestras impresoras cuentan con un modo emulación perfecto para usar en Klipper. Para habilitarlas configuraremos la sección [display] en printer.cfg de la siguiente forma:
Tal como hemos comentado la SKR 3 soporta RepRap Firmware el cual podréis encontrar aquí:
Os aconsejamos seguir la siguiente guía para la configuración en detalle de nuestra SKR 3 en RRF.
Tenemos que reconocer que Bigtreetech a día de hoy es el referente en electrónicas para impresoras 3D en casi todas las gamas.
Con la nueva serie SKR 3 ha vuelto a introducir mejoras e innovaciones que seguro van a marcar el camino en el futuro como los drivers EZ, potentes MCUs con grandes opciones de expansión, un gran soporte de firmwares, gran documentación y soporte además de una calidad de componentes y acabados.