Intermittent missing steps at high slew rates

I’m going a bit mad trying to figure out what to try next with an interrmittent problem. I am hoping someone can suggest what to try next.

Ok, I know this is a TLDR, but I tried to get as much info out ther first time.

My setup runs perfectly for a day at 2400mm/min, then the next day will only get to 600mm/min before the steppers stall half way through a traverse. When running at 2400 it is very smooth and quiet with no vibration in the lead screws and very little noise from the motors. Acceleration has been tested between 25 and 100 mm/sec^2 with very little change in the power rail voltage.

I also get an occasional stall even at 600mm/min which tends to ruin the workpiece :slight_smile: I live in South Africa and our mains power regulation problems are well known. This may be a contributing factor.

I’ve checked the power rails with a scope on two separate power supplies that should both be good enough to run this setup - and they do sometimes - details below.

I’ve changed between 3200 anad 6400 steps/rev and adjusted current within the motors specifications with very lttle or no change in the problem. Should I go all the way to 400/rev?

What I cant understand is that it is intermittent, on the days it works, it can work for hours on end at 2000mm/min cutting. I use a new Makita 3600B router, it does not matter if the spindle is running or stopped, on or off the speed controller, the noise filters should be Ok. Maybe a Balun?

It does not appear to be linked to heat since it will happen first thing in the morning, or after a few hours. The lead screws are clean and lightly oiled.

I am running GRBL on an ESP32 which has its own Meanwell 5V 4A supply.

I have routed all high power leads away from the control lines
I have twisted all low power leads ( end stops, estop, probe and GRBL to stepper controller)

