Autonivelado



  • MI interpretacion es :
    El problema del pin D32 es que esta tapado por la conexion de la pantalla lcd de la impresora . Por lo demas y viendo lo visto , no tendrias más problemas ya que esta preparado para la RAMPS , otro cantar seria que tubieras otra placa diferente  ahi ya tendrias que modificar el archivo pins_XXXXXX.h.
    #if ENABLED(Z_MIN_PROBE_ENDSTOP)
      // Define a pin to use as the signal pin on Arduino for the Z_PROBE endstop.
      #define Z_MIN_PROBE_PIN  32
    #endif
    Suerte y ya nos contaras @{Andurino}



  • Post otro foro sobre Arduino mega PInes

    Informacion arduino arduino Mega
    wiki Reprap

    Por si sirve para algo

    Saludos.



  • @JAD me estoy bajando "creo que la ultima version del Marlin ( la original ) " y estoy buscando el archivo que contenga alguna cadena de las que has pegado.

    Descarga Directa Marlin 1.1.0-RC7.zip y la version de bq carece de archivo de proyecto arduino... ???
    No obtengo coincidencias ¿sera posible que este buscando en una versión "original" distinta?
    ¿Cual?

    Gracias y Saludos.



  • Hola a todos,gracias por vuestra colaboracion . Yo creo que entre todos podemos hacer un tutorial para i3 hephetos"autonivelado".Asi que hay que buscar el firmware,el sensor,conectividad,configuracion,algo que funciona para que la gente que empezamos en este mundo podemos ir avanzado en manejo de las impresoras 3d.Un saludo.gracias



  • Hola de nuevo @{Andurino} y @{julka} , perdon por no contestar antes . Efectivamente esa es la ultima version del Marlin . ¿ Que cadena es la que buscas ? . Lo que pegue en post anteriores son de los archivos configuration.h y pins_RAMPS_14.h .

    PD: Ten encuenta que si activas esta opcion del marlin ( la de tener por separado el final de carrera del eje Z y el sensor inductivo o capacitivo) ,Cuando hagas un homing G28 , la impresora utilizara el final de carrera Z_min , mientras que si haces un G29 o G30 , utilizara el sensor D32. Estoy mirando a ver de poder utilizar otra entrada diferente a D32 , ya que esta como indique esta tapada por el conector de la pantalla , porejemplo D5 que corresponderia al 3 servo (encaso de no utilizarlo claro).



  • Hola @{JAD}

    Perdona tu a nosotros que somos los que estamos aprendiendo y tu el que te molestas.
            y encima aguantado cosillas: 😄
    Una apreciación, yo se que cuando tu dices D32 o G9  se mas o menos de a que te puedes estar refiriendo en un momento (en un post X).
    Creo que la mayoría no sabe donde esta ese pin (yo me incluyo) por muy detrás del conector , no digo que no muerda cuando lo encuentre, digo que no lo veo/encuentro.

    En tu PD: Haces o aludes a lo que te estaba sugiriendo post arriba, usar un pin para el sensor... Y creo que sera la solución "para que todo el mundo sepa como se hace". Ya se ira viendo por donde nos lleva el debate.
    Yo veo que va ha ser un debate bastante positivo/constructivo.

    Saludos:

    PD: Mas cositas que a mi no me funcionan (no se que hago mal)
    https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/Configuration.h

    No encuentro cadena coincidente con en los archivos que aludes ni en ningun otro
    // Support
    Z_MIN_PROBE

    PD2: Me gustaría aclarar que mi modo de hablar es sin acritud.



  • @{Andurino}  linea 528 del fichero configuration.h :

    //#define Z_MIN_PROBE_ENDSTOP



  • Un consejo cuando montes el sensor ( ya sea capacitivo o inductivo ) , comprueva priemero que este funcionando . Manda desde el pc con cualquier programa ( ejemplo Pronterface ) M119 . Este comando lo que hace es decirte el marlin en que estado se encuentran los endstops . Si tapas el sensor tendra que decirte que esta  en ON , asi sabras si esta funcionando.



  • Yo que tengo decir al respecto @{JAD}, que es un magnifico consejo:


    Antes yo verificaría me aseguraría de tener correctamente alimentado el sensor y tener muy claro que es cada cable y donde va pinchado. (esto ya en si es para un buen post, porque no todo el mundo puede entender cierta terminología/procedimiento técnico y quiera aprender como y porque se hace de un modo u otro)

    (opcional, mostrar valores M119 para su modificiacion y version de FW)Luego hacemos los test de funcionamiento con gcode. /logicas etc... , que dependen del paso previo

    Hacer cambios en el firmware y conectado según un "criterio (firmware)" , que dependen del paso previo.

    Luego hacemos los test de funcionamiento con gcode. /logicas etc... , que dependen del paso previo (mostrar versión fw)

    Algo debe pasar. y no es para nada lo esperado. Entonces es que me estoy equivocando en algo.

    Saludos.

    PD: Yo se que algunos habéis conseguido que funcione, yo no. NO se que fw usáis o/y que modificaciones.. ni idea...

    PD: Entiendo de tus respuestas que entiendes que no hay acritud en la mias.



  • A ver @{Andurino} , yo he llegado a montar el sensor y hacerlo funcionar. Otra cosa es que los resultados obtenidos , fueran de mi agrado. Como no obtenia datos fiables del sensor ( en cada nivelado de la cama , daba datos diferentes, igual era por defecto del sensor , pero ya te digo que suelen ser sensibles a la temperatura ) obte por descartarlo y utilizar el auto-level de siempre. Las modificaciones son sencillas , el tema de la electronica yo le puse un diodo ( el sensor trabaja con niveles de +12 y la entrada en la ramps es de TTL 5v).
    PD : El sensor capt. lo instale con una version del MARLIN original.



  • @{JAD} se me ocurre que quizás re interpretando la manera de medir, el resultado se parezca mas a lo que es de tu agrado. Pero antes debe funcionar (no es mi caso).


    El hecho de tener dos medidas A Y B , sensor y final de carrera , separados, no se... pero se me ocurren unas cuantas maneras de auto corregir valores (por insensibilidad térmica) independientemente de si son abiertos o cerrados. Incluso hacer un ofset (manual por el LCD, o lo que haga falta)

    Saludos.

    PD: Si alguien ha curioseado por el código parece que solo se compila "con una analogía evidente" con otras versiones XL, Maquinas e idiomas.¿alguien encontró la versión autolevel?



  • Buenas @andurino creo que estas intentando contruir la casa por el tejado.

    Una instalación basica para ver el funcionamiento:

    • 1 Sensor capacitativo (para evitar sustituir la base o hacer inventos).
    • 1 diodo
    • Arduino 1.0.6 (para compilar)
    • Firmware 1.4.2 u otro.

    Una vez te funcione esto pasamos a configurar el final de carrera Z (como backup)

    PD: Esta combinación la he utilizado funciona correctamente!!!!!!!

    Un saludo.



  • Hola @{Calamar}


    Puedo entender tu discrepancia no tu argumentacion.
    En el segundo post esta mi casa por el tejado.

    Saludos.
    PD: Disculpa si percibes acritud en mis palabras.



  • Hola @{JAD} 

            Te pido disculpas anticipadas. 
             He visto tu
    he intentado rebuscar el archivo que has pegado parcialmente y no lo has enlazado. (igual si y no me doy cuenta)
    Sigo sin tener muy claro este asunto.
    Disculpa, no se que hago mal para no encontrar la fuente esas líneas y poder entender el código.

            Entiende que hay algo que yo hago mal pero necesito algo de ayuda para ver mi error. Otra cosa es que sea parte de algún código privativo, que es totalmente legitimo.

    Saludos.



  • Hola @{Andurino}
     Disculpas aceptadas , pero no se de que ¿?.
     ¿ Que archivo es el que no encuentras y que se supone que he pegado ?.
      ¿ Que asunto es el que no tienes claro ? . El de el sensor , el marilin ... o todos.
    Las fuentes de esas lineas estan en los ficheros que te he puesto anteriror mente.
     Exactamnete que es lo que no te funciona del auto_level , el sensor , la impresora no para, cuando el sensor se activa ( marlin ) ... ¿?. El marlin es un codigo opensource , no tiene codigo privativo.
     Puedes especificar mejor cual es el problema , que te funciona y que no , a ver si asi podemos hacer entre todos que te funcione el auto_level, lo mas probable es que sea cualquier pequeña cosa que se te haya pasado sin darte cuenta.



  • Hola @{JAD}

            Gracias.
    (Las disculpas son "necesarias" porque se pueden interpretar "los textos" de varios modos, y no necesariamente en sentido constructivo.) Veo  y aprecio tu sentido constructivo.
           En el segundo post de este tema están los enlaces a otros temas míos donde yo expongo mi opción para compilar (porque es necesario en cualquier caso para el autolevel).
           En el segundo post de ese seguno post , esta mi "experimento" y mi duda.

    MI duda: (cuestiones secundarias) 
     (olvídate de momento de la parte electrónica de las conexiones del sensor, diodos, divisores, capacitivos, inductivos, abiertos,cerrados... yo eso lo tengo claro).
           Necesito conocer si es posible usar un PIN ¿cual? y de que modo en en código ¿cual? con que modificaciones ¿cuales?. La teoría de la programación me hace deducir que esto ya esta "pensado"... y vi el código que posteaste y vi expresado pero comentado una linea que me llamo la atención.
      //#define Z_MIN_PROBE_ENDSTOP  y el texto anterior (no encuentro el archivo que lo contiene)
    Si fuera un Pin (poco accesible). Hay que hacer una versión de fw de todos modos
    Dudas problemas:
    A) Es "sencillo" cambiar el fichero de pinXXX.h (el que corresponda) y adecuarlo a otro pin con otra función. 
    B) Quizás no sea necesario y solo haya que cambiar una asignación (para eso necesito ver el código(y aquí es donde me estoy equivocando, no encuentro ese texto)
    C) Seguro que es algun pequeño detalle que he obviado y no se que es..

    Saludos y Gracias
    PD: la foto se ve genial @{JAD}
    Se ha ido Solucionado:
    ¿Que pin se puede usar y como para el cable de datos del sensor? (distinto al del final de carrera de Z)
    D32 ¿es un pin físico? (según me has dicho es uno que no es muy accesible, pero no se cual es)



  • A ver @{Andurino}  si se ve la foto antes de seguir



  • Técnicamente igual que esta versión de fabricante ¿no?


    Necesito conocer la fuente (enlaces) del código  que dices usar (no dudo de tu palabra, no encuentro lo que has publicado). Como bien indicas Marlin es SW libre .. y todo eso...

    Cada "versión" de firmware parece que los cambios requeridos para obtener una compilación de una versión dada es de criterio dispar en cada versión (incluidas las subversiones de un mismo repositorio, algunas incluso carecen del archivo de proyecto  arduino). 
    La fecha del vídeo de tu vídeo o thing  y revisar todas las versiones de marlin ... (solo puedo descartar las versiones posteriores)  

    Ademas de los cambios en si para el autolevel.

    Saludos y Gracias.



  • Correcto
    Sigo aqui por que como la foto es grande no me deja añadir mas texto :
    #if ENABLED(Z_MIN_PROBE_ENDSTOP)
      // Define a pin to use as the signal pin on Arduino for the Z_PROBE endstop.
      #define Z_MIN_PROBE_PIN 32   cambiar por 5
    #endif
    Con esto tendrias cambiado el pin D32 por el D5 que son pines digitales

    PD : perdona pero me he equivocado de pins el D3 seria el D5 , a demas estas salidas son PWM , tendria que ver alguna que fuera digital (ahora no sabria decirte si se pueden poner de entrada). Ya mirare a ver .



  • JAD dijo:
    @{Andurino}  linea 528 del fichero configuration.h :

    //#define Z_MIN_PROBE_ENDSTOP
    https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/Configuration.h 
    Ese enlace vale para la ultima versión publica pero no se cual es y esto es conflictivo a la hora de programar ya que es imprescindible conocer el "objeto concreto" al que uno se puede referir. (es engañoso)

    No pretendo dar una charla ni convencerte de nada, solo indicarte así "rápidamente" hay 5 ramas y 11 releasess , y muchas mas solo dentro de ese repositorio (original marlin)

    Yo entiendo que BQ se ha molestado en disponer de marlin para sus maquinas, cosa perfectamente normal.
    Y ha publicado su versión de FW marlin para sus maquinas.

    "Yo no encuentro esas cadenas" en los repositorios marlin BQ https://github.com/bq/Marlin

    Intuyo habrá que reescribir bastante código y/o compilar otras versiones de FW , que se dejen. 

    Haciendo exactamente lo mismo , no todas las  versiones FW se compilan del mismo modo, por motivos X.
    DUDA
    ¿Que FW elegir para compilar?.


    A mi parecer tu comentario, muy acertado y muy agradecido que estoy por el mismo, habría que enlazarlo de un modo mas "concreto" . De este modo con el tiempo iran cambiando "cosas" pero esta claro a que te referías "en un momento del pasado".
    Hoy y ahora lo que podemos hacer es documentar.
    Yo te sugiero ejemplos de enlace de versiones de un mismo archivo de configuration,h de distintos repos y versiones.

    Me has dicho que era esta @JAD

    Marlin 1.1.0-RC7 configuration.h (linea 528) //#define Z_MIN_PROBE_ENDSTOP 
    Enlace completo incluida la version/rama.
    https://github.com/MarlinFirmware/Marlin/blob/1.1.0-RC7/Marlin/Configuration.h 

    Enlace completo incluida la version/rama.
    https://github.com/bq/Marlin/blob/2.3.1/Marlin/config/hephestos/Configuration.h

    ¿una versión mucho mas antigua? .Se busca la version y rama en el github y simplemente se enlaza (no se si ¿sabes como se ven/buscan versiones en github?)

    https://github.com/MarlinFirmware/Marlin/tree/1.0.0-beta
    https://github.com/bq/Marlin/tree/1.0.0

    Saludos.




    Por otro lado Estudio Electrónico con objeto de hacer un supuesto firmware (es necesario)
    http://www.reprap.org/mediawiki/images/0/06/RAMPS_dossier.pdf pagina 3 enlace

    La Ramps permite ciertas conexiones y estas son "adaptables" a las necesidades del usuario.
    Independiente del modo en que se decida que usar o no y de que modo , necesitaremos conocer a groso modo:
    * Que tenemos 
    * Que necesitamos 
    * Que podemos hacer
    El inventario "teórico de chismes conectables" puede variar

    La Ramps 1.4 permite:
    Dos extrusores y dos termistores (ojo simples- calentar y controlar temperatura, no hay control de temperatura con otro ventilador como hace la hephestos y otros usuarios conectar otros dispositivos junto a cierta electrónica que la hephestos no trae pero se puede añadir)
    Conexión para un tercer termistor (cama caliente)
    Ademas no se se están usando físicamente 3 pines de señal de los finales de carera máximo.
    • las variables en el firmware que dependen de estos pines no se comportaran del modo esperado , requiere un "by-pas" en el firmware (reprogramar)
    • El tipo de señal si es digital o PWM no esta claro (para mi)     
    El uso de D32 , requiere de ciertas habilidades y herramientas que no todo el mundo tiene.
    Salvo que este equivocado y no sea posible, uno los pines A13 A14 A15 no se estará usando , salvo que dispongamos de dos extrusores distintos al original (o para tal fin).

    El uso de cualquier pin libre de "servos" o "AuxN" , me hace dudar sobre si son digitales o PWM
    Siendo optimista esto me quedaría resumido a dos opciones (no sin trabajo)
    Una I3 con 1 único material, con cama caliente y auto nivel
    Una I3 con 2 materiales , con cama caliente, sin autolevel (hay salvedades, pero cambiado extrusores)



    Mi deseo es que sea posible una i3 con 2 o mas materiales (independientemente del extrusor) con cama caliente o otro dispositivo y autolevel. Una I3 con 1 único material, con cama caliente y auto nivel

    La gestión de un único extrusor no tiene porque limitar al hardware actual gestionando de otro modo  el extrusor se podrán añadir N extrusores "materiales/herramientas". Con hardware que seria un hipotético asunto a tratar en otro tema del foro si es oportuno, basicamente convertir el pineado del extrusor , en un serial que comunique con otro arduino que maneje únicamente (sin diseñar) extrusores, herramientas, etc....

    Saludos.