PWM scheint mir für Schrittmotoren (L297) nicht notwendig. Ich mach sowas immer mit irgendeinem Timer, der die Schritte auslöst und auf einen beliebig großen Zähler draufaddiert. Diesen Zähler kann man dann natürlich auch mit einem Sollwert vergleichen.