I recently found myself needing a simple circuit which could detect a low battery condition of a sealed lead acid setup, but also with a hysteresis function i.e. don’t re-enable the output until the battery voltage rises to a certain threshold.
The internet is practically exploding with low voltage detection circuits but many are quite complicated with exotic ICs and other fussy details.
Geez man. All it takes is a single comparator and a two resistors (three for hysteresis).
Okay so my circuit has a little more, that is because making something that is actually useful requires a bit of extra stuff.
With the above component values it will cut out at 11.2V and re-activate at 12V, which is good for most sealed lead acid batteries. There is also second comparator – this is purely acting as a logic inverter, because I needed a negative logic output. If you don’t need it, leave it out. One of the cheapest and most available comparators – the LM393 has two units anyway, so this works out well.
The main guts of the circuit is R1, R2, R3 & U1A. R4 & R5 are a simple voltage divider to get the input voltage inside of the 5V operating range of the comparator. R6, R7 R8 & R9 should be left as is.
The math
Because I’m using fixed resistors, I’ve worked backwards, from a ‘components first’ approach, simply working out the formula for the circuit then plugging a variety of E24 resistor values in until I got what I wanted. I find this easier than working from a ‘results first’ approach i.e. starting with the desired voltages, to then being told by your workings you need a whole bunch of resistor values that don’t exist!
- VCC (Constant – 5.0): The output of the 78L05
- VL (Constant – 0.1): The voltage the LM393’s output transistor can pull down to. Yours may vary. The expression containing this term can be omitted if you are happy to call it zero.
- VIl: The low battery input threshold voltage
![Rendered by QuickLaTeX.com \[V_I_l = \frac{\frac{(R_2 \times R_3 \times V_C_C) + (R_1 \times R_2 \times V_L)}{(R_1 \times R_2)+(R_1 \times R_3)+(R_2 \times R_3)} \times (R_4 + R_5)}{R_5}\]](https://www.mattmillman.com/wp-content/ql-cache/quicklatex.com-3eecb55cf635b04c794103f2d2a94288_l3.png)
- VIh: The high input threshold voltage i.e. re-enable output when voltage reaches this level
![Rendered by QuickLaTeX.com \[V_I_h = \frac{\frac{(R_2 \times R_3 \times V_C_C) + (R_1 \times R_2 \times V_C_C)}{(R_1 \times R_2)+(R_1 \times R_3)+(R_2 \times R_3)} \times (R_4 + R_5)}{R_5}\]](https://www.mattmillman.com/wp-content/ql-cache/quicklatex.com-1108112b209eb3e221b05e71363756ae_l3.png)
If you wanted to adjust my thresholds, assuming a 12V setup, focus on R1, R2 & R3. Leave R4/R5 as is. If changing to a different voltage / type of battery, then R4/R5 need to be adjusted to bring the voltage at pin 2 within a 2-3 volt range.
Posted in Circuit snippets
Nice! Building it, but mine is for a 24 volt pack. Will adjust accordingly.
This circuit can modify for 48v then how ..
YES I GOT IT BY MODIFYING RESISTOR R4 R5 FOR MY 54V supply
This was super helpful, thanks for sharing! I needed to change the values for my application (5S LiPO) and didn’t want to spend the night doing algebra, so I used your formulas to create a Desmos tool to make it easier. Hope this helps someone:
https://www.desmos.com/calculator/qcx2eymcpj
Thanks a lot. This really helped sort out the fact from B.S. regarding a rather important circuit. Building a cradle for Craftsman 20V battery and this really helped. Going to hook the output to a power PMOS or some such.