Series resistance for DC brushed motor with PWM drive

I'm looking for double-checking my math/assumptions, and if possible, a physical explanation of the "rising corner frequency" phenomenon.

When controlling a DC brushed motor with PWM, typically by switching MOSFETs in a bridge configuration (or a single MOSFET plus reverse diode when driving in only one direction,) it is possible to limit the maximum amount of current seen by the MOSFET by measuring resistance and inductance of the motor, and setting the PWM on-time to be no more than an appropriate time.

For example, for a 16V drive of a 20 uH motor with internal resistance of 2 Ohm, the time constant is (0.000020 / 2.0) or 10 microseconds, and the current achieved after that time is 16V * (1 - 1/e) / 2.0 Ohm = 5.06A. Alternatively, if I have a fixed PWM frequency, the duty cycle has to be set appropriately to make the on-time be at the given length. For example, with a duty cycle of 20%, the total cycle time is 50 microseconds and the frequency is 20 kHz.

I want to reduce the risk of overloading the output MOSFET in the case of a short, so I add a 1 Ohm series resistor (rated for appropriate wattage at the expected duty cycle -- this is an example!) The time constant now shifts to (0.000020 / 3.0) or 6.7 microseconds. In effect, the corner frequency of the low-pass filter of the RL circuit has gone up; it now passes more high-frequency signal. This means that at the same 10 microseconds as before, the circuit has reached a higher percentage of its "final" current.

First: Am I missing something, or is this correct? (to the first order -- motors seem tricky when you want to model everything!)

Second: It seems unintuitive to me that adding resistance increases the passband of the filter. Is it correct to say that the reason for this is that the time constant measures "time to 1-1/e of final current," and the additional resistance makes "final current" lower? I e, the actual current growth / voltage drop "speed" in the inductor doesn't change; instead it's the "goal" that changes? The math is very clear that this change in time constant (and thus frequency response) happens, so I'm trying to find the right "hook" to anchor my physical understanding to.

• Unless you assume the motor is stalled all the time, you'll need to take the back EMF into account. Jun 15, 2019 at 20:59

If your motor is not too big the DCR is significant. In your example 16VDC and 2 ohms the prospective stall current can only get to 8 amps. Low voltage mosfets that will handle this are cheap and easy to find. Adding External DC resistance like 1 ohm will waste power and reduce maximum motor speed when loaded. You were discussing motor inductance which is valid. 20 microhenry seems very small so double check this. Remember that inductance and hence time constant can fall drastically at high currents when saturation happens. Larger motors can have much lower DCR so current sensing is the preferred method of protection.

• Please put a spaces after punctuation marks. Jun 16, 2019 at 7:47
• The motor is a small DC motor from an airsoft gun air pump. It runs well on 5V, but I only have a 16V rail, so PWM it is... I agree that an Ohm of resistance "wastes" power, but putting the full 16V into this motor is not something I want to do anyway. Ideally, I want to run the PWM fast enough to get into continuous current mode. (The motor also discharges through this resistor, with a diode) Jun 18, 2019 at 2:58
• @ Jon Watte.Use inductance in series with your small motor Jun 18, 2019 at 4:48