Benachrichtigungen
Alles löschen

Why is M92 bad?  

  RSS
jordan.c
(@jordan-c)
Estimable Member
Why is M92 bad?

I have been doing a little dimensional calibration...
https://shop.prusa3d.com/forum/prusa-i3-kit-building-calibrating-first-print-main-f6/prints-slightly-small-t2883.html
...and I have been getting conflicting recommendations regarding M92ing adjustments.

M92 adjusts how many steps per mm your printer will take:
http://reprap.org/wiki/G-code#M92:_Set_axis_steps_per_unit

In a nutshell, you print something with some nice round dimensions, say a 100mm axis thing like this:
http://www.thingiverse.com/thing:80126

You measure the actual distance in all the axis, do some math, and M92 in your actual steps per mm ratios. I have done this and gotten really good results, not with just 100mm objects.

But in my journeys I keep seeing warnings NOT to do this:
The following information concerning steps/mm adjustments is outdated. It has since been agreed that steps/mm should be set to the exact calculated values since printing with non-ideal steps/mm results in an accurate test piece, but makes the dimensions on every other part even more inaccurate.
http://reprap.org/wiki/Calibration#X_.26_Y_scaling_and_steps.2Fmm_calculations

Also, this is

My argument is, math doesn't lie. Mathematically, adjusting your steps per mm can NOT jack up your prints of objects that were of a different size than your calibration print. It just doesn't make sense. What I think might be happening is folks are using too small of a calibration print to do their math. Calibrating with a 10mm test cube offers very little resolution... you need to use something much bigger. Yeah it takes longer, but think of all the time you waste with prints that don't work because they are of the wrong size.

So let's break it down with just one axis, the Y. The default steps per mm is 100. This is in the firmware of your printer. What does that mean? Well, your Y motor will step 100 times and the firmware assumes you have moved 1mm. There is no sensor, your printer doesn't have eyeballs, or laser trackers. It counts, it assumes. But what if your Y belt is just one tooth too a little longer? Say you didn't want your belt so tight it bends the printed parts on your printer. You have actually diluted things a bit. Your printer steps 100, but the overall belt loop is a bit bigger, which means the head only moved about .9mms or so. Now everything is a little smaller. Say you print something that has a 10.1mm hole that needs to slide over a 10mm rod, well that hole is now 9.85mm and you have just wasted time and filament. You could go back into slic3r and scale the axis for this one print, but that won't work for every print. You now have to print everything you care is dimensionally accurate twice. This is awful.

Ok so lets fix this. You print your 100mm test axis, measure, check your Y... big surprise.. it is only 99.80mm. Alrighty, well you wanted 100mm but got 99.80mm... so your off by 100.2%. Big deal the internet says, your printer isn't suppose to be perfect. I get that, we didn't build a watch here. But I say we can still do better. So you do your math

100 (the size you wanted)
------------------------------------------ * 100 (the steps per mm you used to print this) = 100.20
99.8(the size you got).

So your printer needs to nudge over .2 more steps to get to that 1mm. Make sense, your Y belt isn't as tight as a violin string. So you M92 X100.2 in an adjustment. Ok let's stop here is think about this.

This next print will start very slightly more to the right than the last print. This will actually be slightly more accurate. Your print will be larger in the Y axis. Every mm, it will move 100.2 steps, which is closer to reality. It wants to move 10mm, that use to be 1000 steps, well now it is 1002 steps. It wants to move 25mm, that use to be 2500 steps, now it's 2505 steps. It doesn't matter want the size is, the ratio is maintained. M92 adjusts ARE a ratio adjustment, steps per mm.

That 10.1mm hole you needed before, the first time you printed it the hole was 10.07mm and it didn't fit on the rod. This is further aggravated by the fact that all prints can differ +/- 100 microns or so. After the M92 X100.2 the hole prints at 10.1mm. Math isn't flexible, but I recognize your printer is, and there is lash and other things to consider.

I am not saying things can be perfect. I am just putting up an argument that using M92 to fix your stepper to mm ratios isn't horrible. I think those of us most affected by this are the ones whose printers are too small. It will never be perfect but we can get it closer.

Veröffentlicht : 12/01/2017 4:57 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Why is M92 bad?

Jordan

Overall, I tend to agree with what you are saying, but...

You are completely disregarding the accuracy of the print head and slicer, plus any over/under extrusion by not having the filament measured and calibrated.

In order to get your 100mm model correct, you firstly need to measure the diameter of the filament to be used and set the average in the relevant slicer parameter. Then you need to calibrate your extruder and ensure that it feeds 100mm when you tell it to do so.

You then need to set your slicer to print at 0.4mm width and to print the outer perimeter before loops and infil.

Then print your calibration piece, measure and calculate your X/Y steps. If your calibration piece is too small you will still not get it right, but you will be closer.

Do all that and I will totally agree that there is no problem with M92.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Veröffentlicht : 12/01/2017 5:10 pm
jordan.c
(@jordan-c)
Estimable Member
Themenstarter answered:
Re: Why is M92 bad?

Yeah, I left out some complexities to make my point a little more clearer. I hope that didn't break my argument 😀

Veröffentlicht : 12/01/2017 5:17 pm
jordan.c
(@jordan-c)
Estimable Member
Themenstarter answered:
Re: Why is M92 bad?


Do all that and I will totally agree that there is no problem with M92.

Is extrusion per steps or per mm? Say you changed your M92 to something very very large... would less fillment go into the print or it the amount of filament proportional to the size of the print?

Veröffentlicht : 15/01/2017 7:13 pm
David T.
(@david-t)
Noble Member
Re: Why is M92 bad?

Is extrusion per steps or per mm? Say you changed your M92 to something very very large... would less fillment go into the print or it the amount of filament proportional to the size of the print?
Extrusion is calculated per distance. If you set steps/mm higher than correct value, you will get underextrusion.

Veröffentlicht : 15/01/2017 8:20 pm
jordan.c
(@jordan-c)
Estimable Member
Themenstarter answered:
Re: Why is M92 bad?

Is extrusion per steps or per mm? Say you changed your M92 to something very very large... would less fillment go into the print or it the amount of filament proportional to the size of the print?
Extrusion is calculated per distance. If you set steps/mm higher than correct value, you will get underextrusion.

Doh! 😮

Veröffentlicht : 15/01/2017 8:42 pm
David T.
(@david-t)
Noble Member
Re: Why is M92 bad?

It's logical. The printer doesn't know real dimensions of the print output. It has to believe set values. If the user lies with values, the printer will do bad output.

Veröffentlicht : 15/01/2017 9:20 pm
jordan.c
(@jordan-c)
Estimable Member
Themenstarter answered:
Re: Why is M92 bad?

It's logical. The printer doesn't know real dimensions of the print output. It has to believe set values. If the user lies with values, the printer will do bad output.

Makes perfect sense

Veröffentlicht : 16/01/2017 12:27 am
Teilen: