Opción "Nivelar base" en Prusa i3



  • Buenas,

    cuando le hice la mejora de husillos a la Hephestos, aproveche y compré en la tienda la fuente de alimentación y la cama mk2 para ponersela también. Pero viendo lo bien que va la BQ con PLA y la pereza que me da cacharrearla otra vez para apañar la base, he decidido hacerme con una prusa i3 estandar de segunda mano para aprender y usarla con ABS.

    Mi único contacto en el mundo 3d es mi Hephestos y una Ultimaker del trabajo (Que ambas nivelan la base con una opción)... pues cual ha sido mi sorpresa al marrancar finalmente la Prusa que la opción de nivelar base (mover el carro a los 5 puntos) no aparece en el Marlin por defecto... y que este paso hay que hacerlo a manita...

    Mi duda es ¿Esta opción es propietaria de BQ o se puede añadir en el firmware para cualquier prusa?
    He estado revisando ambos configuration.h y en esencia son lo mismo, así que imagino que sera un fichero distinto que se añada al compilar...

    Gracias!


  • MVP

    Se le puede añadir, de hecho hay algún post que explica más o menos como apañarlo.

    Yo hice un gcode que va a los puntos que quiero, y me permite ajustar

    Es este (en catalán, pero supongo que no te será complicado traducirlo, si no me preguntas y te ayudo)

    ;PROGRAMA PER PERSONALITZAR LA CALIBRACIO DEL LLIT 
    ;ALS PUNTS QUE HOM DESITGI 
    ;POSICIO 0,0,0
    M117 HOME
    G28 X0 Y0  
    G28 Z5
    ; ESPERA EN EL ORIGEN FINS QUE PULSEM ENCODER    
    M117 INICIAR
    M0
    ;PUGEM L EIX Z 
    G1 X0 Y0 Z25
    ;CALIBRAR PUNT 1 I ESPERA PULSACIO ENCODER PER SEGUIR
    M117 PUNT 1
    G1 X40 Y40 
    G1 Z0.1
    M117 PULSAR RODA
    M0
    G1 Z25
    ;CALIBRAR PUNT 2 I ESPERA PULSACIO ENCODER PER SEGUIR
    M117 PUNT 2
    G1 X170 Y40 
    G1 Z0.1
    M117 PULSAR RODA
    M0
    G1 Z25
    ;CALIBRAR PUNT 3 I ESPERA PULSACIO ENCODER PER SEGUIR
    M117 PUNT 3
    G1 X170 Y170 
    G1 Z0.1
    M117 PULSAR RODA
    M0
    G1 Z25
    ;CALIBRAR PUNT 4 I ESPERA PULSACIO ENCODER PER SEGUIR
    M117 PUNT 4
    G1 X40 Y170 
    G1 Z0.1
    M117 PULSAR RODA
    M0
    G1 Z25
    ;CALIBRAR PUNT 5 I ESPERA PULSACIO ENCODER PER SEGUIR
    M117 PUNT 5
    G1 X110 Y110 
    G1 Z0.1
    M117 PULSAR RODA
    M0
    ;TORNEM A L ORIGEN DE COORDENADES
    G28 Z10
    G28 X0 Y0
    ;PITA
    M300 S392 P436
    M117 FET
    ;FI


    Yo lo uso cuando voy a una escuela dónde tienen unas Prusas I3 Migbot con marlin "pelao". Y me da pereza ajustar con el PC.



  • ¡Muchisimas gracias @Lucky!



    He pateado el foro y he encontrado un par de hilos con info:
    http://www.mibqyyo.com/comunidad/index.php?p=/discussion/39823/level-plate/p1

    "Los puntos de calibrado los puedes modificar en el firmware, en el archivo ultralcd.cpp en la apartado de case 700 es la función del nivelado."

    http://www.mibqyyo.com/comunidad/discussion/47434/cambiar-firmware/p1

    "En el firmware de Hephestos el proceso de calibrado de la base está implantado como un código nuevo, es el M700. Puedes ver la función en el archivo Marlin_main.cpp. Si quieres hacer el proceso, mandas un M700 y lo hace."


    Todo esto unido a tu código, y tras revisar esos ficheros en el firm de BQ y Marlin, me genera alguna duda.
    En tu ejemplo (no te preocupes por la traducción, se entiende 🙂 ) ¿Como lo "grabas" y utilizas desde la impresora, como se genera una entrada en el arbol de opciones en la pantalla?
    ¿O como es un gcode se lo pasas entero a la impresora desde algún programa vía usb...? estoy muy pez en esto de los gcodes manuales 😞

    Y el el caso de las opciones del firm de BQ (Que en Marlin no aparecen), partiendo que no entiendo todo el codigo, y son todo variables definidas en otros ficheros... ¿Si uso el Marlin_main y el ultralcd de BQ en el codigo de MArlin para generar un firmware y plancharlo en la Prusa, funcionaría?

    Gracias!


  • MVP

    Yo lo llevo en una tarjeta SD con el nombre de nivelar base. Lo ejecuto y me va pidiendo que ajuste en cada punto con el tornillo y le de al botón. Y ya queda ajustada. Si, es simple, pero me es util cuando me encuentro con impresoras que no tienen menú de nivelado.
    Si lo haces por firmware, a parte del case 700 tienes que añadir la función en el menú, o hacer un programa gcode que mande M700 y entonces te haría todo el proceso.



  • No sabía que el gcode actuara como un script si se hace a mano... me parece una solución muy buena.

    Me gustaría hacerlo por firmware, pero se me quita la idea ya que veo que antes hay que saber un pelin mas...
    Así que por ahora me voy a empollar el uso de gcodes y hacerme 3 scripts para calibración, carga y descarga de filamento.

    Voy a seguir desgranado el código a ver si saco mas ideas.

    ¡Muchas gracias Lucky!