Step motor drives control current (are current sources) rather than the voltage going to the motor. The control feedback path compares the motor current against a reference value and adjusts the PWM power amplifier's duty cycle to make the motor current equal to the reference.
The feedback loop is closed so long as the PWM duty cycle necessary is less than 100%. The motor's inductive reactance increases with speed, requiring an increasing PWM duty cycle to keep motor current regulated to the reference value. Above some speed this requirement can no longer be met so motor current (and torque) decreases with further speed increase.
A current source in this predicament is said to have 'run out of headroom'. This means the voltage necessary to maintain current regulation exceeds the available power supply voltage. The amplifier then cannot be described as current source anymore; it exhibits all the characteristics of a voltage source.
There is a symmetry between current sources and voltage sources: Let's say you have a 1A current source limited to 1V and a 1V voltage source limited to 1A. How are they different and how do they behave?
An ideal current source will develop infinite voltage when working into an infinite Ohm load. An ideal voltage source will deliver infinite current to a 0 Ohm load.
A) 1V @ 1A voltage source:
1) Output impedance is zero Ohms.
2) Operates as a voltage source for all loads from 1 Ohm to infinite Ohms.
3) Output current is 1A for all loads less than 1 Ohm.
B) 1A @ 1V current source:
1) Output impedance is infinite.
2) Operates as a current source for all loads from 0 Ohms to 1 Ohm.
3) Output voltage is 1V for all loads greater than 1 Ohm.
It should be clear at this point there is no difference between a current source and a voltage source when there are limits on both current and voltage. The only characteristic that changes is the source impedance (from 0 Ohms to infinite Ohms and vice versa). It is this change of impedance that:
1) Inserts an additional -90 degrees in system phase lag.
2) Introduces an additional full-step lag in position.
3) Causes mid-band resonance for uncompensated drives.
4) Causes torque to decrease as the inverse of motor speed.
Mariss
P.S. A few years ago I did an experiment to null-out the effects of inductive reactance by inserting a capacitance in series with each winding. The idea was a series LC circuit has zero reactance at its resonant frequency. The effect was a reasonably dramatic increase in motor torque at the LC resonant speed. The experiment was interesting but had no practical value; to be useful, it required the LC circuit to be resonant at every speed. This required (a), a variable capacitance ranging from infinite Farads at zero speed to less than 1uF at 3,000 RPM and (b) a means of servoing this variable capacitance to resonate the LC at the driven step frequency. No such variable capacitor exists in real life so solving for (b) was pointless.
For a motor inductance of 3mH, the capacitor size is:
3,000 RPM = 1.35 uF
300 RPM = 13 5uF
30 RPM = 13,500 uF
3 RPM = 1,350,000 uF