This circuit is suitable for driving bi-polar stepper motors at up to 2A per winding at a voltage between 6v and 26v. This means it can also be used with uni-polar motors by ignoring their center tap and just using the connections to the end of their coils.
The main driving stage is provided by IC1 - an L298. This, in essence, changes the TTL levels at it inputs (pins 5,7,10,12) into high powered outputs (on pins 2,3,13,14).
Diodes D1 to D8 are fast Schotkky diodes. The exact part number will depend on the voltage you are supplying to the motor and the current passing through the coils of your motor.
Capacitors C2 and C3 filter out high frequency spikes and smooth out large current requirements from your motors.
I have also included 2 jumpers to allow the selection of various options. Of course you can dispose with the jumpers and just hardwire them. If you are breadboarding the circuit first then you can find the best jumper settings for your motors/situation and hardwire them accordingly. Otherwise use a 3 pin header and a jumper to make the selection at runtime.
J2 is used to set pin 19 of the L297 high or low and controls whether the chip emits a half-step or full-step drive.
J1 is used to set pin 11 of the L297 high or low and controls whether the 'chopper' circuitry works on the coil voltage phase outputs or on the inhibit outputs. For a discussion on this topic see page 10 of the L297 specification.
My diagram shows the output of these jumpers being passed on to subsequent L"97s if you have more than one motor - of course this is up to you - you may prefer to set the jumpers for each motor individually.
Approximate price to drive one motor:
1 x L297 @ $9.90
1 x L298 @ $3.57
8 * diodes at say 50 cents each $4.00
C1,R3,R4,R5,R6,C2,C3 you may have in your spares bin but lets say $1.00
Trimmer R7 say $0.30
R1, R2 - the main thing to note is the current going through your coils will go through these resistors. Remember Watts = Amps * Volts and Volts = Amps * Resistance. So if your motor requires 1A per coil. Remember the reference voltage on pin 15 can be a max of 2.5V so lets assume we go with 2v. Then the resistor value should be:-
Volts = Amps * Resistance
So Resistance = Volts / Amps = 2 / 1 = 2 Ohms
The resistor power value would be: Watts = Amps * Volts = 1 * 2 = 2 Watts
On this basis then 2 x 2 Ohm 2 Watt resistors would be about 30 cents each = $0.60
So a total of around $19 per motor.