05-02-2025, 08:24 PM
Señores, me he metido en un lio y no salgo de él:
Actualicé el Marlin 2,1. en la Genius. Todo perfecto. Me dispuse a hacer un PID autotune desde la pantalla de la impresora, y ahí se lió. Para que lo hiciera tuve que ir subiendo los grados manualmente por que si no devolvía error. Para el hotend lo tuve que ir subiendo hast los 73º y la cama hasta los 113º. Cuando terminó, me di cuenta que se quedaron grabados ésos grados y cuando mando a imprimir un Gcode, pues con el hotend no hay problema por que siempre se lo envío a unos 230º (Por encima de los 73º que se han quedado fijos) y comienza a calentar. Pero en cuanto tiene que calentar la cama a 75º, pues no hace nada. Entiende que YA ESTA a
113º !!!.
He subido con el Pronterface varias veces el HEX, flhaseando.. He cargado también los ficheros de la pantalla y RESETEAdO CON EL FICHERO gCODE. Pero no hay manera: Vuelven a salir los grados de marras.
Alguna idéa?
Hola, no entiendo bien eso de que se quedaron grabados esos valores de temperatura, pues la que indica la pantalla debería ser la que marca el termistor correspondiente, no un valor configurado en el propio firmware.
Tampoco entiendo eso de subir los grados manualmente para hacer un PID Autotune: es un proceso automático, o lo hace o no lo hace, pero no se puede cambiar nada una vez lanzado el comando, así que entiendo que no ha sido ese proceso el que has realizado desde la pantalla.
Cuando cambias el firmware, hay que refrescar la memoria EEPROM, pues en el arranque se toman los valores almacenados en ella y es probable que sea eso la causa de que no cambien los valores mostrados en la pantalla.
Gracias, Simemart. Seré más preciso:
Después de flasheado el nuevo Marlin correctamente, ejecuté el PID autotune del nozle. Salía en pantalla (creo recordar 0º). Presioné el enter para inicio del Autotune y daba error. Fuí subiendo grados (signo +) y, al final, al seleccionar los 73º, fué cuando se puso ha hacer el PID. Con la cama, igual: hasta que llegué a los 113º. Terminados ambos procesos, fué cuando observé que se habían quedado fijos ésos valores. Apagas y enciendes la impresora y vuelven a salir. Y, si mandas a imprimir y en el Gcode no se ordena unos grados mayores a los 73 o 113º, no calienta nada y no se ejecuta la impresión.
Estaba convencido que, al subir el nuevo firmware, la máquina se quedaba "reseteada" por completo. La pregunta es: Cómo se refresca la EEPROM después de subido el nuevo firmware?.
Como siempre, muchas gracias por tu ayuda.
Por lo que indicas, me temo que el proceso que lanzas por pantalla no es un PID Autotune o no está funcionando como debería.
Te explico por qué hay que refrescar la memoria EEPROM cuando se cambia el firmware.
Cuando se arranca la máquina, se cargan en la memoria de trabajo (RAM) de la MCU (microcontrolador de la placa) el valor de los parámetros de trabajo: si no está activa la memoria EEPROM (su uso se configura en el propio firmware), esos valores se cargan del propio código de este (es decir, los valores que configuramos en él antes de compilarlo), pero si está activa la EEPROM, esta almacena el valor de dichos parámetros y se cargan en memoria desde ella, sin tener en cuenta los del propio firmware.
El contenido de la memoria EEPROM no se refresca de forma automática, hay que utilizar los comandos específicos para ello por lo que, si no se hace después de cambiar el firmware, se seguirán utilizando los valores antiguos que almacena la EEPROM, no los que tiene programado el nuevo firmware.
Para refrescar la EEPROM suele haber dos formas: por el menú de la pantalla, si este lo incorpora o mediante los comandos gcode M502 y M500 (enviados con el Pronterface, por ejemplo).
06-02-2025, 08:20 PM
(Última modificación: 06-02-2025, 08:22 PM por JCVMadriles.)
Es decir, subo el firm por el Pronterface nuevamente. Y terminada la subida, mando desde el mismo Pronter los códigos 502 (1º) y después el 500 y queda reseteada la EEPROM?
Exactamente ese es el proceso si está activada la EEPROM.
06-02-2025, 09:35 PM
(Última modificación: 06-02-2025, 09:42 PM por JCVMadriles.)
Y cómo sé si está activada (o no) la eeprom).
Acabo de llevar adelante todos los pasos desde el Pronter . Y nada, siguen apareciendo los grados anteriores. He metido los códigos 502 y 500 desde el monitor de la impresora. Tampoco.
Otra prueba: De los tipos de impresiones pre establecidas en el monitor, le he dado a ABS: 230 hotend y 90 cama. El hotend comienza a calentar hasta los 230. La cama avisa de ENFRIANDO!!
Hay varias pistas que indican si la EEPROM está activada:
- si los cambios realizados en la configuración por pantalla se mantienen entre reinicios (activa) o se borran al apagar (no activa).
- si no hay respuesta al enviar el comando M500 o se indica que no se reconoce el comando, significa que no está activa.
- si después de cargar el firmware con algún parámetro cambiado, el valor que indica la impresora es el incluido en él.
Los comandos gcode son el M502 y M500, no sé si los estás escribiendo así o como los escribes en el mensaje, solo los números.
Por otra parte, quizá el problema no esté en el firmware de la placa, sino en el de la pantalla, que también deberías cargar de nuevo.
Perdón por el lapsus: Si, lo escribo con la M delante.
Y he comprobado lo que comentas: Vario desde el monitor de la impresora los PID, y le doy a grabar. Apago y vuelvo a encender y el cambio se mantiene. Por tanto está activa la EEPROM.
Además, desde el Pronter, responde a los comandos correctamente:
![[Imagen: Captura-de-pantalla-2025-02-06-222713.png]](https://i.ibb.co/wZcFtPdp/Captura-de-pantalla-2025-02-06-222713.png)
El problema es que , en el gráfico sigue mostrando las temperaturas malditas:
![[Imagen: Captura-de-pantalla-2025-02-06-222823.png]](https://i.ibb.co/VWttChCh/Captura-de-pantalla-2025-02-06-222823.png)
Si, siempre cargo la pantalla también.
Ya no sé qué hacer. Y, como siempre, cuando más falta te hace la maldita impresora!!
Como indicaba en mi primer mensaje, las temperaturas que se muestran en la pantalla son las que el firmware considera que tienen esos elementos, en función de los valores de voltaje que le entran por los pines que controlan los termistores y si nos atenemos estrictamente a ello, probablemente exista un problema en el hardware que hace que el firmware crea que son las reales: cuando desconectas de la placa el termistor, ¿cambia el valor mostrado en la pantalla?
No habia desconectado el termistor. Ahora si, he desconectado el de la cama y apagado y encendido la impresora: Sigue reflejando los 113º.
Pues entonces, lo más probable es que esté dañado algún componente de los circuitos de la placa que controlan los termistores.
Si es así y a no ser que sepas reparar la placa, me temo que vas a tener que cambiarla por una nueva.
Teniendo en cuenta ésa opción (cambio de placa), cabría la posibilidad de hacerle un "reset" a la MKS Gen VL directamente??
No entiendo a que te refieres.
Quiero decir, borrar todos los datos que pudiéra tener..
Esto no es un disco duro con información personal, lo único que hay en su memoria flash es el bootloader y el firmware Marlin y en la EEPROM los valores de los parámetros actuales, nada que merezca la pena borrar.
08-02-2025, 05:39 PM
(Última modificación: 08-02-2025, 05:41 PM por JCVMadriles.)
A eso me refiero, borrar la EEPROM y, supuestamente, los grados que permanecen ahí.. O preguntado de otra forma: Dónde se almacenan ésos grados del PID?. La cuestión es borrarlos..
Me temo que no me explico suficientemente claro: esos grados que te muestra la pantalla son a los que considera el firmware que están esos elementos, por la lectura que hace del pin que controla su termistor, nada que ver con el PID (el PID no tiene temperaturas).
Mejor te explico como funciona el control de la temperatura y así creo que quedará más claro.
Los termistores son resistencias que varian con la temperatura (al aumentar esta, disminuye su resistencia) y van conectados a la MCU en un pin con funcionalidad ADC (convertidor analógico/digital), que convierte el voltaje presente en el pin, que es proporcional a la resistencia, en un valor numérico.
Dicho valor numérico se compara con los almacenados en la tabla valor/temperatura correspondiente al tipo de termistor (por eso se configura que tipo es en el firmware) y ese es el valor de temperatura que considera que tienen los dispositivos.
En tu caso, la resistencia que tiene el termistor no se corresponde con la que debería tener a esa temperatura (ambiente) y de ahí que indique una más alta, lo que puede ser debido a un fallo en el circuito que conecta el termistor a la MCU o a un termistor defectuoso o cortocircuitado: como en tu caso te sucede tanto en el hotend como en la cama, descarto esta segunda opción pues sería mucha coincidencia, lo que nos queda solo la primera causa.
Como no es ningún parámetro almacenado, ni en la EEPROM ni en ninguna otra memoria, no sirve de nada hacer cambios en ella ni en el firmware.
08-02-2025, 08:37 PM
(Última modificación: 08-02-2025, 08:38 PM por JCVMadriles.)
Jesús a los discípulos, en la Última Cena: Hermanos míos, hoy me véis, pero mañana ya no me veréis. Sin embargo, pasado mañana me volveréis a ver!.
Se levanta Judas y, mirándole fijamente a Él, díce: Joer, Maestro. Cada día te quiero más por lo bien que te explicas !!!.
Pues eso, Sime, "cual es la primera causa"?? .
Un abrazo
Como es lógico, la primera causa es que haya un fallo en el circuito que conecta el termistor a la MCU dentro de la placa.
De todas formas, es bastante raro que fallen los dos circuitos al mismo tiempo, pues son independientes.
|