Aiming for high precision - adjusting steps per mm and my squaring method

Not common at all. Did you get your belts from me? Fiber reinforced belts at the tension we are supposed to be using should show very little stretch. ~7lbs

If anything your parts should always be too small. I suspect you over stretched your belts, extremely. Slight slack, machine flex, router/collet/tool run out should add to smaller parts (larger holes).

They break, every single time they are used on either of the V1 CNC’s typically in under a few hours use. This is not the right application for them. At the correct tension there should be no difference, and the forces we use on them fiber is the correct choice.

If your trucks are sitting well, on a build your size I can’t imagine how my method would not be much more accurate that any square measurements on offset tubes. Unless your bearings are too tight and not moving freely. As for the instructions I tried both ways, I have a small square and a large square, the truck measurements where far more accurate for me. Leaning your head changes the light gap. (how we used to do it)

Little, but more than nothing. Maybe my belts where a bit tighter then needed, but I did not overstretch them. Today I loosened them a bit, just that they dont hang down and then a bit more extra.
Then I made a exact measurement with a long ruler to exclude all other factors like cutting forces or deviating tool diameter.
With 200 steps i get 0,1% more travel and 0,1% bigger parts I want. With 199,8 steps per mm its fine.
That means the belt expands 1mm per meter at “normal” tension.
I got the belt from China, I doubt that its very different to yours.

I think its an easy thing to adjust and a little help for better precision!

I say it depends. If you mill outsidecontours CCW, the resulting force on the cutter goes inwards → smaller parts.
Going CW its the opposite. That happens even on heavy duty industrial steel milling machines, but sure the effect in wood tends to zero.
Look at this graphic. The small long arrow shows the resulting force: Sandvik Coromant

With belt stretch parts get always bigger, respectively it can compensate other effects.

Good to know that steel inforced belts are not suitable.

As for the instructions I tried both ways, I have a small square and a large square, the truck measurements where far more accurate for me. Leaning your head changes the light gap. (how we used to do it)

My thought was with your method, you have many sources of measuring errors:
You have to get the frame to a nice rectangle first (at least 6 measurements), then you go for parallelism between frame and core rails (at least 4 measurements).
Just if all of it is measured right, the 90° angle results at the core rails.

I want to mention that reading a absolute measurement on a pipe with just a ruler is a pain, (if you cant measure at the end) because the reading depends on the angle you look at. No problem for me, because I have big calipers, but maybe hard for beginners.

If the frame is not perfect rectangular or one measurement gets wrong, the error gets reproduced at the core.

With “my” method, I just need to get the outer rails parallel.
I dont even need to read an absolute value from the ruler, cutting a piece of wood or sth. as a spacer will do it even better. If the frame is a slight parallelogram, that does not matter.
Then I make the core rails 90°, fix it on the trucks. Finish.
To control a angle or distance (and than adjust it) its much better then measuring. Thats a thing I always respect as a toolmaker.

Maybe this accuracy discussion is not relevant for the majority, but I wanted to figure out how far I can get with this relatively flimsy machine.
Its also fun for me to chase the fractions of a millimeter.

I usually work on old milling machines or lathes that are between 1 or 2 tons weight :slight_smile:
Same problems there actually with deflection, thread pitch slightly off, vibration, play in the guides or axis not perfectly alingned.
But either with much higher cutting forces or higher precision <0,01mm.

1 Like

In fairness, you kinda want to get the other stuff right anyway. And isn’t most of the core squareness moot once you put dual endstops on it? I adjusted my trucks until they were close, then dialed in the endstop offsets in about ten minutes. I also spent about an hour adjusting my miter saw, and the primo still gives me squarer cuts.

On a machine as large as yours (and mine) no matter how square you get the core at rest, if you bump it even a little while it’s not powered on one truck will move and the other side won’t. This was true for me even without the belts and stuff on holding the other side still. The trucks just can’t be THAT rigid. I’m not saying you shouldn’t pursue this, just that many of us take the easier route and end up where you want to be.

