I'm designing a device with a small (400 mAh) NiMH battery with integrated charging from USB. I realise that as I have an MCU it makes sense to control the charging in software rather than worry about sourcing/buying a dedicated charge controller.

I'll be monitoring battery voltage and temperature, so all I need in terms of charging is a constant current source.

I don't care about how precise my current source is, so is there any reason not to use a simple resistor to control current, as shown here?

I'll be charging at around 100 mA, so a 33 Ω, 1 W resistor should get me in the right ballpark assuming a 0.5 V voltage drop from a protection diode and 1.2 V from the battery. Are there downsides to this approach other than imprecise regulation and some wasted power? It seems like the current would only vary by 10 mA or so depending on USB regulation and battery SOC.

I'm a novice at all this; how would I determine how much more power would be wasted with this approach than using a transistor to control current?

  • \$\begingroup\$ The resistor won't properly cut off current when charging is finished... as you observed the current would change only a small amount depending on battery state of charge, but in proper battery charging, you must switch to a limited voltage rather than limited current, as your battery nears capacity. With a much higher source and only a resistor managing charging, you will overcharge your batteries which can be dangerous. \$\endgroup\$
    – Ben Voigt
    Commented Nov 18, 2022 at 22:42
  • \$\begingroup\$ In case I wasn't clear, I'll be managing charge termination in the firmware, using a combination of ΔV, ΔT, maximum T, and a timer. It's my understanding that limited voltage isn't used for nickel batteries, only for lithium ones. Datasheets I've seen for NiMH recommend constant current charging. \$\endgroup\$ Commented Nov 18, 2022 at 22:49
  • \$\begingroup\$ Right, for NiMH phase 1 is constant current and top-off is trickle charge, also constant current but at a much lower current. Good information including temperature management and safely-handling completely discharged cells here: electronics.stackexchange.com/a/8752/1743 \$\endgroup\$
    – Ben Voigt
    Commented Nov 18, 2022 at 22:59
  • \$\begingroup\$ Thanks-- I had seen that, but I'm not sure trickle-charging is necessary in my application. Several of the commercial ICs I've considered use a constant current for the entire charge cycle. So, to clarify my question, is there any reason not to use a resistor for the current source if I'm okay with a set current and I'm managing charge termination with the MCU? \$\endgroup\$ Commented Nov 18, 2022 at 23:17
  • \$\begingroup\$ Energizer says to detect a full charge on a Ni-MH battery cell then disconnect the charging. Or limit trickle charge current to the very low current of only Capacity/40. \$\endgroup\$
    – Audioguru
    Commented Nov 19, 2022 at 0:20


Your Answer

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