Missing steps with a NEMA 23 setup

Hi all. I’m a newbie running a PRO4896 with the NEMA23 package. I’m having an issue losing steps on my longer cuts. I’ve searched the internet and found a couple of people having similar problems where the suggested solution was to adjust the feeds and speeds and/or cut depth so the bands on the stepper motors don’t slip, which, based on the brrrt my machine is making when it changes directions sounds like it might be exactly what I’m experiencing.

I’m cutting MDF with a .5" spiral upcut bit, .1 stepover at a depth of .15" so not very deep. Based on what I found the only things I can adjust are the feeds and speeds which is where I run into my problem.

I couldn’t find any feed and speed information for the NEMA 23 setup on the AVID site, so I had to go searching. Even on the internet all I could find was NEMA 34 info. Starting to feel like I’m the only one that’s ever bought a 23.

Anyway, I found a YouTuber that offered a Excel calculator so I’ve been using that. From what I found it seems that the chip load is the all important number. So, now the problem, to achieve the chip loads I’m getting from the calculator (.24 - .27 for a .5" bit in MDF) I have to run my machine full out (about 400 ipm) with my RPM’s set to the lowest possible for the 4hp motor (6000 rpm) which nets me a chip load of .25. So the machine won’t run faster and the spindle won’t run slower but I’m right in the chip load window so I figured I’m good.

Not so much… my best diagnosis (I’m still a newb so it may be wrong) is that the bands are slipping because the stepper motors aren’t dealing with running well at max speed.

I feel like I’m between a rock and a hard place. Are there different feeds and speeds for the NEMA 23 setup that I missed? That’s the only thing I can think where I might be off the target. But if there are then the chip load doesn’t make sense to me.

Any help is appreciated. Thanks!

I retract this post, my calculator was way off. I bumbled bad some numbers in the load factor :roll_eyes:

Way too large an end mill for NEMA 23 and way to large a stepover and the depth is too large too. I would slow down. The larger the end mill the more force is applied to the gantry and spindle and the motors will have work harder.

Believe it or not but even though the spindle can handle that load it’s the force from moving that end mill through the stock that is the problem.

MDF is actually pretty hard to cut because the swarf is super fine and clogs the flutes.

You need to use a speeds and feeds calculator and get your machine set up correctly in it.

FIY, I have never used the CNC Cook Book version. I spent a lot of time in HSMAdvisor getting my torque curves set and the machine specs entered and I still had to pull back on the numbers. For the record my machine is a NEMA 34. The max cutting force is probably way over what it should be. I will walk that back to 30 now that I am thinking about it.

I will leave this for historical purposes since I am only wrong once every 100 years :wink:

Some thoughts until the experts (one of which I am not :wink: can opine…

Stepper motors have a natural “max speed” as the faster you switch the coils, the less time they have to energize, and thus less torque. So the higher the IPM you run the machine, the more possible it is to lose steps. Running the stepper drivers at a higher voltage can increase this limit.

If your machine is making noises when cornering, you might want to try turning down your max acceleration.

You can test for lost steps without cutting by setting up a dial indicator on your spindle (i.e. base on the table, indicator touching your spindle), and moving the spindle to the far end of the machine and back, testing “repeatability”. Push the machine to its limits until you are losing steps, so you know what to look for.

As for routing wood, do you route that fast when doing it manually? Of course not. Optimal chip load is just that - optimal. You can go slower if you want (or need), until you’re going slow enough to burn the wood. As for chipload - your numbers of 0.25 I think are off by a zero (should be 0.025" ?) or are metric.

Just a quick note on that; if your car can do 0 to 60 in 2 seconds doesn’t mean it’s wise to drive around like that. Instead I would choose a more reasonable speed so the machine doesn’t have to accelerate that quickly and pay attention to your lead in and out.

1 Like

Oh, this is way too funny! My settings above are all messed up!

I guess I entered that high a force number because that original 75 is what my metal machines can handle.

The way I had it set up before is 2 pounds! That is a NEMA 34 with a 3hp spindle. You are still pushing things at that setting so be careful.


This is a kick in the gut. Seems like I need to find out what the limits of the NEMA 23 are. Not sure how I’ll do that since information on it was sparce at best.

Looks like the Machine Profile page will be some help. I hadn’t remembered seeing it but looks like it’ll be a good place to start. I’ll mess with that and see what I can find.

Thanks for your help.

1 Like

While it’s true that you should keep speeds to reasonable speeds for your machine, “reasonable” for cutting wood is FAST so most of the time you really would be pushing your machine to its limits anyway. Also, even at a slow speed, a sudden stop can put a lot of stress on the motors and lose steps.

On my machine I have servos, and even at only a few IPM I can stop sudden enough to hear a THUD from the machine. Low speed does not imply low acceleration.

The motors only have so much power. That power must be enough to (1) push through the cut and (2) perform any acceleration required. Both limits must be tested to find out where one’s machines capabilities end, and then reasonable bounds placed on what the software can request.


The main reason I was trying to meet the recommended chip load was to avoid burning the wood and reducing the bit life but makes sense that would be at the extremes. Hadn’t considered what it might do if I slip outside the the envelope a bit. I’ll try this and see if I can fix the problem without having to replace everything.

Push it until it breaks! :slight_smile:

Seriously, you can detect missed steps either with a dial indicator or by re-probing your limit sensors. Set up a loop of back and forth motions, returning to the same spot at the end, and see how fast you can do it before it stops at the wrong spot.

Thanks! Will try that.

1 Like

I am running a Pro6060 with Nema23 motors and Avid electronics. I have no problem cutting plywood at 125ipm, 3/8 2F bit, 6000rpm, 0.1" doc. I was at higher rpm (12-13K) but would get chatter and break bits. Dropping the rpm so the chipload was in the recommended range has helped.
I think that when problems like these occur, only change 1 variable at a time, test, note the results (keep a log), and repeat.
For missed steps, note when it happens. If it is during accel/decel adjusting the acceleration parameters downward may help. Be sure paired steppers are set exactly the same.
If it happens when moving steadily then something is impeding travel. This could be a tooling problem, but could also be a bearing (alignment) issue, especially if it happens in the same area of the table. Check for ease of travel with the power off. If there is binding the parallel rails may be out of parallel.

1 Like

I have a NEMA 23 setup with a Bosch router. I’ve only used an online feeds & speeds calculator, which is much simpler than the tools @subnoize listed, so maybe this isn’t so accurate, but I found that my MRR is always much higher with a 1/4" bit than with a 1/2" bit. Torque is the limiting factor.

I run at 18,000 rpm because that is what the Amana feeds & speeds charts say. Should I try a lower rpm?

With the router, I generally stay below 150 ipm.

One time the belt pulley on my x-axis motor worked its way down to the motor housing and seized. I now check the spacing from time to time. That’s another possible mechanical issue.

1 Like

Welcome to the forum homerSwitch.

As far as speeds go…nema23 are plenty beefy a motor to do just about any job at a reasonable speed. There should be no issue running a 0.5" bit at 100 ipm at 0.125" depth. If you are running a spindle and it is a diy set up make sure you are running in reverse direction. AVID uses a 3:1 transmission ratio. If you are missing steps you need to double check your feeds and speeds are correct and you don’t have a mechanical issue or spindle direction issue. Just my 2 cents.


Thanks Erik. Hope I can contribute!

1 Like

Max Acceleration is a function of time and the difference between current speed and the commanded speed.

So if you are traveling at 100 ipm and you command to 500 ipm then your acceleration will have a sharper curve that say to 120 ipm.

The maximum acceleration is just that. How fast a change between speeds is allowed by the machine. If the change is smaller your curve will be smoother.

Slow it down. Hitting your machine limits is just bad whether it’s the rubber stops at the end of travel or the software “rubber stops” to keep the machine from tearing itself apart.

1 Like

No, it shouldn’t be. This is your first machine and so you are finding out it is way more complicated than a CAM package squirting out some code for you.

Heck, my analysis of your issue might be 100% wrong too. My calculators had mistakes in them as you saw :rofl:

Here is some advice that works every time it’s tried though. Don’t start with big projects. Start with a little block and carve your initials in it and GO SLOW. This isn’t a race. There is no prize for being the fastest. Then keep getting fancier until you have a process down.

When you are making good product, good cuts then start speeding things up. Find the limits.

One last piece of advice. Don’t even listen to me about your system configurations. Call the factory. The forums are monitored but there still can be bad advice here… from me as well!

Or the curve will be the same shape, but take longer. The machine only knows the new speed, and the max acceleration. There’s no reason why it wouldn’t always use the max acceleration(*), but for a different length of time, for moves. The machine knows “I need to be going X at this location, and I’m going Y now, so how soon do I start accelerating at Z in^2/sec to end up at the right place at the right speed?” (yeah, it’s story problems all over again). Now try doing this with three or more axes simultaneously :wink:

When you turn a corner, one motor will “accelerate” to zero IPM as fast and as late as possible to stop at the corner, then the other motor will accelerate to full IPM as fast as possible. Some path planners (like LinuxCNC) can avoid stopping completely at a corner by following a small curve, so the system need not stop completely (see G61 “Exact Path Mode”) despite using max acceleration.

(* er, except for obviously a coordinated move, where one axis makes it to max acceleration and the others are proportionally less so)

So the curve linear, correct. If I gave the impression I apologize.

And there is where you and I differ. You are at the mercy of whatever the CAM program wrote for you and your knowledge of the parameters that package gave you.

For me it is a more nuanced matter. All I do is make the move have more segments and the speed changes between each can increase or decrease giving me any curve I so choose. In fact I would select those segments purposely smaller than the max acceleration curve just so I can override the machine’s interference.

I pick my curve and I pick it based on how I want to make that cut. The reason I can do that is twofold;

  1. I can code
  2. I can relate that code to the function in the CAM package

What you know now is good, I would never say you are ignorant or anything of the sort. PERIOD. That isn’t what I am saying.

I would invite you to do a deep dive on g-code and understand it a bit better because it will make you a much more effective machinist.

When I started in g-code it was all by hand. I was judged by the machinist on how smooth my motion was and how accurate my product was. I was publicly ridiculed for screw ups and I was put on a pedestal for my successes.

But if I could impart 1 thing from all of this, learn g-code. G-code is a very easy to learn language. Knowing it gives you power to overcome every limitation your machine has.

Perhaps we’re talking about different aspects of cut control. If you’re using CAM to do smooth cuts, yay! But once you get to the gcode, it’s up to the machine to interpret it and act as instructed, within its limits… When tuning a machine, I think it’s these physical machine limits we need to find. You can always ask a machine to act more gently, but you shouldn’t be able to push it past its breaking point, no matter how bad your gcode is. Skipping steps is definitely something that the machine should protect itself against.

Uh, I was talking g-code. I don’t think you read my post.

Have a nice night.