NiMH Battery Over-discharge Protection Circuit

by:CTECHi     2019-11-27
I like to power my electronics project with two nickel metal hydrogen batteries in series.
NiMH batteries are cheaper and safer than lithium-ion batteries (
Brand name vs brand name), and, like Li-
Ion batteries can provide more current than alkaline batteries.
The voltage of NiMH battery is ~ 1.
When 4 is full, 1.
5% to 95% 2 V when charging.
When the battery is almost empty, the voltage drops quickly below 1. 1 V.
Ideally, you should stop using NiMH cells when they reach 0. 8-1V.
Allowing it to discharge further can cause damage.
In theory, the two cells are connected together,
The Off voltage should be between 1. 6 and 2 V.
In fact, one of the batteries will lose the charge faster and the voltage will be lower than the other.
Suppose the worst case of a cell falling to 0. 8-0.
9 v when the other one stays at 1.
2 V, we want to set the threshold to 2-2. 1 V.
There are specialized ICs that can be used to prevent excessivedischarge.
An example is max812cpa.
Unfortunately, these ICs cost more than $5/unit and are not very easy to get.
In contrast, ATtiny85 micro-controllers were sold on ebay for a dollar.
Fortunately, the voltage monitor IC can be replaced with the ATtiny MCU.
In addition to being cheaper, the MCU can also be programmed to perform multiple functions (e. g.
Power off, indicate with LED, send message to transmitter).
The power consumption of this circuit based on ATtiny85 is very small (
About 60 uA at 3. 3 V)
, And can start the battery cut-off at any point below 2. 5 V.
First of all, we need to set up a calibration device on the bread plate.
The following parts are required: in order to finally assemble the circuit on a perforated PCB, I would suggest replacing resistors, LEDs, and capacitors with 0805 corresponding elements.
You also need a boost converter to step
The battery voltage is increased to 3. 3 or 5 V.
I bought a few on ebay and they are all equipped with 3-pin headers (Vin, GND, Vout)
For convenience.
This photo shows the two Boost converters I have.
ATtiny takes advantage of it within a month.
The reference voltage for measuring the battery voltage is 56 v.
Unfortunately, this reference voltage is not accurate and is slightly different from one chip to the other.
That\'s why we first need to assemble a calibration circuit to find the threshold that matches our target cutoff voltage.
The breadboard circuit on the photo has a connection in the center.
Top panel (3.
3 or 5 v and ground)
Connect to pin 4 (GND)and 8 (Vcc).
There is a bypass capacitor between these pins (
If you are using an electrolytic capacitor, please pay attention to the polarity).
Measure the voltage on pin 7 connected to the potentiometer.
We need to connect the multimeter to pin 7 (
Or center of potentiometer)and the ground.
The LED is mounted in series with a 330 ohm resistor between pins 3 and GND.
Finally, pin 2 is connected to the gate of the MOSFET through a 330 ohm resistor.
The door is also connected to the ground via 0. 5 MOhm resistor.
When there is no signal from the micro controller, it pulls down the door. A load (e. g.
LED in series with resistance)
It can be connected to the intermediate pin of the MOSFET and Vcc, but we don\'t need it for calibration.
Instead, we will confirm the MOSFET switch later with a multimeter.
The attachment contains the code that needs to be compiled and uploaded to the micro controller.
If you intend to use Arduino as a programmer, you can find the wiring diagram in this tutorial.
You only need to follow the steps in the following sections (Ignore the rest)
:-Configure Arduino Uno to ISP (In-
System Programming)
-Compile and upload the firmware with the Arduino UnoTo, you will need the CrossPack (for Mac OS)
Or tool chain (for Windows).
The following command is required to compile the code: to upload the firmware, run the following command: instead of \"/dev/cu \".
Usbmodem1411 \"you may need to insert the serial port of the Arduino connection (
You can find it in Arduino IDE: Tools--> Port).
The code contains two functions: deep_sleep ()and read_volt().
The first feature enables the micro-controller to enter a very low power state in one second.
The second is that the ADC using the micro-controller is responsible for reading the voltage on pin 7 and assigning it to the \"result\" variable.
The result will be a number from 0 to 1023.
It is assumed that the internal reference voltage is exactly 2.
56 V, the value of 800 corresponds to 2.
56/1024*800 = 2 v.
In practice, it is slightly different from one unit to another. Once read_volt()
Performed, the micro-controller compares the reading to the \"threshold\" constant: if the condition is true, the micro-controller will flash pin 3 (PB4)
And keep pin 2 (PB3)high.
Otherwise, this will lower both pins.
You may have noticed another variable in the if statement-\"hyst\".
It represents lag.
It will be equal to zero when the voltage exceeds the threshold.
However, if the voltage on pin 7 is below the threshold, set it to 140 (About 0. 3V).
In this way, if the voltage hovers near the threshold level, the noise will not continue to trigger the on and off of the MOSFET.
Instead, \"hyst\" will effectively raise the threshold by 0. 3 V.
After uploading this firmware, you should use the calibration circuit to verify that the threshold setting is correct.
Rotate the potentiometer very slowly to avoid rapid changes on pin 7.
Observe the multimeter and note the voltage that causes the flicker to stop.
If the circuit is triggered at too high a voltage, you need to reduce the threshold constant.
Remember that once triggered, the effective threshold will be higher due to lag.
If you want to repeat the measurement, you need to raise the voltage first to reset \"hyst \".
Depending on the type of potentiometer used, you may want to limit its range by adding resistance in series with pot ground and Vcc.
Once I have found the required threshold for my micro-controller and uploaded the final version of the firmware, my goal is to create a compact PCB with the title acceptable to any of my 3-
Pin boost converter.
With 0805 parts I can put everything on a 15x27mm board (0. 6x1. 1\")
According to the attached schematic.
In order to establish a connection between the holes, I welded a single stock from the AWG24 wire.
It is not easy to use them, but it would be helpful to weld them in one place in the middle and then stretch and weld the ends.
After the welding was done, I trimmed the board with tin scissors and rough sandpaper.
If you do not have 0805 parts, it is not difficult to adjust the circuit layout to use the through circuit
Hole parts from calibration circuits.
To save space, you can install resistors vertically.
Although the circuit only flashes the LED when the battery voltage is good and turns off the MOSFET when it is below the threshold, additional features can be added.
For example, in the case of a low battery voltage, the piezoelectric buzzer can be connected to an unused pin to beep (
Like a smoke alarm. .
This circuit is made by a non-
Professional enthusiasts who love applications.
The design is shared in good faith, but there is no guarantee.
Use it and share your own risks with others.
By recreating the circuit, you agree that inventor is not responsible for any damage (
Including but not limited to impairment of assets and personal injury)
This may occur directly or indirectly through the failure or normal use of the circuit.
If this exemption of liability is canceled or prohibited by the law of your country, you may not use this design.
If you share this design or a modified circuit based on this design, you must refer to the original inventor by indicating the url of this structure.
Custom message
Chat Online 编辑模式下无法使用
Chat Online inputting...