Jump to content
Ultimaker Community of 3D Printing Experts
asb

How to calibrate X,Y and Z-STEPS?

Recommended Posts

Hi,

I am trying to get dimensionally accurate printouts with my factory-fresh UM3. During set-up, I went through the usual calibration procedures - build plate levelling with the "calibration card", and running the "Z and XY offset calibration" with the supplied "XY calibration sheet".

My prints look visually good. Print bed adhesion is excellent. I thought everything would be fine.

But then I noticed that my UM had severe issues reproducing technical models accurately. This affects dozends of pre-designed models from the InMoov project like

 

 

These parts need to be interlocked after printing, but they do not fit. The models should be perfeclty fine as they have been printed and built dozends of times in the past years. Some sanding and deburring is required, obviously, but I would have to grind down almost half a millimeter of material to make these parts fit. Gael (the InMoov designer) recommends to calibrate the printer.

To do so I downloaded a "STEP Calibration Piece (X, Y and Z axis)" from Thingiverse (https://www.thingiverse.com/thing:195604)

The calibration object is 100mm on X and Y axis and 50mm on the Z-Axis.

Measured with calipers, my test piece is 100,38 × 100,33 × 50,16 mm, so there actually is an offset.

The instructions say:

"You can then calibrate your STEPS using this formula:

X,Y-Axis: 100 / [measured length in mm] [current STEPS]

Z-Axis: X,Y-Axis: 50 / [measured height in mm] [current STEPS]"

Where do I find the "current STEPS" value, and where do I enter the corrected values?

Thanks!

Edited by Guest

Share this post


Link to post
Share on other sites

You cannot set "current STEPS" without compiling your own firmware. But the good news is: you don't need to. What this person has done is very strange IMHO. The XY values should be 80. He is adjusting an offset with a gain. I bet that when he prints a calibration unit half the size, he would arrive at different values.

The XY resolution is determined by the stepper motors and the belts/pulleys. They are exactly 12.5microns/step (thus 80 steps/mm).

The 0.3-0.4mm offset that you measure comes from inaccuracies in the printing process. One example is the "elephant foot".

Another example is that holes are always printed a little smaller than designed in CAD. Due to various causes (search the forum).

Do you use Ultimaker filament? If not, you might need to tweak the print settings to get optimal results.

Share this post


Link to post
Share on other sites

Other source of imprecision while using default UM3 profiles is that because it uses so low jerk, it creates extra amounts of extrusion due the slow speed when changing directions.

You can edit that on advanced mode if you unhide the options bu default.

More about this

https://ultimaker.com/en/community/50090-overextrusion-on-edges

Also to change steps values on UM3 you don't need to build your firmware. You would need to activate Dev Mode, logging by ssh to your machine IP (ssh root@ipaddress password ultimakwr) and then find the jedi.json on the share/usr/griffin/griffin/machines) and then edit the text file using vi editor). Ofc all this if done wrong can brick your machine (not super dangerous but just a warning about changing values).

Edited by Guest

Share this post


Link to post
Share on other sites

Also, a better way to calibrate stuff is to check the final siE, then use a rule of three and apply a negative or positive Horizontal Expansion on cura (hidden option). That should give something more easier to control.

Edited by Guest
  • Like 1

Share this post


Link to post
Share on other sites

Hi,

thanks for your reply. Sorry, I have no idea what "the final siE" or "a rule of three" is.

If my UM3+ prints with an offset of approximately 0.3 mm on the X and Y axis, can I just enter "-0.3 mm" in the "Horizontal Expansion" setting to get accurately sized prints?

I really do not understand why this problem even happens with such an expensive device like the UM3. InMoov is designed to be printed even on cheap 3D printers, and nobody else seems to have to do these hacks, except for very few people with totally uncalibrated DIY 3D printer kits…

  • Like 1

Share this post


Link to post
Share on other sites

Hi,

thanks for your reply. Sorry, I have no idea what "the final siE" or "a rule of three" is.

If my UM3+ prints with an offset of approximately 0.3 mm on the X and Y axis, can I just enter "-0.3 mm" in the "Horizontal Expansion" setting to get accurately sized prints?

I really do not understand why this problem even happens with such an expensive device like the UM3. InMoov is designed to be printed even on cheap 3D printers, and nobody else seems to have to do these hacks, except for very few people with totally uncalibrated DIY 3D printer kits…

The issue, except the corners where slow yerk affects how filament is printed (low yerk low ringing, high yerk more accurate but ringing effect on print), the issue is how the filament cools down/expands while being printed.

About Horizontal expansion, afaik works exactly like that. More info, and also a very good guide about hidden options in cura and how to optimize stuff:

https://ultimaker.com/en/resources/21932-mastering-cura

Share this post


Link to post
Share on other sites

I tried the Cura setting for “Shell - Horizontal Expansion”. For a 0.4 mm nozzle size and a layer height of 0.2 mm ("Fast" profile) I guesstimated an offset of -0.2 mm.

With this compensation, the InMoov parts now come just right out of the printer; I do not even have to sand them down anymore.

Now I just have to grind down all the parts I already have printed in the past weeks, *sigh*.

Thanks for pointing me to the "Hoizontal Expansion" setting!

  • Like 1

Share this post


Link to post
Share on other sites

I am encountereing the same issue on an S5. All engineered parts are distorted and I am advised to calibrate the printer.

 

What happens with the factory calibration is that prints are distorted with a different offset on each axis (yes, even with Ultimaker 'ToughPLA' filament and the factory profiles). This offset won't be noticable if you are printing artistic objects, but everything breaks what needs to have defined measurements, e.g. mechanical parts that need to fit together. I have printed a bunch in the past month, and it all falls apart respectively does not fit together because the offsets are different on each axis.

 

I measured the offset with a simple calibration object (100mm on X and Y axis and 50mm on the Z-Axis), printed in Ultimaker Tough PLA. The resulting object is 100,5 × 100,3 × 49,8 mm. So on two axis, objects grow and on one axis objects shrink relative to the measurements they are supposed to have. With larger objects you get a deviation of up to 1.5mm bigger and 1.2mm smaller, which can result in completely unusable results. You simply can neither grind off 1.5mm from a mechanical part, nor you can not add 1.2mm material.

 

The “Shell - Horizontal Expansion” setting does not help in this case as two offsets are positive and one is negative, so each global compensation would be counterproductive for the other distortion and make everything worse.

 

Since the S5 seems not to provide an end-user method to accomplish measured (exact) printouts for mechanical parts, there are two approaches:

 

1) Tinkering with some jedi.json in share/usr/griffin/griffin/machines as suggested here. I have not tried yet and I do not want to do this, but there seems to be no better way as of now.