All axes are driven by 12mm diam by 3mm pitch lead screws ( RS components

Power wires are 1.2mm braided (About as thick as I can safely get into the Phoenix connectors)

Options I am considering

  1. Beef up the smoothing on the power supplies - extra caps and inductors
  2. Put a wave trap in the mains supply
  3. Change the GRBL controller board and software
  4. Change signal wires to UTP or STP
  5. Change stepper drives (There are already 2 makes, used within their limits (3.5A, 8A)
  6. Use the 1/2 winding taps on the stepper motors i.e Red/White and Green/Yellow
  7. SMPS (The best I have will only give 24V 2A)
  8. Should I be looking elsewhere with the scope?

I am open to other suggestions.

Power supply 1

Torroid rated 250VA 25A Full bridge diode , 2 by 15000uF caps in parallel, 0.1uf noise filters
Gives 32V on no load drops to 28V with 2V ripple at full load
DQ860MA on Y rated 24V-80V
I could not see anything on the scope below 28V even during (de)acceleration.

Power Supply 2

Torroid transformer rated 500VA gives 53V no load 25A Full bridge diode
22000uF capacitor.
Autotransformer (rated 220V 8A) to bring voltage down to 40V. XZ drivers rated to 45V.
Drops to 38V on full load 2V ripple
This was tried in order to check that the stepper controlers were not going under voltage.
It should also rule out the possibility of back EMF being the problem.

X and Z Axes

Wantai 57BYGH420B 3.6V 2A using full windings (Red/Blue and Green/Black) phases
Fulling 3.5A controller rated 4.2A peak 3.0 amps RMS
set to 3.31A Peak, 2.86A RMS 1/2 current on hold
(Power settings tried at 2.84, 2.37, 1.91, 1.46, 1.0A Pk and 2.03, 1.69, 1.36, 1.04, 0.71A RMS)
There are two independent controllers and two motors on Z axis.
Controllers rated 18 to 45volts and 3.5A

Y Axis

Wantai 57BYGH115-003 3A
Waintai DQ860MA controller rated 24-80V and 8APk, 4.0 RMS.
controller set to 6400 steps/rev, 3.5A peak, 2.5A RMS and 1/2 current on hold
I’ve also tried other current settings (2.0, 3.5, 4.2,4.7 pk 2.0, 2.5, 3.0, 3.5RMS)

When the machine or jobs aren’t changing but the results are then the things I check are the variation in the stock, the environment, and the supporting infrastructure (power, compressed air, etc).

For sporadic skipped steps, once you’ve eliminated EMF interference and stock with unexpected hard sections, I’d personally look at the motor controllers (maybe swap in a spare or rearrange them in place) to see if you can get a different behavior that would help diagnose the problem.

Spotty power could definitely cause the behavior. Using a power conditioner for a day or two that could determine whether that’s the source of the problem.


Thanks Trevor, I will certainly try those.
I’m now building a short test suite on a dev board which I hope to try tomorrow.


Beyond what Trevor said…

How are you measuring the 600 mm/m? Just a guestimate that it’s 1/4 the speed? Or actually watching precise rate somehow?

Is it the same in X and Y, or does it happen separately on each axis?

Do you have dual screws in one axis?

I have once had a stepper that intermittently worked well and stalled out that I finally tracked down to an intermittently bad stepper motor wire connection.

I’m a bit embarrassed about this…but I think I have the cause and solution

I dug deeper and did some more tests and isolated Y drive as the culprit.

Something I had not expected. I put the biggest stepper on the Y drive 57mm Nema 23 by 115mm with an 8A controller.
The motor is optimised for torque.
The inductance and rotor inertia simply stop it going fast. Once it skips it sends noise onto the power rails that confuses the rest of the electronics.
So the skipping only happens when Y is stepped too fast.

I’m busy replacing Y with a motor similar to X , which moves beautifully on a smaller, more responsive motor.

Another question - roughly how many Newtons should I use to design for the kick back of a 1800 W wood router? I’ve got a Makita 3600 and am thinking of using the Nema 23 by 115mm 30kg/cm on a 50mm diameter T10 pulley. I’ve tried it a few times and it seems to hold very firmly and move smoothly. Where can I find what motors people use in this application? That should give 6KG.

This is why many brains are always better than one brain.


Have you considered changing to closed-loop steppers or servos? If you haven’t looked at prices for a few years, look again, and keep in mind that the price for the unit includes the driver, so you aren’t comparing it only to the open loop stepper motor.

I just bought one of these for my electronic lead screw project. 3K RPM, 180W. The 0.6Nm doesn’t compare directly to open-loop steppers because it can catch up; steppers you have to have a large safety factor. Same form factor 57mm/NEMA23 as you are already using.

They have a few different sizes of these motors, too.

They also have closed-loop stepper motors of various torque ratings for similar prices. I have no experience with or knowledge of them. Higher static torque, slower speed. Here’s one, but you can find more.


Thanks for the info. Apologies for not coming back sooner , I’ve been doing a deep dive to get as much sorted out as possible and needed the results in order to comment.

I always preferred servos to steppers but went that way based on price.

My CNC has been a hobby , but I am now starting to supplement income, so will change to servos once the business is profitable.

I am not happy with the software and firmware side of servos in the low end market. The ‘normal’ GRBL / Marlin etc firmware still do esnot integrate servos fully into their operation as there is little or no feedback into the ‘gcode sender’. One ideally needs full communication in two directions. I have changed the electronics so that I can swap out processors, interfaces sensors, drivers and motors much more readily. This with the intention of improving all these subsections.

I’ve got a number of 3 phase motors and controllers - just need to get my backside in gear and get it all going.

I spent some time on the CNC over the past few days and ironed out a few other problems that may also have contributed These include
- fitting a smaller more responsive motor
- Aligning the lead screw nut better. I think this was the main culprit and added a lot more friction than I realised. I now ned to heat the nut up before it sticks at higher speed. At lower speed heat does not build up sufficiently.
- Fitting additional bearings to shorten the leadscrew and improve resonance issues
- over constrained mechanics with minor misalignment.

I’ve almost trippled the usable speed 600 to 1500mm/min) and have still got some space to improve.
- My Z motors are larger than X and Y and capabel of very high speed. I need to swap them since Z normally works slowly.
- Improved constraint of lead screw nuts. These should only be constrained in direction of travel and should be free to move and rotate into the most favorable position and orientation.

I need to research suitable design for these mountings. I’m thinking something like a sphere in a housing and a flat plate. Something like a commercial pillow block. The lead screws have ‘straightened’ up with much less (no noticable) vibration since I made the last changes.

1 Like

Never any need to apologize for a slow response here!

The cheapest servos act like steppers that don’t lose steroid (they take STEP/DIR signals as their input), so there is nothing for the firmware to do

For handling position feedback in the motion control software, I’d use LinuxCNC. It now runs on raspberry pi with real time control on a dedicated board, kind of like klipper. You no longer need to find old PC hardware with a functioning parallel port and no invasive system management firmware…

1 Like