Adventures with silent stepper drivers (and 4th axis and other Nomad electronics fun)

The lid might vibrate because of the side panels but I’m certain it’s the lid that’s audible. The side panels themselves do cause a little bit of noise (I can silence it by holding them firmly with my hands) but it’s really insignificant.

I might remove them later but I’m in no rush right now.

Back on-topic, I got the probe up and running. It’s concentric with the spindle to within ~0.02mm (a tad less than a thou?). I want to get it even more precise but I only have the one 0.01mm-division DTI and it’s hard to get any more precise with it, I might have to buy a 0.001 or 0.002 DTI.

I set up backlash compensation as well. I ended up with values of 0.005mm, 0.0160mm and 0.0140mm for the X, Y and Z axes respectively and the backlash now looks to be below 0.01mm for all axes.

In case anyone is interested, here’s a short video of the probe operating. You can see it comes out with a measuremeant of 14.995 for the diameter of the 14.9991mm ring gauge, so it’s not perfect but it’s doing pretty well.

Next steps are to play with CoolStep and redesign the PCB. On the one hand, redesigning the PCB means I get to add a 4th axis but on the other hand, PCB design is a massive pain.

1 Like

It might be worth experimenting with a high density rockwool between your inner and outer boxes as that will absorb quite a lot more sound per-reflection pass, but the front is likely the largest noise leakage with a window.

Have to admit I am tempted ro try a scaled down version of @TonyDangerCoiro dynamat solution - just to take the edge off.

How is the backlash compensation done? Whenever a direction change is done on an axis, say in your case the x axis it will attempt to move and extra 5 micron in the new direction to compensate? Loving the 3d probe, looks great! I think your hitting the roof of what your steppers theoretic resolution with microstepping would be not the probes resolution?

1 Like

Yep, it’s basically that, just a tad smarter. When you change direction, the controller sends a really short and rapid burst of steps to the stepper driver (much quicker than the current feed rate) to overcome the backlash as quickly as possible. We’re not talking a lot of steps here since it’s in the range of hundreths of millimeters but it’s definitely not just the normal feed rate.

The probe certainly isn’t the limit, it’s meant to have repeatability of 1µm. I think the biggest limitation is still the Nomad’s lead screws. Backlash compensation helps but it’s not perfect. In particular, since the backlash seems to be asymmetric and the compensation is designed for symmetric backlash.

1 Like

Ah thanks, that is a nice feature. Yeah chasing micrometers with this setup would be tough. What microstepping are you using? It might be worth thinking about what the smallest theoretical step you could take is. As I have understood it one can not expect microstepping to be very accurate ? Im not sure what the pitch on the leadscrews are or the stepper angle but assume it is 2 mm pitch and 1.8 degree steppers then full steps would be 10um/step and half step would be 5um/step. Not very far from the deviation you are measuring with your probe?

If it is backlash, stiffer springs might help. Or ball screws :slight_smile:

I’m using 8x microstepping, which is the same value as the Carbide Motion controller. The GRBL configuration says 200 steps/mm, which means 25 full steps/mm or 0.04mm per full step. My stepper driver can do 256x microstepping so in theory I could do 0.04mm/256 = 0.16µm steps but again, the limit here is the lead screws.

I don’t think I want to bother with springs, if I decide to deal with this (unlikely right now), I’ll add ball screws :slight_smile:

Also I installed an ER16 collet holder on my machine:

It sounds… Different… I think the sound is lower and deeper, it’s not as high pitched.

Cuts just fine though.

It took a lot of effort to get in there. I had to press it in first with my hands, then with the Z-axis, then with my foot, then with a hammer. Still, seems to work.

Also, I was surprised to see that the spindle, this thing I previously regarded as some kind of magical black box that was surely filled with all kinds of complex magic, was really just an Aluminium cylinder with two bearings in it.

So each microstepping is attempting to move 5 microns? If so it does not sound like you could expect to get better measurements from your probe as its only 4 microns off, which I think is pretty impressive!

I thought you could only do 16 or 32 “real microstepping” on TMC drivers and the interpolating up to 256 steps is done on the actual stepper driver to get smoother and quieter movement. I guess that is because it would be tough for a 8bit controllers to send out 256 microsteps per full step?

Whats the reasoning for putting an ER16 collet on there?

Yep, 5µm. It’s good but I haven’t reached the limits of the probe :slight_smile:

No, the TMC5160 and TMC2209 at least do 256x microstepping. That’s their native resolution. Maybe you’re confused by the Polulu-style drivers that allow you to configure them with the CFG pins? Like this?

That’s a limitation of the config pin way of doing things, not the driver. If you configure them over UART or SPI there’s a ton more stuff to play with.

And my controller can do 400kHz stepping, so even with 256x microstepping, I could do 1.56 full steps per second, so 94/min, so a whole 3.75mm/min :smiley:

Honestly, mostly just that it’s been sitting on my desk looking at me for weeks and I wanted to do something with it…

But also because I had a theory that ER16 precision collets would make my machine less noisy (which seems partially true?).

