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
PID TEMP - ACELERACIONES - JERK
#1
Hola buenas noches.

Tengo 3 cosas a Tratar:

La temperatura PID , yo uso la de base de ultimaker....muy mal pq tengo un Titan y V6 pero es lo que llevaba hace tiempo usando...ahora leyendo dicen que es bueno y mejor calcular mi PID. Bien lo he realizado desde pronterface...pero no me da mucha seguridad.....cada vez k lo hago me da valores distintos.......

Por otro lado:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 800, 834 }
#define DEFAULT_MAX_FEEDRATE          { 200, 200, 5, 25 }
#define DEFAULT_MAX_ACCELERATION      { 800, 800, 30, 10000 }
#define DEFAULT_ACCELERATION          800    
#define DEFAULT_RETRACT_ACCELERATION  3000   
#define DEFAULT_TRAVEL_ACCELERATION   800

Se que cuando he tocado estos valores he mejorado cosas....pero Porfavor ¿Pueden explicarmelo exactamnete como calcular o colocar los valores y para que sirver exactamente para entenderlo y configurarlo entendiendolo? subir valor bajar?

Y por ultimo Los Jerk

#define DEFAULT_XJERK                  8.0
#define DEFAULT_YJERK                  8.0
#define DEFAULT_ZJERK                  0.4 
#define DEFAULT_EJERK                  5.0

Idem ¿pueden explicarme que valor es mejor subir bajar?

Un cordial Saludo
  Responder
#2
Hola, tu pregunta es muy ámplia y necesitaré extenderme un poco en la respuesta.

Respecto al PID: para entender por qué es poco recomendable utilizar los valores de PID preconfigurados para otro extrusor, lo primero es tener claro qué es y para que sirve el PID.
Para conseguir unos buenos resultados de impresión y que lo sean para toda la pieza, es muy importante que las temperaturas de los elementos calefactores (fusor y cama), se mantengan lo más constantes posible durante la misma.
Hay dos métodos de control de temperatura: por Bang-Bang (con o sin histéresis) y por PID, siendo ese el orden de menor a mayor precisión.
En Bang-Bang, la temperatura se controla encendiendo a su potencia máxima el calentador cuando se baja de la temperatura objetivo y apagando el calentador cuando se sobrepasa: el problema con este método está en que, como se calienta con la máxima potencia del calentador, existe una inercia térmica que hace que siga subiendo la temperatura ligéramente después de su apagado, lo que genera una fluctuación en la temperatura.
Para evitar este problema, lo que hace el control por PID es que, una vez se llega cerca de la temperatura objetivo, el calentamiento no se realice a máxima potencia, sino a la necesaria para mantener constante la temperatura objetivo. Esto se consigue controlando el voltaje de alimentación de las resistencias calentadoras mediante PWM y dicho control se realiza utilizando una función en la que intervienen tres parámetros, denominados Kp, Ki y Kd.
Si estos valores no son los adecuados para el conjunto calentador, el control será casi con toda seguridad peor que si se realizase por Bang-Bang, de ahí que sea muy importante saber cuales son los adecuados para ese calentador concreto: esto es lo que realiza el PID Autotune.
Pero ese proceso no se realiza en un sistema cerrado (hay fluctuaciones del voltaje, corrientes de aire, etc.), por lo que los resultados pueden variar ligéramente en cada prueba, pero en todo caso dichas variaciones entre medidas serán con seguridad mucho menores que las que existirán con las realizadas para otro calentador.
Conclusión: haz correctamente el PID Autotune y utiliza los valores que hayas obtenido: será la forma más precisa que tendrás para el control de la temperatura de ese calentador.

Sobre los parámetros de configuración del firmware que indicas: no debes plantearlo en términos de si es mejor subir o bajar los valores (eso es como decir que qué es mejor, subir o bajar la presión de los neumáticos del coche).
Todos los que indicas dependen de la mecánica de la impresora: unos tienen siempre un valor concreto y otros un margen en el que pueden variar. Estos últimos son los que hay que ajustar a los valores que den los mejores resultados de impresión.
Veámoslos uno por uno:

DEFAULT_AXIS_STEPS_PER_UNIT: este parámetro es una matriz de 4 elementos, cuyos valores indican cuantos micropasos hay que enviar al motor de un eje, para que dicho eje se mueva una unidad de longitud (normalmente el milímetro). La correspondencia entre valores dentro de la matriz y ejes es {X, Y, Z, E}. Estos valores se pueden considerar constantes, mientras no se cambie la mecánica de los ejes.
La fórmula para calcularlos es: micropasos por milímetro = pasos por revolución del motor * micropasos por paso del driver / desplazamiento del eje por revolución del motor