RE CW/CCW, I’m not sure what counts as vanishing, but I have to cut an extra 0.015 inches on climb milling for finish vs 0.005 extra for conventional. That’s about 0.25 mm different, stacked for 0.5mm from side to side. You mentioned percents, but I didn’t see how big the part is. And this is with my primo that moves as exactly as I can measure with my dial indicator over an inch, my calipers over 6 inches, and my tape measure over the working area.
Hope the hard numbers help.

1 Like

Also, with series wiring the motors on each end of each gantry will ‘cog’ to the nearest 1/50th of a revolution, which is about 0.6 mm, meaning each end will jump up to plus or minus 0.3 when the steppers are energized. If you are trying to dial in squareness better than this, you would need to take it into account. It is a non-issue for dual-endstops. Even hard stops are not 100% foolproof IMO because it takes extra care to truly guarantee that the motors are not off by one ‘cog’ relative to each other.

1 Like

As long as you can measure it and adjust it, we have a winner.

I will keep an eye out for more people seeing this adjustment as an issue and take a look at mine when I have some free time. I actually test mine with the parts output and ~+/-0.5mm has always been way better than I have ever needed so you could very well be right.

Jamie did some belt stretch tests and it does happen. If you want to account for this I would suggest measuring each side to assure they are even or Marlin lets you adjust each step count individually. I don’t really have the means to measure all that accurately. I have a 150mm caliper or a tape measure, but I will rig mine up and see if I run large by 0.15mm/150, it would be good to know.

Well shoot. Jamie am I reading this wrong or are the numbers roughly the exact same? Double-Belt for LR2 0.17% stretch…6mm belts tested though not 10mm.

Maybe we do need to adjust the default steps/mm.

I have a feeling I’m about to learn something…

Adjusting the defaults is interesting. I assume the 10mm belt is less deflection?

I feel like I am always the one arguing against adjusting the steps/mm. Mostly because it should be the last step in adjusting for precision and it makes everything harder to diagnose when you have it offset.

The actual error is often in the form of y=mx+b, where m is things like belt stretch and b is things like backlash or bit deflection. Steps/mm only adjusts m, and if you take only one end point (by measuring the size of a 100mm square you cut in wood), then you will be compensating for b as well, without knowing it.

It is similar to a 3D printer where you adjust your steps/mm for a perfect 20mm cube, but you haven’t calibrated your extrusion yet. You will end up with a 20mm move being 19.8mm, but you’re over extruding 0.1mm on either end.

If someone does adjust the steps/mm and then tries to adjust the extrusion, the error in steps/mm affects the distance between lines and that ends up with the wrong extrusion adjustment, and now you’re two layers deep and you can’t make a 20mm cube or a 50mm cube.

2 Likes

That is exactly how I felt about it.

Then I looked at Jamie’s test again. linear (wait…linear by load, not necessarily length). I really need to see if I can measure this accurately first. I am against this as a default but this might need to be noted somewhere. On the other hand if it is linear with load and length, wouldn’t we be doing a disservice by not setting them correctly?

Uhhgggg, I am not sure what is right.

The only way I have to test this is rigid mount my longest calipers to the axis and do some moves. Feels weird to think I have not tested this very much. I am only ever concerned with square. I have measured the crap out of diagonals (with a tape measure).

2 Likes

The total stretch should be proportional to length and to tension. Steps/mm also is related to distance, so I think tension is the only variable. I am sure you can change the steps/mm to 100.5. I am not sure if that is more accurate for every build.

The “system” we have now is basically to not encourage anyone to tune the steps/mm and then if someone knows what they are doing, they hopefully can find out what to do about it themselves. Stefan found this out. But not everyone will and some will figure it out at the wrong time.

