Disclaimer: I run a highly modified Solidoodle 4 running on Marlin firmware and I use Repetier Host and Slic3r for my printing software. All of the following calibrations have been done using the above equipment and software. Other software and equipment may differ somewhat in values and how things are entered/changed, but the calibration math should remain a constant.
Every new roll of filament is going to be slightly different from last one used. Each roll should be calibrated to its specific characteristics. The following calibrations should be done for each new roll of filament you run to ensure consistent, accurate prints.
While the filament we buy is supposed to be of a certain size - either 1.75mm or 3mm - manufacturing does cause some inconsistencies in these diameters. So the first step in calibrating a new roll of filament is checking diameters.
1. Load the spool up in your spool holder and pull a couple meters/yards off the spool.
2. Grab your digital calipers and take measurements along the length that you have pulled off the spool at random distances, making note of the measurements on the paper.
3. After taking a bunch of measurements (do at least 7, more is better), add them all up, then divide by the number of measurements you took to get an average diameter.
4. The average diameter is the number you want to enter into your slicing software for filament diameter.
(All screen shots in this article are of Slic3r v1.2.9)
Make sure you save your settings!
Tip: If you like to change colors often, save a new profile for each color with that color’s specific settings. It is then just as easy as selecting the correct color profile for a filament when swapping colors.
Feed Rate (how much plastic is going in?)
After finding your filament average diameter, it is a good idea to check the feed rate to make sure it is feeding the expected amount of filament into and through the extruder. Too much, or too little, will affect your prints.
Load the filament into the extruder, and heat it up. Drop the bed around 30-50mms so you have some space to free extrude. Once the extruder is up to temperature, feed a little filament through manually so that you know the hotend is fully loaded as it would be during printing.
Make a mark at 100mm on the filament from the top of the extruder housing. If this is your first time doing this, I would also make a mark at 150mms (in case it feeds more than 100mms)
After making your marks, manually extrude 100mms of filament. If your 100mm mark is now at the top of the extruder housing, you are done. The feed rate is fine.
If your 100mm mark is not at the top of the extruder housing, you need to calculate the difference between the requested feed, and how much it actually fed through.
If steps/mm are too low, your 100mm mark will be above the extruder housing - if steps/mm are too high, your 100mm mark will be below the top of the extruder housing (possibly even so far below that backing up the filament will not show it to you - did you make the mark at 150mms?)
Measure the distance between the measured mark(s) and the top of the extruder housing to determine the difference of actual feed to requested feed.
If your 100mm mark is above the extruder housing, measure the distance between the two and subtract that measurement from 100. This will give you the actual filament fed through the extruder.
If your 100mm mark is below the top of the extruder housing, measure the distance to the 150mm mark, and subtract that from 150 to obtain the actual feed amount.
Now for a little calculation... to determine the correct steps per mm for the extruder, the formula is:
(expected length* x current steps per mm) / actual length = new steps per mm.
*expected length is the 100mm you asked for
Feeding more than 100mm: (100 x 138) / 143 = 96.50
Feeding less than 100mm: (100 x 138) / 96 = 143.75
There are several ways of entering the new steps per mm value into your printer’s firmware settings; it all depends on what printer you use, the firmware it is running on & the printing host used.
The fastest and easiest method (for sprinter/marlin firmware) is to manually enter the value in the g-code command box in your host program. Enter the following commands:
Feed a few mms of filament through after saving to be sure the new settings have taken effect and then re-mark and feed another 100mm to verify the settings are correct. You may find you need to tweak the new e-steps just a little to get it exactly where you want it to be.
If your firmware has EEPROM enabled, you can make the changes in that quite easily.
To check if EEPROM is enabled, go to the top menu of RH and click on "Config" - if "Firmware EEPROM Configuration" is black, it is enabled and you can click on it to open. If it is greyed out, it is not enabled and you would have to enable it in the firmware and re-flash the firmware to your printer's controller board.
Open EEPROM (if it is enabled) and type in the new steps/mm in the appropriate box - the one marked “E”
Then click on the save to EEPROM box at the bottom of the screen
A new window will pop up asking if you are sure you want to save to the running configuration - click yes.
And your new settings are in place.
To verify the new settings are correct, feed about 10mms of filament so the system will compensate for the new settings, and then repeat the above steps to make sure you are getting 100mm when you ask for 100mm.
In Part 2 we will cover how to calibrate the Flow Rate (how much filament is coming out). Stay Tuned!
Time to go melt some plastic!