|
@@ -330,6 +330,8 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
330
|
330
|
*
|
331
|
331
|
* Alternately heat and cool the nozzle, observing its behavior to
|
332
|
332
|
* determine the best PID values to achieve a stable temperature.
|
|
333
|
+ * Needs sufficient heater power to make some overshoot at target
|
|
334
|
+ * temperature to succeed.
|
333
|
335
|
*/
|
334
|
336
|
void Temperature::PID_autotune(const float &target, const int8_t heater, const int8_t ncycles, const bool set_result/*=false*/) {
|
335
|
337
|
float current = 0.0;
|
|
@@ -540,7 +542,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
540
|
542
|
break;
|
541
|
543
|
}
|
542
|
544
|
|
543
|
|
- if (cycles > ncycles) {
|
|
545
|
+ if (cycles > ncycles && cycles > 2) {
|
544
|
546
|
SERIAL_ECHOLNPGM(MSG_PID_AUTOTUNE_FINISHED);
|
545
|
547
|
|
546
|
548
|
#if HAS_PID_FOR_BOTH
|