If so, trying higher microstepping could be a way to improve the measurements with the probe. Not replacing the actual leadscrews? I have not worked much with ballscrews but one with a finer pitch than 2 mm would not be common in an appropriate form factor for this setup? It would off course deal with the backlash issue.

Ah, yeah that is what I was thinking of. I’ve only used the TMC2100 and 2130 I think.It would be interesting if you just tested how small steps you could take accurately with this setup with higher microstepping. Haha thats some impressive feedrates at 3.75 mm/min (you wont have issues with spring stiffness at least :slight_smile: )

Interesting! It looks like you could get more runout though since the thing sticks out a bit more.

The problem is that the microstepping can’t help if the moving the screw doesn’t accurately move the carriage due to backlash. That’s why replacing the lead screws would help.

Could be, haven’t measured it yet. I have a 0.001mm DTI coming tomorrow so I can try it then.

The length of the spindle holder is actually the same 100mm though, so it shouldn’t be a big difference.

Got my 0.001mm DTI and there’s good news and bad news.

Good news: I got my probe tip concentric within 5µm. The adjustment screws actually make this not too difficult.

Bad news: My spindle holder has 55µm of runout…

It seems this is actually in spec for the ER16 collet holder so I think your worries were well-founded @Olle.

I could put the old ER11 holder back but I’m honestly not sure if I can get it out of the spindle again given the effort it took to put the ER16 in.

So I’m thinking of replacing the spindle again. I’ll talk about that in the spindle thread though :slight_smile:

Also @Olle I tried out increasing the microstepping. I tried 256x and it worked but it was really wonky (e.g. when I asked for 0.01mm I’d get 0.016mm for some reason). I settled for 64x microstepping since 0.04 (one full step) / 0.001 is 40, so if I do 64x, I should be able to get µm resolution.

And it turns out I kinda do! Here’s a video of me moving the X-axis in 1µm increments. You can see that there are times where it works and times where it doesn’t. I think this is because of how microstepping and torque works.

TL;DR (IIUC): With 1/256 microstepping, each individual step has 0.61% the motor’s rated torque (which is for full steps). When you take a step, if it doesn’t have enough torque to actually move, it’ll add to a “buffer” of torque. So if 1 step isn’t enough, it might not move at all but at 16 steps, it might finally have enough, so it’ll suddenly jump.

So I think normally, I’ll keep it to 8x microstepping and 5µm of movement per step. If more accuracy is needed, better to do it “properly” with more accurate motors and screws (e.g. 2mm pitch screw instead of 8mm, with a 0.9° stepper motor), to preserve torque.

1 Like

That’s a shame about the ER16 collet, I suppose it is a good reason to move on to a better spindle. I will be interested to see what you end up going with in your other thread. Mechatron do sell 0.8kw watercooled DTC spindles, just saying :slight_smile:

That’s really impressive that it’s even kind of possible! Pretty crazy to think that it’s attempting to do 625nm steps with 64 microstepping and almost pulling it off. Thanks for that application note, it really makes me want closed looped motors.

To be clear, the collet should be just fine. It’s a high-precision collet rated to 2µm from a reputable dealer. The problem is the $10 spindle holder I got from AliExpress that’s rated for 0.05-0.10mm runout.

I’m aware but the tool changer is an extra 127mm and I’m not sure the Nomad would fit into my enclosure with that attached :confused:

It might but it’d look kinda ridiculous.

It is really cool but unfortunately not much use since the torque issues will prevent it from machining anything. Might be handy for probing though…

Still, the point of all this was to accurately home the machine, which I can do now, to within ~10µm, which is about as precise as the Nomad can accurately move itself anyway.

If you want to know what a closed-loop stepper can do, have a look at chapter 16 of the manual for Trinamic’s TMC4361. You can see that it can do some fancy stuff like dynamically increasing current while microstepping.

But that said, if you’re after accuracy, I think you’re better off with closed-loop servos. ClearPath servos might be really expensive but they also have 0.057° resolution with 0.03° repeatability. With the Nomad’s 8mm lead screw, that would be 1.2µm resolution with 0.7µm repeatability (ignoring the imprecision of the screw itself).

Gotta award yourself some points or a least a beer for making a machine move 1um at a time. That’s definitely going up a level.

And as for those Clearpath servos, they’re a bit like when we invented the turbocharger and realised we didn’t need to drag big block engines around any more.


I didn’t quite get this. Are the Clearpath servos the turbocharger or the big block engine?

This talk of accuracy has made me start eyeing servos… I could just about fit the NEMA34 86L servos from here onto the Nomad. They have 16-bit encoders so should have resolution of ~0.006°?

$263 per motor/driver pair though…

@Vince.Fab I’m tagging you a lot recently but how insane do you think that would be?

It could just about justify the cost to myself by saying “I can reuse them on a bigger machine later”.

They might be pretty loud but the enclosure should be able to deal with some servo noise…

Sorry, in my view the DC / AC servos with their closed loop controls, are the modern tech replacing the old big heavy inefficient tech. They’re the turbo in the “there was no substitute for cubic inches, and then we invented the turbocharger”.