GithubHelp home page GithubHelp logo

nicholaswilde / solar-battery-charger Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 81.15 MB

:battery: A solar battery charger to charge lithium ion (li-ion) 18650, 9V, and coin batteries and Ni-MH AA and AAA batteries. :sunny:

Home Page: https://nicholaswilde.io/solar-battery-charger/

License: Apache License 2.0

C++ 96.70% C 3.13% Shell 0.17%
adafruit-feather-huzzah solar charger li-ion-battery thingspeak

solar-battery-charger's Introduction

solar-battery-charger's People

Contributors

dependabot[bot] avatar nicholaswilde avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

solar-battery-charger's Issues

bq24074 PGOOD and CHG Monitoring

Evaluate the monitoring of the PGOOD and CHG pins of the bq24074 to determine the charge state. Currently, the current direction is used to determine the state.

Update Design Page

Update Design page with the following:

  • Warning about boost converter being loose because only being held down by rear two pins.
  • Add ESP32 feather to hardware list.

Solar Panel Optimization

Optimize the solar panel design with the additional solar cells. This will most likely be limited to either the TS4056 or the Adafruit bq24074. Should the panel have two rows in series or three rows in series? Two rows will have a lower voltage but a higher amperage whereas the three rows will be vice versa. Need to remember that the max current of the bq24074 is 1.5A.

Another limitation is that if the panel output voltage is too low, charging won't commence until later in the day or not at all if there is not enough sunlight.

Battery Optimization

Optimize the battery setup to ensure that the full battery pack can be charged on an average day in the sun. This will most likely be limited to the solar panel power output and the max current of the bq24074 of 1.5A.

Go to sleep while charging with button press

When button A is pressed while charging, the screen turns on. However, the Feather can't go back to sleep without resetting the Feather all together which will also upload a new data point to ThingSpeak. See if the button press when the display is on and charging can put the Feather back to sleep without resetting and sleep for the time remaining in order to keep the upload interval the same.

bq24074 Dies Randomly

I've gone through two bq24074 to where it just stops charging the battery. Monitoring the LIPO pin, the voltage oscillates between 0 and 4VDC. I suspect that it is because the panel is outputting more than 1A thus frying the IC. I have since cut the 1A jumper and soldered the 1.5A. This needs to be verified by reading the current of the panel.

The two that died also had the optional capacitor installed. This may also be a culprit. Third one does not have a capacitor.

Secure Connection

Use a secure connection to ThingSpeak rather than an insecure one.

Deep Sleep After Charge

Have the Feather go into a deep sleep after a charge is complete. Currently, after a charge is complete, the Feather will wake up and go into discharge mode because current is no longer flowing towards the battery. Because the Feather remains awake, the battery is drained again. Perhaps this can be solved by monitoring the PGOOD and CHG LEDs.

Show OLED On Discharge

Show the OLED screen and don't go to sleep when discharging the battery. This can be done by long press of button on boot or auto detect the discharge.

Calibration

Add a calibration page to calibrate the battery capacities. Coulomb counting may be used for this calibration.

Connection timeout

At a connection timeout to wifi connection so that the battery is not drained. Can put to deep sleep again.

Inconsistent battery voltage while charging

At the middle of charging, the voltage and current start to fluctuate and the battery doesn't charge completely. May be due to the bq charger cutting off the current once the voltage goes above 4.
Screenshot_20220407-133523.png

Remove To Do Page

Remove the To Do page since GH issues are now the place to log to dos.

Percentage Calculation

Need to implement a percentage calculation. Currently, the output is 0. This used to be linear but would like to implement some other type of method such as Coulomb counting.

ClearChannel Issue

ClearChannel function seems to not be working at the moment. It causes a panic.

Low battery voltage causes low current recharge

It is possible for the battery voltage to dip to 1.8 VDC due to the Powerboost and the lack of a battery protection circuit. With this low of a voltage, the charging current becomes very low (~78 mA). Once the battery voltage raises above a threshold (~3 VDC), the charging current increases drastically (~500 mA).

Feather turns off during discharge

The Feather turns off during discharge when connected to a high current device such as a mobile phone. This may be due to the voltage drops too low during high current output which drops below the required voltage of the Feather. The Adafruit Powerboost 1000 Basic shuts down when the Feather shuts off because the EN pin on the Powerboost is not pulled high. A work around for this is to manually turn on the Powerboost with a switch that floats the EN pin. The downside is that there isn't monitoring during discharge.

One solution might be to limit the current by using the Adafruit Powerboost 500 Basic instead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.