How flexible is this to program ? Can I control how fast, how long and/or how many steps to turn, which waveform etc. ? Can you please point me to a circuit ? I have Arduino board, any idea how to input clock source to L297 ?
Well, since you don't actually program the L297, everything is a s flexible as the controller you are using.
You control how fast the motor is turning with the frequency of the clock source. The motor steps when the clock is on it's rising edge (could be the other way around, can't really remember).
It has an "enable" input. If it's high, the motor turns, if it's low, the coils are unenergized (the motor spindle is not held into place; to do that, you set the enable high, and stop the clock source).
It also has a direction input.
Programming wise, you just need a pwm timer, and one or two pins, depending wether you want the motor to reverse direction.
Also, what do you mean waveform? If you're talking about the clock waveform, it's square wave.
If you're still interested, i could post a circuit design. I built 6 motor drivers with it and none have failed me