Relation between PWM Frequency and the Voltage applied to the Motor in MicroStepping

Thread Starter


Joined Nov 1, 2016

I am a beginner to microstepping method of driving stepper motors.

I am getting confused as to which PWM Frequency to used at which voltage to attain proper motor current

the motor has 8.8 ohms resistance, 13mH of inductance and the maximum current per phase is 0.57A

which PWM frequency should I use for proper microstepping?


Joined Jun 4, 2014
PWM is used to control the speed of motors whose speed is governed by the voltage applied, like DC permanent magnet motors.
Stepper motors move a single step, perhaps 1.8 degrees of rotation, as the coils are powered in the correct sequence, one step of movement for each step in the coil power sequence. The frequency of steps along this sequence determines the speed of the motor. PWM is not appropriate for this kind of motor.


Joined Jan 8, 2017
Hi Albert,
Pulse width modulation can be used with stepper motors. If a stepper motor is driven by a voltage that gives the rated motor current with the winding resistane of the motor then they can't be stepped at a very high rate as the inductance of the windings limits the rate of rise of current. A way of reducing this effect is to drive them from a higher voltage. If this is done then something needs to be done to limit the current one the current has reached the rated value. The simplest way is to add more resistance but this wastes power. A better way is to use pulse width modulation to limit the currrent. The PWM frequency will be higher than the maximum stepping rate. (I have no idea how to work out what the optimum PWM frequency will be.) This web page gives information on methods of current limiting in stepping motors.



Joined Apr 4, 2016
The PWM frequency is not very important as long as it is higher than the step frequency. The mark-space ratio is what is important as this controls the amount of current in the motor winding. The motor is stepped (moved) by switching between a set current in the winding (at a certain mark-space ratio) and no current (zero mark-space ratio) in the correct sequence. This gives "full steps". In fact each motor winding is driven by an "H bridge" so that the current in the winding can be reversed. The transistors in the H bridge have reversed diodes in parallel (re-circulating diodes) to allow the winding current to continue to flow during the "space" part of the PWM.

The stepper motor can be driven without PWM but then the full supply voltage is connected to the motor winding and the current is only controlled by the resistance of the winding. This requires high resistance windings with lots of turns and hence high inductance. With a high inductance, the current cannot be changed quickly so this prevents the stepper motor from running at high speed. Much better to have a low inductance, low resistance winding and control the current with switching PWM.

You may read about "microstepping" stepper motors. This is where the PWM ratio is changed so the winding current is varied (in a sinusoidal pattern) so that a number of intermediate steps are obtained. A typical stepper motor might have 200 full steps per revolution but with microstepping many thousands of steps per rev. can be achieved.