Mark,
The TEAC Floppy typically uses a 5 wire stepper motor. One of the
wires is a COMMON which is tied to one side of each of the four
unipolar coils. You can easily determine which wire is the COMMON
by using an ohmmeter. There will be only one wire that will measure
the same value with respect to all the other four wires.
Connect the COMMON to +12v. Arbitrarily label one of the wires .
Connect to ground. At this point the stepper motor will lock
into a fixed detent position. One at a time short each of the other
wires to ground. You will find that one wire makes the shaft move
clockwise a small amount, and one wire makes the shaft move counter-
clockwise by the SAME amount. Label the wire that caused the shaft to
rotate CW . Label the wire that made the shaft rotate CCW .
Label the remaining wire .
The stepper motor will rotate full-step CW if the sequence is thus:
A B C D A B C D A B C D etc.
The stepper motor will rotate full-step CCW if the sequence is thus:
A D C B A D C B A D C B etc.
The stepper motor will rotate half-step CW if the sequence is thus:
A AB B BC C CD D DA A AB B BC C CD D DA etc.
The stepper motor will rotate half-step CCW if the sequence is thus:
A AD D DC C CB B BA A AD D DC C CB B BA etc.
A diode should be connected across each coil winding. The Anodes
all connect to the Common wire, and the Cathodes connect to A B C
and D.
The diode will supress high voltage spikes when the coil is
switched from it's ON to it's OFF state.
You can drive the windings to ground via a grounded HexFet, or even
a decent bipolar transistor such as a Motorola MPS6566. The transistor
must be capable of handling the current through the winding, which
can be computed using Ohm's Law: I=E/R where R is the DC resistance
of the coil.
The transistor or HexFet is used as a switch. When it is OFF
the voltage across it is +12v and the current is zero. When it is
fully ON, the current will be from a few hundred milliamps to
perhaps an amp or so (depending on the stepper motor), and the
voltage across the switching device will be only a few tenths
of a volt. In either case the POWER dissipation of the device
can be kept quite low so long as the switching device is driven
*hard*.
The maximum speed at which the typical floppy stepper motor can
be stepped is between 200 and 300 steps per second. As the speed
increases, torque will decrease until finally the motor becomes
erratic and loses synch.
It is possible to increase the speed significantly by using
a chopper mode with feedback which keeps the ON current constant.
In this case the compliance voltage is raised to over 24 volts.
However, such techniques are normally reserved for driving
large high power stepper motors. It would be over-kill to do
this with a floppy stepper motor.
As to driving the stepper motor via a PIC, it is ridiculously
easy. You assign four I/O pins to drive the ABCD driver
transistors. If using full-step mode, you can simply shift 2
bits left or right in a register and then copy the least
significant 4 bits to the I/O pins. Initial "seed" value would
be binary 00010001. Just make sure that when you shift the carry
value is properly set up based whether you are shifting left
or right.
I have to go right now, but if anyone has any further questions,
ask away. As usual, this is only ONE of MANY POSSIBLE ways to
do things. If you have a preferred method of doing this, share
it with the rest of us.
Fr. Tom McGahee
----------
> From: Mark Willis
> To: PICLIST@MITVMA.MIT.EDU
> Subject: [OT] Driving a Stepper
> Date: Saturday, August 14, 1999 4:56 PM
>
> Well, new project. A friend wants help driving the square stepper motor
> off of a Teac 5.25" Floppy (the head positioning stepper), at 8Hz or so,
> for a ribbon inker, giving him 12 RPM's.
>
> He has yet to get me specs on that motor, anyone know that motor well &
> have good details on how to drive 'er? It's been a while since I drove
> one, I'm imagining logic-level hexfets driving the windings, 3 or 4 of
> those, any good URL's etc?; Replying off-list is fine!
>
> Mark