I built a retrofit Li-Ion battery pack for a scooter that originally ran on two 12V SLA batteries in series. I measured the voltage of the original SLA charger during the CV phase and it measured 29.3V. Therefore, I built a 7S4P pack, considering that its 29.4V charge voltage is only 0.1V higher.

The problem is that after the Li-Ion is fully charged, when I turn the scooter on, it emits a beep error code which corresponds to "voltage error" in the manual. I measured the battery voltage and it was 29.35V.

The thing is, this is so close to the operating range of the scooter. In fact, if I power on the scooter and QUICKLY start moving, the motor will kick in before the voltage warning happens and I can move around just fine (the load pulls the voltage down just enough), and if I then keep moving for a little while to get that top of the voltage off the batteries and they drop to around 29.3V, then everything is fine. (If I stop too soon, the voltage shoots back up to 29.35, and the voltage alarm goes off and the scooter disables.) It appears the motor controller has a particularly sensitive upper voltage range, since the SLA batteries do read around 29.3V after a full charge, but the 29.35V is enough to cause it to decide the voltage is out of range.

I've considered these options, but I'm at a loss for which option would be easiest to implement, would be the safest with the least amount of inefficiency losses, or just what would even practically work at all.

  1. Put a resistor in series with the battery's terminals so that at full state of charge it only outputs 29.3V, with 0.1V being absorbed by the resistor. Some of the resistors used for current shunting might work. The problem with this is, since the scooter uses the same leads for charging and discharging, this seems like it'd affect charging, since the charger would not detect the 29.4V it expects at end of charge and will drive the batteries into overcharge (very bad).

  2. Limit the charging voltage to 29.3V. A resistor in series would have the same problem as #1 with the charger detecting end of charge. Using a bench supply would work, but this is inconvenient at best, and I haven't found any good Li-Ion chargers that offer this variability in charge voltage. Also, limiting charge to 29.3V might result in some capacity loss - I'm not sure what batteries do if you switch to CC at a lower voltage than the typical maximum voltage, if you continue charging at a lower voltage with lowering current, does the battery's voltage jump up to 29.4V anyway?

  3. Somehow modify the scooter controller. This is probably the worst option since it would required all sorts of stuff (figuring out how to program the controller, etc.) that is probably too much effort for all of this.

It's particularly annoying that the scooter controller is the thing limiting this upgrade. I know that SLA batteries can actually be charged up to 2.5V (especially in lower temperatures) so putting such a strict top limit on voltage seems a little "overcautious".

What should I do?

  • 3
    \$\begingroup\$ Please do not do this. There are so many things that can go wrong with sticking a lithium battery pack into a device that's expecting a lead-acid battery and many of them end with destruction of either the battery, the device, or the operator. \$\endgroup\$ – Hearth Sep 21 '19 at 18:05
  • 2
    \$\begingroup\$ High wattage diodes. Good for 0.75v to 1.5v drop depending on the type \$\endgroup\$ – Passerby Sep 21 '19 at 18:19

The extra 0.1 V or so represents minimal energy in the battery.
A relatively low current drain shunt regulator applied WHEN THE BATTERY IS NOT ON CHARGE* can be used to reduce the battery voltage.

Zeners have a too rounded "knee" for this task and will noticeably dissipate battery capacity needlessly. A current limited shunt regulator using a precision shunt regulator IC will meet the need.

A very cheap solution is a TL431 clamp regulator / "adjustable zener" driving a transistor with a series load resistor to limit current.

Example only:

R!, R2 control TL431 turnon voltage.
ZD2 clamps M1 gate to a safe maximum on value.
M1 + Rload acts as a shunt load.

Rhyst is optional. When equipped it is a small value R such that
V = IR = I_RLoad x Rhyst is say 0.05 to 0.1 V. When Vin rises to a level that turns ZD1 on, the voltage across Rhyst steps from 0 to say 0.1V, which adds to the voltage on the R2+R1 divider, increasing the apparent Vin value. Thus Vin has to fall to somewhat below the original Vtrip before M1 is turned off. This has the effect of ensuring M1 is fully on or fully off and not in a partially resistive state. This means that clamp current is set by I = V/R = Vin/Rload and that M1 dissipates minimal power when on.

Dimension Rload wattage to suit.

*If the load current through Rload is small enough the circuit could be allowed to operate during charging.


simulate this circuit – Schematic created using CircuitLab

| improve this answer | |

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.