Stepper Motor not moving

Hello everyone,

I recently tried hooking up my Stepper Motor (http://www.pololu.com/catalog/product/1477) to my driver (http://www.pololu.com/catalog/product/2128/pictures) and I haven’t been able to get it to move.

I’ve connected it via this diagram:

Using the 5v output form the Due (powered via USB) and giving the driver a 12V power supply. Just using the built in stepper library examples I haven’t had any success, below is a picture of my setup.

Imgur

I’ve tried powering the Due with the power supply, I’ve tried swapping the dir/step pins, and I’ve measured the voltage the driver is getting, confirmed for 5v and 12v for the VDD and VMOT respectively. However, I have measured that my power supply isn’t sending any current to the driver (it sends current to the arduino just fine when hooked up).

Any advice would be really appreciated, I’ve been stuck here for a few days now.

Thanks,

Ameen

How are you driving the A4988's STEP pin?

Every pulse on this pin should step the motor one step. If it is just driven from a constant (say 5V output) it will step 1 time and no more.

I did not look at your pic in detail, however, from the schematic you posted and the picture the obvious thing missing is a capacitor (unless it is off the page). Although I doubt that is what is not making it work. Here is what pololu has to say:

Warning: This carrier board uses low-ESR ceramic capacitors, which makes it susceptible to destructive LC voltage spikes, especially when using power leads longer than a few inches. Under the right conditions, these spikes can exceed the 35 V maximum voltage rating for the A4988 and permanently damage the board, even when the motor supply voltage is as low as 12 V. One way to protect the driver from such spikes is to put a large (at least 47 µF) electrolytic capacitor across motor power (VMOT) and ground somewhere close to the board.

-Dave

edit: just read after the fact you were using the built in library. I have used the accelstepper library before with my due with success. never used the 'built in' one.

Looks like you have that running on an anti-static mat.... There's a recent thread about how anti-static materials are actually conductive, and that it's not a good idea to run boards on top of them since they might short the soldered pins underneath.

(Not necessarily part of your problem, but seems not to be good practice.)

Do you know the motor is good? It's possible to step a stepper manually by energising the coils from the power supply in the right sequence by hand.

@drobe011

The step input is connected to a digital arduino pin which is pulsing (confirmed with an LED).

In regards to the capacitor, I was using a smaller one (10 uF was all I had available at the time), I've got a couple not-yet opened drivers, I'll try again with a larger capacitor and let you know how it goes.

Also, this is primarily the code i've been using http://arduino.cc/en/Tutorial/MotorKnob, and a simpler variant which just turns 1 revolution forward then 1 revoltion back - both included in the stepper library.

Appreciate the feedback!

@JimboZA

I was considering trying to manually test the motor but was afraid I might supply too much voltage, do you know how much I should supply and in which order?

Thanks for the suggestion!

I was considering trying to manually test the motor but was afraid I might supply too much voltage, do you know how much I should supply and in which order?

Have a quick Google: there are a number of sites that show how steppers work. I've seen some with animations of how to sequentially power the windings to drag the motor round.

Regarding the voltage: the datasheet says 8.6 and you're already going over that with 12v to the controller, surely?

My eyes may be failing me, but are the header pins soldered to the A4988 or are the headers stuck in the breadboard and the A4988 just sitting on the top of it?

If the headers are soldered to the board, I would check those joints/connections to ensure they are good.

Another possibility is if you connected/disconnected things while the A4988 was powered, there is a slight possibility that could have damaged it.

Also, post your actual schematic, picture and problem on the pololu site if you haven't. They are usually very good at supporting their products. Matter of fact they helped me out last year with a A4988 problem I was having.

-Dave

You have a Due, which is 3.3V logic, so you must supply Vdd on the A4988 board with 3.3V, not 5V. This may or may not be the problem, but the A4988 only guarantees to recognise voltages above 3.5V as high when Vdd = 5V. Use shorter wires for logic connections if possible, and keep all logic signals well away from the high current wiring (motor and Vmot).

enable is not grounded so the power is not on to your motor.

On the A4988 there is an on board 100k pull down resistor that pulls the chip's !EN! line to ground. So it is enabled by default. Most, if not all of pololu's little stepper driver's either have onboard or onchip pulldowns to have the default state enabled.

Schematic at bottom of page http://www.pololu.com/catalog/product/2128

You can try pulling it down stronger if you think through capacitance on the breadboard or excessive radiation could be overpowering the 100k pulldown and driving it high.

As what MarkT said, he is correct. That is how I ran my Due-A4988. If you supply the A4988 logic supply with 5V, it will expect 5V logic signals on the STEP, DIR, etc. lines.

On my Due, I used this library (although I haven't messed with my Due in a long time) http://www.airspayce.com/mikem/arduino/AccelStepper/. Although that is not a solution, it should work with the library you are using.

The only problem that I have had with my A4988s was some invisible (to the naked eye at least) contaminates that were creating shorts on the board itself. This was self inflicted and was a result of me using the wrong type of flux on the board.

This is a stab in the dark if correcting the logic power doesn't work. Have you tried to adjust the current limit on the A4988? You may want to adjust it to just under your motor's rating to make sure it's getting enough current. That is a pretty hefty stepper motor.

-Dave

Have a quick Google: there are a number of sites that show how steppers work.

See the ArduinoInfo.Info WIKI HERE: