My first step in calibrating the printer was to check the filament feed rate. There didn’t seem much sense working on anything else if filament wasn’t getting to the nozzle at the correct rate. So once again I removed the motor and extruder from the printer, leaving the motor connected up.
To run the test I aligned the end of the filament square with the bottom face of the extruder, then started up Repetier Host and sent the G-Code command “M302” to allow filament to be extruded without the nozzle being up to temperature. That done I hit the button to extrude 100mm of filament and measured the length actually extruded using calipers. I repeated the test six times, five times getting sufficiently close to 100mm that I couldn’t tell the difference. Once I got 99.1mm, but as that was not reproduced at all I assume it must have been my error.
So, I have some faith in the extruder being accurate. Hopefully for the last time for a while it all went back together.
The next step was to print out this test cube. The faces are all supposed to measure 20mm. According to my calipers my first cube came out at 19.35mm for the X and Y axes and 20.25mm for the Z axis. I wasn’t entirely happy about the print though, so I tried a second time. This one I measured at three different places across each face and obtained the measurements for X: 19.45, 19.35, 19.45; Y: 19.35, 19.35, 19.35 and Z: 20.3, 20.3, 20.2.
I’d read on several web pages that sending the G-code command “M501” would display the existing X, Y and Z values for the number of steps per millimetre for each axis, but that turned out not to work for me. Fortunately “M503” did display the figures, along with quite a few others. The settings for my printer were X: 78.74, Y: 78.74, Z: 400. There’s also an “E” figure, but I’m going to leave that alone for now (it was 95).
Based on the formula new value = old value x expected size / actual size, this gave me new figures for the axes of 81.09, 81.39, 394.67. I set these new values and saved them to the EEPROM using:
M92 X81.09 Y81.39 Z394.67 E95 M500
Then kicked off another cube print. This time the X and Y faces were 20mm as close as I could tell, but the Z dimension was way too small at 19.55mm. As this would have resulted in the above formula giving a figure greater than 400 (which I already knew looked as though it was too large) I just decided to bump the Z figure up to 398 this time.
As I was about to print another test cube, someone suggested to me trying an object a little like this one, but in fact the one they gave me had 100mm sides. I printed that out, measured the sides using my calipers again and plugging values back into the above formula finally settled on these values
Which I have now set in the EEPROM as above. I’ll keep these under review as I continue testing.