Temperature management by your 3D printer is often made using PID controller.
- Pronterface (Windows, Mac)
- Arduino IDE (optional)
- 3D printer with active PID for the target heating element
Pronterface is a cross platform host software for your 3D printer. It allows to send commands to your 3D printers in a simple way.
This application is stand alone and doesn’t require any installation
In order to be able to connect to your 3D printer you need to install the serial drivers of your electronic board.
Scalar 3D printers are using arduino MEGA 2560, so you only need to install Arduino IDE in order for the proper drivers to be installed.
Once you have downloaded the proper version of Pronterface , you will need to unzip it’s content in a folder.
Inside you should have the following file tree.
At this stage you will need to connect your 3D printer using a USB cable.
Once the drivers are installed, your OS will assign a specific COM port to your 3D printer.
Now you can launch « pronterface.exe »
The following window will appear
Depending on your OS you might need the proper user rights in order to acces COM port
Consider running your application as Administrator
Once the drivers for the seria COM port are installed your 3D printer COM port should be visible inside the drop down list of Pronterface (1)
- You should see the proper COM port asigned to your Arduino MEGA inside this drop down list
- Select the baud rate to 115200Bps (at least for Scalar 3D printers)
- Push the Connect button.
Once connected you should have a lot of information coming into the console window on the left side of the application.
PID Auto tuning
PID auto tune has to be made when your heating element is at Ambient temperature. Otherwise you will get wrong parameters!
In the bottom part of the console view, you have a text box where you can enter single commands for your 3D printers,
Hot end PID
Iin order to perform the PID tuning of your hot end you will need to send the following command :
M303 E0 S210 C8
E0 is for Extruder 0 (your hot end) , S210 is the target temperature (here 201°C) and C8 is the amount of iterations to perform , Here 8. The higher the number the more accurate your PID will be.
you will need to wait a few minutes in order for the algorithm to converge to a set a values.
bias: 92 d: 92 min: 196.56 max: 203.75 Ku: 32.59 Tu: 54.92 Clasic PID Kp: 19.56 Ki: 0.71 Kd: 134.26 PID Autotune finished ! Place the Kp, Ki and Kd constants in the configuration.h #define DEFAULT_Kp 17.28 #define DEFAULT_Ki 0.63 #define DEFAULT_Kd 118.87
your PID values will be different from the one here
Take theses PID values into account
Use the following command in order for your controller to take the Ki, Kp, and Kd values into account
M301 P17.28 I0.63 D118.87
Make sure you have updated the command with the PID values that you found!
Save your settings into the EEPROM
M500 allows to save your settings into the controller EEPRO
Heat bed PID Command
M303 E-1 S60 C8
Take the Heatbed PID values into account
M304 P1 I2 D3
Save into EEPROM
(source http://reprap.org/wiki/PID_Tuning )