How to Fix Marlin PID Autotune Not Working – Autotune Overshoot
A lot of people experience issues with Marlin PID autotune not working on their 3D printers, which is what helps maintain a stable and accurate temperature. I decided to write an article detailed different ways to fix Marlin PID autotune.
To fix Marlin PID autotune not working, run Autotune in a stable environment, manually adjust the PID values, and install a smoothing capacitor. You might also need to change the target temperature and increase the HOTEND_OVERSHOOT threshold.
This is the basic answer for how to fix this issue. However, I will go over more details, so keep on reading.
How to Fix Marlin PID Autotune Not Working
Here are some of the ways you can fix Marlin PID autotune:
- Change the thermistor
- Run the Marlin PID Autotune with filament inside
- Change the PID values manually
- Install a smoothing capacitor
- Run autotune in a stable environment
- Increase the HOTEND_OVERSHOOT parameter
- Change the target temperature
- Turn on the cooling fans while doing PID autotuning
- Conduct Marlin PID autotuning when the hotend has cooled off
- Replace MOSFET
1. Change the Thermistor
One way to fix Marlin PID autotune is to change the thermistor. The thermistor is an important component responsible for measuring the temperature of the hotend, and the PID autotune relies on accurate temperature readings to adjust the power output and maintain a stable temperature.
Different thermistors have different sensitivities or resistance to temperature changes. Therefore, using the wrong thermistor will result in inaccurate temperature readings, thus causing PID autotune issues.
One user complained that his printer overshoots badly and gets an Autotune Fail or MAXTEMP ERROR after running the PID autotune command (M303 E0 C8 S200). However, his temperatures stabilized after changing to a new 24V 40W thermistor from a 12V one from the factory.
Another user recommended checking the firmware’s thermistor type to fix the PID autotuning issue. This is because each thermistor type has its corresponding temperature table showing its deviations at specific temperatures.
I found this video useful in replacing a thermistor on the Ender 3 to get rid of thermal runaways.
2. Run the Marlin PID Autotune with Filament Inside
Running PID tuning with a filament inside the hotend can help fix issues with Marlin PID autotune not working properly.
By running the PID autotuning process with a filament inside the hotend, you create printing conditions close to the actual printing to provide the PID algorithm with accurate temperature feedback.
I recommend using a filament you intend to print with for the autotuning process to get more accurate results for temperature control.
One user always ran into thermal runaways after calibrating his PID and starting prints. This is because the filament cooled the hotend, which couldn’t keep up.
A pro tip from his experience to help fix this was to carry out the autotuning process with a filament inside the hotend, loaded and ready to print.
Check out this video that explains how to PID tune an Ender 3 V2 or any other Marlin-based 3D printer.
3. Change the PID Values Manually
When autotuning fails, manually changing the PID values using the M303 command within the firmware can be an effective alternative. Start by making small incremental changes to one value at a time and observe its impact on temperature stability and response.
Monitor the temperature keenly when making the changes to ensure optimal results. It is important to note that manually changing the PID values requires a systematic approach, as changing one value can affect the behavior of others.
One user said his temperature fluctuated too much, and Marlin PID autotune failed. Several users suggested manual tuning to stabilize the temperatures as a possible fix. He was advised to lower the P, or I values and increase the D value.
However, he was supposed to make these changes slowly and wait a minute at least before making another change. This is because it can take some time for you actually to see the full effects of the changes. This worked perfectly for him.
Another user was battling 7°C temperature fluctuations on his Delta with version 1.8.1 Marlin. To fix the issue, he changed the PID_Ki value (the smoothing factor for any PID loop) from the default 0.95 to 0.5. This stopped the fluctuations.
4. Install a Smoothing Capacitor
Installing a smoothing capacitor to the power supply connection of the mainboard can help fix Marlin autotune problems. The capacitor reduces electrical noise and fluctuations in the power supply, affecting the stability and accuracy of temperature readings.
Installing it will prevent sudden voltage fluctuations by storing energy and releasing it when necessary. This ensures a consistent power supply to the components that control the temperature, improving the stability of the PID autotune process.
However, you should try as much as possible to get a capacitor with the right voltage or something close to it. Running a capacitor way below its rated voltage can shorten its life.
One user said his Tevo Tornado had wide temperature swings when running high-temperature plastics at around 240 to 250°C. This got worse when he did the PID tuning. However, after putting in a capacitor, he only got a maximum swing of =/- 1°C.
You can use this 1000uF Low ESR Electrolytic Capacitor found on Amazon.
Check out this video that shows you how to install a smoothing capacitor to fix Marlin PID autotune not working.
5. Run Autotune in a Stable Environment
You should check your printing environment if you have Marlin PID autotune problems often. Avoid placing the printer near windows, external fans, or other sources of the draft, as these cause the temperature to vary.
Carrying out the autotune process in a temperature-controlled room or enclosure is advisable to ensure consistent temperature conditions during tuning. Also, place the printer far away from surfaces where it might face electrical or mechanical issues.
One user stated that ensuring no drafts when printing was important if you wanted to stabilize temperatures. He recommended using an enclosure such as an upside-down cardboard moving box for PID calibration.
6. Increase the HOTEND OVERSHOOT
A common fix to Marlin PID autotune problems is to increase the HOTEND_OVERSHOOT parameter. Increasing this parameter allows the PID to allow a larger initial temperature overshoot before actively controlling the temperature.
This helps the PID algorithm to respond quickly to temperature deviations and reach the desired temperature faster. A larger overshoot helps overcome any delays in the heating system.
However, you should find an optimal setting for this parameter. Setting it too high can result in excessive temperature fluctuations and instability, negatively affecting the PID autotune’s performance.
A 3D printing user could not run PID autotune over 284°C as it failed every time and told him the temperature was too high. Someone suggested increasing the max temp or decreasing HOTEND_OVERSHOOT to enable PID tuning at 285°C.
This parameter is usually set at 15 by default in the Marlin firmware. This means the printer cannot run PID tuning with a temperature greater than or equal to the MAXTEMP minus HOTEND_OVERSHOOT.
7. Change the Target Temperature
It would be best to change the desired or target temperature setting to fix autotuning issues. If the target temperature is set too high or low from the operating temperature, the autotune may fail since the PID algorithm will struggle to stabilize the temperature within the specified limits.
You should experiment with different target temperatures within the acceptable range to find the optimal setting for successful PID autotuning.
A user with PID autotune problems with his new printer was advised to set the target temperature in autotune to something realistic. Typically, use 210°C as that covers most PLA (195-210°C) and PETG filaments (220-235°C).
Another user recommended doing the PID autotune at a much lower temperature (100°C instead of 200°C). After doing this, he could get a successful tune at 200°C.
8. Turn on Cooling Fans While PID Autotuning
To help prevent temperature overshoots that may ruin the autotune process, you can turn on the cooling fans. It will help to remove heat from the hotend more efficiently, allowing the PID algorithm to respond quickly to changes and stabilize the temperature.
This will be useful when the autotune process involves using the PID values multiple times. However, you should set an optimal fan speed to prevent excessive cooling, which may ruin the process.
One user recommended switching on the part cooling fan during autotune to minimize the chances of problems occurring. This is because the part cooling fan will help to regulate the hotend temperature.
9. Conduct Marlin PID Autotuning After the Hotend has Cooled Off
Trying to autotune the PID values while the hotend is still warm or at operating temperatures may cause inaccurate results. That is why it is recommended to redo the PID autotuning when the hotend is completely cooled down, preferably at room temperature.
When the hotend is cooled off, it allows for a fresh and accurate measurement of the temperature that will be used as a baseline. In turn, this will help to determine the optimal PID values.
One user complained that Marlin PID Autotune kept failing despite changing the hotend and heatbreak to copper and all-metal titanium and running the M303 PID command severally.
Someone advised them to do the PID tuning only once, and if they wanted to repeat it, they had to make sure that the hotend was cooled off (i.e., 40°C or lower).
10. Replace the MOSFET
The MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor) controls the power supply to the heater cartridge and heated bed. If it is damaged, then the accuracy and stability of temperature control will be affected.
In such cases, replacing the MOSFET can resolve issues with your PID autotune. However, you should check your printer’s documentation for the correct MOSFET model and follow the proper replacement procedure.
One user with a CR10-s and Marlin 1.1.8 firmware ran into a PID autotune failure for his heated bed. To fix this issue, he replaced the MOSFET.
This video will provide you with a good guide on how to install an external MOSFET to any 3D printer.