07-27-2005 02:10 PM
A cheap and sleazy way to control a stepper motor is
to use the parallel port to directly output pulses to
a stepper motor amplifier. The amplifier is actually
4 amplifier legs. The lowest level of this is to use
4 port lines to produce the counting pulses directly
and output through a set of four amplifiers to the
stepper motor windings directly. I slightly higher
performance solution would be to output pulse and
direction signals (only 2 lines per stepper) to a
driver circuit and amplifier.
This driver circuit can be a complex micro-stepping
device like the allegro 3977 device which can output 2.5
amps per phase at up to 35 volts, can do micro-stepping,
and is a surface mount. A less elegant solution could be
a PIC micro controller that takes in step and direction
and outputs the count for the amplifiers
(see: http://www.dakeng.com/hardware.html).
The brute force method would be to create the counts from
step and direction using 7400 series logic.
The downside to this technique is that windows is not a
real-time OS and you have no real determinism to speak of
on when your pulses will actually make it out the parallel
port. You might get a cluster, then a gap while the OS is
busy starting your screen saver or checking your mail, then
another bunch of pulses etc. Depending on your speed
requirements and pulse train period, this can work pretty
well. But this technique drives the stepper motor in “open
loop” which means that you really have no idea if the motor
actually moved when you asked it to. So you really have no
idea (only faith) that the stage is in the positions you told
it to be in.
The lack of feedback with this technique is why no serious
motion control systems use open loop control. To do your
problem the “right way” you’d have an encoder on the back of
your stepper motor and use the output from the encoder to
control the stepper motor using an actual motion control board.
But that is serious $$$ compared to the sleazy way I've described
above. There’s no free lunch.
That said, I have a small bench-top CNC milling machine that runs
open loop stepper motors being driven by allegro chip drivers and
I’ve milled many parts to very tight tolerances with no skipped
steps. FYI, here’s what I’ve done with steppers on the little
mill:
http://quadesl.com/albums/taig/taig_done.html
http://quadesl.com/albums/stepper.html
Sheldon
07-27-2005 08:03 PM
Excellent post Sheldon!
I have a Smithy where my plans are what you have accomplished.
Ben
07-28-2005 12:45 PM
07-28-2005 02:28 PM - edited 07-28-2005 02:28 PM
Message Edited by Nicholas on 07-28-2005 02:29 PM
07-28-2005 04:31 PM
From what I've seen on the Anaheim Automation web site, the controllers they sell are step and direction input or serial port units. Is your controller a setp and direction unit or a serial port unit? The serial port ones will work a whole lot better for you.
Yes, in either case, you will most likely be using visa. The step and direction ones will use the parallel port baring any other hardware (A DIO or motion control board would be better). The serial ones will be using the serial VI's.
Sheldon