DEFAULT_MAX_FEEDRATE: como el anterior, este es una matriz también de 4 elementos asignados en el mismo orden a los 4 ejes y cuyos valores indican la velocidad máxima a la que se podrán mover, independientemente de que se ordene una superior. Este límite es absoluto y se aplica en todos los movimientos que realice la impresora.
Estos valores dependen de su estructura y mecánica, por lo que conviene configurarlos de forma razonable, pues son un seguro para el caso de que, por descuido o error, se ordenen velocidades excesivamente altas.

DEFAULT_MAX_ACCELERATION: exactamente igual que el anterior, pero referido a las aceleraciones en lugar de a las velocidades.

DEFAULT_ACCELERATION, DEFAULT_RETRACT_ACCELERATION, DEFAULT_TRAVEL_ACCELERATION: son las aceleraciones que se utilizarán para los movimientos indicados, el primero para los de impresión (con extrusión), el segundo para las retracciones y el tercero para los movimientos de desplazamiento (sin extrusión).
Para el primero y tercero, valores muy bajos aumentarán en exceso el tiempo de impresión y muy altos harán que los movimientos sean más bruscos, aumentando las vibraciones que deberá soportar la estructura de la impresora y que, si no es capaz de neutralizarlas, se reflejarán en los resultados de la impresión (ringing/ghosting).
Para el segundo interesan valores altos, pues la retracción conviene que sea un movimiento casi instantáneo.

Sobre el Jerk: este parámetro está íntimamente relacionado con las aceleraciones, pues indica el límite entre la utilización o no de estas al realizar los movimientos.
El valor que se configura es la velocidad (en mm/s) que se considera el umbral entre la utilización o no de la aceleración en los cambios de velocidad en un eje concreto, de ahí que haya un jerk para cada eje: si el cambio de velocidad en el eje entre dos movimientos es menor que el jerk configurado, el movimiento se realizará sin utilizar la aceleración (casi instantáneo); si es mayor, se aplicará la aceleración configurada para cada tipo de movimiento.
Valores bajos hacen que las líneas pequeñas y las esquinas lleven más tiempo (pues seguramente se aplicará aceleración al realizarlas), lo que puede implicar que se deposite en ellas un exceso de material que se refleje en el resultado de la impresión; valores altos hacen que los movimientos sean más bruscos (mayores contra más pronunciados sean los cambios de dirección del movimiento), con los efectos que indiqué para las aceleraciones altas.
En las últimas versiones de Marlin, ya no se utiliza el jerk como método por defecto para este control, usandose otro denominado Junction Deviation, que utiliza un solo parámetro que se aplica a todos los ejes.
El valor que se configura en este caso, es una distancia (en milímetros): menor distancia es equivalente a menor jerk y viceversa. Si se tiene interés en profundizar en el tema, se puede consultar el fundamento teórico en este enlace (en inglés).
Existe una fórmula que relaciona jerk con JD y es la siguiente: jd = 0,4 * j² / ap, donde jd es el valor del parámetro para junction deviation, j es el valor del jerk de los ejes X o Y (suele ser el mismo) y ap es la aceleración configurada para los movimientos de impresión.
Resumiendo, los parámetros a configurar en el firmware dependen de cada impresora concreta: unos hay que calcularlos y otros hay que obtenerlos por métodos empíricos.
  Responder
#3
Dios Mio eres increible.

Gracias te doy un super Reputación +1 porque no existe el +10

Gracias compañero por tu respuesta.
  Responder
#4
Me alegro que te haya servido la respuesta.
Un saludo.
  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
  Problema con el PID del hot end 21Curiosos 18 888 28-05-2022, 06:09 PM
Último mensaje: Simemart
  Marlin. Parámetros PID extrusor inactivos Cayo 6 833 30-08-2021, 03:55 PM
Último mensaje: Cayo
Lengua Artillery Genius. Problema con el Jerk Musgorosa 1 731 06-04-2021, 04:24 PM
Último mensaje: Simemart
  Duda - Cama silicona 220 V - Sensor Temp - Marlin ToribioCosmico 6 2,753 25-09-2020, 11:28 PM
Último mensaje: JCLUNA