Newsgroups: comp.robotics
Path: brunix!uunet!europa.eng.gtefsd.com!howland.reston.ans.net!spool.mu.edu!torn!news.ccs.queensu.ca!steve
From: steve@cs.ubc.ca (Steve Gillen)
Subject: Re: How to Drive Stepper Motors
Message-ID: <CAwvGL.L9y@knot.ccs.queensu.ca>
Sender: news@knot.ccs.queensu.ca (Netnews control)
Organization: Department of Physics, Queen's University at Kingston
References: <235pa7INNa8b@uwm.edu>
Date: Thu, 29 Jul 1993 05:33:57 GMT
Lines: 72

In article <235pa7INNa8b@uwm.edu> rick@ee.ee.uwm.edu (Rick Miller) writes:
>In the course of taking apart some old disk drives, I've come across some
>nifty stepper motors.  The niftiest being a pair of identical motors which

>I didn't check what the operating voltage is supposed to be for them, but
>tried them with a 9-Volt battery.  Two of the leads are for one coil, and

   Probably 12 volts.  It'll work with less but you won't get as much
   torque.

>
>But now I'm thinking, "What's the `proper' way to drive a stepping motor?"
>Without any signal applied it freewheels, so obviously you have to keep
>*some* signal applied while going uphill or holding a position, but should
>I energize BOTH coils at the same time?  Would that have any benefits or
>maybe disadvantages?
>
>I'm thinking of doing like this:
>
>	A-coil:  ++ --- +++ --- +++ --- +++ ---    _ _ _
>	B-coil:   +++ --- +++ --- +++ --- +++ -
>
>such that the position is actually incremented in *half* steps.  Would
>this be a waste of power?
>
>How are stepping motors *meant* to be driven?

  There are 3 typical ways in which the phases of a stepper motor are
controlled. ( I don't recall the tech names but...) 
One coil at a time is a "full step" method and uses the least average
power. It also has the least drive torque. the static torque is constant.
(ie it hold the same no matter where it stops).
 Half Step... the one you have described above uses more average power
The driving torque is a bit better because the steps are closer together
The static torque is dependent on where you stop it. (2 coils on provides
more force).
 The last method uses two coils all the time...
           A-coil   ++++++++--------++++++++--------
           B-coil   ----++++++++--------++++++++----
 This is also a full step method and uses the most power. I expect the drive
torque is best and the static torque is constant like the first method.

Which method you use depends on how complicated you want to make your driver,
step requirments (ie small steps=> half step), the power you can afford to use,
and the power your motor can dissipate.  Be warned that the more torque you want
the more power your motor will dissipate.  Using more than one coil at a time
may require that you reduce the drive voltage or cool the motor (heat sink it?)

As to the circuit ...   There are two kinds of motors .
  Uniphase ones that have common wire(s) with idividual phase wires
  Biphase ones that have individual coils.
Its a bit hard without graphics to give a good explanation however it sounds
like you have a biphase motor.  The drive circuit depends on your power supply.
If you have only a unipolar supply (ie say one +12 volt supply) you need to use
an H bridge type driver.
  One simple suggestion (unless your the hardy type that likes to build 
everything from beach sand or foundry wafers) is to get a stepper motor driver
chip.  There are several out there but the one I like for this kind of motor 
is Motorola's MC3479.  Its a biphase driver, bidirectional, full or half step,
controls up to 300 ma per phase, has a drive power set pin and at last check
cost about $8 Canadian.  You can also use the set pin to reduce the power 
requirements when the motor is stopped.

I hope this helps.  If you need more (ie diagrams or specs on the MC3479 )
let me know by email and I can send you some hard copy (mail or Fax).
Good luck! 
                 Steve
*---------------------------------------------------------*
*    One of these days I gonna buy me one of those        *
*    witty tag lines!                                     *
*---------------------------------------------------------*

