How to calibrate a 3-D Printer[edit | edit source]
If you want to have good prints, your printer must be well calibrated. I'm discussing some procedures here on how to achieve that. The primary goal is to make it as accurate as possible. The secondary goal is to make it as easy as possible, so anything that can be automated, is.
Axis motor speed[edit | edit source]
* Required: none * Automation: full * Used: motor and limit switch
Procedure[edit | edit source]
Move the axis to the limit switch at a slow speed. Then move it away a selected distance at the test speed and move it back slowly the same distance minus a bit. If it hits the limit switch again, the move didn't work, and the speed was too high. If it didn't hit it, it was good.
A similar approach is used for detecting the maximum speed in the other direction (which may be different, especially for the Z-axis): move away from the switch slowly, then move back the same distance plus a little at the test speed. If the switch is hit, the speed is good; if not, it is too fast.
Because of fluctuations this procedure may result in a higher maximum speed than what is really safe. Repeated measurements show that using xx% of the measured value gives a safe speed which will always work.
Note that this position may slightly interfere with Z-axis motor synchronization. If one motor starts skipping steps before the other, the X-axis is tilted slightly. This must therefore be done before making the axes perpendicular.
Axis endstop positioning and build volume limits[edit | edit source]
* Required: none * Automation: none * Used: motor and limit switch
Procedure[edit | edit source]
Home the axis. Then move to the limit of the print volume. Write down the position. Move to the other limit. Write down that position as well. Use those positions as limits. Repeat for all axes.
Absolute extruder temperature[edit | edit source]
* Required: copper pipe cap large enough to contain the extruder head; cup which is not insulated at the bottom (but on the side is good); (printed) plastic piece to hold the pipe cap in the cup; ice, stove. * Automation: none * Used: heated bed
Procedure[edit | edit source]
Put ice in the cup; fill the pipe cap with oil, put it in the plastic piece and insert them into the ice. Add water to the ice and stir. Put the cup on the build platform and move the extruder into the oil. Wait for the temperature to stabilize. Read the adc count.
Throw the ice water out; boil water on the stove and fill the cup with that. Heat it up with the heated bed so it continues boiling. Read the adc count.
Absolute bed temperature[edit | edit source]
* Required: none * Automation: none * Used: same things as absolute extruder temperature
Procedure[edit | edit source]
This cannot be done on a printer when it is built; it must be done on the thermistor before it is glued to the heated bed.
The procedure is identical to the absolute extruder temperature, except that there is no heated bed, so you need to put the pipe cap into the boiling water on the stove. You may need a different plastic piece for that.
Extruder hotend temperature radiation and convection constants[edit | edit source]
* Required: extruder absolute temperature * Automation: most * Used: heater
Procedure[edit | edit source]
During the entire procedure (which takes several hours), there should be no air flowing past the printer, and room temperature should be constant. Put the printer in a room with nobody in it for this process, and keep the door closed until it is done.
Heat up the extruder to 30 °C. Wait for it to stabilize (this may take a few minutes). Record the power that is required to maintain this temperature (this may also take a few minutes for a precise result). Repeat this process, in steps of 5 degrees, until 250 °C.
Plot the heater power as a function of temperature in K (that is, add 273.15 to the number in °C). Fit a function P = r(T⁴-T₀⁴) + c(T₀-T) through it, using the (constant) room temperature as T₀. The results of this fit are the radiation constant r and the convection constant c.
If you have a fan, repeat it with the fan on; this should give a different c, but the same r.
Extruder motor maximum speed[edit | edit source]
* Required: radiation and convection constants * Automation: full * Used: heater, extruder drive, filament
Procedure[edit | edit source]
Heat up the extruder to a temperature where filament can be extruded. Extrude some filament and note the increase in required power for keeping the hotend temperature constant. Use the same procedure as the axis maximum motor speed, but use this power increase (instead of an endstop) as an indication that the filament reached the heater.
Filament heat capacity[edit | edit source]
* Required: filament diameter * Automation: full * Used: heater, extruder drive, filament
Procedure[edit | edit source]
Heat up the extruder to a temperature where filament can be extruded. Extrude some filament and note the increase in required power for keeping the hotend temperature constant. Using the filament diameter, convert this number to J/mm³.
Extruder steps per mm[edit | edit source]
* Required: none * Automation: none * Used: extruder motor, filament
Procedure[edit | edit source]
On a piece of filament, mark two points which are 100 mm apart. Insert the filament and extrude until exactly on the first mark. Record the number of steps required to move to the second mark. Divide this by the 100 mm to get the steps per mm.
Filament diameter[edit | edit source]
* Required: none * Automation: none * Used: none
Procedure[edit | edit source]
Nozzle diameter (extruded filament width)[edit | edit source]
* Required: none * Automation: none * Used: none
Procedure[edit | edit source]
No calibration is done; just use the number you know (usually 0.5 mm or 0.35 mm). Alternatively you can put the nozzle under a microscope before mounting it, to measure it. However, this number is not critical at all, so there is no need for that.
Filament diameter[edit | edit source]
* Required: none * Automation: none * Used: none
Procedure[edit | edit source]
To be done; very important.
Bed level and/or profile[edit | edit source]
* Required: none * Automation: none * Used: none
Procedure[edit | edit source]
To be done; very important.