Have you just switched nozzles on your Ender 3, or maybe even a new hot-end? We have experience doing both; switching to the Micro Swiss All Metal Hot End, as well as using the hardened steel nozzles. Every time we make a change to our hot-end we disrupt the PID loop.
A P.I.D Loop is a system used by printers (and many other machines) to maintain a set point. It can control how fast the system heats up, and it is responsible for the stability of the temperature. When you change nozzles from brass to steel, or upgrade to a new hot-end the PID loop that worked for your stock equipment may no longer be stable, and can cause print quality issues. An improperly tuned PID loop will show variations in your hot-end temperature. Generally, if you have temperature variations within +/- 2 degrees it is acceptable, but anything over and it’s time to use the PID Autotuning option.
If you have upgraded your firmware to the TH3D Unified Firmware, they have made this task much easier for the end-user by adding it to the menu. The instructions for this are below, from TH3D’s instructional. If you wish to do this from your PC with Printer Control software, using Pronterface then skip ahead.
Control > Temperature > PID Autotune > Then set to 240 if you have a stock hotend and 250 if you have an all metal. This will go through the process AND apply the PID settings automatically. You will need to either select Control > Store Settings or send M500 to store them even when using the LCD.
PID Autotuning an Ender 3 with Pronterface
Pronterface is an exceptional software that is used for controlling your 3D Printer from the PC. It’s incredibly helpful and should be in every 3D print user’s “tool box”. All you require is a PC, and the USB to Mini-USB cable that you used to flash your firmware. Pronterface also works with stock firmware, although you will still need the USB to Mini-USB cable to establish a connection. Download Pronterface/Printrun package below, and extract to a folder. Once you have extracted, the software is in the main folder and called “Pronterface”.
[Download not found]Once you have the software extracted and opened, you will see in the top menu an area to choose your PORT and Baud Rate. Most every Ender 3 have a baud rate of 115200 unless you specified otherwise in the firmware, choose the options for your printer and connect.
On the right side of Pronterface is the Terminal window. Use the command M303 E0 S225 C10 to start the P.I.D. Auto Tuning. The command you just entered will tune your hot-end to 225 degrees and it will do the tuning cycle 10 times.
Pronterface terminal will show a few lines of code for the tuning while running but will show “PID Autotune finished!” when complete. These are the P.I.D values you need to input (please note that not all machines share the exact values and yours may differ). To input them into your printer use the command M301 P20.22 I1.22 D84.07 then M500 to save the PID to EEPROM and then M503 to verify that it is saved.
Maybe I missed it in the article, but I don’t recall seeing anything discussed about setting your temp to whatever type of material youre using. I say this because I used the above method after getting some heater errors and then a friend suggested I set the temp to the highest for the type of material I use(in my case TPU @ 230).
Then just run the PID tune 3x(not sure why ender 3 pros need that but it works) and away you go.
After I did that, no more heater errors.
Hello ethan,
Thanks for the insight on the article, I will be glad to add your contribution to my article. Most people don’t use TPU when they are first learning how to PID tune and such but I definitely should add that you need to PID tune to whatever temp you plan to be running. You should sign-up for the forums too and make some contributions there!
Hello. I can not conect my printer… It conects the device but it cant set up any driver so it doesnt recognize it. What may y do wrong?
What printer, and what cable are you using? What operating system?
make sure cura is closed
Hello,
Thank you for your article. Help me make the autotune on my hot end. But, when I tried make the same with heated bed with m303 e-1 s60 c10, the system failed and show a message “PID autotune failed! Bad extruder number”.
know you how can I do this pid on heated bed?
Thank you.
You have to enable the PID tuning option in the firmware. By default on most Enders and other printers it’s on bang-bang mode instead of PID loop controlling.
Perhaps it might be good to point to the two major drivers for Ender3 and Ender 3 V2. I had to go get the drivers before I could connect. Windows default drivers did not work. Your instruction was great after that.
Drivers were automatic for me.. I didn’t have to add anything. Share a link and I’ll add it.
I believe this driver is one is for Traditional Ender 3, I believe they use a FT232R USB to serial IC. That is the driver here.
https://support.th3dstudio.com/hc/en-us/articles/360043291472-Creality-Printer-Drivers-FT232R-Chip-Most-Models
The Ender 3 v2 uses a different USB driver, CH340. This driver resolved my issues.
https://support.th3dstudio.com/hc/en-us/articles/360043291432
These are not driver native sources (Not from the IC vendors). th3d seems like a reputable source, at least from what I could tell.
I ran this PID calibration Protocol on my ender 3 but somehow the heating error made it worse. previously it went 2 degrees below or above the temprature now 10
i set the cycle to 10 times.
ussing windows 10
Hello,
You don’t need 10 cycles. Try 3 to 5, and start from a room temperature state.
Did you take the last set of numbers? Don’t use the first numbers.
I’m trying to calibrate with pronterface for hotend. I’m typing M303 E0 S200 C10 on the command line, but it runs once when it should run 10 times and it doesn’t give any results.
Try a smaller number, I have seen this happen before and had to do 3 instead of 10.