1
\$\begingroup\$

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.

\$\endgroup\$
  • \$\begingroup\$ Unless you assume the motor is stalled all the time, you'll need to take the back EMF into account. \$\endgroup\$ – Huisman Jun 15 at 20:59
1
\$\begingroup\$

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.

\$\endgroup\$
  • \$\begingroup\$ Please put a spaces after punctuation marks. \$\endgroup\$ – Huisman Jun 16 at 7:47
  • \$\begingroup\$ 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) \$\endgroup\$ – Jon Watte Jun 18 at 2:58
  • 1
    \$\begingroup\$ @ Jon Watte.Use inductance in series with your small motor \$\endgroup\$ – Autistic Jun 18 at 4:48
1
\$\begingroup\$

Your understanding is good.

Adding a series R increases the R/L slew rate of current but to lower final short circuit current so this does not protect the driver. Slew rate is the inverse of Tau=L/R !

The only way to provide OCP (over-current protection) is to sense current with say a 60mV shunt resistor ( e.g. 60mV/6A = 0.01 Ohm ) then amplify properly and trigger a shutdown before the Safe Operating Area (SOA curve) power * time limit is exceeded in the driver from an electrical short or motor from a mechanical stall. Current shunt IC’s often use 50mV max but depends on Pd max.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the answer! Still not getting an intuitive understanding of WHY the frequency response / slew rate behaves like that. More resistance should make "things" go "slower," dammit! \$\endgroup\$ – Jon Watte Jun 18 at 3:00
  • \$\begingroup\$ actually NO less resistance or more inductance makes the current slew rate slower and time constant bigger since T= L/R \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 18 at 3:03
  • \$\begingroup\$ I understand that the math says that. What I can't yet wrap my head around is WHY. In my mind: Higher resistance -> less current -> less voltage, so how can the slew rate go up? Is it because the voltage across the resistor is effectively "instant" and more voltage shifts to the resistance part instead of the inductance part? \$\endgroup\$ – Jon Watte Jun 20 at 1:56
  • \$\begingroup\$ Also, a 1 Ohm resistor on 16 V will totally protect the driver if it can sustain 16 Amps. (I'd be more worried about the resistor at that point -- not to sustain for very long!) \$\endgroup\$ – Jon Watte Jun 20 at 1:56
  • 1
    \$\begingroup\$ JOn, wrap your head around this. tinyurl.com/y55lva9o Compute L/R= Tau then measure it \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 20 at 2:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.