It isn’t a very friendly system. I would rather be more clear and honest, but it does strike me as something that you should only do after you have a bit of experience. Just to make sure you’ve found the other sources of error. I also think Jamie’s web ruler tool is a good way to measure it. Maybe we need to group these things together in a doc and make the whole picture more clear.

1 Like

Agreed. Thanks for bolstering my confidence in the current system.

I think its the opposite. If the core should travel 1000mm, but it goes 1001mm like mine, you have a built in error in the positioning system.
Reducing the steps per mm 0,1% was a good value for me and might work for others as well. If you want the exact value, use the formula above.
The deviation is linear, it was allover (on long and also on short axis) 0,1% more travel then it should be.

Thats why I adjusted it with no load, just bare movement.
All other part deviation, you usually adjust with tool diameter or contour offsets in the CAD/CAM.

I did it on both sides. Either you have a firmware that support different steps/mm for one axis, or, better:
Adust one trucks steps/mm in the firmware first, check the result, then bring the other truck to the exact same distance by adjusting the belt tension. If the belt tension is very different, I would split the difference (or get new belts).
On my machine, I did not had to do this, because it was the same on both truck pairs.

If you measure with your calipers, I expect you will read roundabout 150,15mm real travel instead of expected 150mm

Sorry, I disagree. If I want to drill 2 holes 500mm apart, and its always 500,5 or more, there are primarly no other errors then non compensated belt stretch.
A small note somewhere in the documentation would not hurt. The rookies has to set the steps per mm anyhow.

I figured out after the second part, that there is something wrong in general, but this is with years of experience in machining parts.
A beginner would usually start to adjust the wrong parameters to get the desired result, but this is not replicable and different for every part.

Jepp, I would like to contribute with my measurement and tests.

I spend a lot of time in the forums, and most people don’t care if they asked for 500mm and they got 500.5mm. More often than not, someone is trying to use steps/mm to adjust it when they asked for 500mm and got 505mm. And then they have more trouble when they adjust it and it is sometimes 495, and sometimes 500mm. The root cause is something like a loose pulley, or a stretched belt (one where the fiberglass or steel has stretched). It ends up being very hard to diagnose when they have adjusted the steps/mm.

I’m very glad you are happy with your adjustment, and I encourage anyone who is down to that level of error to measure and adjust it themselves. But am of the opinion that (without context) it will do more harm than good in the instructions.

I’m not a dictator though, feel free to disagree with me. I can accept that.

2 Likes

True words. Same if one stepper stalls because of a crash or something.
Imho squaring the core is a benefit. If you square a non squared core with dual endstops (which i did not installed yet) it will put tension on this. This releases if you cut power.
But hey, its plastic and maybe it doesnt hurt, but definitevly will not help for getting the last bit of precision.
If you power down and back on, you could avoid homing, if you dont have tension compensated with the steppers.

But there come the other issue:

I also thought about this.
Maybe this for the last bit of fine tuning: energize the steppers (but do not send any movement command) so they snap in at a full step. Than adjust the belt position (not the tension) on one side to the desired position. Not sure if this works in every case after powering up.

But I think dual endstop squaring is a must in case you want precision.

1 Like

Compensating dimension errors caused by deflection, wobble, vibration, loose parts, wear or whatever with the steps per mm is wrong and will cause unexpected things.

Compensating the belt stretch with the steps/mm is neccesary, if you aim for precise parts.

My very first project on my machine was an plywood box with interlocking parts, that have to fit exactly.
After adjusting the steps/mm I got all dimensions below 0,1mm tolerance and it fit all perfect.

Before the adjustment I could get it precise either on inside or outside distances by adjusting the tool diameter, but never both.
That drove me crazy and I started to doubt that the mpCNC concept is suitable at all for my projects. :rage:
This should be avoided at other builds with a small note in the instructions somewhere. Maybe an extra finetuning section? But first, we should collect finetuning ideas somewhere.

