Actually, the speed signal correlates perfectly with the stepping speed. The challenge is to increase the speed at a rate where the motor can follow.
If the axle goes out of sync for more than 0,5 degrees, you end up braking the motor instead of accelerating it.
The secret sauce here is: you need a good speed signal. The trick I used here: The rotor (this is a field mill if you haven't guessed already) is made of PCB with a black solder mask. Underneath are two small strips without solder mask, narrow enough that it only triggers the speed signal in a single step position (see image below). That way the software can easily tell the phase shift of the rotor versus the step speed. You can even "catch" it again after losing sync without needing to start from zero. It's all software in the end.
Steppers are usually not made for these speeds, they have the wrong type of bearings. They are made for torque, not speed. But if you need it to go fast, this is the best approach. Doesn't even get hot, i run it with just 9V / 85mA.
I will probably make the motor current software controllable in the final board, to get more torque at low speeds and decrease current once it hits target speed to decrease noise.
Have a nice day!
EDIT: inserted image
