Adjusting steps

Me again, sorry for all these stupid questions. I just got my first calibration cube out of the printer. It’s 20.2 x 20.2 x 20.18. In Marlin I would simply adjust steps/mm and be good. Reading the rotation_distance docu confuses me as it does not state one sentence about objects not the size they should have. But rotation_distance seems to be the value thats handling steps/mm. So how do I adjust the steppers so that my cube will be 20x20x20 in the next print?

Thx so far
Vince

Almost all printers should have a whole number for rotation_distance on x, y, and z type axes. If the above formula results in a rotation_distance that is within .01 of a whole number then round the final value to that whole_number.

Adjusting steps per mm is really not the correct way to address dimensional print issues.

Let me explain: if your printer uses a timing belt drive (typically GT2) then, on average, the spacing between belt teeth is exactly 2 mm +/- manufacturing tolerances. If you then use a 20 tooth gear on your stepper, then one revolution of the stepper will ALWAYS equal 20 teeth * 2 mm, therefore giving you 40 mm belt travel. Similarly, a 1.8 degree stepper will ALWYAS give you exactly 200 full steps per shaft revolution, resulting in 200 full steps per 40 mm of travel. Manufacturing tolerances will not change this, but will only introduce a small amount of “random” variability in the exact travel vs. the commanded travel.

If your test print is not the exact size as the model, it will be caused by a number of issues, including printer geometry (such as lack of squareness, non-parallel belt), thermal expansion of printer components, thermal expansion of filament during printing, extrusion calibration, slicing settings or errors, etc. If you change the steps per mm to address any of these issues you are effectively scaling the complete print to eliminate non scalable errors…

2 Likes

To add to @ReXT3D excellent answer:

  • Most likely you will experience different dimensional errors depending on where you place you object. Try printing one in the front left corner and another one in the back right corner of your bed
  • Belt tension has a nice influence as well
  • Judging from a printed object is really dangerous as your extrusion factor will have to be spot on → Too much extrusion = too big outside dimension and too small inside dimension // vice versa for too low extrusion

I did multiple “test campaigns” with a 50mm high precision dial gauge and was not able to hit the very same precision all over my bed. Finally gave up on it.

1 Like

Nice explanation. You can’t buy a 7/8 Bottle of beer. :slight_smile: Thanks for making this clear. So I will try to dial in the other factors as good as possible and keep rotation_distance the way it is.

Sorry to revive this topic but I’m new to Klipper and I have the same Dvb’s problem. I have a new Creality K1 and I understand that there are a lot of possible issues causing a difference in the high of test cube but are the same issues that I corrected calibrating step/mm in Marlin. From this point of view all tutorials that teach to calibrate x-y-z with steps/mm seem have no meaning. The same printer works with Marlin and with Klipper. Are you saying that using Marlin I can correct the problem via software but using Klipper I have to dismount the printer without knowing what I am searching for?

Exactly, and they never had, neither for Marlin nor for Klipper. One more example in the book of myths of 3D printing.
Just because such myths are copied from “tutorial” to tutorial does not make the information any better.

I would like to revisit this topic. I understand the arguments you are providing here, nevertheless, there is a case when this kind of adjustment of parameters could be feasible - a physical replacement of the lead screw, for example (or am I wrong?). I’ve got a TR8x2 lead screw instead of the default M8x8 screw.
If the dimensions of the screw are correct, the only thing I should change in the printer.cfg will be the rotation_distance (2 instead of 8).
I was printing a 200% test cube and, instead of 40 mm in Z dimension, I’ve got 37 mm. Could such a difference in height be explained by a wrong Z-offset, for example? Or this is really the steps/mm or roataion_distance? X and Y dimensions are correct, and there are no visible artefacts on the surface of the test print.
I still need to print cubes at different locations of the print bed to see if there is a strong bias, but 3 mm sounds like it’s much more that can be explained by the wrong calibration of extrusion, for example.

