Stepper Motors

From Mike Taglieri

> I recently got several stepper motors (and a number of other items) from disassembling an old dot-matrix printer, but how do you use them? If I understand right, they’re designed to turn a precise amount when hit with pulses of current, but what I’d want would be continuous turning at various speeds. > > Will stepper motors operate continuously, and do you feed them AC or DC? A step-down transformer was among the components I recovered, so I assume they don’t get line voltage, but the actual voltage required isn’t mentioned.

From Greg Eshelman

> Stepper motors have several coils inside that can each be powered separately. An electronic controller pulses current to each coil in turn to make the rotor snap around from step to step. > > Single stepping controllers are fairly simple but give rough motion. Some designs of steppers can have more than one coil at a time powered to give half steps and other increments of a full step. > > A similar type of motor is the brushless DC motor. They have several coils and use a fairly simple electronic circuit (or a pretty complex one for accurate speed) to spin the rotor, which is simpler than a stepper motor rotor. > > DC fans like in your computer have the controller built in so they connect straight to 12 volts.

From RS Goldner

> Here’s an education on stepper motors. http://www.cs.uiowa.edu/~jones/step

From Dave Mucha

> Stepper motors are unique little beasties. When you spin the shaft, you will feel little magnetic indentations, or steps. > > A stepper motor is driven by a high voltage, fixed amp (controlled amp) power, pulsed through an H-bridge. An H-bridge for those who never heard of one before is a way of powering a DC motor to spin forward or reverse. > > You are correct that one pulse is one step and that usually equates to either one in 200 (1.8 degrees per step) or one in 400 (0.8 deg/step) steps per inch. You need one pulse to move one step. This means you need to generate pulses. > > The Parallel port is fine for that. More on that below. The size you more than likely pulled are less than an 1" 3/4. and unfortunately don’t have much power. Some other neat things about these things. Usually, the nameplate will offer voltage, amps and or resistance. > > Voltage is often between 0.5 to about 6 volts DC, but…. you power them with 5 to 25 times the voltage. Higher voltage, faster spinning and more power, BUT, SAME AMPs. > > The magnetics of the motor are rated for those exact amps, over amp and you may burn it out, over voltage (over 25 times nameplate) and you will burn it out by altering the magnetics. > > The Parallel port has the ability to send out signals to control the motors. What you will need is a stepper motor driver and a power supply. Remember, a simple power supply is a step down transformer, a full bridge rectifier and a capacitor. BIG capacitor, like 10,000 uf at better than the voltage. > > And, if you aren’t familiar with AC rectification, the RMS value of an AC waveform when rectified will be closer to the top of the peaks, and when you add the capacitor, you will get near the peaks for power. > > This means your RMS value AC of 24 volts is 1.414 times that or almost 34 volts. > > So you need to figure your 20x voltage and work backwards. More neat stuff about steppers, the low end is where the power is. They have a constant power, but torque at high speed falls off. > > You can gear them to transmit that power with gears or timing belts and pulleys. McMaster Carr has that stuff, XL series is the biggest you would probably use. > > A PC can output like 40 hz on the parallel port so if it takes 200 steps per inch into a 1/4-20 threaded rod, that is 4,000 steps per inch. You can see that you can move a table pretty fast at those rates. And geared, you have some power. > > Dave K automated his 7x for full CNC and the stepper on the cross slide was bigger than the chuck! HUGE motor. (and he wanted bigger). > > He also wrote software that is either free or $10.00 and works in DOS on old (spelled cheap) 486 computers. Program is TurboCNC. And, you can step those with cmos transistors of rated current, directly from the parallel port sans controller board. > > Although when you get into the big stuff, you most certainly want a stand alone controller board. > > Check out the white paper on steppers at www.geckodrive.com (geckodrive(s) ?) Dave K’s list is http://groups.yahoo.com/group/turbocnc check out his group and check out his website for pictures of the CNC lathe. > > And if you want even more on how to drive stepper google search “jones on steppers” and, if you get really into it, there is a CNC list, VERY heavily monitored, you are on probation for like 90 days to see if you wander OT. http://groups.yahoo.com/group/CAD_CAM_EDM_DRO hope this is of some use. Dave

From Ed Karch

> * http://www.luberth.com/plotter/plotter.htm interesting and possibly useful cnc engraver setup. > * http://www.wirz.com/stepper/ stepper motor archives > * http://www.eio.com/stpdata.htm data sheets and specs for steppers > * http://users.utu.fi/kaansa/stepper1.html controller circuit > * http://eio.com/jasstep.htm stepper tutorial > * http://www.doc.ic.ac.uk/~ih/doc/stepper/control2/flpystpr/flpystpr.txt using floppy steppers > * http://www.cs.uiowa.edu/~jones/step/ more than you ever wanted to know about steppers > * http://www.orientalmotor.com/products/CatalogPdfs.htm oriental’s steppers & other motors > * http://www.beowulf.demon.co.uk/serial-stepper.html rs232 PIC controller > * http://www.rxdesignonline.com/Servoproducts.html motors with encoders > * http://www.doc.ic.ac.uk/~ih/doc/stepper/ floppy steppers > * http://home.att.net/~wzmicro/prod01.htm inexpensive stepper controller boards

