Detalles
- Tienes que descargar la última versión de Arduino. Antes decían que tenías que usar una más vieja, pero con los últimos firmware que han salido, esto ya no es así.
- Cuando te pida en la instalación que instales los drivers de conexión, acéptalo porque con Arduino, no hay una conexión directa USB, sino que se usa un conversor USB-puerto serie o COM (es lo mismo).
- Conecta tu Tevo con el ordenador a través del cable USB que viene con el equipo.
- En el caso de Windows, entra en el administrador de dispositivos/ Port LPT & COM y mira con qué puerto COM te conectas. En los vídeos se ve cómo se hace. Si no sabes de lo que te hablo, accede a la búsqueda en WIndows buscando "administrador de dispositivos" y entra en el apartado Port LPT & COM que te mencionado antes.
- Ahora abre el programa Arduino y haz un par de cambios:
- en el menú Herramientas / Placa, selecciona la opción Arduino/Genuino Mega or Mega 2560
- En el menú Herramientas / Puerto seleccionas el puerto COM que use tu conexión. En mi caso es el COM3, pero en tu ordenador puede ser uno diferente.
Ahora necesitas descargar el firmware Marlin para la Tevo Tarantula.
- IMPORTANTE: Fíjate que encima de la foto de Jim Brown hay un botón con un campo desplegable que pone Branch. Desde ese botón puedes seleccionar varias versiones del firmware. Por el momento, yo te aconsejo que selecciones el que pone EasyConfig-1.1.x
- El de este enlace es uno hecho por Jim Brown (que va bien, y es el que yo y mucha gente usa). Ahora le han incluido (Julio 2017) un EasyConfig que lo hace mucho más llevadero. Debajo tienes un enlace a otros firmware diferentes como el que llaman BugFix y otras versiones más. Hay ligeras diferencias entre ellos, como la disposición de los menús y en las líneas de código, pero al final todos hacen más o menos lo mismo.
Tienes dos formas de descargar el firmware de Jim Brown:
- (recomendado para los que buscan menos complicaciones) Al acceder a la página, verás un botón que pone "Clone or download". Cuando le des, verás que te da la opción de abrirlo en tu escritorio, o descargarlo como un archivo ZIP. Haz esto último.
- Si tienes instalado GIT o GitHub en tu ordenador, lo clonas entre tus proyectos. No es objeto de esta página explicar qué es lo que es el GIT, pero si andas por el mundo de la informática te conviene saberlo.
ATENCIÓN ATENCIÓN. En Julio 2017, Jim Brown, uno de los autores de los firmware para la Tevo, ha cambiado el modo en el que configuran los firmware para las Tevo Tarantula. En las últimas versiones, ha colocado lo que él llama el EasyConfig.
¿Qué es el EasyConfig?
Es bien sencillo. Antes, tenías que indagar dentro de los archivos de firmware (Configuration.h) buscando las lineas de código que tenías que cambiar. Estas líneas estaban en varias partes del archivo de configuración y es y era un peñazo cambiarlas de ese modo. Si quieres saber de lo que estoy hablando, mira en esta página el apartado MODO ANTIGUO DE CONFIGURACIÓN que no he borrado por que sigue siendo informativo y de interés conocer cómo funciona, ya que no todo se puede configurar con el EasyConfig.
IMPORTANTE. Cuando te descargues el archivo ZIP, tienes que ver una carpeta que se llama MarlinTarantula-EasyConfig-Stable. (Ojo, Jim Brown cambia con frecuencia el nombre de esa carpeta, de los Branches y de la localización de los mismos). Avisame si ese es el caso y trataré de actualizar los enlaces (antoniogps en el gmail.com)
Al final de esta página he subido dicho archivo ZIP para que te lo descargues más cómodamente si quieres. Le pondré la fecha para que veas cuando me lo descargué y así puedas comprobar si hay una nueva versión.
Jim Brown ha colocado al principio de ese archivo Configuration.h una serie de líneas de código que te permiten configurar tu Tevo mucho más fácilmente. Para poder cambiar las lineas, solo tienes que abrir el archivo Marlin con el IDE de Arduino (el programa que te has descargado antes), y luego seleccionar la pestaña que te lleva al archivo Configuration.h. El IDE de Arduino contiene como puedes ver un editor de archivos. Alternativamente, puedes editar y cambiar el archivo con el bloque de notas o con programas más adecuados como Notepad++. Solo has de leer las líneas (lo siento, vienen en inglés pero con Google Translate te aclararás si te hace falta) y debes activar o desactivar los apartados de la configuración del siguiente modo.
- incluyendo dos barras "//" al principio de la linea para desactivar esa opción
- o borrando las dos barras para activarla
Obviamente has de usar el sentido común. No puedes activar dos cosas que sean incompatibles, como la de tener la cama grande y la pequeña al mismo tiempo
¿Qué he hecho yo que te sirva como ejemplo?
- Tengo la cama grande, así que he borrado las dos barras del principio de la línea que pone #define LARGE_BED
- También he hecho algo más. En la cama grande, el valor de Y lo han puesto en el firmware con un 280, que es en realidad la dimensión que tiene la cama. Sin embargo, ha dejado en 200 el valor del eje X, cuando la cama tiene en realidad un tamaño de 220mm. Así que en el archivo Configuration.h he buscado (En Arduino, Editar / Buscar) donde pone #define X_BED_SIZE y donde se define el valor de Y_BED_SIZE con un 200, lo he cambiado y he colocado un 220. Ojo, que el Y se define con dos valores, dependiendo de que sea la cama grande (280) o la pequeña (220)
- He puesto dos barras al principio para desactivar la línea que pone #define BLTOUCH sencillamente por no tengo instalado este dispositivo de nivelado automático. Viene activado por defecto.
- Revisando el código, he hecho algún cambio más
- He activado la opción #define SDSUPPORT porque no se por qué, por defecto, en esta versión del firmware han decidido NO dar soporte de la tarjeta SD . Me da a mi que a más de uno le va a dar un susto cuando no vea la opción de la tarjeta en el menú como no lo active.
- Luego he desactivado la opción #define REVERSE_ENCODER_DIRECTION porque de esta forma, cuando le de al dial del menú, los valores de los diferentes menús aumentarán cuando le mueva en dirección horaria (por ejemplo, los valores de mover los ejes, los steppers, los de altura, valores en general...). Tal y como está ahora, al darle en dirección horaria al botón, los valores disminuyen cuando se mueve en dirección horaria. No te confundas. Esto afecta a los valores de los diferentes menús, no al modo en el que seleccionamos los menús que se modifica con la opción que voy a indicar a continuación
- He activado la opción #define REVERSE_MENU_DIRECTION quitando las dos barras del principio para que cuando mueva el dial del menú. Ahora, al darle en dirección horaria, el menú sube.
- En el apartado Bed leveling type, el único que he dejado activado es #define MANUAL, porque como he comentado, no tengo sensor de nivelado automático y este modo activa el MESH leveling que es uno de los mejores métodos de calibrar la cama manualmente.
- He cambiado siguiendo las instrucciones el #define GRID_POINTS a 7 porque así lo dice el archivo
- He cambiado @define XTRA_BED_FRONT y #define XTRA_BED_BACK a 0 (cero) en ambos casos porque así también lo indica el documento, ya que yo tengo la cama grande
Y ya no he hecho más cambios. Verás opciones como #define EXTRUDER2_X que no funcionarán porque no tienes activada la opción #define DUAL_EXTRUDER. Si tienes dos extrusores, con dos boquillas, es obvio que tendrás que activar esta última opción, e indicar la distancia en mm que hay entre las dos boquillas.
Hay un vídeo en inglés (pero las imágenes ayudan) que te indica cómo hacerlo
MODO ANTIGUO DE CONFIGURACIÓN (No usarlo si usas EasyConfig)
Este era un método antiguo de configurar el firmware de Tevo Tarantula que dejo aquí por varias razones. Una de ellas es porque no puedes activar todas las opciones posibles con el EasyConfig, y la descripción de este modo antiguo te puede enseñar o servir de iniciación a un modo más personal y potente de cambio del firmware por si quieres acceder a otras opciones
¿Qué hacemos con el archivo MarlinTarantula... que hemos descargado?
- Abre el ZIP y lo descomprimes en un sitio que luego recuerdes.
- Verás varios archivos sueltos. Esos son para implementar el GIT en GitHub y no los necesitas. Pasa de ellos
- pero verás dos carpetas. Una llamada buidroot, con la que NO tienes que trabajar tu, y otra carpeta que se llama Marlin que contiene un montón de archivos. Esta última es la que necesitas.
- La carpeta Marlin que contiene un montón de archivos y una carpeta llamada example_configurations
- Dentro de esta última carpeta verás un montón de marcas de diferentes impresoras 3D. Busca la nuestra, la Tevo Tarantula.
- Y dentro de la carpeta Tevo Tarantula hay otras carpetas más con una numeración. Cada numeración corresponde a un tipo de configuración diferente. En la página de GitHub, Jim ya indica:
- Tarantula-01 -> Es el firmware para una Tevo Tarantula con cama pequeña (220X220), que use un sensor BLTouch para hacer autonivelado, SIN soporte SD (con lo que tienes que imprimir desde un PC), y con el sistema EEPROM activado (esto último quiere decir que se pueden hacer cambios en la configuración del equipo y guardar esos cambios sin tener que cargar un nuevo firmware en el equipo)
- Tarantula-02 -> cama pequeña, con autonivelado BLTouch, CON soporte SD y EEPROM activado.
- Tarantula-03 -> cama pequeña, NO autonivelado, soporte SD y EEPROM activado
- Tarantula-04 -> cama grande (220x280), NO autonivelado, soporte SD y EEPROM activado
- Conviene que sepas cómo se configuran estas cosas y otras más que aquí no se indican, como cómo controlar el doble extrusor de filamentos, una doble boquilla, la disposición del motor en otra posición, si pones dos motores en el eje Z cómo han de ir coordenados, etc.
- Si por ejemplo quieres la cama grande, y también quieres el autonivelado, no hay una combinación entre las 4 que te venga bien porque el ejemplo incluido Tarantula-04 si contempla la cama grande, pero no el autonivelado.
- Si este es el caso, que no hay una opción deseada por ti entre las 4, tendrás que hacer cambios en el código. Ten en cuenta que con las diferentes versiones, los números de las líneas pueden cambiar, aunque normalmente no cambiará el nombre de las variables. Vamos a ver algunos ejemplos
- En el archivo Configuration.h incluido en la carpeta Tarantula-01 verás:
- (aprox linea 136) una línea que pone #define EXTRUDERS 1. Eso significa que es válido cuando tienes un solo extrusor (una boquilla). Si tuvieras un doble extrusor, ya tienes que cambiar este valor.
- (Aprox linea 502) un #define DEFAULT_AXIS_STEPS_PER_UNIT que tiene una serie de valores por defecto que es muy probable que tengas que cambiar después de hacer un calibrado de los steps de tu máquina en el modo que se indica en este vídeo. Aunque si tienes activado el EEPROM con el vídeo verás que puedes cambiarlo desde la consola de control.
- (aprox linea 619) un #define BLTOUCH no comentado (sin las dos // del principio), lo que significa que esa variable se está definiendo y estará activa. Este archivo está preparado para que uses este sensor.
- (aprox linea 728) un #define INVERT_Y_DIR que puede poner true o false, dependiendo de que el motor del eje Y lo tengas a la derecha (true) o a la izquierda (false).
- (aprox linea 761) un #define Y_MAX_POS 200 que significa que este versión es para la cama chica de 220x220. Si quieres aprovechar algo más de la cama, podrias poner un valor 210 en su lugar.
- (aprox linea 954) un #define MANUAL_Y_HOME_POS que te deja cambiar los offsets
- (aprox linea 990) un #define EEPROM_SETTINGS que activa la grabación en la EEPROM
- (aprox linea 1024) #define PREHEAT_1_TEMP_HOTEND 180 que te deja cambiar la temperatura de precalentamiento del bloque caliente. Mira las lineas de código de alrededor que hay otras cosas evidentes para cambiar. El segundo bloque es para la temperatura cuando usas ABS
- (aprox lin 1205) hay un //#define SDSUPPORT que está comentado, indicando que no estará activado el uso de las tarjetas SD (para imprimir desde un PC, aunque se recomienda el uso de la tarjeta)
- En el archivo Configuration.h incluido en la carpeta Tarantula-02 la única diferencia es que se permite el uso de la tarjeta SD, con lo que verás que todo es igual pero la línea 1205 no está comentada con las "//", con lo que has activado esa opción
- En el archivo Configuration.h incluido en la carpeta Tarantula-03 verás:
- que sigue pensado para un solo exrtrusor
- que ya no usará el sensor BLTouch (lin 619), porque esta línea está comentada (inutilizada) al haberle puesto las dos líneas "//" al principio.
- que sigue estando pensada para una cama de 220X200 (linea 761)
- En el archivo Configuration.h incluido en la carpeta Tarantula-04 verás:
- que ha definido la cama grande de 220x280 porque en la linea 761 lo indica. Aquí pone 280, pero seguramente comprobarás que no puede ser, que no podrás aprovechar la cama entera. Yo le he colocado un valor 245 porque si no, me choca la cama con las poleas o con el motor.
¿Qué has de hacer ahora?
Pues debes mirar ese archivo con cuidado y hacer los cambios pertinentes adaptando los valores que te convengan
Pongamos un caso práctico:
- Suponte que quieres la cama grande, el autonivelado BLTouch, el soporte SD, el EEPROM activado y tienes el motor del eje Y a la izquierda. Así lo que tendrías que hacer es:
- seleccionar el archivo Configuration.h del ejemplo Tarantula-02 porque tiene todo lo que quieres aunque considera el motor Y a la derecha (eso no se indica pero se ve en el código) y la cama pequeña. Por ello:
- cambia la linea 728 #define INVERT_Y_DIR de un true a un false porque el motor del eje Y está a la izquierda. (recuerda, false si está a la izquierda, true si está a la derecha)
- cambio el valor 200 de la línea 761 #define Y_MAX_POS por un más real 250 porque tengo la cama grande.
Cuando lo hayas hecho, sustituyes los archivos Configuration.h y Configuration_adv.h que hay en la carpeta Marlin por los archivos que tu has modificado. Asegúrate de incluir el Configuration_adv.h que está en la misma carpeta. La próxima vez que hagas cambios solo tendrás normalmente que cambiar Configuration.h y no el Configuration_adv.h
Y ahora sigue las instrucciones de los vídeos. Antes que nada dale al botón Verificar del programa Arduino para ver que no hay problemas. Luego carga tu firmware en la placa controladora dándole al boton Subir.
- Nota 1: ponte cerca del enchufe de corriente preparado para apagar por completo tu máquina por si hay algún movimiento inesperado una vez que se inicie o ejecute alguna orden con el nuevo firmware, como que los ejes hayan sido interpretado mal y se empeñen en golpear algo hasta romperse.
- Nota 2: No elijas lo que no tienes. Por ejemplo, si no tienes el sensor BLTouch (o cualquier otro sensor), no lo selecciones como opción, porque si lo haces, no podrás nivelar la cama manualmente. Los menús están muy elaborados y lo tienen en cuenta todo.
- Nota 3: Puedes cargar las veces que te de la gana el firmware en la placa controladora porque al hacerlo se borra por completo el que tenga la placa y se sustituye por el nuevo.
Otros ajustes del firmware interesantes
- Una de las opciones más interesantes es lo que llaman MESH Leveling del que ya hemos hablado.
- Este vídeo te muestra como cambiar el firmware para que los objetos los imprimas en el centro, si es que ves que cuando imprimes algo, se te va a un lado de la cama. En los nuevos firmwares (Jun 2017) solo puedes cambiar los home de los X e Y en las líneas 953 y 954 (aproximadamente) cambiando los valores de los campos #define MANUAL_X_HOME_POS y #define MANUAL_Y_HOME_POS. El valor que ves del eje Z en el vídeo lo han quitado.
- En Configuration_adv.h puedes ver cosas interesantes
- #define EXTRUDER_AUTO_FAN_SPEED 255. Si cambias este valor 255 por uno inferior, quitarás potencia al ventilador que enfría la salida del filamento. Pero estas cosas las puedes cambiar desde los programas de impresión como Cure, Slice3R, Simplify3D, Repetier, etc.
- #define DEFAULT_STEPPER_DEACTIVE_TIME 0. Si cambias este valor 0, al cabo de X segundos desbloquearás automaticamente los motores para mover libremente la cama con las manos tras el último movimiento.
Algunos enlaces de interés (que deberías visitar y leer detenidamente)