CNC stepper motor driving CC vs CV
Quote from the following link

Basic design It is a unipolar (or 5-wire type) driver. The motor must have 5 or 6 wires (or 8), as 4-wire motors are only for bipolar and 4-WIRE MOTORS WILL NOT WORK WITH THIS BOARD. The constant current system is crude but simple, it relies on setting the base of the main transistors at a "set" level, then this causes a "set" voltage across the sense resistor Rs, ie maintains constant current. It does get some temp drift with large currents, but it's simple and accurate enough with the resistor values i've tested. It actually works quite well! The brain has control of which of the 4 transistors are ON, and sets 3 possible current levels, enough to do 6th stepping and give 1200 steps/rev with hardware alone. The software I have provided also will do pwm and give 18th stepping, which is 3600 steps/rev, almost stepless operation.

I have built these boards and they work well, quiet and accurate motion with no loss of steps

http://www.piclist.com/techref/io/stepper/linistep/lini_wks.htm