From Hajo Smulders (62813)

> Stepper motors need to be driven in pulses along their multiple input lines. Do an internet search on “stepper motor”. A small stepper such as one from a dot matrix pointer can probably be driven straight from your printer port. > > Anything bigger you will need a separate driver board. I personally like the driver boards based on a basic stamp. (This is an IC (chip) which you can program in basic. This is how I build my CNC machine: My PC instead of sending each pulse to the three steppers basically sends a command over a serial port that goes “Move_X(Pos1, pos2)/Move_Y(Pos1,Pos2)/Move_Z(Pos1,Pos2)”. > > The driver board is based on Mosfets besides the basic stamp. I guess relays would work as well. (BTW: there is absolutely no reason for a Pos1 in the protocol (i.e.: old position) I just put it in there so If I do come up one day with a reason for it I won’t have to rewrite my protocols (I also have some redundant ‘reserve’ fields in there)

From Harvey White

> Stepper motors need to be driven in pulses along their multiple input lines. Do an internet search on “stepper motor”. A small stepper such as one from a dot matrix pointer can probably be driven straight from your printer port. > > Probably not, although there’s an easy chip, the ULN2003, that will drive it. Anything bigger you will need a separate driver board. Most of the drive steppers from floppies run at up to 12 volts on the coils, and about 200 ma/phase or so. They aren’t high power. The 150 in/oz ones that I have are 1.4 amps at about 4.5 volts or so. They will run from 5 to 6 volt supplies reasonably well. > > I personally like thedriver boards based on a basic stamp. (This is an IC (chip) which you can program in basic. This is how I build my CNC machine: My PC instead of sending each pulse to the three steppers basically sends a command over a serial port that goes “Move_X(Pos1, pos2)/Move_Y(Pos1,Pos2)/Move_Z(Pos1,Pos2)” > > This is basically (heh) a microprocessor controlling the stepper. The driver board is based on Mosfets besides the basic stamp. I guess relayswould work as well. (BTW: there is absolutely no reason for a Pos1 in theprotocol (i.e.: old position) I just put it in there so If I do come up oneday with a reason for it I won’t have to rewrite my protocols (I also havesome redundant ‘reserve’ fields in there). > > Relays would have to run rather rapidly to make the stepper run at any speed, but it is possible. Generally, the steppers you will find are unipolar or bipolar. then usually 4 phases. > > Unipolar steppers have two center tapped windings. Numbering each lead (other than the center tap) 1 through 4, the normal sequence would be 1,2,3,4,1,2,3… where each winding is connected in turn across the supply voltage. > > For a 100 step/rotation stepper, the motor armature snaps to each position, it does not go slowly. You can double the number of steps by using a sequence like 1, 12, 2, 23, 3, 34, 4, 41, 1 where you actuate two windings at once. > > This is called half stepping, and is smoother, since the motor finds a position half way between 1 and 2, and gives you 200 steps/inch. TIP-120 transistors are good for at least 3 amps, can be driven directly from TTL outputs, and make good drivers. FETs can be used as well, but need to be moderately high current. > > I’d use about 2-3 times nominal rating for the stepper coils, so a 1.4 amp stepper would be matched with a transistor of at least 3 amps nominal current, and I’d really like something up around 4 or 5. I have a stepper motor tester that uses a microprocessor and two sets of drivers. > > It will run two steppers of different ratings at once, and is used to see how the characteristics of a stepper match the project. > > There is a technique for stepping called “microstepping” but that involves a moderately complicated program or a moderately complicated driving circuit, although the driving transistors themselves are no different. It’s a PWM driver so that each coil gets a proportional value. The practical limit seems to be about 10 microsteps/step, so you can get more accuracy when needed. > > The xyzr table is planned to use about 5 steppers, and has an individual controller for each. You could also control a stepper by feeding it phased sinewaves, because that’s the motor design it came from.

From Dave Mucha

> A few quick points, if you plan on attempting to run a stepper directly from your parallel port, get a second port and use that. A connected stepper will generate high voltages when turned by hand and connected to a circuit, even when the power is off and the PC is unplugged. > > So when you blow out your port, you only lose (hopefully) the add-on port and not the motherboard. Another source for steppers is hobbyCNC which sells a kit for about $150 with three steppers the driver and you can use step and direction software, or G-code which is generated from your CAD files.