This blog will be unfinished until I try the calibration number that I calculated and measure the actual result. We’ll see how close I come to the right answer. I found that a similar procedure is described at this web site.

My Stepstruder Mk6 uses 80 steps per mm and is set for 1/16 steps, so I should find a number in this range. I could not find the effective diameter listed anywhere, but it looks similar to the gear on the Mk7.

I am building a custom 3D printer based on a RAMPS 1.4 shield on an Arduino Mega. I am not using anyone else’s plans for this printer, but just finding components that I like, and that are reasonably priced. I will post the details about the printer.

I was pretty surprised to find out that when I did a Google search for “Stepstruder Mk7 steps per mm” that I did not find much. There were a few people who named the settings they used based on experimentation, but I honestly expected to find the exact right number for the Stepstruder Mk7 using Marlin firmware with the RAMPS 1.4. Since I did not find it, I will figure it out, test it, and share it. There must be someone else on Earth who wants to use the Mk7 with the RAMPS 1.4. I will try to help you out!

The linear temperature expansion coefficient of ABS is listed as 7.38 * 10^-5 per degree C at this web site and 5 to 10 x 10-5 per degree C at this web site, but only 4.1 * 10^-5 at this web site. Going from room temperature of 20 C up to melting at 230 C gives a 1.55% linear expansion for the 7.38 (first) number.

Volume expansion should be therefore be 1.0155^3 = 4.72%. Think of a cube expanding linearly in three directions.

Calculating steps per mm of extruded filament should be based on conservation of volume

Volume(in) = Pi * radius(in)^2 * length(in) * thermal expansion = Volume(out) = Pi * radius(out)^2 * length(out)

So we know that length(out) = length(in) * [radius(in)/radius(out)]^2 * 1.0472

The input filament diameter is 1.75 mm, and the output diameter is 0.4 mm (Stepstruder nozzle size). Since r1/r2 = d1/d2, we know that length(out) = length(in) * 19.14 * 1.0472. This is approximate, but close enough considering system tolerances. I need to determine the actual value for my machine experimentally.

The stepper motor on the Stepstruder Mk7 has 1.8 degrees per step, which means 200 steps per revolution. My system uses (by default, set with three jumpers) 1/16 steps, so I have 3200 machine steps per revolution. Next we need to know the drive gear (the little wheel with hatch lines used to pull in the filament) diameter. Makerbot publishes the “effective diameter” of the Mk7 drive gear as 10.56 mm.

Here is the next simple calculation.

One revolution pulls in length = 2 * Pi * radius(drive gear) = 33.175 mm. That is simply the circumference of the gear. One revolution pulls in one gear circumference of the 1.75 mm diameter filament.

That’s length(in) per revolution in mm, so we have length(in) = 33.175 / 3200 mm per step = 0.01037 mm per step. Invert this number and you have

96.43 steps per mm of INPUT material.

Then we know length(out) per step = 0.01037 * 19.14 * 1.0472 mm = 0.2078 mm per step. Invert this and we get

4.8124 steps per mm of OUTPUT material.

**13 January 2013 Update: Experimentally, I find that the right value is somewhere around 6.5 steps per mm.**

That seems to be a fairly small number compared to 80 steps per mm used for my Stepstruder Mk6. I could not find a published number for the effective diameter of the drive gear for that system however.

The default Marlin firmware setting, which expects use of the Ultimaker is 760 * 1.1 = 836 steps per mm (174 times my calculated value), so it should be no surprise that the first time I extruded a little bit of filament, I had a lot more than I expected! Next I need to go through calibration procedures and report the results.

I am not sure why this number is not published in lots of places, especially on the Makerbot site. Dear viewers, if the problem is simply my lack of proper use of Google search and the number is in fact easily found, please leave a comment and I will reference it appropriately. Likewise, if I have a math error, please let me know soon and I will change the post.

Also take a look at the RepRap Calculator.

Pingback: Custom 3D Printer « G. P. Le Sage Blog·

Awesome work! Thanks for the info

The MK7 is 96.43 steps per mm(0.01037 mm per step). However, ultimaker is 836 steps per mm(0.0012 mm per step). Would this affect the resolution(precision) of extrusion? In some of G code the E value is very small(e.g E 0.003)

I think I was mistakenly under the impression that “Steps per mm” meant OUTPUT, not INPUT. That explains why I needed the multiplication factor of 15 in SLIC3R. I just switched to 96.43 steps per mm and changed SLIC3R to a multiplication factor of 1.0.

I am not familiar with the Ultimaker, but if you are uncomfortable with the high number of steps per mm, you could use less of a micro step. With my Ramps 1.4, I can use full, half, down to 1/16 step. As for the G Code, I do think it will round off at some point, so you may consider larger step size to reduce steps per mm. For example, if you are using 1/16 steps and switch to 1/8 steps, you will drop to 418 steps per mm.

Thanks for your comment. I hope this helps.

Greg