Steps per mm of extruder are incorrect after rebuilding

  • I have got a problem that after upgrading my printer to an aluminum frame my extruder went from around 400 steps per mm at 16 micro steps (which did match the manufacturer's recommendation perfectly) to a bit over 1000 steps per mm at 16 micro steps.

    This is a problem for me, since the limited amount of steps per second lower my maximum retraction speed.

    What I tried since the rebuild:

    1. Replace and adjust the current of the stepper driver - no change, even with another type of driver on different micro steps, of course with other values, but also about 2.5 times too high;

    2. Connecting another motor with another cable - the other motor with nothing attached to it drove the same angle as my extruder stepper.

    Could it be that the ATmega2560 on my MKS gen 1.4 board got damaged? Or did I change something in the firmware, which does have this effect?

    I am using Marlin 1.8.5 and a E3D Titan 1:3 geared extruder and I am using the same setup as before! E3D claims to have 437 steps per mm on a 200 steps/revolution Nema 17 stepper and 16 micro steps. This value was working perfectly fine before.


    With an Arduino Nano I measured the amount of steps my board sends at 418.5 steps/mm (programmed in EEPROM and in firmware) on a specific amount of extrusion length

    G92 E0 -> G1 F100 E30

    and I got

    5220 steps for 30mm extrusion (reproducible). 

    It should be

    418.5 steps/mm*30mm = 12555 steps.


    (12555/5220) * 418.5 steps/mm = 1007 steps/mm 

    to have the effect of 418.5 steps/mm

    ...which is, oddly, the exact number that I got by marking filament, extruding, measuring and calculating.

    If you have changed the extruder drive, the one that press and feed the filament your steps per mm could change.

    That's totally right, but i forgot to mention, i got a geared extruder and there are no spare parts that i could have mixed up

    There you are, when you change the extruder, you should re-calibrate the extrusion length. Let me guess, the gear uses a 1:2.5 gear ratio :)

    You should put that information (geared extruder) into your question, rather than in a comment.

    I did edit my question. The ratio of the e3d titan extruder is 1:3 and it hat the ~400 steps per mm before

  • Ok, thanks everyone for at least taking time to read or thinking about this.

    The Problem is an absolute mess and there are two possible reasons:

    -> the octoprint eeprom editor is broken

    -> the ATMega2560's eeprom is broken. as far as i know companies buy used atmegas to cheapen the price and the >100k writes on my chip has been reached

    I will try to figure out the exact problem, if i find time in the next days.
    My current setup is just deactivate eeprom and i'm good to go. Even wiping eeprom with a small arduino sketch will get the error to return.

    Now i will be able to sleep again :D

    Good that you post the possible culprits so that others may learn from it that even the electronics that you don't expect to fail may fail. This reminds me of the old days of a failing co-processor due to a print board crack failing to produce consistent log() function results (once in every thousand it failed to produce the correct value) try to trouble shoot that! It took days to find out.

    Please accept your answer!

  • After a rebuild, and certainly after changing to another extruder (e.g. replacing it by a geared extruder like you supposedly did as taken from the comments above before the edit, which now clearly is not the case) or setup e.g. other stepper drivers, you should always calibrate the extruder.

    To calibrate you e.g. disconnect the hot end nozzle and command to extrude 100 mm. Be sure to make marks and measure the extruded distance. Divide the latter value by 100 to divide this result by the steps per mm value in the configuration file. So, if you measured 102 mm and commanded 100 for 400 steps, the new would be 400/(102/100) = 392. There is a lot to find on this matter on the internet. All can be done with G-codes that can be entered through a terminal connected over the USB port. E.g. applications as Pronterface, Repetier-Host, OctoPrint, etc. all have a terminal interface to the printer if connected over USB.

    You could find more detailed instructions e.g. here, or this video.

    I didn't change the extruder or stepper driver at all! That is what bugs me. And recalibrating works of course in regards of extrusion, but ~1000 steps per mm limits my maximum retraction velocity to 2500mm/min (theoretical: (max steps per second on mega2560 based borads) 45000steps/s / 1000steps per mm = 2700 mm/min). Over 2500mm/min the motor loses steps and submits bad sounds

    @Bastian__ That is very strange indeed, I'll take a look at it later. Good you made it now clear in the question, as it was not clear! At first, it looked as if you changed to a new extruder in the conversion process.

License under CC-BY-SA with attribution

Content dated before 7/24/2021 11:53 AM