Connect with us

Help with a stepper motor IC

Discussion in 'Sensors and Actuators' started by Preston Delano, Dec 19, 2016.

Scroll to continue with content
  1. Preston Delano

    Preston Delano

    6
    0
    Dec 19, 2016
    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
     
  2. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,306
    2,738
    Jan 21, 2010
    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.
     
  3. Preston Delano

    Preston Delano

    6
    0
    Dec 19, 2016
    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
     
  4. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,306
    2,738
    Jan 21, 2010
    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.
     
  5. Preston Delano

    Preston Delano

    6
    0
    Dec 19, 2016
    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?
     
  6. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,306
    2,738
    Jan 21, 2010
    It sounds like you have it right. It might be worth swapping the connections to one winding around.
     
  7. Preston Delano

    Preston Delano

    6
    0
    Dec 19, 2016
    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
     
  8. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,306
    2,738
    Jan 21, 2010
    Do you have the MODE and CWD pins connected and have you set them correctly?
     
  9. Preston Delano

    Preston Delano

    6
    0
    Dec 19, 2016
    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
     
  10. BobK

    BobK

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

    Bob
     
  11. Preston Delano

    Preston Delano

    6
    0
    Dec 19, 2016
    Yes, also the faster I send the high then low signals the faster it vibrates
     
  12. BobK

    BobK

    7,674
    1,685
    Jan 5, 2010
    Then reverse one of the coils.

    Bob
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-