Short version: looking for simple and energy efficient way to limit capacitive inrush current. Primary design goals are to minimize radiated heat and current draw during normal operation. The schematics must allow intermittent operational current up to 80A going both ways but should limit the rate of change of the startup current to about 25A/s.

Long version: We have several motor drivers and several control modules powered from 24V battery rated up to 80A continuous. All of these have rather large capacitors on the power inputs, resulting in a spike when master power switch is engaged. Recently we changed the battery supplier and new batteries have "smart BMS" which turned out to be too smart. It has short-circuit protection that is triggered by inrush current and the battery disconnects itself. Note that the master switch has built in 80A circuit breaker which does not trip. So, either inrush current never gets that high or (most likely) the spike is too short. Also note, that after the battery BMS is reset it allows up to the maximum rated current with no problems, which leads us to believe that its short-circuit protection reacts not on the momentarily current but rather on its rate of change.

Here are some of the options we considered:

  • Adding pre-charge resistor as suggested by motor drivers manufacturer prevents BMS from tripping but creates another problem of master control module powering up when voltage on a bus reaches certain point, then browning-out when it drains capacitors and so on;
  • Adding P-FET based time-delayed limiter is not suitable due to bi-directional requirement (to support braking recuperation current);
  • Adding NTC ICL alone is not acceptable due to radiated heat;
  • Adding NTC ICL or simple current-limiting resistor with time-delayed relay is currently most plausible option. Unfortunately the relays capable of switching 80A DC have relatively high coil current. Since the device is supposed to be ON for days at a time it quickly adds up;
  • Using resistor plus latching relay looks like really good solution, but wile engaging the relay is not a problem we have to come up with a way to reset it after the power disconnected. While not optimal, we can theoretically allow this circuit to draw directly from battery for reset pulse, as long as it does not consume more than couple mA afterwards;
  • Finally, replacing the BMS with something less skittish is probably the right way to go, but we still want to be able to use already assembled devices for testing purposes.

So, at the moment we are planning on adding a resistor and ~100mA time-delayed non-latching relay. However I hope there is more efficient solution to this problem.

Question: Can you suggest something better than the options listed above? If not, any ideas on a simple relay control circuit that produces one pulse when power applied and another when it is disconnected?

And another rather silly question: how to rate the current-limiting resistor? Using "inrush-current^2 * R" is definitely an overkill, as it is only powered a fraction of a second. But the datasheets do not specify maximum current, unfortunately.


After reading all the comments we did some experiments. Any resistor 2.2R and up stops triggering of short-circuit protection. We also found some 75mA relays rated for 80A DC. While not ideal, still less dissipated heat than NTC. Below is the circuit I've come up with to delay relay activation for about 0.1s. Please, critique.

enter image description here


