diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp index f25b462ab6dd..63c6813301ee 100644 --- a/Marlin/temperature.cpp +++ b/Marlin/temperature.cpp @@ -173,8 +173,8 @@ void PID_autotune(float temp, int extruder, int ncycles) if (extruder<0) { - soft_pwm_bed = (PID_MAX_BED)/2; - bias = d = (PID_MAX_BED)/2; + soft_pwm_bed = (MAX_BED_POWER)/2; + bias = d = (MAX_BED_POWER)/2; } else { @@ -214,8 +214,8 @@ void PID_autotune(float temp, int extruder, int ncycles) t_low=t2 - t1; if(cycles > 0) { bias += (d*(t_high - t_low))/(t_low + t_high); - bias = constrain(bias, 20 ,(extruder<0?(PID_MAX_BED):(PID_MAX))-20); - if(bias > (extruder<0?(PID_MAX_BED):(PID_MAX))/2) d = (extruder<0?(PID_MAX_BED):(PID_MAX)) - 1 - bias; + bias = constrain(bias, 20 ,(extruder<0?(MAX_BED_POWER):(PID_MAX))-20); + if(bias > (extruder<0?(MAX_BED_POWER):(PID_MAX))/2) d = (extruder<0?(MAX_BED_POWER):(PID_MAX)) - 1 - bias; else d = bias; SERIAL_PROTOCOLPGM(" bias: "); SERIAL_PROTOCOL(bias); @@ -299,6 +299,8 @@ void updatePID() for(int e = 0; e < EXTRUDERS; e++) { temp_iState_max[e] = PID_INTEGRAL_DRIVE_MAX / Ki; } +#endif +#ifdef PIDTEMPBED temp_iState_max_bed = PID_INTEGRAL_DRIVE_MAX / bedKi; #endif } @@ -419,10 +421,10 @@ void manage_heater() dTerm_bed= (bedKd * (pid_input - temp_dState_bed))*K2 + (K1 * dTerm_bed); temp_dState_bed = pid_input; - pid_output = constrain(pTerm_bed + iTerm_bed - dTerm_bed, 0, PID_MAX_BED); + pid_output = constrain(pTerm_bed + iTerm_bed - dTerm_bed, 0, MAX_BED_POWER); #else - pid_output = constrain(pid_setpoint_bed, 0, PID_MAX_BED); + pid_output = constrain(pid_setpoint_bed, 0, MAX_BED_POWER); #endif //PID_OPENLOOP if((current_raw_bed > bed_minttemp) && (current_raw_bed < bed_maxttemp)) @@ -442,7 +444,7 @@ void manage_heater() } else { - soft_pwm_bed = PID_MAX_BED>>1; + soft_pwm_bed = MAX_BED_POWER>>1; } } else { @@ -459,7 +461,7 @@ void manage_heater() else if(current_raw_bed <= target_bed_low_temp) { - soft_pwm_bed = PID_MAX_BED>>1; + soft_pwm_bed = MAX_BED_POWER>>1; } } else {