Maker Pro
Maker Pro

Help with a stepper motor IC

Preston Delano

Dec 19, 2016
6
Joined
Dec 19, 2016
Messages
6
I took apart a couple office printers and got several stepper motors, which is great for electronics projects. the problem I am having is with driving them. Also from the same printer I got each of the IC's that ran each of the stepper motors, in my haste to get the parts, I took them off the boards they were on, so I don't know how they worked them exactly.

Thats when I thought, oh I will just look up the data sheets, and I have tried for several days to figure out how to get it to work

So the parts I have are as follows
several Unipolar 6-wire stepper motors none of which i can find a datasheet for (some offbrand japanese companies)
several STK672-532 Stepper Motor IC's (that I don't know how to drive)
a couple STK672-110 Stepper Motor IC's (also don't know how to drive, but easier than the 532)
and an arduino

I have searched through many arduino forums and I am pretty sure I have the right code (though not positive). where you send a high signal followed by a short delay (about 1 millisecond) then drop the high signal, repeated several times. the best I got using the STK672-110 was the stepper motors vibrating (I know I have the stepper motor hooked up to the IC chip correctly, I opened it up and found the center tap wires, then used a voltmeter to find the windings that matched)

This is the link for the STK672-110 datasheet
http://www.pcbheaven.com/datasheet/stk672_110.pdf

and this is the link for the STK672-532 datasheet
http://www.onsemi.com/pub_link/Collateral/ENA2111-D.PDF

the arduino code I am using is as follows
void setup() {
pinMode(9, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);


digitalWrite(3, LOW);
digitalWrite(4, HIGH);
}

void loop() {
digitalWrite(9, HIGH);
delay(1);
digitalWrite(9, LOW);
delay(1);
}

I have the clock pin connected to 9 on the arduino
3 is connected to the CWB (the direction pin i think)
and 4 is connected to the enable pin( i have tried sending and not sending a signal to this and it doesn't seem to change anything)

I set each of my circuits up on a bread board just as the example setup in each datasheet showed, and I cannot get the stepper motors to move more than just vibrating.

Any help you can offer would be great! Thanks
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
I recommend you read some more about driving stepper motors.

Typically you need to manipulate more than one on on the microcontroller, mostly because you're controlling several windings.

Also, an Arduino can't drive a stepper motor directly, so you'll need either some sort of driver chip or transistors to control the required current.

It may also be useful for you to look at various software packages which make control easier.
 

Preston Delano

Dec 19, 2016
6
Joined
Dec 19, 2016
Messages
6
Well, I have the STK672 chips, which are stepper motor driver IC's. unless there is something I missed, on the datasheet for those chips, the arduino only needs to send the clock signal to IC and then the IC takes care of sending the correct 5-24v (depending on the stepper) to the correct pins, be it the A,AB,B,BB wires.

I am not running the stepper motor on just the arduino, the arduino is sending signals to the STK672, and the STK672 is supposed to drive the Stepper
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
You'll also need to use the MODE and CWD pins.

Clearly the stepper motor also need to be connected correctly

The 6 wire interface will have a pair of windings with centre taps. Have you determined which wire's are what?

It looks like that controller switches to ground. It may be appropriate to connect the centre taps of the windings to the +ve supply rail.
 

Preston Delano

Dec 19, 2016
6
Joined
Dec 19, 2016
Messages
6
I know which 2 wires are the center taps, of the 6, and the way I had it set up, is the arduino's ground and the 12v ground I had connected to the same rail on a bread board, then the 12v (24v in the datasheet) connected to the center taps.

when you say +ve supply rail, do you mean the 12v I have besides the arduinos 5v?
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
It sounds like you have it right. It might be worth swapping the connections to one winding around.
 

Preston Delano

Dec 19, 2016
6
Joined
Dec 19, 2016
Messages
6
I used a voltmeter to check which of the remaining 4 wires (besides the center taps) were connected. So I know which wires are A, A centertap, AB, B, B centertap, and BB. So I know I have them connected to the IC correctly. I guess I am just wondering if the code is right for how the chip looks like its supposed to be run
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
Do you have the MODE and CWD pins connected and have you set them correctly?
 

Preston Delano

Dec 19, 2016
6
Joined
Dec 19, 2016
Messages
6
The CWB pin is just a direction pin, and the MODE is for half stepping compared to full stepping. I do not think that they need to be set.

But just in case, I tried every combination of on/off when running my code, and it didn't change anything.

So, yes I had them connected, and I am pretty sure that at least for some time that they were set correctly during my tests
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
What does the motor do when you attempt to run it? Does it vibrate back and forth instead of turning?

Bob
 
Top