MKFirmware / MK4duo

MK4duo Firmware Printers 3D for Arduino and Arduino due
http://www.marlinkimbra.it
GNU General Public License v3.0
206 stars 117 forks source link

Need tune pid warning #769

Closed butte22 closed 4 years ago

butte22 commented 4 years ago

Please, follow this template when opening a new issue: this will help us a lot in the process of helping you.

Issue description

I enter the temperature values ​​of the heater and the bed, but it gives a need tune pid error. Kp, Ki and Kd settings I did not accept them. Can you please help me?

Compile errors

If you have problems compiling MK4duo, report here the error messages Arduino IDE gives you.

Before posting this issue, however, take a long breath and check this two things:

  1. If you're not using the latest version of Arduino IDE, please try again with the latest one.
  2. Always check if an error (or more than one) starts with DEPENDENCY ERROR: _something wrong!_: DO NOT POST DEPENDENCY ERRORS, please! They are messages which tell you what config option was set badly. Fix your configuration and try again. If you also get other types of error, please be sure to have fixed dependency errors before posting this issue!

Firmware version

MK4duo 4.3.9 and MK4duo 4.4.0

My setup

define PIDTEMP true

define POWER_MAX 255 // Limits current to nozzle; 255 = full current

define POWER_DRIVE_MIN 40 // Limits min current to nozzle while PID/BANG_BANG is active; 0 = no current

define POWER_DRIVE_MAX 230 // Limits max current to nozzle while PID/BANG_BANG is active; 255 = full current

define HOTEND_HYSTERESIS 2 // (degC) range of +/- temperatures considered "close" to the target one

define HOTEND_CHECK_INTERVAL 100 // ms between checks in bang-bang control

// If the temperature difference between the target temperature and the actual temperature // is more then PID FUNCTIONAL RANGE then the PID will be shut off and the heater will be set to min/max.

define PID_FUNCTIONAL_RANGE 10

//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.

// this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. //#define PID_ADD_EXTRUSION_RATE

define LPQ_MAX_LEN 50

// HotEnd {HE0,HE1,HE2,HE3,HE4,HE5}

define HOTEND_Kp {10.3, 40, 40, 40, 40, 40}

define HOTEND_Ki {0.70, 07, 07, 07, 07, 07}

define HOTEND_Kd {40.80, 60, 60, 60, 60, 60}

define HOTEND_Kc {100, 100, 100, 100, 100, 100} // Heating power = Kc * (e_speed)

/***/

/***** **** PID Settings - BED *


define BED_POWER_MAX 255 // Limits current to bed; 255 = full current

define BED_POWER_DRIVE_MIN 80 // Limits min current to bed while PID/BANG_BANG is active; 0 = no current

define BED_POWER_DRIVE_MAX 255 // Limits max current to bed while PID/BANG_BANG is active; 255 = full current

define BED_HYSTERESIS 2 // Only disable heating if T>target+BED HYSTERESIS and enable heating if T<target-BED HYSTERESIS

define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control

// BED {BED0,BED1,BED2,BED3}

define BED_Kp {85.80,10,10,10} //=10

define BED_Ki {2.48,1,1,1} //1

define BED_Kd {458.62,300,300,300} ////=300

// FIND YOUR OWN: "M303 H-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.

If needed, you'll be asked for other settings you modified.

Please be patient, we'll be trying to help you as soon as possible.

MagoKimbra commented 4 years ago

If you use the EEPROM it is necessary that the firmware knows that the PIDs are exact so it asks you to do them, if you are sure that the values you have set are exact by the M301 PID command with the relative values and save in eeprom, it will memorize that they are ok. Otherwise you make them, which is always better. Many people tend to put erated or taken values from other fw, but they are completely different in every fw.