This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
CONSULTA No puedo ajustar PID Cama Caliente Marlin 1.1.8
#1
Buenas noches a todos, os comento mi problema

Tengo una Anet A8 y he actualizado a Marlin 1.1.8 y estoy en el proceso de calibración de la impresora

Desde Pronterface lanzo el comando

SENDING:M303 E-1  S60 C8

Y obtengo  el siguiente mensaje 

PID Autotune start
Error:Heating failed, system stopped! Heater_ID: bed
[ERROR] Error:Heating failed, system stopped! Heater_ID: bed

ErrorLenguarinter halted. kill() called!
[ERROR] ErrorLenguarinter halted. kill() called

En la pantalla de Arduino en las pestaña Configuration.h he verificado que tengo activado el PID y desactivado el  BED_LIMIT_SWITCHING. El MAX_BED_POWER, tambien lo tengo activado

#define PIDTEMPBED     

//#define BED_LIMIT_SWITCHING

// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)


#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current

¿Por qué no me deja realizar el calibrado del PID de la cama? Se os ocurre cual puede ser el motivo.

Si desde Simplify3D le doy a que caliente la cama lo hace correctamente

Gracias de antemano a todos.
  Responder
#2
Hay un error documentado en Marlin el pasado 4 de enero muy similar al tuyo:

La solución que proponen es:

El Parche #9037 corrige el problema o configura WATCH_BED_TEMP_PERIOD en Configuration_adv.h a no más de 127 segundos

Y en el Parche #9037 dice:

Si el período de observación es> 127, que  frecuentemente es el caso de las camas con calefacción, el valor es cero o negativo para el autoajuste debido al uso de datos tipo "int" para la variable watch_temp_period. Esto mata el proceso de autoajuste inmediatamente. Declararlo como "Unsigned int" soluciona el problema.

Es decir tienes que bajarte la versión posterior al 4 de enero para tener solucionado el problema, o hacer lo que indican en el primer comentario. el enlace de la versión de con los errores corregidos es el siguiente: https://github.com/MarlinFirmware/Marlin...1.x/Marlin

Yo probaría haciendo el cambio del WATCH_BED_TEMP_PERIOD por debajo de 127 sg... antes probar otras opciones.

Suerte.
  Responder
#3
también te vale, para los que le falle ese comando, usar 4 ciclos en vez de 8:

M303 E-1 S60 C4
  Responder
#4
Muchas gracias por las indicaciones pfvidal corregido a 120 PID de la cama realizado y funcionando
  Responder
#5
Curioso el bug, debe de hacer algun calculo interno o alguna multiplicacion que haga overflow, ya que un int comprende entre -32768 a 32767.

Igualmente hay que tener cuidado con los datos unsigned ya que a veces los calculos no se realizan correctamente si mezclamos datos provenientes de variables signed con unsigned... lo mejor a veces es directamente irnos al tipo de dato superior, sobretodo si vamos a realizar operaciones matematicas con ese dato y otros de diferente tipo (unsigned × signed)

Me alegro de que hayais encontrado el error, desde luego este tipo de fallos son los tipicos que te hacen perder el dia entero haciendo pruebas hasta dar con el error.
  Responder
#6
Gracias NeoxM3 por la solución alternativa y a Shellmer por tu reflexión y recomendaciones
  Responder
#7
No hay porque dar las gracias, la fuerza de una comunidad de usuarios de productos bajo licencias abiertas está la colaboración y el compartir conocimientos.
  Responder
#8
Un saludo pfvidal y gracias por tu aporte, me has librado de un quebradero de cabeza, había probado mil veces y no daba con la solución, al final he cambiado a 120 en configuración advance el WATCH_BED_TEMP_PERIOD  y  todo solucionado, mil gracias y un saludo.
(13-02-2018, 02:34 AM)pfvidal escribió: Hay un error documentado en Marlin el pasado 4 de enero muy similar al tuyo:

La solución que proponen es:

El Parche #9037 corrige el problema o configura WATCH_BED_TEMP_PERIOD en Configuration_adv.h a no más de 127 segundos

Y en el Parche #9037 dice:

Si el período de observación es> 127, que  frecuentemente es el caso de las camas con calefacción, el valor es cero o negativo para el autoajuste debido al uso de datos tipo "int" para la variable watch_temp_period. Esto mata el proceso de autoajuste inmediatamente. Declararlo como "Unsigned int" soluciona el problema.

Es decir tienes que bajarte la versión posterior al 4 de enero para tener solucionado el problema, o hacer lo que indican en el primer comentario. el enlace de la versión de con los errores corregidos es el siguiente: https://github.com/MarlinFirmware/Marlin...1.x/Marlin

Yo probaría haciendo el cambio del WATCH_BED_TEMP_PERIOD por debajo de 127 sg... antes probar otras opciones.

Suerte.

Hola JC, a mi tu solución no me ha servido, no se si tendrá que ver la versión que me descargue, que ha sido la ultima a día 25 de Junio o que sera, pero lo que si me ha funcionado el lo que comenta el compañero, ya te digo que probé a 4,3,2,1  y nada , probé a cambiar el Pronterface por el Simplify, la versión de Arduino, el puerto, el termistor, con otro ordenador y alguna cosa que se me olvida, pero al final la solución fue la del compañero pfvidal, un saludo.
(13-02-2018, 10:16 AM)neoxM3 escribió: también te vale, para los que le falle ese comando, usar 4 ciclos en vez de 8:

M303 E-1  S60 C4
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Ajustes PID Julio_Radilov 0 0 20-09-2023, 04:02 PM
Último mensaje: Julio_Radilov
  De Marlin 2.0.9 a Marlin 2.12 21Curiosos 3 268 22-01-2023, 09:36 PM
Último mensaje: 21Curiosos
  CONSULTA configurar marlin para desplazar cama hacia delante al detener impresion. titan83 13 1,463 03-10-2022, 03:04 PM
Último mensaje: nkaoss
  Problema con el PID del hot end 21Curiosos 18 888 28-05-2022, 06:09 PM
Último mensaje: Simemart
  Hephestos 2 cama caliente shiryu55 12 769 07-04-2022, 11:39 PM
Último mensaje: shiryu55