danjulio / mppt-solar-charger Goto Github PK
View Code? Open in Web Editor NEWSupporting documentation and software for the MPPT Solar Charger
Supporting documentation and software for the MPPT Solar Charger
Dan,
I just came across this error in makerPower_doc.pdf.
It is correctly stated as "The NIGHT signal is an active-high" in makerPower_user_manual.pdf.
Hi
Interesting project
Do you think it could be adopted to behave like a power optimizer?
Hello and thank you for making a useful product and sharing your work on it with the world.
Is there support for, or has anyone adapted this to work with LiPo (specifically LiPoFe4 in my use case) batteries?
Dear danjulio,
ich have 2 makerPowerSolar units. Here I a going to focus on the configuration which causes bigger problems. I read out the actual values via I2C and send them to my Grafana server via an ESP32. Here are the data for the solar panel (left side) and the battery (right side):
Here is the complete data from today:
You can see that the makerPowerSolar shuts down power for the microcontroller sometimes (empty intervals). Also the sensor readings are spiking sometimes, showing impossible values.
FLOAT = red
IDLE = pink
BULK = green
SCAN = yellow
I2C FAIL = orange
Before the night, I disconnected the solar panel, disconnected the battery. Then I connected the battery and connected the solar panel. The ESP32 was powered by the makerPowerSolar throughout the night:
After the night, the charger goes from IDLE to SCAN to BULK. In BULK, the voltage and charge power rises. Then the power to the microcontroller is shut down (I do not read out the state of the ALARM-output yet) for no obvious reasons:
Here is an excerpt from an interval during the cloudy day:
It can be seen that some of the spiking values are followed by I2C FAILs (orange bars), some are not.
I cannot really explain this behaviour. I did not change the configuration of the charger. You have any ideas on what I could investigate?
Hi Dan,
I wonder if it's possible to get the sample code running on ESP32s
Swapping out the ESP8266WiFi.h for the regular WiFi.h library is the one obvious change.
But I can't work out how to get past the compilation errors with mpptChg.h
/Users/goldie/Downloads/MPPT-Solar-Charger-master/examples/esp8266/esp8266_solar_data/esp8266_solar_data.ino: In function 'void setup()':
/Users/goldie/Downloads/MPPT-Solar-Charger-master/examples/esp8266/esp8266_solar_data/esp8266_solar_data.ino:129:29: error: no matching function for call to 'mpptChg::begin(int, int)'
chg.begin(SDA_PIN, SCL_PIN);
^
In file included from /Users/goldie/Downloads/MPPT-Solar-Charger-master/examples/esp8266/esp8266_solar_data/esp8266_solar_data.ino:1:
/Users/goldie/Dropbox/Personal Docs/Arduino/libraries/mpptChg/mpptChg.h:173:8: note: candidate: 'bool mpptChg::begin()'
bool begin();
^~~~~
/Users/goldie/Dropbox/Personal Docs/Arduino/libraries/mpptChg/mpptChg.h:173:8: note: candidate expects 0 arguments, 2 provided
/Users/goldie/Downloads/MPPT-Solar-Charger-master/examples/esp8266/esp8266_solar_data/esp8266_solar_data.ino: In function 'void publish_data(int)':
/Users/goldie/Downloads/MPPT-Solar-Charger-master/examples/esp8266/esp8266_solar_data/esp8266_solar_data.ino:267:33: error: call of overloaded 'publish(int16_t&)' is ambiguous
if (!chg_ib.publish(reg_ib)) {
^
In file included from /Users/goldie/Downloads/MPPT-Solar-Charger-master/examples/esp8266/esp8266_solar_data/esp8266_solar_data.ino:29:
/Users/goldie/Dropbox/Personal Docs/Arduino/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.h:274:8: note: candidate: 'bool Adafruit_MQTT_Publish::publish(double, uint8_t)'
bool publish(
^~~~~~~
/Users/goldie/Dropbox/Personal Docs/Arduino/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.h:279:8: note: candidate: 'bool Adafruit_MQTT_Publish::publish(int32_t)'
bool publish(int32_t i);
^~~~~~~
/Users/goldie/Dropbox/Personal Docs/Arduino/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.h:280:8: note: candidate: 'bool Adafruit_MQTT_Publish::publish(uint32_t)'
bool publish(uint32_t i);
^~~~~~~
exit status 1
Compilation error: no matching function for call to 'mpptChg::begin(int, int)'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.