Thursday, October 20, 2011

Microstepping a stepper motor with the SLA7062

Stepper motors can be made to rotate more smoothly by providing simulated sine waves. The SLA7062 chip uses internal PWM to provide sinusoidal current waveforms to unipolar stepper motors. I have this working fairly well, but the PWM frequency is acoustically apparent and annoying.


  1. Ben,
    happened by more or less accident on this blogpost ;-) documents my experimenting with ultra-smooth microstepping in another context. The analog circuit (10 years ago) is a bit complex but at least the action is totally (I mean it) silent and extremely smooth. The next variety is an Arduino chip doing the microstepping (along with some other tasks, including ensuring an extremely well controlled rate). On theoretical as well as practical grounds I challenge the idea of sine-cosine currents - I have found 2-phase sawtooth works better with the motors I have used (this might not be so for any motor!). No surprise - the current will go linearly from one pole to the next, and so will the force on the rotor.
    With the PWM, I measured the current as a function of the pulse width (at 500 hz), and used it to make a 12-step lookup table. The result is a very smooth motion - though not entirely silent..
    Just thought to mention - not likely it will be of much help for you, though.

  2. Correction - while many sawteeth are indeed somewhat triangular, the waveform I refer to is better known as triangular (than sawtooth) - ramping up and down at the same rate

  3. Try using non-inductive resistor. The 1 ohm sense resistors are wire-wound and will cause problems in the current sensing circuit.