See Sending G-code for more information on how to send the commands below.
PID Autotune with cycle support working for Motion firmware V22+
M303 S<temperature> C<#cycles> Example: M106 S204 ; turn on hotend fan to 80% M303 S210 C15 M500 ; save the generated PID values to EEPROM
Note: Change the temperature (S value) to the temperature you anticipate using.
The above command will heat the nozzle and cycle around the target temperature 15 times (C15) at the given temperature (S210) and return the average values for P, I, and D.
Proceed to
M301 Set PID parameters below
Bed usage
M303 E-1 S<temperature> C<#cycle> Example: M303 E-1 S60 C5
Enter the values received after running M303 using M301 command
Newer firmware versions set the PID values returned by Autotune automatically.
The users must store the values to EEPROM with command “M500”
M301 P<Kp value> I<Ki value> D<Kd value> Example: M301 P20 I0.02 D250 ;Set new PID values M500 ;Save EEPROM Reboot printer to complete the process
Enter the values received after running M303 using M304 command
M304 P<Kp value> I<Ki value> D<Kd value> Example: M304 P10 I0.02 D305.4 ;Set new PID values M500 ;Save EEPROM Reboot printer to complete the process
References
http://reprap.org/wiki/PID_Tuning
http://reprap.org/wiki/G-code#M303:_Run_PID_tuning
http://reprap.org/wiki/G-code#M301:_Set_PID_parameters
http://reprap.org/wiki/G-code#M304:_Set_PID_parameters_-_Bed
(The information below applies to Motion firmware 20 & lower)
Use Ethan Anderson's PID settings for Motion firmware version 20 & lower PID Tuning E. Anderson
Motion Controller Firmware version 18 fixed the lose of connection bug with command M303 (PID Autotune).
Autotune does not work well in version 18 or 20. Version 22 and higher have more accurate default PID values and command M303 returns much better values as long as you run through enough cycles and run it with the temperature you are trying to maintain.
Note: Motion Controller Firmware version 17 and below, issuing command M303 may cause reset and/or loose connection which will require the printer to be powered off and back on. Motion Controller firmware version 18 fixed this bug.
M303 S190 Autotune PID value for extruder at 190C.
M301 Manually set PID parameters P I and D.
M500 Save parameters to EEPROM.