PWM to limit current to bipolar stepper

I would suggest evaluating STMicroelectronics' L297 stepper controller. Not only does this PWM the stepper signals based on feedback from the coils to control the current, but it also simplifies your sketch because you only need to set one pin for direction and toggle another pin for each step. And a third pin that controls the mode (normal drive (two-phase-on full step), wave drive (one-phase-on full step), or half-step) can either be hard wired to one mode, or you can use a third pin for changing the mode. I'm using one with a L298 in a schematic that I still need to breadboard...

Get the datasheet and price quotes from L297/1 STMicroelectronics | Distributors, Price Comparison, and Datasheets | Motor Drives | Octopart