Translate

Saturday, May 20, 2023

Ender 3 Pro - PID tuning


Normally the printer is coming with already stored some calibration information.

One of them is the Proportional Integral Derivative (PID) controller for the temperature of the hot end and the bed.

It is necessary to execute the PID in case sensors are changed or just to be sure everything is OK.  

To perform the PID usually a program need to be installed to a computer and then connect the computer via USB to the printer. 
The program is called Pronteface and exist for all platforms, however there is another way that doesn't need to install or connect anything else, since it uses OctoPrint.

Below the procedures to run PID for both hot end and bed of the printer.

CAUTION !   
Both procedures can take quite some time to be executed due to the thermal inertia !!

Hotend - PID tuning with OctoPrint

  • Turn on the printer
  • Heat the hotend to 200
  • Unload any present filament
  • Cool off the hotend
When the hotend is at normal temperature : 
  • Go on OctoPrint
  • Go on terminal
  • in the entry box digit : M303 S200 C10  then hit enter
  • Wait to receive the message :
    Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
  • The next 3 lines contains temperature settings :
    Recv: #define DEFAULT_Kp 24.54
    Recv: #define DEFAULT_Ki 1.95
    Recv: #define DEFAULT_Kd 77.22
    Recv: ok

  • The 3 value need to be saved in the firmware, to do so : M301 Pxx.xx Ixx.xx Dxx.xx
    where P  stands for the Kp, I stands for Ki and D stands for Kd.
    Thus in the example : M301 P24.54 I1.95 D77.22
  • After that force the values to be written in Eeprom with : M500
  • PID procedure completed

Bed - PID tuning with Octoprint

  • Turn on the printer
  • Verify the bed is at normal temperature
  • Go on OctoPrint
  • Go on terminal
  • in the entry box digit : M303 E-1 S50 C10  then hit enter
  • Wait to receive the message :
    Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
  • The next 3 lines contains temperature settings :
    Recv: #define DEFAULT_Kp 24.54
    Recv: #define DEFAULT_Ki 1.95
    Recv: #define DEFAULT_Kd 77.22
    Recv: ok

  • The 3 value need to be saved in the firmware, to do so : M304 Pxx.xx Ixx.xx Dxx.xx
    where P  stands for the Kp, I stands for Ki and D stands for Kd.
    Thus in the example : M304 P24.54 I1.95 D77.22
  • After that force the values to be written in Eeprom with : M500
  • PID procedure completed
A firmware modification is required to activate the PID for the Bed.

Resources

No comments:

Post a Comment