Only one stepper motor moves

Hi’
I’m having extreme problems with building the electronics for a DIY CNC machine. I’m OK at the mechanics but hopeless at the electronics. However, using Arduino, it looked fairly straightforward. Not so!

The basic problem is, having put together the parts, (details below) only one of three stepper motors moves and it moves erratically.

Thinking I had maybe blown something on the circuit boards, I bought another complete package apart from the motors, with the same results! I think I’ve visited every Arduino website (and there are many) but not found anyone with the same issues, although because of my electronics ignorance, some of the topics go way over my head.

Parts List:
3 Nema 17 stepper motors http://semiu.co.uk/product/nema17-stepper-motors/
A Funduino Uno and cnc shield http://blog.protoneer.co.nz/arduino-cnc-shield/
3 A4988 stepper drivers Pololu - A4988 Stepper Motor Driver Carrier
Power source http://www.ebay.co.uk/itm/181950755230

What I did:
I soldered 24volt 100microfarad capacitors accross Gnd and Vmot, negative to Gnd.

I followed the “Getting started with Arduino on Windows” guide to load the Arduino driver. file:///C:/Program%20Files/Arduino/reference/www.arduino.cc/en/Guide/Windows.html

I followed the steps on the Pololu website to adjust the current limit. Pololu - A4988 Stepper Motor Driver Carrier

I cleared Arduino with Arduino Sketch version 1.6.7 using Eeprom_clear.

I loaded a hex file using Xloader. (grbl_0_51_atmega168_16mhz_9600.hex)
I also tried grbl_v0_9a_edge_328p_16mhz_9600_build20121210.hex.

I’m currently using Universal Gcode Sender Version7.0.7. (I’ve tried other versions with the same results)

The motor that moves is on the Y axis on the shield so I changed the stepper drivers around but it continues to only erratically move the Y axis motor. No matter what axis I click in the Gcode Sender software, it still moves the Y axis motor only.
I also swapped motors about but it made no difference.

I freshly downloaded and re-installed all the software and driver several times with no improvement.

I’m not sure if something mysterious is going on or I’ve completely missed a basic step and I can’t see the wood for the trees now!

Any help would be very, very welcome.

Ralph

First I'd check the GRBL Arduino is outputting steps on the correct pins - check the config,
send some test GCODE and ensure the direction pin is doing the right thing for each motor
(and the step pin if you have an oscilloscope).

Then separately check the A4988 boards are each working by manually generating steps.

This Simple Stepper Code may be useful for testing.

...R
Stepper Motor Basics

Hi Guys,
Thanks for your replies. As I said, I’m ignorant (if not as innocent) as a new born when it comes to electronics. I had the vain hope the Arduino bits would slot together like Lego.
I’ve had a look at this page

It suggests a way to check the Uno.
As I didn’t have any leds handy I connected my multimeter.
When I connect Ground with any of the pins from 7 to 5 and click on ANY axis, the voltage rises to about 4.85 volts before dropping again.
I’m also now getting this message in the Gcode Sender console.

“<Idle,MPos:2147483.648,214ó
Grbl 0.8c [’$’ for help]”

This keeps refreshing itself.

In the meantime I’ll keep studying electronics…

Ralph

Update:

I tried using the code suggested by Robin2.
The led certainly flashed at what I assume was each step but there was no movement or vibration from the stepper. I tried this with three motors and several drivers but no luck.

I also tried the Sketch in the Arduino Examples called Stepper One Revolution, confirming the 200 steps per revolution first. This time the motor vibrated a bit before turning three quarters of a revolution one way and half a revolution the other way several times before stopping and just vibrating.
I also tried it with an external 12 volt supply to the Arduino.
I repeated this again with three different motors and also two Arduino boards.
Same results.

Cheers,

Ralph

Have you checked each board with manually input steps? That's the first thing to get
each set of A4988+motor tested individually.

Test the supply voltage with a multimeter.

Test the current going to the A4988 board as well. With this sort of motor on stationary it ought
to be about 0.4A I think (about 5W in). Note that the motor current and supply current are not
the same with a chopper drive, and the input current varies with speed and load (motor current
is kept constant automatically).

Sorry MarkT,

Thanks for your response but I'm afraid your talking away over my head.

My reason for using the Arduino was just a means to an end; building a CNC machine.

I have no idea how to manually input steps and where to find points to measure voltages.
I really need pictures...

I really appreciate your interest though.

I'm now wondering if I can purchase some kind of ready made up motion control kit, Arduino or something else, as my machine is finished and sitting just waiting on the electronics.

Ralph

RDB5:
My reason for using the Arduino was just a means to an end; building a CNC machine.

It is a very practical means, but not necessarily a plug-and-play means

I have no idea how to manually input steps and where to find points to measure voltages.

I think you need to acquire at least some of that knowledge to make progress, and. in the good Irish phrase, I would not start from where you are now :slight_smile: You need to go back to basics and learn about Arduinos and about stepper motor control. It's not difficult, but it will take a bit of time. My simple code (that you tried) is pretty much the equivalent of manually inputting steps. I'm guessing that the code needs to be adapted a little to suit your hardware - for example to send the step and direction signals to the pins that are used for that purpose with each A4988.

I'm now wondering if I can purchase some kind of ready made up motion control kit, Arduino or something else, as my machine is finished and sitting just waiting on the electronics.

It would probably be more useful to ask this on a CNC forum.

...R

Wise advice Robin2,

I'm desperate to get on and make stuff on a CNC machine, my original goal but I just hate to give up on problems.
I think I'll try and find out a bit more about Arduinos and steppers before giving up. Pity there's no "fast track" for learning!

Thanks for your patience.

Completely off topic. On a different forum I offer to research Scottish ancestry for USA folks and I find myself saying much the same thing to them because of their expectations. "You need to start at the beginning"

Thanks again,

Ralph

ps. Forget the Irish; "I'll be back"...

SOLVED!

After a couple of days reading and watching You Tube videos on Arduino and coding etc. I managed to test each of the stepper drivers directly from the Uno, missing out the shield.
This confirmed that all the drivers were working, as were the stepper motors and both my Uno boards. That, of course, left the shields not tested.
However, once I put the parts all together again, the motors were erratic.

I was currently using the latest Hex file from Github, which was 9a.
I therefore cleared this one and loaded the oldest one on Github, 0-51 and kept reloading (upgrading?) the Hex files right up to the currant 9a. This seemed to work and the motors were stepping in the correct direction but jumping.
This was fixed by adjusting the settings in Universal Code Sender.
All now seems to be well and I have smattering of knowledge of the Arduino which should be useful in the future.

Thanks for all the advice,

Ralph

Glad its working for you now.