Ive noticed that many designs using stepper motors seem to have problems with the torque dropping off as the speed is increased.
Stepper motors really require to be driven from a constant CURRENT source rather than constant voltage. Provided that the max output voltage from the supply can be tolerated by the bridge drivers!
I built a simple switched mode constant current supply fed from 18volts rechargeables to feed the arduino motor shield and a stepper from an old printer, and the motor runs with far greater torque at high speed than just feeding 12V to the shield.
A simple mod to the arduino r3 motor shield is to super glue a small finned heat sink to the bridge ic.
Put a very small amount of heatsink compound in the middle of the ic, a tiny blob of super glue at each end, then press the heatsink firmly down and wait for the super glue to harden. Hope someone finds this usefull
There will be issues with any decoupling capacitors in the motor shield though - lots of
different shields about these days, and some have the undesirably characteristic of back-powering themselves from the 5V supply if the motor supply drops below 5V.
Stepper motor driver boards - the Pololu A4988 is an example - have current limiting built into them. You adjust the max current to suit your motor with a preset potentiometer. The A4988 can work with an input voltage up to 30v I think.
Oh yes, the other thing that was nagging in the back of my mind - a bipolar motor
has two windings, and if you want to drive anything other than wave-drive you need
to separately limit the current to each winding (for microstepping this is the whole
game).
So a single current limit for two H-bridges isn't particularly flexible - the A4988 and
other chopper drives do cycle-by-cycle current limiting feedback independently for
each winding and use the winding inductance - no auxiliary components needed so
a very small board area.