Assembled and tested the above schematics. Works as expected with R1, R2 increased to 47k and 22k respectively.

  • 1
    \$\begingroup\$ In answer to the silly question, some power resistors have a surge rating, basically how much heat they can absorb in a single event, for instance this one. You may just have to dedicate a few hours to trawling through datasheets of available power resistors. \$\endgroup\$
    – Neil_UK
    Sep 11, 2020 at 15:32
  • \$\begingroup\$ The bidirectionality makes it harder, indeed. I was going to suggest an n-channel MOSFET-based solution, but meeeeh. Maybe this: patents.google.com/patent/US5444591A/en (it's expired!) \$\endgroup\$ Sep 11, 2020 at 15:43
  • \$\begingroup\$ Easiest way is to use a relay + resistor. The motor controller has to have (usually it should be always present) an inhibit signal. You do make a logic to combine this inhibit, so the motor can start once the relay bypasses the resistor- \$\endgroup\$ Sep 11, 2020 at 16:37
  • \$\begingroup\$ Energy efficiency means either a temporary way to store energy (inductor) or else a relay that is carefully controlled. Just off the cuff. Resistor methods dissipate and you've said that dissipation, in particular, is unwanted. So you need non-dissipative methods. This limits your options. You cannot even use PTCs. So your options really become limited. This will be a crafted design, done with some care and thought. \$\endgroup\$
    – jonk
    Sep 11, 2020 at 17:15
  • 1
    \$\begingroup\$ @Maple The latch relay solution could be overcome by having a capacitor charge through a diode the whole time everything is active. At startup, it works normally. When closing, the diode blocks the discharge, which is used to latch the relay and the mini-logic. A mF or so should power the logic and the relay for long enough to make it count. When the power discharges, the latch will keep the limiting resistor connected (this was the last action) until the restart. At power up, by the time the logic resumes, the latch is on (this part might not be desirable?). Then the cycle continues. \$\endgroup\$ Sep 11, 2020 at 20:58

1 Answer 1


Let me hazard a proper response... in what way is a P-FET not applicable, due to bidirectional operation?

To formulate this more specifically: while recuperating, do you need to impose a current limit (prevent inrush) as well, in the reverse direction? Or do you merely believe, that a P-FET does not conduct in the reverse direction? (you'd be wrong about that) Do you need to consider the scenario, where the DC rail switch gets flipped ON while already recuperating ? Implementing a bidirectional limit would require two FET switches in series and a bipolar threshold detector. Not impossible but would complicate things a little.

I've been toying with the idea for a while, to build a FET-based current limiter gadget, probably for the range of single ampers of working current. To extend the idea to a couple dozen amps, you'd have to use larger FET's / several of them connected parallel (and matched for linear operation!) but otherwise it's probably just a matter of dimensioning for the current and for the energy capacity required (and dimensioning the linear drivers perhaps, to assure fast response in the FETs).

  • 1
    \$\begingroup\$ While FETs indeed can conduct in both directions (through body diode if nothing else, for example) driving the gate will be tricky. First, you need to make sure once triggered the FET stays closed regardless of current direction and voltages on either side. Second, you need a way to quickly discharge any time-setting capacitor when power removed from battery side, to "reset" the circuit. Finally, you need additional components to deal with gate voltage limit, which is below 30V for many FETs. I am a strong believer in "the simpler the better" approach, and the above does not make it simpler. \$\endgroup\$
    – Maple
    Oct 7, 2020 at 15:35
  • 1
    \$\begingroup\$ I do not need current limiting in reverse direction (BMS takes care of that). But minimizing heat dissipation is one of the primary requirements. Unfortunately FETs with Rds(on) low enough to compete with relays quickly drive up the costs. Very interesting find that TPS2492 is, by the way! \$\endgroup\$
    – Maple
    Oct 7, 2020 at 15:48
  • 1
    \$\begingroup\$ I agree that if you have a relay-based solution that's simple to build, just go for it. KISS is my favourite virtue in real life :-) If I should return to the FET-based idea, I've seen e.g. the IPP80P03P4L04 = P-FET 30V 80A 5mOhm, about 2 USD a piece. I'd use maybe 4 of them parallel to get the RdsON down to 1 mOhm, while keeping the pain of matching bearable... \$\endgroup\$
    – frr
    Oct 7, 2020 at 19:08
  • 1
    \$\begingroup\$ In my inrush-limiter designs, the measured current is compared to a threshold, and if that's exceeded, the limit kicks in seamlessly and a timer starts ticking. It works only for one polarity of the current, but my circuit is designed to be fairly tolerant to a wide range of rail voltages. Note that a FET in the conductive state (gate voltage exceeds VgsTh) conducts in both directions, and its RdsON is so low that it behaves practically just like straight wire. So there's no difference in voltage before and after the inrush limiter circuit, unless current exceeded in the forward direction. \$\endgroup\$
    – frr
    Oct 7, 2020 at 19:14
  • 1
    \$\begingroup\$ If you're running the motors off a battery, then unless the battery is nearly flat (well past the over-discharge hazard threshold), it will keep the rail voltage within some sane limits around the positive nominal voltage. And while the over-current limit only works=limits one way (in my current design), the payload current can flow both ways through the power P-FET, through the same RdsON. The intrinsic body diode does not get in the game unless for some reason the FET gate is shut off while you get the motors to recuperate. \$\endgroup\$
    – frr
    Oct 7, 2020 at 19:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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