I think what this really boils down to is the user. I have been a user for 5+ years and multiple machines. I have never been unhappy with my accuracy or precision (other than human error). I have also never checked the accuracy of the belts to the degree you or Jamie has.

I think anyone chasing ultra precision on these machines would start with verifying there axis travel and would understand the need to fine tune and adjust everything down to run out compensation as well as backlash compensation. Meaning if you want ultra accuracy beyond what this was designed for you will be checking everything and adjusting everything any way as you do with any machine you use to that degree of accuracy (to the point some also record temperate at which measurements are accurate).

I will be sure to add a note somewhere for those seeking this sort of accuracy but +/-0.1% is well within our user bases expectations.

3 Likes

I think I’m pretty much in agreement with Stefan on this. Basically, I believe that when I build a machine, I want the motion system to accurately and consistently move the empty carriage – i.e. unloaded – the exact distance I ask for, every time. IMO everything else is CAM/extrusion/rigidity/power/etc related. Hopefully I’ve built a machine with sufficient rigidity and power to do useful things with the loads I subject it to… if not, I just hang a laser on it :astonished:

I also realize I’m the odd duck, proof-testing my machines by creating rulers with it… and I can easily see the difference between 100 and 100.5 steps/mm. I also love Jamie’s test pattern rulers which also allow me to see evidences of backlash… or loose grub screws :wink: I also understand that many/most folks don’t need that kind of accuracy, and 100 steps/mm is just fine. No argument from me.

– David

3 Likes

I am not generally opposed to correcting stretch with a steps per mm correction, but I don’t recommend it as general advice because novices will often misidentify a different error like runout or backlash and try to correct it with a steps per mm correction which in those cases makes the problem worse.

That is some, maybe even most of the reason for the test pattern generator that makes rulers: to truly identify a length scale error and separate other effects like backlash or sticky, uneven movement that could be misidentified as a dimension scale error.

2 Likes

I, again, agree with Stefan… as belts are part, stretched or not, of the unloaded motion system they can, and should, be compensated with the steps/mm setting. All those other things he mentioned are CAM/tooling/load/wear/etc effects and are not an inherent part of the motion mechanics and should NOT be compensated with the steps/mm setting.

IMHO Jeff and I established some time ago that our “target” audience was different, though sometimes over-lapping, and our primary purpose for our postings/advice are often a bit different. He’s the exceptionally generous, ace troubleshooter, trying to help the relatively inexperienced “many”, new, maybe first-time, users get their machine built and running as Ryan designed it. Keep it stock and let’s get it running. He, Ryan, and many selfless others are what makes this forum special and great.

I OTOH am just an old, experienced, builder who’s picked up a few “tip and tricks” along the way that might be helpful to someone trying to get a little more out of their machine. I’m not nearly so technical as Jeff,/Jamie/Stefan/Ryan/etc but have been doing this stuff long enough that I really do find this stuff “fun” and a bit second-nature… and tune in to hear what they have to say. A lot (most) of what they talk about is over my head but the old engineer in me is still trying to pick up a trick or two from them.

I do also believe that a section of the docs should target the more experienced user and provide information for those trying to get a little more out of their machine. But how you keep new and inexperienced users from inadvertently finding their way into a possibly confusing (and maybe even contradictory) maze of information is beyond me. I’ll leave it to you guys to sort it out :crazy_face:

– David

2 Likes

Okay. I will not let this go yet. So we are in agreement we have a precise system, this could bring up the accuracy for free. A small percentage but if we truly have a systematic error, might as well take care of it.

I have a couple machines here, I will run a test ruler or two. If I measure something similar we can figure out how to proceed.

You all know how much I hate to change things like this, and the implications I am most worried about are people updating their firmware and running previously validated gcode and getting new results. This would have to be done with care. I flipped one of the axis directions (to decrease marlin manual edits) early on, made a huge note in several places, and still got a bunch of crap for it.

1 Like