:star: Star us on GitHub — it helps!
Stores the excess solar energy produced during the day to release it at night.
This project was done on an Enphase self-consumption solar production facility.
:warning: It has many electrical hazards. It is best to use an approved energy storage system sold by your solar production system manufacturer.
This project was done just for the fun of doing it yourself
flowchart LR;
ac_in((AC)) --- 5V_power[Permanent\nPower Supply]
ac_in --- 30V_power[Charge\nPower supply]
5V_power --- Controller
30V_power --- Charger
Charger --- bat[(Battery)]
bat --- boost[Boost\nCurrent Limiter]
boost --- inv[Micro-Inverter]
inv --- ac_out((AC))
Controller --- eth((Ethernet))
Production and overproduction can be measured with AC current measurement clamps.
However for this project, the installation already includes an Enphase Envoy-s Metered gateway. Thus, the energy information can be read on the Ethernet connection.
The Envoy gateway can return a JSON containing lots of information. Simply interrogate in http the gateway on its IP address (example: http://xxx.xxx.xxx.xxx/production.json)
flowchart LR;
Start --> id1a{Bat. charge\ntoo low};
id1a -- Yes --> id3
id1a -- No --> id1b{overproduction\n> 50W\nsince 1 min};
id1b -- Yes --> id2{Bat. accept\ncharge ?};
id1b -- No --> id_off;
id2 -- Yes --> id3{Time Parameters\nControl};
id2 -- No --> id_off;
id3 -- OK --> id_on;
id3 -- NOK --> id_off;
id_off(Power OFF) --> End;
id_on(Power ON) --> End;
flowchart LR;
Start --> id1{Solar production\n< 10W\nsince 1 min};
id1 -- Yes --> id2{Sufficient\nbattery charge ?};
id1 -- No --> id_off;
id2 -- Yes --> rate[[Power calculation]];
id2 -- No --> id_off;
rate --> id_on;
id_off(Inverter OFF) --> End;
id_on(Inverter ON) --> End;
flowchart TD;
monitoring((Monitoring));
30V_power[Charge\nPower supply];
charger[Charger];
30V_power -. temperature .- monitoring
30V_power -. voltage .- monitoring
30V_power -. current .- monitoring
charger -. voltage .- monitoring
charger -. current .- monitoring
bat[Battery];
boost[Boost];
monitoring -. temperature .- bat
monitoring -. voltage .- bat
monitoring -. temperature .- boost
monitoring -. voltage .- boost
The following items can be disabled and disconnected:
Charge power supply
Charger
Boost Current Limiter
To avoid overconsumed goods, a large part of the Hardware elements were chosen with what I had available. Some choices could be more judicious in performance. However I try to use and reuse as many things as possible without having to buy new.
ATX power supply 550W + Boost module 400W
Enphase IQ7+
Arduino MEGA + Ethernet Shield
MIT License