Wrong dimensional accuracy with random error/possible missing steps

I’ve been faced with wrong dimensional accuracy for the better part of the last 3 weeks and it is driving me crazy as I think I have tried all possible recommended solutions in the forum. The test pattern I have is 3 shapes: 50x50mm square pocket with a trochoidal milling (2mm depth), another 50x50 in 2d toolpath and a circle with 50mm diameter as well as a real time milling operation of cutting a slot of 350x17mm. All milled in 15mm plywood. The feeds and speeds I tried ranged from 1000mm/minute to 2000mm/m with a depth of 2mm.On trochoidal toolpaths the WOC was 0.6mm

The circle has the biggest error on average cutting a 48mm diameter circle, with the trochoidal cutting something in the range of 49 and the profile is the closest one as the caliper indicates usually something in the range of 49.75.

The first thing I did was check the pulley grub screws and I replaced them with new ones and applied loctite as well. As nothing changed with that step next one was tensioning the belts as Jeff said in another post to a tune of a random note (not just plucking noise), also completely replacing them with new fiberglass ones, again with no result

I noticed also that the tool mount I have previously printed in PETG was a bit flexible so I reprinted it back in PLA, also with no effect.

I tried changing vRef in stepper drivers (the board is MKS TinyBee with 5x TMC2209, stepper motors are 62oz nema17) all the way from 0.8A to 1.4 and the error was completely unchanged. One potential problem there though was that changing the vref didn’t make the motors more sturdy, I can actually move them when they are energized relatively easy, with a relatively small force.I am getting the feeling that the stepper drivers/motors may be in play here, shouldn’t they be more sturdy even if they are relatively underpowered at just 62oz?

What drives me crazy the most is the lack of repeatability on the error. When I performed the milling toolpaths I used a roughing one followed by 1 or 2 finishing passes. Every finishing pass came closer to the dimension but it shouldn’t need 3-4 finishing passes just to get 0.3mm closer to the distance with infinitesimally small woc of approx 0.05mm.Also when repeating the same toolpath after program end in CNCjs again it sounds like cutting (and quite a lot actually).All these point me to missed steps caused by I don’t know what.

Could it be the drivers/motors?

Was the machine previously accurate?

Pics would help, so we can see the types of errors.

This is with a Primo?

Okay, so you’ve checked grub screws and belt tension. 2 big ones there.

Have you checked that all bearings are in contact with rails? Nothing moves or makes a “click” sound? Check all 4 trucks, all 4 core bearing clamps and the Z axis.

Is anything attached to the top of the Z tower? That has a lot of leverage up there, and small forces cause big problems.

1 Like

It is a Primo indeed and the machine used to be somewhat accurate before, the problem started when there was huge slack on belts and I retensioned them.it was apparently accurate but it was with 101.5 steps per mm instead of 100.When I read on the forum that it should be 100 i tried diving in to what is causing this discrepancy.

Regarding bearings, they seem to be in contact with the exception of one or two losing contact during the full travel. The bearings I’ve got are Chinese but they don’t seem incredibly poor quality. One thing that may affected their performance was when I built the MPCNC i removed I degreased all of them and regreased them with WD40 lithium grease that is in spray form (not the thick kind).I am planning on changing all of them with replacement because I noticed on core clamps one of them is not making a contact and I think their tolerance is not up to par.

When I move the gantry by hand there is indeed a very subtle click, and my first impression was that the pulley is not aligned with the idlers. Visually they seem ok but the base of the truck that stepper motors are screwed in seems a tiny bit deformed most propably due to heat but nothing excessive. The more I tensioned the belts the more apparent the click was.

Core shouldn’t be a factor in the whole issue, there is nothing attached on top (with the exception of Z axis motor, that is an 86 motor but not extremely heavy)

I will post photos tomorrow because here it is kinda late. Thank you very much for your assistance it is greatly appreciated!

A small error can be belt tension, but G

T2 belt should be 2mm between teeth, and a 16 tooth pulley with a 200 step/rotation motor at 16× microstepping should produce 100 steps/mm.

