Autonivelado



  • Hola,llevo unos meses con la prusa i3 hephestos y me gustaria montarle un sistema de autonivelado de base ya que hay que nivelar muy a menudo la "cama".Pues me dirigo a vostros a la gente que tengais instalado el sistema de autonivelado a poner un tutorial bien explicado con los pasos a seguir,materiales,etc.He leido el post abierto respecto al tema pero hay cosas que no entiendo.Un saludo a todos.




  • MVP

    Yo lo tengo montado con un el marlin original (serie estable, si no no me aguantaba la temperatura) y me va fenomenal. Hay muchas más opciones de configuración y de modificación al vuelo, aunque es arma de doble filo porque puedes tocar cosas y hacer que no vaya nada bien.

    Si quieres, te podría pasar el firm entero (para i3 original, solo autolevel)

    Un saludo



  • Hola @lucky

    Gracias
    Creo que estas respondiendo a @julka o a mi, a ambos , a todos .. no se :D.

    Tienes un firm .hex (binarios) para autolevel basado en entiendo 1.4.2 ?? (me gustaría poder "verlo/analizar"). Mas simple seria si conoces en que versión esta basado y algún cambio en el código.

    Lo de las config al vuelo, supongo que te refieres a que se pueden modificar ciertos comportamientos del firmware sin compilar ¿no?

    En que versión hay ese "Bug"  el marlin original (serie estable, si no no me aguantaba la temperatura)" ??

    Saludos.



  • Hola, Gracias por las respuesta, así que si puedes compartir el firmware bienvenido será,espero encontrar más información sobre el tipo de sensor, montaje , configuración etc,un saludo.



  • Buenas Julka,


    Tengo instalado un sensor capacitativo con diodo, firmware 1.4.2 y final de carrera como stop de emergencia.

    ¿ en que puedo ayudarte?

    Un saludo



  • Hola @Calamar 


    Yo tengo unas dudas, si fueras tan amable de explicarme como lo has resuelto , es posible que me sirva para poder averiguar que es lo que estoy haciendo mal.
    Parto del FW 1.4.2 (lo desbugee para poder compilarlo con arduino 1.6.9). Tengo arriba puesto el proceso.
     Lo estoy intentando con un sensor capacitivo con diodo o divisor de tensión (normalmente cerrado)
    No tengo claro donde conectar en la ramps la señal del sensor (en la impresora cartesiana)
    No tengo claro cuales son las variables para ese pin 
    No tengo claro cual es la parte del final de carrera Z (stop de emergencia ???) 

    Resumiendo, no he conseguido hacerlo funcionar.

     Saludos y gracias anticipadas



  • Hola @calamar,pues casi con todo,el firm?como cambiarlo,que tipo de sensor tienes,conexiones,no se es que voy un poco perdido y la verdad que no quiero estropear la impresora ya que me costo montarla, el el menu me sale el firm v1.4#157,un saludo.



  • Hola @{Andurino}  y @julka , lo primero que quiero comentaros , es que yo instale un sensor capacitivo en una impreosra que me he montado y diseñado yo , con la intencion de que si funcionara bien montarlo en la hephestos , los resultados no fueron los que yo esperaba , el sensor aparte de que suelen ser sensibles a la temperatura ( si teneis cama caliente , yo me olvidaria del capacitivo) , falla más que una escopeta de feria , osea que las mediciones nunca eran las mismas . Al final tengo puesto el mismo que en la hephestos (un sistema con servo que diseñe hacia ya tiempo  http://www.thingiverse.com/thing:930292 )  y que no me ha dado nunca problemas. Dicho esto a las preguntas de @{Andurino} :
    La señal del sensor se conecta en el end stop z , tendras tres pines  +, -  y señal , pues en en de señal
    Con respecto a esta pregunta mira este en lace a ver si te aclara las dudas http://www.marlinfw.org/docs/development/configuration.html#bed-leveling
    Y por ultimo la parte de final de carrera , creo que es aprovechar el end stop z que ya tiene la impresora , para que si el sensor no llegara a activarse no rompiera el cristal .
    Bueno pues espero a ver aportado algo de luz a todo esto.



  • Gracias @{JAD}
            Ya perdi la cuenta de la cantidad de cuestiones , a las que tus comentarios me han ayudado efectivamente a resolver algunas cosas.

    Esta pagina concreta del manual es lo que todos los usuarios observamos en nuestras impresoras y donde "presuntamente" hay que pinear el cable de datos del sensor.

    ¿cual cuales?
    Yo entiendo que el pineado (no se si es literal va algo asi)
    xmin +- (dos pines)
    xmax+- (dos pines)
    ymin+- (dos pines)
    ymax+- (dos pines)
    zmin+- (dos pines)
    zmax+- (dos pines)

    Dependiendo de si usas "marlin" como cartesina "prusa i3 hephestos" o como impresora Delta "otros modelos" que usan exactamente el mismo marlin.

    Gracias por el enlace , no me constaba tan "evidente"

    Saludos , seguimos iluminando el lado oscuro...


  • De nada @{Andurino}

    Aqui se ve mejor , son tres pines mas , menos y señal. NO DOS.



  • Cierto @{JAD}

    Gracias
    Lapsus mio (no pretendía ser literal) si no poner de manifiesto que se desconoce:
    ¿que pin S de los 6 posibles.?
    Presumo que sera Z cual de los dos presumo el libre o se usa el del final de carrera de Z?

    Como no comprendo (todavía bien el código) no consigo encontrar que pin es el que debo usar para que el arduino pueda obtener el dato del sensor. (tarde o temprano lo deduciré)

    Saludos.

    PD: No usamos la misma "ramps" (no es un problema, solo un detalle, es una versión de esa ramps)



  • @{Andurino}  del los seis conectores de izquierda a derecha :

     1    2    3   4   5   6
    ----------------------------------
    S    S   S  S   S  S
    -     -     -    -    -   -
    +    +    +   +    +   +

    1  END STOP X  min .
    2  END STOP X  max.
    3  END STOP Y  min.
    4  END STOP Y max.
    5  END STOP Z  min. ------ Este es el que te interesa para el sensor
    6 END  STOP Z  max.

    PD :No usamos la misma ramps ¿? es que acaso no tienes la hephestos 1



  • Esta es mi Ramps Es la "misma" version no el mismo modelo y no es "relevante" en principio.

    Gracias @{JAD}
    Ese Pin es el del final del carrera de Z.
    Y aquí hay otra duda..
    Anularlo o ponerlo en paralelo no me produce mas que inconvenientes.

    Por otro lado se menciono el uso del final de carrera como parada de emergencia....

    Saludos y disculpa mis dudas...

    pd: "Mi modo de pensar me indica que algo no cuadra" , pero no se lo que es. 
    Yo resolveria manteniendo el final de carrera tal cual , no tocaria nada.
    Pincharia en en Zmax el sensor.
    Haria las modificaciones necesarias en el firmware , que dependerá de lo hecho anteriormente y las compilaría e introduciría a la maquina.
    El codigo asi me lo insinua... pero a mi NO ME FUNCIONA



  • Nada @{Andurino} en lo que pueda intentare ayudar ( mi experiencia como maker podria aclararte algunas dudas, ya he diseñado dos impresoras una CNC multifuncion y la ultima una que la he llamado XXXL por las dimensiones 400 x 400 x 400) , culaquier duda que tengas me la preguntas. A que te refieres con lo de los inconvenientes ¿?.



  • A ver @{Andurino}  el ZMAX ese sensor no se suele utilizar , ya que tu en la configuracion del marlin ya le indicas a la impresora la altura maxima que pueda alcanzar. Con lo cual no terminaria de activar el pulsador. Tienes que utilizar el ZMIN. Si te refires a utilizar esos pins  para utilizarlo con el sensor , lo veo muy complicado y muchas lineas de codigo a modificar, con lo que supondria mucho tiempo . Pero bueno , eso ya depende de el tiempo libre que dispongas y las ganas de meterte en ese lio. Lo sencillo es utilizar el otro sensor . Pero pensandolo bien si utilizas el ZMIN para el sensor Y Zmax para el final de carrera ...... a lo mejor si te funcionava sin tener que tocar nada de codigo . Todo seria el probarlo.



  • Gracias @{JAD} por el interes por ayudarnos a resolver dudas.

    El inconveniente (chapa, mi drama personal (supongo que sera el de alguno mas))

    ¿Como usar el PIN S de Zmin?
    1. pones solo el sensor
    2. poner en paralelo el sensor y el final de carrera (es lo que suguire por ahí)
    Básicamente el inconveniente es que no funciona.

    SI pongo solo el sensor y este es "inverso" al tipo de contacto del final de carrera.
    Sensor (normalmente cerrado)
    Final de carrera (normalmente abierto)

    Eso se resuelve en la logica invirtiendo , no hay problema, el problema esta en que no hay un Z min que medir para un homing (por el modo en que esta dispuesto el sensor físicamente) consecuencia no hay fin de Z, golpea el cristal y se desmonta el eje X completamente (quita el cristal y hazlo si quieres quitar fácilmente)

    SI no entendiste algo te lo explico (con solo sensor)

    La solución sera poner un control y eso se puede conseguir y funciona si:
    sensor y final de carrera (normalmente en el mismo sentido)
    Como no es el caso es impepinable un pin para manejar esta eventualidad. ya que la tabla de la verdad de un esquema contrario es obvio... irresoluble.

    Como ya he manifestado a mi NO me funciona. Es evidente que estoy haciendo algo mal.

    Saludos.


  • @{Andurino}  cuando monte el mio no inverti ninguna señal . Ya no me acuerdo si era de logica positiva o negativa. Pero de lo que estoy seguro es que no toque nada de la configuracion de los pins. El sensor que yo tengo es este : LJC12A3-H-Z/BX

    Yo utilice el diodo , y no me hizo falta cambiar la configuracion de los PULL UP



  • @{Andurino}  creo que la ultima version del Marlin ( la original ) ya tiene implementado lo que tu pretendes hacer , mira a ver esto :

     // Support for a dedicated Z probe endstop separate from the Z min endstop.
      // If you would like to use both a Z probe and a Z min endstop together,
      // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
      // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
      // Example: To park the head outside the bed area when homing with G28.
      //
      // WARNING:
      // The Z min endstop will need to set properly as it would without a Z probe
      // to prevent head crashes and premature stopping during a print.
      //
      // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
      // defined in the pins_XXXXX.h file for your control board.
      // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
      // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
      // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
      // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
      // otherwise connect to ground and D32 for normally closed configuration
      // and 5V and D32 for normally open configurations.
      // Normally closed configuration is advised and assumed.
      // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
      // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
      // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
      // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
      // All other boards will need changes to the respective pins_XXXXX.h file.
      //
      // WARNING:
      // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
      // Use with caution and do your homework.
      //
      //#define Z_MIN_PROBE_ENDSTOP



  • Te comparto mi interpretación ....
     // RAMPS 1.3 / 1.4  pueden ser capaces de utilizar el 5V, Planta y el pasador D32 // en la sección Aux 4 de la placa de rampas. El uso de sensores con alimentación de 5V, // de lo contrario se conectan a tierra y D32 para la configuración normalmente cerrada // y 5V y D32 para configuraciones normalmente abiertos.
     // Configuración normalmente cerrada se aconseja y asumió. // El pin D32 en Aux 4 en las rampas se asigna al pin D32 Arduino. // Z_MIN_PROBE_PIN está marcando el pin para usar en el Arduino. // Desde el pasador D32 en las rampas se asigna a D32 sobre Arduino, esto funciona. // D32 está seleccionado actualmente en las rampas de 1.3 / 1.4 archivo de alfiler. // Todas las demás tablas necesitarán cambios en el respectivo archivo pins_XXXXX.h. // // ADVERTENCIA: // Ajustar el PIN incorrecto puede tener resultados inesperados y potencialmente desastrosas. // Utilizar con precaución y hacer su tarea. // // # define Z_MIN_PROBE_ENDSTOP

    Gracias @{JAD}, habrá que experimentar...

    pd: Creo que tengo que hacer algo asi... en el FW
    Un if para evaluar si esta el autolevel ON
    crear una variable Z_SENSOR_ENDSTOP y cambiar lo necesario para que se haga correctamente el proceso. (parece delicado) y merece una versión de fw (por si las moscas)