Jump to content
asb

How to calibrate X,Y and Z-STEPS?

Recommended Posts

Posted (edited) · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

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
Posted (edited) · How to calibrate X,Y and Z-STEPS?

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
Posted (edited) · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

The “Shell - Horizontal Expansion” setting only affects X and Y (=horizontal), but not Z. Or do I miss something?

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

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
Posted · How to calibrate X,Y and Z-STEPS?

i am trying to find the same answers for my ultimaker 2 extended. I know my steppers are off because i brought my magnetic base and 1" dial gage i positioned it on the extruder. and by using the manual jog mode in Repetier host i move in each axis 25.4 MM. the x axis and the z axis were only slightly off and not worth bothering with, because i only do artistic models. but the y axis is over 7.62MM off if any one could please tell me how to access the stepper motor setting " in plain english" i would appreciate it 

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

If you are controlling the printer through repetier host then you can adjust steps/mm using gcodes.

M92 is used to set steps/mm for example if the Y axis is currently 80 steps/mm but you want to increase that by 10% so it will move farther then you want 88 steps/mm:

M92 Y88.000

 

After changing it and you are happy do a M500 to save settings.  If you don't do M500 it will go back to the previous value when you power cycle the machine

M500

 

To see what the steps/mm currently is for each axis (and all the other settings) do M503 and it will display all the current settings as gcodes.  For example the steps/mm will look something like:

M92 X80 Y80 Z200 E250

 

Which tells you the steps/mm for each of the 4 steppers.  You can see what all the gcodes mean here:

https://reprap.org/wiki/G-code#M503:_Print_settings

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

WOW gr5 thank you very much. I will try this after work today. I like the fact that i can save theses setting with an M500 code. I knew I could adjust the steepers in the EEPROM setting in Repetier but i didn't know if they would be saved to my printer Firmware.I'm guessing you use Repetier host. Do you like it? Me I'm a CNC machinist and i like to know what my machines are doing.                                                                                    Thanks again  mark

 

Share this post


Link to post
Share on other sites
Posted (edited) · How to calibrate X,Y and Z-STEPS?

@mark269, you say your Y-axis "is 7.62mm off". What exactly do you mean with that? If you have an (mechanically, and software-wise) unmodified UM2, using "steps per mm" to compensate for a dimensional error is not a good method.

First of all, to be sure: with the Y direction, you mean front to back right?

Could there be another reason that your Y dimension is not printing well? Is your printhead moving smooth if you move the printhead (by hand) around the buildplate surface? Are the shafts well oiled?

Are the pulleys screwed tight to the shafts?

Does the dimensional error scale with the size of your printed object?

 

 

Edited by tomnagel

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

Tomnagel what i mean is when i placed a 1" Dial gage against the extruder and enter a command to move 25.4mm in the y axis the extruder only moved .700 inches/17.78mm   My ultimaker is not modified as far as i know i bought it used on E-bay.  Front to back? I am a CNC programer, set up, operator. I run 2 half million dollar 7 axis CNC lathes. we don't use terms like front to back. LOL we talk in polar coordinate . and yes my machine is well maintained. Does the error scale I dont know i only make artistic model, like a life size storm breaker. you know Thor's new weapon. but I like my machines to be accurate.

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

I need to make a correction my Y axis is not 17.78 mm off it is 1.77 mm off My Bad

 

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

So you try to move 1 inch, and the extruder actually moves 0.7 inch? So an error of 0.3 inch?

and what happens when you try to move the extruder 2 inch? Is the error linear with the length of the move?

 I am asking because I don’t know a single cause that can influence the gain (stepspermm) without changing the hardware. 

 

 

 

 

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

Tomnagel I dont have a 2" dial gage. but when i moved a half an inch i got an error of .150  thanks for trying to help but it turns out that after calibrating with my dial gage did not work. 3d printers are not CNC machines. the moves are to rapid. and the printer has no why of knowing its true position. it has to guess by how many steps it takes. so after calibrating with a dial gage i was able to enter a G01 move command and was able to get a repet position every time but when running the printer the round part came out oval. so setting your stepper part by measuring your print is the best way of calibrating your printer

Share this post


Link to post
Share on other sites
Posted · How to calibrate X,Y and Z-STEPS?

I have exact the same issues with my ultimaker3. I think the answers of the ultimaker people are not right too. Really strange that the Ultimaker company does not have more focus and knowledge about x, y and z calibration...

 

The horizontal tuning works indeed, but equal for x and y: that's silly...

 

x, y and z callibration is important to make accurate prints like Inmoov parts.

 

I have tested the z-stepping first: moving 100mm by command gives 107mm..

i have changed the z-steps, now it's doing exact the requested 100mm.

The printed Inmoov parts has now a better fitting, but it could be a bit better.

 

An 3D-printer must do exactly what the gcode wants, x, y and z tuning must be accurate. 

 

Will tune the x and y tomorrow, will let you know how it works..

 

 

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 4.0 | Stable available!
      Ultimaker Cura 4.0 is mainly focused on the improved user interface and cloud integration.
      As always, we want to collect your user feedback for this release. If there are any improvements you can think of, feel free to mention it here and help us to shape the next release.
      • 98 replies
×
×
  • Create New...

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!