Cambiar firmware



  • Hola. Estoy realizando cambios en el marlin y he añadido un Gcode. Necesito llamar dentro de ese gcode al 28 (hacer un homing) y para ello escribo enquecommands_P((PSTR("G28"))); y lo implemento en la pantalla LCD y me aparece, pero no va a casa como quiero, alguna sugerencia?



  • Bienvenido @M_utiel,


    Explícanos un poco más que es lo que quieres. Si lanzas un G28 X0 Y0 Z0, debe hacer un homing.



  • Hola. Gracias por contestar. Yo estoy utilizando el marlin original (no el hephestos) y no viene con la calibración de la cama, entonces he implementado un gcode y lo llamo desde la pantalla pero al implementar esto no me va a las coordenadas que quiero:

    enquecommands_P((PSTR("G1 X0 Y0 Z10")));
       delay(10);
       enquecommands_P((PSTR("G1 X200 Y0 Z10")));
       delay(10);
       enquecommands_P((PSTR("G0 X200 Y0 Z0")));
       delay(10);
       enquecommands_P((PSTR("G0 X200 Y0 Z10")));
       delay(10);
       enquecommands_P((PSTR("G1 X200 Y200 Z10")));
       delay(10);
       enquecommands_P((PSTR("G0 X200 Y200 Z0")));
       delay(10);
    Me recorre una esquina y luego la otra pero ya no sube la Z10. Para el primer punto si me lo hace bien (200,0) pero luego ya no me sube la Z10 al viajar y por tanto si la cama está alta rozará (200,200)



  • 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. ¿No es más sencillo?



  • Es que cambié la pantalla por una full porque daba error de compilación (añadí la librería y descomenté la pantalla pero no pude solucionar el error) así que trabajo con el marlin original, pero éste no tiene el M700 como has sugerido



  • Claro pero lo que me refiero es que en vez de llamar al 28, hagas una nueva función, la 700, y en ese Gcode llames a la 700 para que haga el calibrado. 


    Te he mandado un privado por si me puedes pasar el código y así le hecho un vistazo ;).



  • Muchas gracias @sgruben. Espero solucionarlo. Otra dudeja. En el firmware ya compilado que ofrece bq cuando sube la Z mientras imprime se produce un pequeño pitido en el zumbador, mientras que en el hephestos no pasa eso, me podrías decir cómo lo puedo implementar?

    Gracias otra vez y un saludo!!



  • ¿Qué versión de firmware tienes? Pásame la versión de FW info. Para ver si consigo reproducirlo.


  • MVP

    Hola

    Al final conseguiste hacer la implementación?
    Yo me estoy peleando con el firm de marlin porque tiene algunas opciones que creo que me irían bien, pero no consigo que imprima desde la SD (que si que lee pero no arranca la impresión) 
    Seria interesante mirar la opción de Marlin con la función 700,7001, y 702 implementadas



  • Hola de nuevo!!He estado un poco ocupado y no he mirado el foro. Si, conseguí imprimir y también nivelar la cama!Añadí el gcode M700 como indicó @sgruben

    Ahora me surge otra pequeña duda: en "configuration_adv.h" configuras los jumpers que tienes para la resolución del driver a4988:
    #define MICROSTEP1 LOW,LOW
    #define MICROSTEP2 HIGH,LOW
    #define MICROSTEP4 LOW,HIGH
    #define MICROSTEP8 HIGH,HIGH
    #define MICROSTEP16 HIGH,HIGH

    Por qué en microstep8 y microstep16 aparece High High en los dos??
    Otra duda, de donde salen los 200 mA que hay que ajustar el driver en el eje X e Y?

    Muchísimas gracias y enhorabuena nuevamente!



  • Si te fijas en la linea de arriba pone esto:
    // MS1 MS2 Stepper Driver Microstepping mode table
    y el fabricante , esto otro:


































    MS1   MS2   MS3  
    Microstep Resolution
    Low   
    Low Low Full step
    High Low Low Half step
    Low High Low Quarter step
    High High Low Eighth step
    High High High Sixteenth step



  • Muchas gracias JAD!! pero lo de 200 mA para ajustar el Pololu cómo lo puedo justificar?



  • Exactamente no se ha que te refieres con lo del ajuste de intensidad de los Pololu. 




  • Los 200 mA son los que debes de medir a la entrada de la fuente de alimentación. Tienes que medir la corriente en reposo la impresora, hay te debe dar como unos 80 mA que es lo que consume la placa por si sola. Si mueves el motor que deseas calibrar aumentará la corriente, ese aumento debe ser exactamente 200 mA, para ello debes ajustar el potenciómetro para ello ;).