3D Printer Calibration
This page describes calibration tests done on the Kwartzlab Reprap Mendel 3D printer in an effort to improve the settings of the numerous tuning parameters that exist both compiled into the firmware and as parameters to the skein tools.
So far we do not seem to have a firmware source package and build environment that we are confident can be used to build and install the firmware we are currently running. This makes it somewhat of a leap of faith to take untested source as the basis for compiling in new tuning parameters.
Geometric axis distance calibration
The skein tools expect the geometric axes to be calibrated in particular units, typically millimetres or inches. To this end, the firmware that converts the GCode into stepper motion needs to be told the number of motor steps per unit distance by compiling in appropriate tuning constants.
One would expect that these values could be calculated for the printer based purely on the geometry of the motion hardware, using the tooth spacing on the drive belts, the number of teeth on the motor cogs, and the number of steps per revolution for the motor. In the case of the Z axis, one would use the thread pitch of the threaded rods and the steps per revolution of the motor.
Yet there is at least one YouTube video demonstrating how to determine the steps/mm by direct measurement and refinement, which doesn't even mention the calculated approach.
While it is true that (in particular) the exact tooth spacing on the belt can vary a bit, it seems a bit absurd that the values compiled into the firmware should be as far off as they are in the video.
So far no effort has been made to verify the geometric axis calibration.
Extruder volume calibration
The extruder can have more natural variation from sample to sample, primarily because the exact diameter of the knurled grip area of the drive shaft is not well controlled in manufacturing. As a result the extruder axis is more likely to be in need of calibration than the geometric axes.
The author of the aforementioned YouTube video promises another video for calibrating the E axis but does not appear to have posted one.
On 25/Oct/2011 the "Extrude" button on the Reprap console was used repeatedly to obtain 15 samples of extrusion. A scrap of paper was used to wipe off each new extrusion, and an attempt was made to keep an even pace from one extrusion to the next.
This button turns out to extrude 250 units on the E axis, and 14 of the 15 extrusions averaged 60.0mg in weight, with a standard deviation of 1.2 (2% of value). The first extrusion was only 12.5mg because the nozzle had been idle for some time, and this value was excluded from the calculations. A measurement of the weight and dimensions of a section of raw filament provides a density of 1.23g/cm3. Based on that each extrusion had a volume of 48.9mm3, and so each unit on the E axis represents 0.196mm3 of plastic.
Note that this figure is highly dependent on the diameter of the filament fed into the printer.
Assuming the diameter of the nozzle tip orifice is 0.5mm, its cross-sectional area is 0.196mm2, so the length of the extrusion per E unit, assuming the extruded plastic thread is neither stretched nor compressed before cooling, is 1.00mm.
The firmware source code we have now has the value 2.2 steps per mm of extruded filament compiled into it, and it would appear that the intent is to have one mm extruded per E unit, so this calibration seems to be bang-on.
The fact that this is calibrated in terms of filament length rather than volume per E unit implies that the skein tools expect an E unit to represent a particular length of extruded filament rather than a particular volume.