Can’t you just home Z and then move +40 mm and use a caliper to check whether the distance between bed and nozzle is 40 mm as well?
Steps are defined by the mechanical parts and gears - here the lead screw.
But the resulting movement can be affected by binding axes, lost steps (due to binding axes or sluggish movement) or other factors.

1 Like

@ LifeOfBrian hmm… good point…
actually, I was doing this and I got exactly 100mm (well, within the measurements error of a simple ruler) when moving the Z-axes for 100 mm.
The 200% calibration cube with 0.16 mm layer has 250 layers. Therefore, with my nearly 3mm difference, each layer was printed with 0.15 instead of 0.16 height. On 100 mm Z-axes move it will give a 10 mm difference! Which is definitely not the case.
Then it should be something different. But with such a big difference, I can’t imagine what could that be… :frowning:

As @LifeOfBrian highlighted, this is exactly one of the reasons why tuning the e-steps or rotation_distance is nonsense.

A lead-screw typically is quite accurate and an error of 3mm on 40mm from the lead-screw is highly unlikely unless something is very wrong.

Besides the mechanical accuracy of the physical printer, there are many factors that influence the final dimensional accuracy:

  • Flow, i.e. over- / under-extrusion
  • Type of filament, i.e. shrinkage
  • Humidity of the filament
  • Printing temperature (in my experience: The hotter, the “flatter”)
  • Printing speed (in my experience: The faster, the “flatter”)
  • Solar activity, moon phase and you name it

This makes the tuning on one single 20mm “calibration cube” (the name is already a joke to start with) completely irrelevant.

Is “flatter” synonymic to “better”?

I do like the last phrase :smile:

This was meant with respect to potential deviations from the Z target value. A nozzle “drags” the filament, which is an effect you can also see on radii where the filament is dragged more inwards the sharper a radius gets.

1 Like

In general, I fully agree. The question is, why it all happened after I changed the lead screw, and was not the case before…
I’ve adjusted the pressure advance settings, extruder rotation distance, flow rate, and optimized temperature for a particular filament and I am printing PETG directly from the filament dryer.
Ok, I can change the screw back to the stock - I’ll do it if I do not manage to fix the z-axes issue. But I still have a hope to fix it…

If you only changed the lead-screw we can rule out the filament.
Shrinkage in Z mostly is not as big as in X or Y and this should not have changed with the same filament.
How is the lead-screw connected to the motor? Maybe a grub screw is loose on a pulley or coupling.

Could you maybe print a 40 mm and 80 mm high tower and measure both resulting heights?

Are all walls/perimeters clean or are there any horizontal bulges?

Are you using z-hops?

@LifeOfBrian, I should check the lead-screw connection again. Was tightening it pretty hard, but without the LOCTITE.
Yesterday, before I saw your message, I decided to print 5 cubes - in the middle and in each corner, using “One at a time” option from Cura, to see if there is a difference in Z-axes error, depending on the print location. I’ve adjusted again the Z-offset and performed taming, and autolevelling. Unfortunately was able to finish only 1 cube in the far left corner - after finishing the very first cube it moved to the near right corner and started scratching the surface of the bed so hard, that removed PEI coating, before I stopped it!
Anyway, the first and only 100% calibration cube was printed with nearly the same Z-axes error - 17.5mm instead of 20mm… So one can rule out as well the screw manufacturing error because it can’t be giving different systematic errors on 20 mm and 40 mm prints.
As for the first printed 40mm cube, I don’t remember and have to check again, but as far as I remember, it looked very nice, without any pronounced print artefacts. As for the second print (20mm cube)- the lower 7-8 mm of the print looked very squished, with visible horizontal bulges.

@Sineos Normally, I am not using it, if I don’t have many small parts next to each other. I am using “avoid printed parts” and “avoid support” options.

Check Axis Twist Compensation - Klipper documentation

2 Likes