Let's Make Robots!

Struggling with Steppers

I'm interested to experiment with Steppers - I have scrounged a few 5 wire unipolar (i think) steppers and figure I'd try and use my trusty STAMP to make them run :

I've never run steppers before bu thave been reading a bit. Key point I don't want to spend a fortune on some driver board, but to lash up something myself (which is always more satisfying)

I figured on using something like a ULN2003 to supply a suitable voltage based on control signals from my stamp. I figure I can then pulse out ABCD, ABCD etc or DCBA, DCBA to go the other way and then have the amplified voltage supplied to the correct lead. the faster I poll the STAMPS, the faster it runs - simple?? (too simple????)

Now here's where I need a bit (a lot) of help - is there some way to sense which of the wires I should pulse next, as I don't actually know what the resting position of my rotor is in .

OR can i just send my preferred sequence and the stepper will kick in when it gets in phase ? obviously I've not tried anything yet, but would really value some advice/  sample circuits etc. that might help me here

 

Cheers Andrew

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

... or you loose steps it's simple.

So you need a counter of the steps taken and a modulo to always make sure that the next step has the right sequence.

I did this on my drivers have a look here:

http://letsmakerobots.com/node/23343

There is code attached writtent for the ATTiny but the algorithm should work on everything ... oh yeah and there is microstepping implemented too which might complicate understanding. 

Here I have older stuff that might make things more clear:

https://github.com/TinHead/Valkyrie-CNC-source-code

 

You could use an array of bytes and just step through the array and output the lower or upper half to your 4 pins.

Once you have found your common/ground wire, if you hook your stepper up and it drives the opposite way of what you have commanded, then you just need to switch a pair of wires.

Stepper motor to PIC through ULN2003
The above graphic came from this site.
http://madan.wordpress.com/2006/06/29/exact-circuit-and-microc-code-for-stepper-motor/

What I am suggesting is that you swap pins 15 and 16 OR 13 and 14 to get your stepper to run in the right direction.

bipolar steppers are easy to figure out the wires, although I've never tried on a 5 wire unipolar.  If there is a black wire, you can assume it's ground (I would hope) and then each other wires corresponds to the different phases.  The ULN2003 is perfect for this if I recall correctly.  As long as you can determine which wire is common you can just hook them up and keep trying till it spins.  If it vibrates in spot, you are out of sequence.

If you don't know what pin ground is, it should be the only pin that has a connection to every other pin, so use a multimeter and figure it out. The other 2 sets of wires will connect to themselves, and ground, but not each other.  So you could also identify them I suppose, but you still couldn't guess the sequence, so just find ground, and hook them up until they work.

I never deal with 5 wire unipolar so I could be wrong, but if you lookup 5 wire unipolar stepper the picture shows how they work.

Ross