Go Down

Topic: Stepper Motor Vibrating (Read 3867 times) previous topic - next topic

organnoise

Hi I have set up a circuit to control a stepper motor using an H-bridge, I followed the instructions on this website. I've seen this diagram on a couple other sites so I trust it is correct. But once I try to make the Stepper rotate it just vibrates. I have no idea what I have done wrong!

Here is the motor vibrating :

https://www.youtube.com/watch?v=WoPYHDA32Zk

Here is the Tutorial I followed:

http://itp.nyu.edu/~gg964/blog/archives/1369



I don't know what I've done wrong I've rearranged the wiring every which way and no matter how I arrange it the motor vibrates, if I slow it down to a snails pace the motor takes three steps forward and then on the 4th step it jumps back to where it was in step 1.

I have sent it a loop saying this:

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Any help would be appreciated, thanks!

kf2qd

#1
Jan 16, 2013, 10:45 pm Last Edit: Jan 18, 2013, 10:01 pm by kf2qd Reason: 1
try this pattern - 1000  0010  0100  0001

Arduino pins 2 & 3 are controlling 1 winding. pins 4 and 5(Ooops - got the second set of pins wrong...) are controlling the other winding. So the motor is buzzing becase you start in one direction with pin 2 and then immediately reverse it with pin 3.

OR - try wiring it this way - Arduino -2 to LM293 -2, Arduino -3 to LM293 -10, Arduino -4 to LM293 -7, Arduino -5 to LM293 -15, and use your original output pattern.

kf2qd


try this pattern - 1000  0010  0100  0001

Arduino pins 2 & 3 are controlling 1 winding. pins 3 and 4 are controlling the other winding. So the motor is buzzing becase you start in one direction with pin 2 and then immediately reverse it with pin 3.

OR - try wiring it this way - Arduino -2 to LM293 -2, Arduino -3 to LM293 -10, Arduino -4 to LM293 -7, Arduino -5 to LM293 -15, and use your original output pattern.


Good rule of thumb - If a stepper motor vibrates, it is because you are not powering the phases in proper sequence. The power sequence for a bipolar motor in simple stepping looks like this - A+ B+ A- B-, you wiring has A+ A- B+ B- You need to alternate with winding A powered and then winding B powered.

MarkT

Change the code to issue one step at a time and check the voltages going to
the windings - at least one must be wrong.
[ I won't respond to messages, use the forum please ]

kf2qd


Change the code to issue one step at a time and check the voltages going to
the windings - at least one must be wrong.


He is using a bi-polar motor using a double h-bridge.

MarkT



Change the code to issue one step at a time and check the voltages going to
the windings - at least one must be wrong.


He is using a bi-polar motor using a double h-bridge.


The windings should still be getting the sequence A+ B+ A- B- or the reverse whether its bipolar or unipolar
(assuming wave mode).

Vibration can be caused by the wrong sequence, by one winding being unpowered - measuring the
voltages at the windings is a foolproof way to troubleshoot.
[ I won't respond to messages, use the forum please ]

organnoise

#6
Jan 20, 2013, 06:07 pm Last Edit: Jan 20, 2013, 06:30 pm by organnoise Reason: 1
This is all really helpful so thanks.

But still I've done what both of you have suggested and no luck.

kf2qd, I've put in the steps you've suggested and I've also tried this sequence:

1 0 0 0
0 0 0 1
0 1 0 0
0 0 1 0

And in both instances what happens is the motor takes 2 steps forward and two steps back

I am going to read the voltage output from each step, but I feel I've set it up correctly so I am really confused.

I guess I should note that I am trying to make the motor work using maxuino, but I've tried using the stepper example straight from the arduino library and both results are exactly the same






















organnoise

Good news guys, I got it working!

I switched my wires from the Arduino until it was sending the proper order of phase.

I think the main problem was because I am using a stepper I got from a printer and it was hard to tell if I ad the proper leads.

I changed my pins from 0,1,5,6 to 5,6,7,8 because I noticed that if I unplugged 0 and 1 the signal from 5 6 were still making the motor move, but if I removed 5 and 6 the signal from 0 and 1 were not making the motor jerk at all, just a slight ticking.

Now it is wired:

Arduino 5 to H-bridge 2, A 6 to H-B 15,A 7 to H-B 7, and A 8 to H-B 10

and the sequence is

1 0 0 0
0 0 0 1
0 1 0 0
0 0 1 0

Thanks for your help! The info about A+ B+ A - B- especially helped me understand steppers, considering before I was guessing random sequences


Go Up