Shop OBEX P1 Docs P2 Docs Learn Events
Need help With Stepper Motor — Parallax Forums

Need help With Stepper Motor

ArchiverArchiver Posts: 46,084
edited 2003-10-02 19:44 in General Discussion
Hi all, i have 3 fairly large stepper motors. they each have a 6 pin
connector attached to them. i have interfaced a ULN2003A (www.jameco.com)
stepper driver and configured it the same way in stampworks experiment #26.
i thought that this code below would turn the motor. what is going wrong?

coils var outb


spin
coils = %1100
coils = %0110
coils = %0011
coils = %1001
goto spin

the steppers appear to be 12V the external power GND for the stepper is
connected to VSS.
Id appreciate any help. Thanks GaryD

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2003-10-01 02:24
    You need to make the pins outputs and add a bit of a delay between coil
    changes.

    coils VAR OUTB

    Setup:
    DIRB = %1111

    Spin:
    coils = %1100
    PAUSE 25
    coils = %0110
    PAUSE 25
    coils = %0011
    PAUSE 25
    coils = %1001
    PAUSE 25
    GOTO Spin

    -- Jon Williams
    -- Applications Engineer, Parallax
    -- Dallas Office



    Original Message
    From: Gary Denison [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=6vLRXIk8bQUCy_MuwgKlMPjd-RQ31z7J5T8At2d_EfdsXBUq-Ng6ifiKT3SPUWNzt45QXg]gdii@c...[/url
    Sent: Tuesday, September 30, 2003 11:01 AM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] Need help With Stepper Motor


    Hi all, i have 3 fairly large stepper motors. they each have a 6 pin
    connector attached to them. i have interfaced a ULN2003A
    (www.jameco.com)
    stepper driver and configured it the same way in stampworks experiment
    #26.
    i thought that this code below would turn the motor. what is going
    wrong?

    coils var outb


    spin
    coils = %1100
    coils = %0110
    coils = %0011
    coils = %1001
    goto spin

    the steppers appear to be 12V the external power GND for the stepper is

    connected to VSS.
    Id appreciate any help. Thanks GaryD



    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject
    and Body of the message will be ignored.


    Your use of Yahoo! Groups is subject to
    http://docs.yahoo.com/info/terms/




    This message has been scanned by WebShield. Please report SPAM to
    abuse@p....
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-01 15:26
    try putting some waits between each instruction. What is probably happening
    is the code is running so fast that before the first instruction can be
    executed it has loop a couple times which would make the stepper not spin.
    Don't know it that is your problem but it is my guess.

    Jason
    Original Message
    From: "Gary Denison" <gdii@c...>
    To: <basicstamps@yahoogroups.com>
    Sent: Tuesday, September 30, 2003 10:01 AM
    Subject: [noparse][[/noparse]basicstamps] Need help With Stepper Motor


    > Hi all, i have 3 fairly large stepper motors. they each have a 6 pin
    > connector attached to them. i have interfaced a ULN2003A (www.jameco.com)
    > stepper driver and configured it the same way in stampworks experiment
    #26.
    > i thought that this code below would turn the motor. what is going wrong?
    >
    > coils var outb
    >
    >
    > spin
    > coils = %1100
    > coils = %0110
    > coils = %0011
    > coils = %1001
    > goto spin
    >
    > the steppers appear to be 12V the external power GND for the stepper is
    > connected to VSS.
    > Id appreciate any help. Thanks GaryD
    >
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-01 15:45
    As noted, you need waits between the pulses to START the motors.
    larger motors have more mass and need slower pulses to get started.
    Once spinning, you can increase the frequency of the pulses. Once
    you have gone too fast, the motor will stop abruptly and buzz. makes
    you jump, but does not harm the motor.

    Also, you mentioned that you have 3 'fairly large' steppers.
    Steppers are random in smaller sizes, custome in all ones, but the
    NEMA Standard we most often use is the inch square of the mounting
    plate. a NEMA 17 is around 1.7 square, or the motor will be close
    to fitting into a 1.7 square hole. (Standard does not mean exactly)

    NEMA23 is 2.3 inches, NEMA34 is 3.4 inches The NEMA 23 is what is
    common in laser printers. (often with a matched driver chip)

    The second question is your power supply. you said a fairly large
    motor, but you are limited to about 500mA with the darlington. if
    your motor has a voltage rating, you can check the resistance to
    determine the needed amps to drive the motor.

    Just an aside here, if you increase the voltage by using a chopper
    driver, you still supply the same amps, you do not calculate amps at
    supply voltage, rather calculate at it's design, supply THAT amperage
    regardless of voltage, but use a chopper to control pulses at higher
    voltages.

    Dave
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-01 16:48
    The "resistance" of a motor is not the true indication of the current
    drawing while the motor is running, is only an indication of the
    current draw when is in the stall mode.
    A true indication of the current draw by the motor is the IMPEDANCE Z
    of the motor, so I=Vac/Z the impedance Z is in math terms z=Rdc+jWL
    which is a complex number or Z=SQR(Rdc^2+WL^2)
    where Rdc is the copper resistance of the windings, W=2*PI*Freq, and
    L is the inductance of the windings.
    When the motor stalls, L goes to zero.
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-01 17:32
    Hi Guys, Thanks For all your input, i had bought the 3 stepper motors
    as a part of a slot machine so i could make my own slot machine.
    thanks to your help my wheels are turning. i didn't initialze the
    DIRB, and i also added wait commands. my slot machine is turning out
    nice. thanks again.





    --- In basicstamps@yahoogroups.com, "Jon Williams" <jwilliams@p...>
    wrote:
    > You need to make the pins outputs and add a bit of a delay between
    coil
    > changes.
    >
    > coils VAR OUTB
    >
    > Setup:
    > DIRB = %1111
    >
    > Spin:
    > coils = %1100
    > PAUSE 25
    > coils = %0110
    > PAUSE 25
    > coils = %0011
    > PAUSE 25
    > coils = %1001
    > PAUSE 25
    > GOTO Spin
    >
    > -- Jon Williams
    > -- Applications Engineer, Parallax
    > -- Dallas Office
    >
    >
    >
    >
    Original Message
    > From: Gary Denison [noparse][[/noparse]mailto:gdii@c...]
    > Sent: Tuesday, September 30, 2003 11:01 AM
    > To: basicstamps@yahoogroups.com
    > Subject: [noparse][[/noparse]basicstamps] Need help With Stepper Motor
    >
    >
    > Hi all, i have 3 fairly large stepper motors. they each have a 6
    pin
    > connector attached to them. i have interfaced a ULN2003A
    > (www.jameco.com)
    > stepper driver and configured it the same way in stampworks
    experiment
    > #26.
    > i thought that this code below would turn the motor. what is going
    > wrong?
    >
    > coils var outb
    >
    >
    > spin
    > coils = %1100
    > coils = %0110
    > coils = %0011
    > coils = %1001
    > goto spin
    >
    > the steppers appear to be 12V the external power GND for the
    stepper is
    >
    > connected to VSS.
    > Id appreciate any help. Thanks GaryD
    >
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the
    Subject
    > and Body of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to
    > http://docs.yahoo.com/info/terms/
    >
    >
    >
    >
    > This message has been scanned by WebShield. Please report SPAM to
    > abuse@p...
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-02 02:45
    --- In basicstamps@yahoogroups.com, "Albert Catano"
    <acatano2002@y...> wrote:
    > The "resistance" of a motor is not the true indication of the
    current
    > drawing while the motor is running, is only an indication of the
    > current draw when is in the stall mode.
    > A true indication of the current draw by the motor is the IMPEDANCE
    Z
    > of the motor, so I=Vac/Z the impedance Z is in math terms
    z=Rdc+jWL
    > which is a complex number or Z=SQR(Rdc^2+WL^2)
    > where Rdc is the copper resistance of the windings, W=2*PI*Freq,
    and
    > L is the inductance of the windings.
    > When the motor stalls, L goes to zero.


    My reference to current is based on the fact that many motors are
    supplied with either amps or volts listed on the nameplate and
    without a data sheet, one must determine where to start.

    having ohms of the windings and voltage, ohms law yields amps. or
    having amps and ohms yields volts.

    Most of us do not have super accurate resistance meters for the 1/2
    to 20 ohms these motors have and we just use our multi meters.

    Getting close is good enough for most hobby purposes. Getting real
    performance requires much more than the simple switching we do with
    Stamps.

    But on your comments, L is the number of windings so unless you get
    that from the manufacturer you can only guess what it might be.

    As far as current goes, if you over amp the motor, the windings will
    saturate and not offer more performance, but will get hotter. if you
    under amp, the motor will not offer as good performance. Based on
    how the motor responds, close is good enough, and being wrong by a
    little won't hurt anything. If the project is critical, buy new, get
    the data sheet and use that.

    But, a properly running motor will be HOT, 80 deg C is not uncommon.

    also manufactures do not recommend using the motors at the low
    voltages we are stuck with running them. a typical 5V motor will be
    run at 48VDC per the manufactures data sheets. In fact, I have yet
    to see a motor manufacturer publish a 5 volt graph on a data sheet.
    Higher voltage requires a chopper type driver or high quality uni-
    polar. not the darlingtons we use as a driver circuit.

    The motor specs are nameplate volts, measured resistance and either
    calculate amps or nameplate amps. it is from these that the
    calculations are usually based.


    Hope that helps.

    Dave
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-02 03:09
    A clarification.
    L is the Inductance of the motor in Henrys no a number of windings.
    You can not over amp or under amp a motor.
    The running Current only depends in the Motor itself, Voltage
    applied, and load.
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-02 15:11
    --- In basicstamps@yahoogroups.com, "Albert Catano"
    <acatano2002@y...> wrote:
    > A clarification.
    > L is the Inductance of the motor in Henrys no a number of windings.
    > You can not over amp or under amp a motor.
    > The running Current only depends in the Motor itself, Voltage
    > applied, and load.


    Op's should have said, Induction follows the square of the number of
    turns. So, although it is related it is not number of turns. and as
    you mentioned, it is expressed in Henry's.

    `over amp' is a term used to describe any motors that are pulling
    more amps than are expected due to load, or a power supply feeding
    more current than necessary.

    'Under amp' is a term used to describe a power supply that is not
    sufficient to deliver the power needed by the motor.

    Think of iron in a motor as being composed of billions of little bar
    magnets called magnetic dipoles. You run some current thru a coil
    surrounding this iron and some of the dipoles will line up north to
    south, making the iron an electromagnet. Run yet more current thru
    and even more will line up. Eventually, at some current, all dipoles
    will be lined up. Increasing the current further will have no
    additional effect because 100% of the dipoles have lined up. This is
    magnetic saturation or `over amps'

    Since we are talking specifically about stepper motors, some special
    considerations are needed.

    In a stepper motor that has the specs of 5 volts, 1 amp, 5 ohms, the
    motor would be rated for 5 watts.

    A chopper driver on said motor might be powered by 70 volts. if the
    motor were fed 70 volts directly, the motor wires would overheat and
    short.

    If, on the other hand, the chopper driver were to monitor the current
    out to the motor so only 1 amp was sent to a coil, it would control
    the transistor so 1 amp were delivered. The feedback would signal
    the driver circuit to chop or cut the current so the motor did not
    see more energy.

    Since the chopper circuit needs to be set for some value, an external
    loop to set the current level of the chopper needs to be in place.
    If one sets that to 5 amps, then the chopper will deliver 5 amps to
    the motor, thus 'over amping' the motor will get hot as the energy
    cannot be turned into motion but is delivered as heat. Since the
    coils become saturated, they cannot do more work and energy is wasted.

    In turn, if one were to set the motor driver circuit to 0.5 amps, the
    chopper circuit could not deliver enough energy to energize the
    magnetic field to create near the motor rated output power, thus an
    under amp condition.

    On a stepper motor in 6 wire , or unipolar use, we use a constant
    current circuit and use a resistor to limit the current. This is
    based on the watts of the motor at nameplate ratings or calculated
    from knowns of the motor. ie: Volts on nameplate and measured ohms.

    If you do not use the limiting resistor, the motor will act as a
    short circuit because the stepper motor is not turning, no motion,
    inductance will drop to zero and the motor will burn up.

    Dave
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-02 17:25
    One more question for you guys, the resistance of coils:

    - center tap to one end of the coil is 35 ohms
    - across full length of coil is about 75 ohms

    how do i calculate a possible power supply for these steppers
    there is no voltage rating but they seem to work fine on 12 volts.
    should i just build a 12 regulator? what amperage regulator should i use.
    i dont want to over amp or under amp these steppers.

    thanks Gary D


    At 02:11 PM 10/2/2003 +0000, you wrote:
    >--- In basicstamps@yahoogroups.com, "Albert Catano"
    ><acatano2002@y...> wrote:
    > > A clarification.
    > > L is the Inductance of the motor in Henrys no a number of windings.
    > > You can not over amp or under amp a motor.
    > > The running Current only depends in the Motor itself, Voltage
    > > applied, and load.
    >
    >
    >Op's should have said, Induction follows the square of the number of
    >turns. So, although it is related it is not number of turns. and as
    >you mentioned, it is expressed in Henry's.
    >
    >`over amp' is a term used to describe any motors that are pulling
    >more amps than are expected due to load, or a power supply feeding
    >more current than necessary.
    >
    >'Under amp' is a term used to describe a power supply that is not
    >sufficient to deliver the power needed by the motor.
    >
    >Think of iron in a motor as being composed of billions of little bar
    >magnets called magnetic dipoles. You run some current thru a coil
    >surrounding this iron and some of the dipoles will line up north to
    >south, making the iron an electromagnet. Run yet more current thru
    >and even more will line up. Eventually, at some current, all dipoles
    >will be lined up. Increasing the current further will have no
    >additional effect because 100% of the dipoles have lined up. This is
    >magnetic saturation or `over amps'
    >
    >Since we are talking specifically about stepper motors, some special
    >considerations are needed.
    >
    >In a stepper motor that has the specs of 5 volts, 1 amp, 5 ohms, the
    >motor would be rated for 5 watts.
    >
    >A chopper driver on said motor might be powered by 70 volts. if the
    >motor were fed 70 volts directly, the motor wires would overheat and
    >short.
    >
    >If, on the other hand, the chopper driver were to monitor the current
    >out to the motor so only 1 amp was sent to a coil, it would control
    >the transistor so 1 amp were delivered. The feedback would signal
    >the driver circuit to chop or cut the current so the motor did not
    >see more energy.
    >
    >Since the chopper circuit needs to be set for some value, an external
    >loop to set the current level of the chopper needs to be in place.
    >If one sets that to 5 amps, then the chopper will deliver 5 amps to
    >the motor, thus 'over amping' the motor will get hot as the energy
    >cannot be turned into motion but is delivered as heat. Since the
    >coils become saturated, they cannot do more work and energy is wasted.
    >
    >In turn, if one were to set the motor driver circuit to 0.5 amps, the
    >chopper circuit could not deliver enough energy to energize the
    >magnetic field to create near the motor rated output power, thus an
    >under amp condition.
    >
    >On a stepper motor in 6 wire , or unipolar use, we use a constant
    >current circuit and use a resistor to limit the current. This is
    >based on the watts of the motor at nameplate ratings or calculated
    >from knowns of the motor. ie: Volts on nameplate and measured ohms.
    >
    >If you do not use the limiting resistor, the motor will act as a
    >short circuit because the stepper motor is not turning, no motion,
    >inductance will drop to zero and the motor will burn up.
    >
    >Dave
    >
    >
    >
    >
    >To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    >from the same email address that you subscribed. Text in the Subject and
    >Body of the message will be ignored.
    >
    >
    >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
  • ArchiverArchiver Posts: 46,084
    edited 2003-10-02 19:44
    --- In basicstamps@yahoogroups.com, Gary D <gdii@c...> wrote:
    > One more question for you guys, the resistance of coils:
    >
    > - center tap to one end of the coil is 35 ohms
    > - across full length of coil is about 75 ohms
    >
    > how do i calculate a possible power supply for these steppers
    > there is no voltage rating but they seem to work fine on 12 volts.
    > should i just build a 12 regulator? what amperage regulator should
    i use.
    > i dont want to over amp or under amp these steppers.
    >
    > thanks Gary D

    Hi Gary,

    do you hve any other spec's of the motors ?
    manufacturer ? Where did you get them ?

    how large is the mounting plate ?
    is it a square plate and round body about 2.3 " dia ?

    Is it one of the pressed steel cans for the mini steppers like on a
    printer ? or a more robust fully machined unit ?

    There are some general watt ranges for steppers so you can work
    backwards with the data you have and some guesses.

    Since the wattage of the steppers is pretty constant in a size range,
    you can find a similar unit, find watts of that unit, then calculate
    what the volts and amps would be.

    on the surface, it sounds like a high voltage motor.

    for example a VEXTA, NEMA23, round body, might be 5.6 volts, 1.5
    amps. resistance should be around 3.76 ohms. Watts around 8.4.

    assuming a similar sized motor with about the same amp rating and 33
    ohms, 1.5 x 33 = 49 volts More than likely, the motor will have
    lower amps and therefore a lower total voltage.

    Smaller motors may have much different spec's as they are not as
    precison and will have poor efficeincies.

    Newer, square body motors have higher efficiencies.

    Dave
Sign In or Register to comment.