Uh, I think we’ve located the problem.

Clicking noise is a big hint that things arent adjusted.

The bearing tolerance is less important. The machine has adjustment capability to get all of the bearings in contact with rail (position shouldn’t make a difference unless your steel tube is also out of tolerabce.)

Any deformation of the plastic is problematic as well.

Core bearings not in contact will mean the core can move in unpredictable ways. Truck bearings not in contact, ditto. Z axis bearings are the worst when it comes to cutting accuracy.

In your previous posts you made reference to using TinyBee and using fluidnc. When setting the vvref I believe that is setting your max current for that driver. I dont use Fluidnc but I think you program the desired current. Someone here with more experience with Fluidnc might give better info.
Check your power suppy for the drivers, make sure you have the volts and current needed. For example: 12 volt supply, 5 steppers max of 2 amps. You want a 12 volt supply with at least 10 amp rating. Now if you be using X and Y with serial steppers, you would calulate as if you only had 3 steppers. normal use would have the current set to only .7 to 1 amp. This gets you a safe rating twice the needed current which is good for the supply
I did not see anywhere you gave the bit size and flutes or if the bit is new.

Core bearings not in contact will mean the core can move in unpredictable ways. Truck bearings not in contact, ditto. Z axis bearings are the worst when it comes to cutting accuracy.

But could it be 4mm out in 100mm slot? I thought squaring and bearing problems would cause something in the range of 1-5% off from commanded motion

Most propably I will have to reprint trucks and since it is a huge PITA to reinstall them (I have the machine in a makeshift wooden box so that needs to be removed to reinstall it) I will readjust everything, essentially rebuild the whole machine

I could be wrong but I think the stepstick vref is set in a constant manner and has nothing to do with the platform that is installed in. It is essentially a completely enclosed system that receives the inputs via pins for the direction etc.I also forgot to mention that I use it in standalone mode, but previously I had the UART mod installed with no difference whatsoever.

Regarding the power supply it shouldn’t be a factor as it is a Meanwell 24v/12.5A (300 watts) so there is plenty of power available

Yes very good supply. But you should not be able to move the steppers so easy. Something is reducing your current or voltage to the steppers. Length of wire or gage of wire or connectors?

Skipped steps sounds like skipping gears. And the new path is usually very wild, not 1-3mm off. Anything to do with the stepper drivers or electronics would result in skipped steps. So I would trust the drivers and put them back to a reasonable amperage (0.8-1A). Usually electronics problems are big errors. Stuff like it only moving in one axis or it driving completely off of the path. Since the electronics have no feedback, there isn’t anything pulling it back towards the “correct” path.

Being a little off, but ultimately dwelling on the right path points to something physical. Something springy, like a cracked part, a loose belt, loose bolt, loose grub, etc.

I am suspicious of your 101.5 steps/mm. That’s saying the motor needs to turn 1.5% more to get the same distance as the theoretical machine. The pulleys have exactly 16T. The motors have exactly 200 magnets. Why would the belt have 1.5% more teeth per distance? I usually say to leave these at 100 because I think the motors, pulleys and belt accuracy is better than most shop’s ability to measure the correct error. Jamie is the exception, I don’t give him a hard time. He understands the possible errors inside and out. Jamie made a good test program for errors that can separate out hysteresis and proportional errors. G-Code Test Pattern Generator

You can try a pen plot and the test crown premade gcode. You can try cutting in HD purple foam. You shouldn’t need a finishing pass to have excellent results in foam. You might also have a poor or dull bit. The hd foam should be perfect even with an imperfect bit.

My guess is that something is cracked. I know that’s not fun to hear. But I bet you’d be 1.5mm off with a 10mm square or a 100mm square because you have a crack that ends up with a 1.5mm error. I bet that was there when you calibrated the steps/mm and it is flipping directions in your new tests. I can’t be sure though. You can try to move the bit and see what wiggles (the cutting forces aren’t strong, so you don’t have to push it too hard). Hopefully it is just a dull bit or something else.