Lithium 18650 Battery Indicator 2.1V to 4.2V | How to make battery level indicator
This time I'm trying to make some more practical solar charger circuits with multiple small size solar cells.
The capacity of the individual solar cell (actually it's a small panel) is 5V 60mA.
A total of ten cells are interconnected together as parallel to support 5V output with a maximum 600mA current producing solar charger circuit.
This circuit will be a more practical solution than the previous prototype using only a single solar panel.
I'm interesting this circuit can support adequate capacity for fully charging 2900mAh 18650 battery within daylight hours.
Along with the charger circuit, I'm including additional circuit consuming generated electrical power during night hours with 1W LED.
As I mentioned in the previous solar circuit Instructable, this is an experimental circuit project to make a practical solar street lamp using high-power 12V Photovoltaic devices.
As shown in the schematics above, the solar power generating circuit itself is simple.
As I'm interested in the operational scheme of the solar cell, several measuring circuits are included such as a voltage meter, ampere meter, and battery capacity level meter.
I'll explain each measurement circuit one by one in the later step or at the other instructable as each device is a little bit complex.
The operational scheme of this solar circuit is simple like below.
- Solar cell produces about 50mA current when it receives sunlight (Although the solar cell specification claims a maximum of 400mA, the actual current I got under the sunlight through windows is 50mA)
- TP4056 lithium-ion battery charger circuit storing electric energy from the solar cell to 18650 battery (This module prevents overcharging and over-discharging of 18650 battery while operating)
- The 18650 battery stores energy from TP4056
- Battery level indicator circuit showing the capacity level of 18650 battery (This circuit was explained in other Instructables)
- 1Watt LED circuit is a load of this solar circuit and consumes energy stored in the 18650 battery
As this kind of solar circuit that charging battery is very common, perhaps no further explanation will be necessary.
The first design of this solar charger circuit was not much complex.
But I had tried to make this circuit more useful and more sub-components are added later.
I'll explain the detailed circuit operation scheme in the later step (Step 5. operation scenario).
For making this circuit, the following components are utilized.
- 5V 60mA solar panels (10EA, 68mm x 35mm size)
- 20L15T Schottky diode as blocking current from battery to panel
- Arduino Uno board
- TQ2-5V relay (2 contacts)
- 2N3904 NPN transistor
- 1N4001 silicon diode
- Resistors (1.2K, 330ohmx5, 10Kx2, 100K)
- LEDs (Greenx2, Yellowx2, Redx1)
- 1W white LED
- LDR (photo-resistor sensor)
- TP4056 Lithium-Ion battery charger
- 5V Boost-up voltage regulator (input 3V ~ 4.2V to 5V output)
-Push-button
- PCBs, metal supporters
- DuPont wires (male, female) and interconnection wires
- 18650 battery
The most interesting part of this project is how much electricity can be produced by the newly made solar panel.
Therefore, I measured the voltage as current on a very shiny day (1st April 2022) and the result is shown in the graphs above.
As my apartment is facing the western side, sunlight is bombarding the solar panel from 11:50 AM.
Again far less current is produced from the claimed solar panel capacity.
As 10EA of 5V 60mA panels are used, theoretically about 600mA should be produced.
But the actual is about 1/4 of current (160mA) is produced at its maximum.
Maybe as the panel is located inside balcony windows, the strength of sunlight seems a little bit degraded.
But the voltage measurement is quite OK as 3.8~5.2V is observed and most time more than 4.1V is produced by the new panel.
As the nominal voltage for the TP4056 charging battery is 4.1V, I can see the 18650 battery charging slowly but continuously.
Therefore, the battery voltage increases from 3.6V to 4.1V while the solar panel gets sunlight.
As conclusion, new solar panel can support adequate energy producing capability for charging the 18650 battery.
I introduced a voltage meter circuit in the previous solar circuit making Instructable.
This time I'm showing the current meter used for collecting current measurement data and the result is shown in the graph above.
The major components are as follows.
- INA219 current sensor breakout board
- DS3231 Real Time Clock board (For creating timestamp)
- SD card storage break out (Used for logging the current measurement)
The LCD module is optional for showing measurement results.
Although the Mega2560 board is used (Mega was the only board available at that time), you can use any Arduino board to make this meter circuit.
The sketch program of current measurement and logging to SD storage is attached to this p.
For measuring current, I used a typical sketch program available on the Internet.
With the program I found, current measurement seems accurate but voltage data from the INA219 board is not accurate at all! (That is why I made a separate voltage meter while making the first solar circuit)
Someone recommends modifying the EEPROM data of INA219 for getting accurate voltage.
But the method is quite complex and I still can't understand what's the operational scheme of the exotic sketch program code.
Anyway, this current meter can help you understand how solar panels produce energy and how much of it.
Let's look at the purpose of the second solar charger circuit.
The circuit plan to make in the future is shown in the picture above.
As described in the previous Instructable, I'm trying to make a practical garden lamp with a solar panel, 20W LED module, and Arduino control board.
Therefore, I'm simulating the garden lamp operational scheme with this second version of the solar charger circuit.
But this solar circuit uses smaller capacity components such as 10EA 5V solar panels, 3.7V 18650 battery (instead of a 12V car battery), and 1W LED module.
The operational scenario is like the below.
- While the daytime, solar panels charge the battery (When the sun is shining, 1W LED is turned off)
- During the night charger circuit is turned off and stored energy can be utilized by the LED lamp (For activating the LED pushing the button is necessary)
- When the button is pushed, Arduino is activating and it measures voltage level of the 18650 battery
- If the battery voltage level is less than 3.0V (Battery low state), Arduino turns off itself by releasing the 5V relay
- If enough energy is stored in the battery (so the voltage level is 4.2 ~ 3.0V), Arduino turn on the 1W LED lamp
For turning on the LED lamp, manual operation is required (Pushing the button).
Automatically turning on and off the LED lamp shall be the next upgrade point. (When Arduino is turning on at all times, the automatic LED on and off operation can be possible.
But this method can use up all energy stored in 18650 battery)
The second solar charger circuit is made to simulate the operational scenario written above.
This is the main control circuit of the solar charger using Arduino.
As described in the operational scenario, a pushing button is necessary to turn on this Arduino circuit.
Then Arduino controller is turned on and checking conditions whether it will maintain turn on or turn itself off.
For testing purposes, the Arduino sketch program is written for waiting 10 seconds (And turn on and off LED) and automatically turns off itself.
When you look at the sketch program attached to this step, you can easily understand the operational concept of this circuit.
Right after power on (pushing button), Arduino activates the 5V relay (Making digital port 4 HIGH)
Then Arduino power supply is maintained even after the push button is released.
Then after 10 seconds, the digital port is deactivated (State changed as LOW) and subsequently Arduino power is off by itself!
Firstly I'm worried about the power consumption of the 5V relay as the spec sheet of these components usually claims 20~50mA consumption when energizing.
But to my surprise, less than 30mA is consumed even 5V relay and Arduino is activated. (You can see the needle of the current meter is stopped in between of 20~30mA position in the picture above)
As overall power consumption is not high, I can use this control circuit with a small capacity of 18650 battery without any concerns.
In the graph shown above, LDR senses light suddenly from 6:20 AM, and darkness starts from 7:20 PM. (It's 2nd May 2020 in Korea)
The dotted red box shown in the graph is the desktop lamp light I turn on after arriving home and doing web-surfing.
As a weather station circuit (Which logs the temperature, humidity, as well as brightness of my room) is installed indoors, it accidentally captures desktop lamp light during night hours.
Anyway, if any light is captured by LDR, the sensing value becomes bigger than 100.
Therefore, turning the LED shall be necessary when the LDR value is less than 100. (It means the surrounding is quite dark and no light can be seen)
As shown in the LDR schematics above, the brightness sensing circuit is simple using one sensor and one resistor.
The LDR and resistor forming voltage divider circuit and resistance change due to light brightness is captured by Arduino analog port (A0 pin).
The sketch program read A0 port (LDR resistance value) for deciding what to do with input value.
If brightness is higher than 100 (It means any light source is available near to solar charger circuit), the sketch program turns off the Arduino.
But brightness is less than 100, the power supply to Arduino will be maintained (Therefore, the Arduino controller is doing something continually).
Please look at the sketch program attached to this step for detail mode.
The second power turn-off condition is the voltage level of the 18650 battery.
If the voltage level drops to 3.0V, the Arduino sketch program changes the D4 port state to LOW (So the 5V relay de-activate and power is cut-off)
This action will prevent over-discharging of the 18650 battery.
Although the nominal voltage level of the battery is 2.1V, the power cut-off is starting at a little bit higher voltage level for supporting the operational longevity of the 18650 battery.
You can see the voltage measurement result in the photo above.
The five LEDs are indicating the different voltage levels as follows.
- When the battery voltage level is higher than 3.8V, the leftmost Green LED is turned on (Battery is almost fully charged)
- The level decreased between 3.8 ~ 3.6V, the second Green LED is turned on (capacity is still a little bit adequate for turning on 1W LED)
- When the voltage becomes 3.5 ~ 3.3V, the first yellow LED turns on (Battery capacity starts to run out)
- If the level becomes 3.2 ~ 3.0V, the second LED is turned on (Battery low)
- If the voltage is less than 3.0V, the power cut-off circuit is activating (Therefore turning on Red LED can't be seen)
The final version of the sketch program is attached to this step.
As all the circuit details are explained, I'll conclude this story with a demonstration of how a garden lamp (actually it's a 1W LED) is operating.
The useful part of this solar charger circuit is that anything beneficial thing should be possible with it.
As mentioned in the operation scenario, the energy generated in the daytime is utilized during night hours by the lamp.
When pushing the switch at night, the garden lamp will be turned on.
But the switch is pushed during the daytime, Arduino will immediately turn off the lamp as sunlight is detected by LDR.
You can check these lamp operations in the video link below.
Lithium 18650 Battery Indicator 2.1V to 4.2V | How to make battery level indicator
This time I'm trying to make some more practical solar charger circuits with multiple small size solar cells.
The capacity of the individual solar cell (actually it's a small panel) is 5V 60mA.
A total of ten cells are interconnected together as parallel to support 5V output with a maximum 600mA current producing solar charger circuit.
This circuit will be a more practical solution than the previous prototype using only a single solar panel.
I'm interesting this circuit can support adequate capacity for fully charging 2900mAh 18650 battery within daylight hours.
Along with the charger circuit, I'm including additional circuit consuming generated electrical power during night hours with 1W LED.
As I mentioned in the previous solar circuit Instructable, this is an experimental circuit project to make a practical solar street lamp using high-power 12V Photovoltaic devices.
As shown in the schematics above, the solar power generating circuit itself is simple.
As I'm interested in the operational scheme of the solar cell, several measuring circuits are included such as a voltage meter, ampere meter, and battery capacity level meter.
I'll explain each measurement circuit one by one in the later step or at the other instructable as each device is a little bit complex.
The operational scheme of this solar circuit is simple like below.
- Solar cell produces about 50mA current when it receives sunlight (Although the solar cell specification claims a maximum of 400mA, the actual current I got under the sunlight through windows is 50mA)
- TP4056 lithium-ion battery charger circuit storing electric energy from the solar cell to 18650 battery (This module prevents overcharging and over-discharging of 18650 battery while operating)
- The 18650 battery stores energy from TP4056
- Battery level indicator circuit showing the capacity level of 18650 battery (This circuit was explained in other Instructables)
- 1Watt LED circuit is a load of this solar circuit and consumes energy stored in the 18650 battery
As this kind of solar circuit that charging battery is very common, perhaps no further explanation will be necessary.
The first design of this solar charger circuit was not much complex.
But I had tried to make this circuit more useful and more sub-components are added later.
I'll explain the detailed circuit operation scheme in the later step (Step 5. operation scenario).
For making this circuit, the following components are utilized.
- 5V 60mA solar panels (10EA, 68mm x 35mm size)
- 20L15T Schottky diode as blocking current from battery to panel
- Arduino Uno board
- TQ2-5V relay (2 contacts)
- 2N3904 NPN transistor
- 1N4001 silicon diode
- Resistors (1.2K, 330ohmx5, 10Kx2, 100K)
- LEDs (Greenx2, Yellowx2, Redx1)
- 1W white LED
- LDR (photo-resistor sensor)
- TP4056 Lithium-Ion battery charger
- 5V Boost-up voltage regulator (input 3V ~ 4.2V to 5V output)
-Push-button
- PCBs, metal supporters
- DuPont wires (male, female) and interconnection wires
- 18650 battery
The most interesting part of this project is how much electricity can be produced by the newly made solar panel.
Therefore, I measured the voltage as current on a very shiny day (1st April 2022) and the result is shown in the graphs above.
As my apartment is facing the western side, sunlight is bombarding the solar panel from 11:50 AM.
Again far less current is produced from the claimed solar panel capacity.
As 10EA of 5V 60mA panels are used, theoretically about 600mA should be produced.
But the actual is about 1/4 of current (160mA) is produced at its maximum.
Maybe as the panel is located inside balcony windows, the strength of sunlight seems a little bit degraded.
But the voltage measurement is quite OK as 3.8~5.2V is observed and most time more than 4.1V is produced by the new panel.
As the nominal voltage for the TP4056 charging battery is 4.1V, I can see the 18650 battery charging slowly but continuously.
Therefore, the battery voltage increases from 3.6V to 4.1V while the solar panel gets sunlight.
As conclusion, new solar panel can support adequate energy producing capability for charging the 18650 battery.
I introduced a voltage meter circuit in the previous solar circuit making Instructable.
This time I'm showing the current meter used for collecting current measurement data and the result is shown in the graph above.
The major components are as follows.
- INA219 current sensor breakout board
- DS3231 Real Time Clock board (For creating timestamp)
- SD card storage break out (Used for logging the current measurement)
The LCD module is optional for showing measurement results.
Although the Mega2560 board is used (Mega was the only board available at that time), you can use any Arduino board to make this meter circuit.
The sketch program of current measurement and logging to SD storage is attached to this p.
For measuring current, I used a typical sketch program available on the Internet.
With the program I found, current measurement seems accurate but voltage data from the INA219 board is not accurate at all! (That is why I made a separate voltage meter while making the first solar circuit)
Someone recommends modifying the EEPROM data of INA219 for getting accurate voltage.
But the method is quite complex and I still can't understand what's the operational scheme of the exotic sketch program code.
Anyway, this current meter can help you understand how solar panels produce energy and how much of it.
Let's look at the purpose of the second solar charger circuit.
The circuit plan to make in the future is shown in the picture above.
As described in the previous Instructable, I'm trying to make a practical garden lamp with a solar panel, 20W LED module, and Arduino control board.
Therefore, I'm simulating the garden lamp operational scheme with this second version of the solar charger circuit.
But this solar circuit uses smaller capacity components such as 10EA 5V solar panels, 3.7V 18650 battery (instead of a 12V car battery), and 1W LED module.
The operational scenario is like the below.
- While the daytime, solar panels charge the battery (When the sun is shining, 1W LED is turned off)
- During the night charger circuit is turned off and stored energy can be utilized by the LED lamp (For activating the LED pushing the button is necessary)
- When the button is pushed, Arduino is activating and it measures voltage level of the 18650 battery
- If the battery voltage level is less than 3.0V (Battery low state), Arduino turns off itself by releasing the 5V relay
- If enough energy is stored in the battery (so the voltage level is 4.2 ~ 3.0V), Arduino turn on the 1W LED lamp
For turning on the LED lamp, manual operation is required (Pushing the button).
Automatically turning on and off the LED lamp shall be the next upgrade point. (When Arduino is turning on at all times, the automatic LED on and off operation can be possible.
But this method can use up all energy stored in 18650 battery)
The second solar charger circuit is made to simulate the operational scenario written above.
This is the main control circuit of the solar charger using Arduino.
As described in the operational scenario, a pushing button is necessary to turn on this Arduino circuit.
Then Arduino controller is turned on and checking conditions whether it will maintain turn on or turn itself off.
For testing purposes, the Arduino sketch program is written for waiting 10 seconds (And turn on and off LED) and automatically turns off itself.
When you look at the sketch program attached to this step, you can easily understand the operational concept of this circuit.
Right after power on (pushing button), Arduino activates the 5V relay (Making digital port 4 HIGH)
Then Arduino power supply is maintained even after the push button is released.
Then after 10 seconds, the digital port is deactivated (State changed as LOW) and subsequently Arduino power is off by itself!
Firstly I'm worried about the power consumption of the 5V relay as the spec sheet of these components usually claims 20~50mA consumption when energizing.
But to my surprise, less than 30mA is consumed even 5V relay and Arduino is activated. (You can see the needle of the current meter is stopped in between of 20~30mA position in the picture above)
As overall power consumption is not high, I can use this control circuit with a small capacity of 18650 battery without any concerns.
In the graph shown above, LDR senses light suddenly from 6:20 AM, and darkness starts from 7:20 PM. (It's 2nd May 2020 in Korea)
The dotted red box shown in the graph is the desktop lamp light I turn on after arriving home and doing web-surfing.
As a weather station circuit (Which logs the temperature, humidity, as well as brightness of my room) is installed indoors, it accidentally captures desktop lamp light during night hours.
Anyway, if any light is captured by LDR, the sensing value becomes bigger than 100.
Therefore, turning the LED shall be necessary when the LDR value is less than 100. (It means the surrounding is quite dark and no light can be seen)
As shown in the LDR schematics above, the brightness sensing circuit is simple using one sensor and one resistor.
The LDR and resistor forming voltage divider circuit and resistance change due to light brightness is captured by Arduino analog port (A0 pin).
The sketch program read A0 port (LDR resistance value) for deciding what to do with input value.
If brightness is higher than 100 (It means any light source is available near to solar charger circuit), the sketch program turns off the Arduino.
But brightness is less than 100, the power supply to Arduino will be maintained (Therefore, the Arduino controller is doing something continually).
Please look at the sketch program attached to this step for detail mode.
The second power turn-off condition is the voltage level of the 18650 battery.
If the voltage level drops to 3.0V, the Arduino sketch program changes the D4 port state to LOW (So the 5V relay de-activate and power is cut-off)
This action will prevent over-discharging of the 18650 battery.
Although the nominal voltage level of the battery is 2.1V, the power cut-off is starting at a little bit higher voltage level for supporting the operational longevity of the 18650 battery.
You can see the voltage measurement result in the photo above.
The five LEDs are indicating the different voltage levels as follows.
- When the battery voltage level is higher than 3.8V, the leftmost Green LED is turned on (Battery is almost fully charged)
- The level decreased between 3.8 ~ 3.6V, the second Green LED is turned on (capacity is still a little bit adequate for turning on 1W LED)
- When the voltage becomes 3.5 ~ 3.3V, the first yellow LED turns on (Battery capacity starts to run out)
- If the level becomes 3.2 ~ 3.0V, the second LED is turned on (Battery low)
- If the voltage is less than 3.0V, the power cut-off circuit is activating (Therefore turning on Red LED can't be seen)
The final version of the sketch program is attached to this step.
As all the circuit details are explained, I'll conclude this story with a demonstration of how a garden lamp (actually it's a 1W LED) is operating.
The useful part of this solar charger circuit is that anything beneficial thing should be possible with it.
As mentioned in the operation scenario, the energy generated in the daytime is utilized during night hours by the lamp.
When pushing the switch at night, the garden lamp will be turned on.
But the switch is pushed during the daytime, Arduino will immediately turn off the lamp as sunlight is detected by LDR.
You can check these lamp operations in the video link below.
No comments:
Post a Comment