Unusual problem

I have an unusual problem with Arduino and need help.
I am using an Arduino UNO to control two stepper motors.
They each have an A4988 driver and are contained in a CNC shield.
I have set the POTS on the motor drivers.
The Arduino is loaded with GRBL.
I use the USB cable for the Arduino and 12 volts for the motors.
I have tried bCNC and UGS for the G code. Both give the same results.

The motors work great when following a circular path but fail when
following a straight line.

On the "X" direction on a rectangle path, the "X" motor just vibrates (no rotation)
and the "Y" motor is still.
On the "Y" direction on a rectangular path, the "Y" motor vibrates (again no rotation)
and the "X" motor is still.

The computer screen on both bCNC and UGS counts the steps even
when the motors are not rotating.

I have tried 2 Arduino UNO boards, 2 USB cables, 4 different A4988 drivers,
2 different CNC shields and swapped the motors around.
I have upgraded the Arduino IDE and the GRBL to the latest versions.

What is getting me is that it will run a circle with no problem.

This is so frustrating.
Can someone please suggest a fix.

What is the power supply rated for as it may be too low in current.

I had a similar but slightly random issue until I upgraded the PSU and not seen it since !

Also had that symptom with a bad driver board which worked fine on its own in another shield but not when placed back into a working setup with all 3 axis. Driver board now resides in the bin.

I've had a similar issue when trying to step too quickly for the motor. It might work when doing a curve because the motors aren't being driven at full speed. I've not played around with GRBL but I would expect there is a method of lowering the maximum step speed. Try adjusting that and see if it helps. You could also look to lower the speed in your GCode programme.

Thanks for the speedy replies.

The motors are 500 ma and there are two of them.
The power supply is 12 volt and 1.5 amp.
I swapped it for another 1.5 amp and it did the same.

I changed the two A4988 drivers for another 2 new ones and got the
same result.

I tried different speeds but no change, and it is not running fast at all.

I tried to run the motors in the CONTROL box and when I click on
any X, Y or Z it moves about 1 full rev with each click.
If I increase the number to 10 the selected motor rotates about 3
revs then vibrates for about 4 revs, then rotates for the remaining amount.

I also noted that if I send the motors to a position that is
diagonal from the start point, then I tell it to go to origin then
both motors vibrate with no rotations while the pointer on screen
moves towards the origin.

At any time, I can't seem to get both motors rotating at the same time.
Even with the circle, one motor stops before the other starts.
I would assume that to produce a smooth, round object,
both motors will have to rotate together at different speeds

As if you haven't guessed, I an a novice at this but it seems to
me that it is not a hardware problem because of all the changing
of components with the same results.
Maybe there is something that I failed to do (or did wrong) when
installing Arduino IDE or G code or either of the G Code senders.

Any help is greatly appreciated.

Please provide a link or links to the actual motors.

Trying another power supply of the exact same capacity wont really prove anything.

Best bet is to remove all but one driver board and verify one motor works for a period of time without issues.
Swap the motor and driver and try again until you have tried all 3 motors and boards in isolation.
That rules out a driver boards and all the motors and the GRBL configuration.
Also ensure you have the correct stepping etc set for each motor in the GRBL configuration

If that goes well add another driver board and motor and repeat the experiment with two motors.
If there are any issues I would still suspect a power supply issue.
With no issues move on to all three motors.

Its a process of elimination.
GRBL does not work "out of the box" and there are thing to set before you use it other than the driver board voltages and even those are I find more of a guide and may need to be tweaked a little to provide additional torque for some applications.

Thanks BallscrewBob, I will try out all that you suggest tomorrow and let you know the results as soon as I have them.
By the way, the motors are KP35FM2-035.
I don't have a data sheet for the exact model but Jameco has one listed as KP35FM2-044

LOL well there is a chunk of your problem they are listed as 24 volt !

There are also seemingly two variations....One is 200 steps and the other is 500

It is basically a nema 14 hybrid

Hi Ballscrewbob, your information proved to be correct.

I was able to get all three motors running by using a 24 volt power supply. Unfortunately it is only 750ma so only 2 motors run at the same time, but this time they rotate instead of just vibrating like before.

I will now search for a power supply with more power.
Thanks very much for your information. I learned a lot from this.

To be honest if you are running motors and an attachment such as a laser or engraver motor you want to be looking at around 10 amps for long term reliability.

My most reliable rig has a 20 volt 12 amp and a 12 volt 10 amp supply and has never glitched since I put those in.
Yes its a little more expensive but worth it in the long term.
My other rig has a 12 volt 8 amp supply with NEMA 14 (x3) motors, Crossflow fans (2x60mm) and a 2.5w Blue laser, but struggles a little with everything running so I have just ordered new supplies for that too.

Account for future plans if you can such as crossflow fans for laser work in push pull configuration.
Or a 4th axis for special work. If you are using EBay then 25-35 US should put you in the right prices bracket for a decent supply but its always worth the extra 5-10 US to go from 10-15 amp to something like a 20-30 amp.

Glad to have assisted.