This repository includes the software for controlling the Solar Storage Controller running on the Arduino MEGA2560PRO-EMBED. The solar storage consist of a 24V / 48V accumulator, 1-3 inverters, 1-2 charge controllers, logging via Raspberry Pi and surplus power feed of a heating element.
...
...
@@ -7,13 +8,12 @@ The Solar_Storage_Controller_Software and Hardware is an open source development
## Features (06/2022):
- The software is running on Arduino MEGA2560PRO-EMBED and serves as a controller in the Solar Storage. The Arduino Board is plugged (removable) onto the solar storage controller PCB. The Arduino Board is the instance where all the information from the sub-components such as the charge controller, Modbus meter, battery management system and temperature sensors come together. The Arduino board calculates the current power to control the inverter and provides the Raspberry Pi with the necessary data for visualization via the Node Red user interface or volkszähler frontend. The Arduino Mega 2560 is used, which has four hardware serial ports (and one software serial port is configured).
-Serial Port 1: Binary protocol to the BMS
-Serial Port 2: Modbus protocol to the Modbus meter
-Serial Port 3: VE.direct serial communication to charge controller
-Serial Port 4: Text-based protocol to the Raspberry Pi
-Software Serial Port: RS 485 to the inverter
Serial Port 1: Binary protocol to the BMS
Serial Port 2: Modbus protocol to the Modbus meter
Serial Port 3: VE.direct serial communication to charge controller
Serial Port 4: Text-based protocol to the Raspberry Pi
Software Serial Port: RS 485 to the inverter
- Please find the repo of the hardware of the Solar_Storage_Controller_PCB under following link: https://gitlab.opensourceecology.de/soldorado-open-solar-system/solar-storage-controller-hardware
- It is currently still necessary to enlarge the serial buffer for the received data input in the Arduino. This is done by changing the variable SERIAL_RX_BUFFER_SIZE from 64 to 128 (byte) in any text editor (e.g. Notepad++, total RAM memory size of the Arduino Mega is 8kB). The additional memory for the four interfaces is subtracted from the total memory. Further detailed Instructions can be found at the following link:
...
...
@@ -35,9 +35,30 @@ CAUTION: Changing the serial buffer affects the Arduino compilation software glo
- Please find further descriptions in detail about the "Software", the solar storage and the hole project in the [Open Source Ecology Wiki](https://wiki.opensourceecology.de/Solarspeicher_(station%C3%A4r)) (in German).
Updates:
## Updates:
06.10.2023
- changed type of variable from long I_bat_max to int
- fitted accu voltages for bat_full and bat_empty
- changed type of variable long I_bat_medium to int
- changed criteria to switch on surplus power
- changed time to switch to "battery = full"
- corrected "switiching on" sequence during nightime
12.10.2023
- modified resetfunction to work with surplus feed in
13.10.2023
- startingup_INV and reset_inverter moved outside if
- commits concerning SML meter coding
- arrange commits in a better way
30.11.2023
- changed surpluspower if condition in inverter.ino
- inv2 will now be triggered all the time with inv1 in inverter.ino
- modified resetfunction with variable Setpoint_power in SolarStorageControllerProto3 und inverter.ino
01.12.2023
- changed some commits
changed type of variablefrom long I_bat_max to int
fitted accu voltages for bat_full and bat_empty
changed type of variable long I_bat_medium to int
\ No newline at end of file
03.12.2023
- updated SML request function, included grid_export