Buenas tardes compañeros makers hace alrededor de dos meses estoy reconstruyendo una impresora que tenia abandonada hacia 5 años haciendole algunas modificaciones tales como colocarle la pantalla para el menu y el sensor autonivel cargue el firmware y probe el home en el eje y, y en el eje z realiza bien esta opcion pero en el eje x solo lo hace la primera ocasion sise le da una segunda vez la opcion de home se estrella en la parte derecha es decir sigue avanzando sin control como si corriera el area de impresion, y luego no responde al comando de retroceder si no hasta el puno del que partio,trate de devolverla apagada y tratar de trabajar asi pues el home me lo realizaba la primera vez pero al colocarla a imprimir no se traslada ala esquina delantera derecha y se estrella, es uno de los dos problemas que tengo para con respecto a la impresora, soy nuevo en el foro y he notado que hay mucho conocimento que ayuda a los makers novatos como yo para solucionar estas novedades agradesco que me puedan brindar una orientacion al respecto ,trate modificando estos valores dandoles un valor puntual como se hacia en los firmwares anteriores pero siguio con la falla exactamente igual agradezco la ayuda .
#define LEFT_PROBE_BED_POSITION (MIN_PROBE_EDGE+X_PROBE_OFFSET_FROM_EXTRUDER)
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION (MIN_PROBE_EDGE+Y_PROBE_OFFSET_FROM_EXTRUDER)
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)
Hola @ orlando lopez, bienvenido al foro.
Lo primero indicarte que esos parámetros que estás modificando, solo afectan a la rejilla de mediciones del autolevel y no tienen ninguna influencia sobre el homing de los ejes.
Con lo que indicas no me queda muy claro lo que hace la impresora al realizar el home del eje X, pero creo entender que lo realiza bien la primera vez que se le ordena, pero en las siguientes, el cabezal de impresión se mueve hacia el lado contrario al que se encuentra el interruptor de final de carrera, sin parar hasta que desconectas la impresora.
Si es como indico, parece que el problema está en dicho final de carrera que, por un defecto en el interruptor o en el circuito que lo controla en la placa, se queda activado contínuamente después del primer home y al detectarlo como pulsado, el firmware intenta separar el cabezal para que se desactive: como no lo consigue, no para nunca.
Para comprobarlo puedes colocar, el interruptor que ahora tienes en el eje X, en el Y y viceversa: si el problema se traslada al eje Y, se confirmaría que es él el causante.
Si realizando lo anterior, el problema se mantiene en el eje X, puede que el problema esté en la placa de control.
Si no puedes realizar ese cambio, otra forma de comprobar el funcionamiento de los finales de carrera, sería mediante el comando M119 y viendo si en alguna ocasión se queda activado algún eje sin estar pulsado su interruptor.
(21-12-2020, 01:05 AM)Simemart escribió: Hola @orlando lopez, bienvenido al foro.
Lo primero indicarte que esos parámetros que estás modificando, solo afectan a la rejilla de mediciones del autolevel y no tienen ninguna influencia sobre el homing de los ejes.
Con lo que indicas no me queda muy claro lo que hace la impresora al realizar el home del eje X, pero creo entender que lo realiza bien la primera vez que se le ordena, pero en las siguientes, el cabezal de impresión se mueve hacia el lado contrario al que se encuentra el interruptor de final de carrera, sin parar hasta que desconectas la impresora.
Si es como indico, parece que el problema está en dicho final de carrera que, por un defecto en el interruptor o en el circuito que lo controla en la placa, se queda activado contínuamente después del primer home y al detectarlo como pulsado, el firmware intenta separar el cabezal para que se desactive: como no lo consigue, no para nunca.
Para comprobarlo puedes colocar, el interruptor que ahora tienes en el eje X, en el Y y viceversa: si el problema se traslada al eje Y, se confirmaría que es él el causante.
Si realizando lo anterior, el problema se mantiene en el eje X, puede que el problema esté en la placa de control.
Si no puedes realizar ese cambio, otra forma de comprobar el funcionamiento de los finales de carrera, sería mediante el comando M119 y viendo si en alguna ocasión se queda activado algún eje sin estar pulsado su interruptor. muchisimas gracias tal como me indicaba el problema provenía del sensor en x , el sensor se encontraba bien pero la logica estaba invertida,
define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
despues de comprobar que el final de carrera estuviera bien , corregi la logica en las lineas que estan en rojos gracias realmente me ayudo muchisimo su consejo eres un crack el home ya lo realiza perfecto, me surgio otro problema ademas del los dos que ya tenia, es decir volvi a quedar con dos temas uno se trata de que cuando le doy imprimir el gcode realizado con repetier me esta imprimiendo demasiado en el borde frontal de la cama y no lo note si hasta despues de que pudiera realizar el home, y el otros es que no me deja guardar cambios en la impresora locual es necesario para cuadrar el desface en z el codigo m500 no lo recpnoce en el pronterface y tampoco me da la opcion en el menu de la pantalla lcd, debo abrir un tema distinto para estas novedades mil gracias quedo atento y definitivamente eres un crack .
Me alegro que solucionases el primer problema, pero creo que te has confundido al señalar las líneas que has modificado para conseguirlo: ¿estás utilizando el conector X_MIN o el X_MAX de la placa?. Por cierto, que no has indicado nada del hardware que estás usando.
En relación con los otros dos problemas, el segundo es el más sencillo de solucionar: solo tienes que descomentar las líneas #define EEPROM_SETTINGS y #define EEPROM_CHITCHAT, que se encuentran en el archivo Configuration.h de Marlin. Con eso, ya te aparecerán las opciones en el menú para controlar la memoria EEPROM y se habilitarán los comandos M500, M501 y M502.
Sobre el segundo problema, que no te queden las impresiones en el mismo lugar de la cama que se ve en el Repetirer, se debe a que no tienes bien definidos el tamaño y/o la posición del área de impresión, en el Repetier y/o en el firmware.
Para decirte como solucionarlo, lo más rápido es que adjuntes (en un ZIP) los archivos de configuración de Marlin que estás utilizando.
22-12-2020, 01:24 AM
(Última modificación: 22-12-2020, 05:48 PM por orlando lopez.)
Mil gracias ahorita probare descomentando las lineas que me indico para poder activar la opcion de guardar, desafortunadamente creo que excedi el tamaño del archivo que se puede subir no me dejo la plataforma sin embargo copio parte del contenido del la pestaña configuration.h que es en la cual he realizado todas las modificaciones ya que copiar la totalidad del contenido excedia la longitud del mensaje jeje, de verdad le agradezco la ayuda quien sabe cuanto tiempo me habria tardado en dar con esas soluciones voy a de inmediato a probar descomentando la linea indicada para habilitar el M500 .
Marlin solo tiene dos archivos de configuración, Configuration.h y Configuration_adv.h, que son los que te pedía que adjuntases: supongo que has intentado adjuntar toda la carpeta lo que, como es lógico, el motor del foro no te ha permitido.
Si te parece, borra lo que has incluido en tu anterior respuesta para hacer más fácil la lectura del post y vuelve a intentarlo, pues en lo que has incluido veo bastantes cosas a comentar y supongo que en el resto tendrás más.
Según esa configuración, veo lo siguiente (si algo no concuerda con el hardware que tienes realmente, es que está mal configurado):
- Tienes interruptores de final de carrera conectados en X MIN y en Y_MIN, por lo que no acabo de entender como es que te afectaba al home el X MAX. Sería buena ayuda saber que placa tienes y como tienes conectado todo esto.
- Veo que tienes un sensor para el autolevel del tipo PNP (probablemente inductivo o capacitivo), conetado en Z MIN y que tienes activado el Z Safe Homing, por lo que el home del eje Z lo hace en el centro de la cama.
- Como sistema de arrastre en el eje Z tienes varillas de rosca métrica M5, muy inapropiadas para esta finalidad.
- Tienes posicionado el sensor del autolevel a la altura de la boquilla en el eje X y separado 55 mm del centro de la boquilla en el eje Y, hacia el sentido positivo de dicho eje (normalmente detrás del hotend) .
- Has configurado manualmente los límites de la rejilla de medición, pero los valores que has utilizado son los mismos que pondría en automático si comentases esas líneas.
- En ese archivo aun tienes deshabilitado el uso de la memoria EEPROM.
- Tienes configurado el idioma de la pantalla en inglés, aunque supongo que sabrás que puedes ponerlo en español.
- Tienes activada la opción del menú para realizar el homing de los ejes por separado, lo que viene bien para el ajuste que haremos más adelante.
- Tienes una pantalla gráfica con lector de tarjeta SD.
Para explicarte como tienes que hacer el proceso para solucionar el problema de posicionamiento de las piezas impresas, voy a suponer que esa configuración está correcta, pero antes tendrás que cambiar lo siguiente:
- Comenta las líneas de definición de la rejilla del autolevel, dejando así que lo haga Marlin de forma automática en función del resto de configuraciones:
//#define LEFT_PROBE_BED_POSITION (MIN_PROBE_EDGE+X_PROBE_OFFSET_FROM_EXTRUDER) // modificado 25/11/2020¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) // modificado 25/11/2020¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
//#define FRONT_PROBE_BED_POSITION (MIN_PROBE_EDGE+Y_PROBE_OFFSET_FROM_EXTRUDER) // modificado 25/11/2020¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) // modificado 25/11/2020¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
- Mide la cama y confirma que tiene 200x200 mm. Si no es así, cámbialo en las líneas:
#define X_BED_SIZE 200
#define Y_BED_SIZE 200
- Configura a 0 los offsets de X e Y:
#define X_MIN_POS 0
#define Y_MIN_POS 0
- Habilita la memoria EEPROM:
#define EEPROM_SETTINGS // Enable for M500 and M501 commands
Compila y graba de nuevo el firmware. Cuando se reinicie, selecciona la opción del menú Control>Restore failsafe, seguida de Control>Store settings.
El proceso para configurar correctamente el área de impresión sería:
- Con el menú de la pantalla, realiza un home del eje X.
Si tienes colocado el interruptor de carrera según la norma, el cabezal de impresión debería moverse hacia la izquierda de la impresora y pararse con el centro de la boquilla justo en el borde de la cama o fuera de ella. Si queda dentro de la cama es que está mal posicionado el interruptor de final de carrera y estás perdiendo área de impresión. En este caso o si queda justo en el borde, anotamos el valor OffX=0.
Si queda fuera de la cama, mueve el eje X con el menú de la pantalla y deja el centro de la boquilla justo encima del borde: toma nota del valor de la posición del eje X que indique la pantalla en ese momento, que será el valor para OffX.
Ahora, sigue moviendo el eje X hasta que el centro de la boquilla llegue al borde opuesto de la cama y anota el valor que indica la pantalla.
Si no fuese posible alcanzar dicho borde (porque se produzca algún choque, lo que indicaría un mal diseño de la impresora), anota el valor de la posición que indica el eje X en el punto de choque, restándole un margen prudencial (5 mm, por ejemplo).
Al valor anotado lo llamaremos MaxX.
-Repite el proceso anterior para el eje Y, solo que ahora el borde de la cama debería ser el delantero y los valores obtenidos OffY y MaxY.
Con esos valores, la configuración sería (ojo, hay que poner los valores numéricos, no literalmente las líneas que escribo):
#define X_BED_SIZE MaxX-OffX
#define Y_BED_SIZE MaxY-OffY
#define X_MIN_POS -OffX
#define Y_MIN_POS -OffY
Con esos valores, el firmware quedaría bien configurado y solo te quedaría indicar en el Repetier que el tamaño del área de impresión es X= MaxX-OffX e Y= MaxY-OffY.
22-12-2020, 06:31 PM
(Última modificación: 22-12-2020, 06:47 PM por orlando lopez.)
Buen dia
ya edite la respuesta anterior desafortunadamente no pude subirla de otra forma, la linea que me indicaste para activar la opcion de M500 quedo habilitada funciono bastante bien hasta donde pude observar la calibracion en z se pudo realizar en la ultima respuesta aun no habia realizado la modificacion lo siento por eso voy a revisar las otras indicaciones que me diste y adjunto fotos de la tarjeta y la conexion como dije aun la estoy reconstruyendo la tenia abandonada hace poco menos de 5 años y la tenia funcionando sin el display y sin el sensor inductivo espero que no te asustes por el amasijo de cables tengo que ordenarlos y mas adelante cambiar el marco, si no estoy mal se trata de una ramp 1.4 conectada aun arduino 2560, la cama efectivamente tiene 200 x 200 mm venia configurada con el valor de 220 mm inicialmente no se si esta modificacion tenga algo que ver con el problema anteriormente mencionado, por el momento me remitire a las modificaciones que me indicas, como siempre mil gracias.
Feliz navidad
desafortunadamente los cambios que me indicaste en la cama no me los tomo el programa me dio el siguiente error.
Movement bounds ([XY]_MIN_POS, [XY]_MAX_POS) are too narrow to contain [XY]_BED_SIZE.
static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE
realice la prueba con otra pieza distinta y note algo extraño no era que me estuviera tomando una parte de la cama si no que esta haciendo las piezas en el borde de la cama, adjunto una fotografía pues no se como escribirlo en términos sencillos, se trata de un soporte con forma de tentáculo que se encuentra en cults, no se como centrarla y además instale un ventilador de capa pero no me ha logrado funcionar cuando realiza la primera capa estoy por conectarlo directamente ala fuente pero no seria lo ideal, para este tema debo colocar un tema nuevo agradezco de verdad la ayuda, en especial un agradecimiento para simemart que ha sido una gran ayuda y fuente de conocimiento en estos errores desconocidos para mi, seguiré mejorando la impresora por que realmente le faltan muchas cosas ahorita parece una casa abandonada feliz navidad y feliz año.
Hola, ¿que valores son los que has configurado? ¿Has seguido paso a paso el proceso que te indiqué o utilizaste otros valores?
Por los errores que indicas, supongo que no has tenido en cuenta mi aviso de que, en las líneas que hay que modificar, se deben poner los valores que resultan de las operaciones escritas y no literalmente lo escrito.
MaxX, MaxY, OffX y OffY son los valores de las medidas realizadas y lo que hay que asignar a los parámetros son los resultados de las operaciones: para el tamaño de la cama, el valor de las operaciones MaxX-OffX y MaxY-OffY; para los offsets de XY, los valores de OffX y de OffY con signo negativo.
Te recomiendo que leas con más calma y paso a paso: si hay algo que no entiendes, no dudes en preguntar.
Te deseo felices fiestas.
|