2) A theoretical and much more end-user friendly and less risky workaround would be an extension for the “Shell - Horizontal Expansion” settings in Cura. Currently this is a global setting which affects X-, Y- and Z-axis equally, as far as I understand it. With an extension it could be possible to compensate the offset separately for X-, Y- and Z-axis. Theoretically and with some guessing, that could work similarily good like a real calibration. However, this is not available in the current Cura version so it's only a theoretical option.

 

Is it really required to compensate for the printer's miscalibration by facoting in the offsets into the model?

 

Am I missing something?

  • Like 1

Share this post


Link to post
Share on other sites

Dimensional accuracy is a difficult subject. There are many many causes for inaccuracy. Some causes depend on temperature, some on the printing process parameters, some are in the mechanical tolerances on parts etc.

It is a topic that is being addressed within R&D, but I realise that does not help you now.

 

I would not advise to adjust the scaling of X Y and Z. That is too big of a simplification, and afterwards when you print objects with other dimensions your calibration will not work, and possibly make things worse.

 

My own experience is that often the inaccuracies are pretty reproducible. A 4 or 5mm big hole prints always 0.25mm smaller than in CAD. So I compensate for that in CAD.

 

You say you have measured inaccuracies up to 1.5mm. That is pretty extreme, and indeed can make parts unusable. Can you share an example of that? An STL and actual measurements, and/or a photo?

Share this post


Link to post
Share on other sites

There are some tests that I did initially with my UM2 to learn about several important factors of printing to learn how to get things more dimensionally correct. One was by creating a 1cmx1cmx1cm cube then placing an array of 16 or 25 equally spaced cubes in cura on the print bed. This tested several things including:

 

1.) With current settings how accurate are the cubes individually and how different are they across the entire printing surface. You might note that your bed is slightly un level or that fanning causing different cubes end up slightly different because of fanning near a wall or that cubes near the front cool faster on one side because they are near the front opening of the machine. You may also note that the bed temp has slight variations across the entire surface which do not necessarily cause a great deal of change to happen but they do contribute to .01mm at times.

 

2.) You may also note how the material is printing and how sharp edges can get with the material. Edges can get pretty sharp. The original provided material is usually best to do this with as it should be the first material that you learn about. Some things you may also see is how when the fan goes on and the layers build the shrinkage of the material may change between the build plate and the currently layer. Usually low layers are exact then depending on the material you might see the wall shrink in slightly until you get to about 3-5 mm high (if you are using full fan right from the 2nd layer). Lower initial fan usually helps this and you only need full fan when you are trying to bridge from area to area.

 

3.) Between cubes you will also see how effective material pulls are and how they differ between layer heights, if it is leaving a trail if there are pull differences between the cubes and if there are differences between areas on the bed.

 

I wouldn't recommend going all the way to the edge but go kinda close to the printable edge with each cube placement. I have been able to get resolutions that fit by placing offsets in 3D files that I created by +/- 0.008. I'm not sure if your parts have that built on or if they are exact edges.

 

Without altering the file you could note that part areas that cool fast seem to have more shrinkage then slower cooling parts areas, smaller parts seem to shrink less than large parts (add more space between in infill with larger parts) one more thing that you can try is to turn off the fan and repeat the cube array print to see what happens with your material. You'll notice difference between printing with fan and without fan.

 

You could also speed up the print slightly or reduce the extrusion speed slightly to thin down excessively thick walls.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • Ultimaker Cura | a new interface
      We're not only trying to always make Ultimaker Cura better with the usual new features and improvements we build, but we're also trying to make it more pleasant to operate. The interface was the focus for the upcoming release, from which we would already like to present you the first glance. 
        • Like
      • 16 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!