Confronted with a puzzling failure, I decided to perform some long-delayed tweaking…
The folks at Makergear send me (and several others) a new filament drive gear for testing. It has smaller splines / teeth and produces a much finer mark on the filament:
The obvious stripped section on the right comes from finger-fumbling an absurdly large extrusion distance (something like, mmm, 1450 mm) with a high extrusion speed. Not the fault of the drive gear, that’s for sure!
I remeasured the actual filament length extruded to recompute Marlin’s
STEPSPERMM configuration constant. After rediscovering the awkward fact that, when you change that value with an
M92 command, Marlin doesn’t recompute the current extruder position, so the next manual extrusion will move a random amount of filament in a random direction, the value eventually converged to 476.9 steps/mm.
I intended to put the M92 in Slic3r’s startup G-Code, but the prospect of random extrusions suggested that now was a great time to update the firmware; again demonstrating that no good idea goes unpunished.
The most recent Marlin version, 1.1.0-RC5 (clearly labeled “Not for production use – use with caution!”), had been released a few hours earlier, so I fetched that and tweaked the configuration files as before.
The firmware now includes thermal runaway / thermistor failure protection for both the bed and hot end. Increasing the two
THERMAL_PROTECTION hysteresis values to 6 °C seems to work well.
It also includes a
CONTROLLERFAN output that can go active when any stepper is enabled, then off after predetermined time. Setting that to Pin 6 and 30 seconds means the whining fan (it’s a ball bearing replacement in an aerodynamically poor location) in the control box goes off when it’s not needed.
DEFAULT_STEPPER_DEACTIVE_TIME to 600 seconds means the motors don’t time out while waiting for the platform to reach operating temperature.
HOMING_FEEDRATE for the Z-axis to 60*60 mm/min causes it to whack the lever a bit harder and overtravel slightly more. The Z Offset ended up at -2.15 mm, based on the calibration cubes below.
Running a PID calibration on the V4 hot end produced slightly different values: P=17.41, I=1.02, D=74.44. Hardcoding those into the config file does not override the values already stored in EEPROM: you must manually set them with
M301, then use
M500 to program the EEPROM.
A few Calibration Box iterations settled settled the Extrusion Multiplier at a convenient 1.00 with the new drive gear:
All in all, that whole process went much more smoothly than I expected.
The config files as GitHub gists: