Ich hab da mal ein paar Verständnisfragen zu den PID Einstellungen in Repetier... So ganz 100%ig sicher, was genau man da jetzt einstellt, bin ich mir nämlich nicht...
Da wäre PID Scaling, z.B.:
/** \brief Set PID scaling
PID values assume a usable range from 0-255. This can be further limited to EXT0_PID_MAX by to methods.
Set the value to 0: Normal computation, just clip output to EXT0_PID_MAX if computed value is too high.
Set value to 1: Scale PID by EXT0_PID_MAX/256 and then clip to EXT0_PID_MAX.
If your EXT0_PID_MAX is low, you should prefer the second method.
*/
#define SCALE_PID_TO_MAX 0
Wat? Je öfter ich das durchlese, desto weniger verstehe ich. Wieso sollte ich etwas runtergeregeltes wieder vergrößern?! Ergibt für mich keinen Sinn...
Dann gehts weiter mit dem PID-Block in der config:
/** \brief The maximum value, I-gain can contribute to the output.
A good value is slightly higher then the output needed for your temperature.
Values for starts:
130 => PLA for temperatures from 170-180 deg C
180 => ABS for temperatures around 240 deg C
The precise values may differ for different nozzle/resistor combination.
Overridden if EEPROM activated.
*/
#define EXT0_PID_INTEGRAL_DRIVE_MAX 205
Was genau bedeutet der Wert? Maximaler Anteil von "I" in der Regelung? Ist der 0-255?
/** \brief lower value for integral part
The I state should converge to the exact heater output needed for the target temperature.
To prevent a long deviation from the target zone, this value limits the lower value.
A good start is 30 lower then the optimal value. You need to leave room for cooling.
Overridden if EEPROM activated.
*/
#define EXT0_PID_INTEGRAL_DRIVE_MIN 60
Das bedeutet doch, dass er nie weniger als 60/255 ansteuert, wenn er regelt, oder? Wenn ja, warum? Damit die Regelung nicht zu flach anfängt und der I-Wert dann zu krass reinhaut?
/** P-gain. Overridden if EEPROM activated. */
#define EXT0_PID_PGAIN_OR_DEAD_TIME 24
P-Wert, is klar...
/** I-gain. Overridden if EEPROM activated.
*/
#define EXT0_PID_I 0.88
I-Wert, ist auch klar...
/** Dgain. Overridden if EEPROM activated.*/
#define EXT0_PID_D 80
D-Wert, auch klar...
// maximum time the heater is can be switched on. Max = 255. Overridden if EEPROM activated.
#define EXT0_PID_MAX 255
Das hier ist dann doch der Counterpart von "
PID_INTEGRAL_DRIVE_MIN", also das obere Ende der möglichen Ansteuerung.
/** \brief Faktor for the advance algorithm. 0 disables the algorithm. Overridden if EEPROM activated.
K is the factor for the quadratic term, which is normally disabled in newer versions. If you want to use
the quadratic factor make sure ENABLE_QUADRATIC_ADVANCE is defined.
L is the linear factor and seems to be working better then the quadratic dependency.
*/
#define EXT0_ADVANCE_K 0.0f
#define EXT0_ADVANCE_L 0.0f
Was genau sind das für Werte und warum ist da ein "f" im Parameter?