Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Calculatiing series resistance

Not open for further replies.


Advanced Member level 4
Dec 2, 2010
Reaction score
Trophy points
Activity points
when we drive an led with a 5v supply we calculate the current limiting resistor for an LED with specs like LED drop is 2v, current 20ma. so we calculate the series resistance - (5-2)/.020 =150ohms.
I read the above in a tutorial.

But in the case of a stepper motor running on 12v which is supposed to consume 1 amp (as per specs) I am supplying it with 12v 2amp PS, how am I supposed to calculate the series resistor for limiting current to 1amp?

1. Preferred operation is constant current with current control loop
2. If it's not possible, or not needed for a slow step motor drive, constant voltage, possible with additional series resistor may be used. You have to put the motor resistance and driver voltage drop into the calculation.

I am driving a 12v stepper motor, 1amp, 2.4ohm with an L298 board from ebay. At present I am trying to power it with a buck converter set to 12v or 1amp. so far when the motor is powered the LED is green(it goes to red when current limit is reached). I have to replace this buck with 12v 2 amp supply soon. then I may have to use a current limiting resistor.
I assume it is 1amp per phase , so 2 amp in total. so what resistance value to use, what power and where(at the output of the L298 board?)

Peak current is 12V/Rs , Rs=2.4Ohm , Ipk= 5A
Consider low cost PC PSU or use IDE Molex plug from PC and add Ferrite CM choke to reduce EMI to power cable twisted pair with Cap at load to avoid EMI effects on analog and logic cables nearby.
Describes above for different types. bipolar etc.
Microstepping is like PWM which reduces average current and also torque since torque is proportional to current.

I am driving a 12v stepper motor, 1amp, 2.4ohm

I assumed that was Rs, thus 1A SMPS will reduce stepper torque and max speed, so 5A surge is required which requires careful choice ($) to meet on cap. 4A ripple current and capacity, C=(dt/dV)*I

The value of dt depends on stepper mechanical load and step rate but will be a fraction of step interval
the value dV is the sag in SMPS voltage and the incremental Cap current will be 4A from 1 to 5A.

The value of Cap will be huge and poor SMPS design cannot properly drive motor.

So you have tradeoffs with torque performance, cost and peak I*t surge.

What are your requirements now?

Simply put this way. The L298 board has a current limiting facility ? if yes how to Implement ?what value to use? I have heard that with stepper motor drives, there is a high current requirement (momentarily at startup - the vendor told me when started moving not much current is required). so is it okay to simply connect a 12v, 5amp supply with not limiter and L298 will stand any surge or spike?

1) vendor misinformed. Yes start current is 0 into an inductive load but it rises quickly to V+/Rs=5A

2) L298 will not handle motor surge of 5A to make any difference, unless you attached a SLA 12Vdc battery in parallel.

Re: Calculating series resistance

The better way than use a series R is to sense motor current with a 50~100mV ground shunt to feedback sense current to disable driver and reduce pulse width. Motor inductance and Rs determine rise time and thus maximum commutation rate and use detection of current to disable drive voltage with some hysteresis. Optimal speed control of stepper comes from MCU or VCF variable speed commutation that steps faster until velocity is reached then slews down frequency until stopped. This was standard method used for fast steppers used in old disk drives and also used in large industrial motors.

The reference voltage can be constant (5A) peak ( if possible) , or (1A) average or better use variable according to acceleration and velocity and stop condition such that switching losses are <5% of motor load power and thus bridge RdsOn is <<5% of 2.4 Ohms.

Hold current can be reduced << 50% when stopped depending on required stiffness to reduce motor heat when stopped.

This can be discrete or efficient integrated motor driver IC for micro-step-half step or full step in either monopolar or bipolar drive.

When a motor coil of 2.4 Ohms is switched on at 50% duty cycle, it's equivalent resistance is now 4.8 ohms and at 20% is now ~12 Ohms so at DC it draws 1A from low RdsOn switch from 12V.

But when pulse frequency is increased, coil impedance increases, current ramp rises linear until Vref threshold is reached then switched off. Thus you can set load current with R sense e.g. 50mV at 1A= 0.05Ohm so 5A peak means 0.25V drop so if Isense is amplified to 2.5V at 5A (gain=10) then you can use Vref vary with pulse frequency for optimum acceleration torque and optimal power to motor by controlling average current.

For simple but inefficent method use 1A constant current supply with very low V dropout.

What method do you prefer?


if the motor winding is rated with 1A I recommend to limit the current to a maximum of 1A. So you are on the safe side.

You can start with 0.7A. This gives only the half of power dissipation. While torque is 70%.

Later you may optimize this: Either by lowering hold current, or by increasing current for a short time during accelertion....

You need a current limit for each winding independently. The use of a common power supply with current limiting features won´t give the desired result.

For sure you may use the L298 with PWM inputs to regualte the current. But you need current sensing hardware and PWM generation - this maybe also as hardware.

For best performance in half step mode you should use then driver enable pins of the L298.
During PWM current regulation you need a slow current decay. Here the Enable is continously ON, The inputs are PWMd.
But at the steps where both driver inputs have the same state (between forward voltage and reverse voltage) you need a fast current decay. This can be achieved with Enable = OFF.


As I told you in the other thread: First read about controlling a stepper motor.


My source of power supply is a 100AH Lead acid battery, so the above mentioned motor need any current limiting? is it okay to directly connect the battery to L298 board?

Still waiting for meaningful motor data...

I just noticed that you are discussing the same problem in two cross-posted threads and gave the motor data in the other thread.

Please continue the discussion in the other (first started) thread.

Not open for further replies.

Part and Inventory Search

Welcome to