This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:tech:solarvilla [2023/04/16 07:52] – [Cost] bullar | en:tech:solarvilla [2023/04/16 08:30] (current) – [Donations] bullar | ||
---|---|---|---|
Line 90: | Line 90: | ||
</ | </ | ||
<WRAP half column> | <WRAP half column> | ||
- | | + | {{: |
</ | </ | ||
</ | </ | ||
Line 97: | Line 97: | ||
+ | == Sealing == | ||
+ | |||
+ | To seal the gaps, we need an UV-resistant EPDM sealing material. That turned out to be more difficult than expected. After a long research I found the company [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | and is simply clamped between the panels. There is also a suitable EPDM adhesive tape for sealing the crossing points. | ||
+ | |||
+ | |||
+ | == Mounting without brackets == | ||
+ | |||
+ | Typically, the panels are attached to the aluminum rails with mid and end clamps. | ||
+ | |||
+ | <WRAP group> | ||
+ | <WRAP half column> | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP half column> | ||
+ | {{: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | However, in order not to come into conflict with the EPDM seal, I used the existing mounting holes on the underside of the ALU frame of the panels. To do this, I take the lower part of the standard end clamps, mount the fastening screw from below and push the part into the aluminum rail. The panel can then be mounted on the protruding screws and fixed with a self-locking nut (see also the upper picture with the aluminum rail). | ||
+ | |||
+ | :!: **Important: | ||
+ | |||
+ | Once assembled, the carport already looks very appealing: | ||
+ | |||
+ | <WRAP group> | ||
+ | <WRAP half column> | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP half column> | ||
+ | {{: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Electrical topic ===== | ||
+ | |||
+ | After the panels have been mounted, it is now time for the electrical installation. To simplify the connection, the 5 panels of the second row are rotated by 180°. This means that the existing connection cables with plug/socket (MC4) can be directly serially connected. With the 10 panels we get a maximum power voltage V< | ||
+ | |||
+ | |||
+ | ==== Inverters ==== | ||
+ | |||
+ | A first selection point is that we are not planning any power feedback to the grid. Therefore the inverter is an off-grid variant. That does not mean that it is not connected to the grid, but only for the direction of consumption. | ||
+ | |||
+ | My choice felt on the SPF5000ES from the Chinese company [[https:// | ||
+ | Among other things, it offers: | ||
+ | * Integrated MPPT charge controller (MPPT = Maximum Power Point Tracking -> more efficient) | ||
+ | * Maximum PV input voltage up to 450VDC | ||
+ | * Configurable grid or solar priority | ||
+ | * Wifi remote monitoring as well as integrability in Home Assistant | ||
+ | * Compatible with lithium batteries | ||
+ | * Maximum 5KW power | ||
+ | * Scalability up to 30kW in parallel operation | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | In Thailand I was able to get this variant for around €920. | ||
+ | |||
+ | |||
+ | ==== Battery ==== | ||
+ | |||
+ | There are two main battery technologies that can be used for storage: | ||
+ | - Lead gel battery (maintenance free) | ||
+ | - Lithium-ion battery (LiFePO< | ||
+ | |||
+ | I left out the classic lead-acid batteries because of the danger of oxyhydrogen and the higher maintenance effort. The same applies to the classic lithium-ion batteries. Overcharging can easily lead to dangerous overheating. | ||
+ | |||
+ | === Lead gel battery === | ||
+ | The lead-gel compound prevents outgassing and is extremely low-maintenance. This type of battery is significantly cheaper than the lithium-ion battery but has two disadvantages. For one, the weight is very high. A 12V/200Ah block weighs around 60kg. We need at least 8 blocks and we're already at almost half a ton (480kg). The second major disadvantage is that the lifespan depends very much on the depth of discharge. At only 50% discharge, the typical number of charge cycles doubles. By the way, this is around 1000 cycles. Or to put it another way: after 1000 cycles, the lead-gel battery still has 60% residual capacity. Typically, lead-gel batteries are only used with a maximum discharge of 50%. | ||
+ | |||
+ | === Lithium Ion Battery (LiFePO4) === | ||
+ | The LiFePO< | ||
+ | - significantly lighter (at 12.8V/310Ah with four blocks only 22kg) | ||
+ | - High number of charging cycles (typ. 4000) | ||
+ | - high usable capacity (up to approx. 95% discharge) | ||
+ | - high discharge currents and fast charging (1C). | ||
+ | |||
+ | On the other hand, the price is almost twice as high (€512 for 4 modules with 3.2V/310Ah in 2021). However, the additional costs are compensated by the longer service life and higher usable capacity. | ||
+ | Therefore, the choice felt on the LiFePO< | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ===BMS=== | ||
+ | The picture above already indicates that we also need a battery management system (BMS). The battery modules are built in series to get the nominal 51.2V for the inverter. However, the individual modules do not behave in exactly the same way during the charging and discharging process. This BMS is required to balance fluctuations and to keep each individual module within the permitted voltage range (2.5V - 3.65V). | ||
+ | The Chinese company [[https:// | ||
+ | |||
+ | Integrated in HomeAssistant, | ||
+ | |||
+ | <WRAP group> | ||
+ | <WRAP half column> | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP half column> | ||
+ | {{: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Wiring ==== | ||
+ | |||
+ | After we have selected all the important components, it is now about to wire. To protect the system and the individual components, we still need some safety equipment and the right choice of cables. | ||
+ | |||
+ | Our finished connection cabinet looks like this from the inside: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | It might seem overwhelming at first, but let's go through it in order: | ||
+ | |||
+ | |||
+ | ===Solar Panels=== | ||
+ | |||
+ | The solar panel voltage (typically 314V DC) is first routed via a 32A DC fuse. Any overvoltages are then counteracted by overvoltage protection. The panel voltage then goes on to the inverter via a 63A DC circuit breaker. | ||
+ | |||
+ | === INVERTER AC in === | ||
+ | |||
+ | Since the input voltage from the grid can also have overvoltages (here in Thailand the supply cables are mostly above ground), the inverter is also protected with overvoltage protection at the input. In between is again a 32A AC circuit breaker. | ||
+ | |||
+ | === INVERTER AC out === | ||
+ | |||
+ | The output of the inverter on the way to the house supply goes through a reversible over/ | ||
+ | |||
+ | === INVERTER BATT in === | ||
+ | |||
+ | There is a 100A DC circuit breaker between the battery block/BMS and the inverter. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | Here is the entire system overview with the associated cable thicknesses. The 2AWG battery cable and the 12AWG solar panel cable are flexible variants. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | :!: Should the inverter have a total failure, you would quickly be left in the dark. It is therefore very clever if you also install a transfer switch in the house supply, which switches the house completely back to the grid if necessary. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | === MC4 connector and cable lugs === | ||
+ | |||
+ | Since we are dealing with considerable voltages and currents here, we have to take a closer look at the different types of connections. Let's start with the panels. The solar panels are fitted with MC4 plugs and sockets as standard. The mounted cables of the panels are so long that they can be connected directly to the neighboring module. We only have to lend a hand for the series connection at the end and the connection to the inverter. It is best to buy a set with MC4 plugs/ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The assembly is described in detail on the Internet (e.g. [[https:// | ||
+ | |||
+ | Another important connector is the good old tubular cable lug (ring terminal), which we need in different diameters and for different cable thicknesses. | ||
+ | |||
+ | The battery blocks are connected to each other with metal rails and nuts, which are included in the scope of delivery. The battery connection on my CATL LiFePo< | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | You could even get it here in Thailand in a well-stocked DIY store for around €40. | ||
+ | |||
+ | The remaining cable lugs depend on the screw connection used in the fuse box. I used 8AWG(10mm²) on M6. | ||
+ | |||
+ | ^ Image ^ Cable Diameter ^ Hole Diameter ^ | ||
+ | | {{ : | ||
+ | | {{ : | ||
+ | | {{ : | ||
+ | | {{ : | ||
+ | |||
+ | |||
+ | ===== Settings ===== | ||
+ | |||
+ | Before we can go into operation, we still have to setup the BMS and the inverter. | ||
+ | |||
+ | === JKBMS === | ||
+ | |||
+ | The basic setting can be easily made via the app and at first the battery type LiFePo< | ||
+ | |||
+ | < | ||
+ | Balance starting voltage | ||
+ | Balance trigger voltage | ||
+ | Cell count 16 | ||
+ | Cell voltage overvoltage protection | ||
+ | Cell voltage overvoltage recovery | ||
+ | Cell voltage undervoltage protection | ||
+ | Cell voltage undervoltage recovery. | ||
+ | Max balance current | ||
+ | Max charge current | ||
+ | Max discharge current | ||
+ | Power off voltage | ||
+ | Total battery capacity | ||
+ | </ | ||
+ | |||
+ | === GROWATT SPF5000ES === | ||
+ | |||
+ | The inverter can be set directly at the device via the control panel or via the Growatt server. I have listed the most important parameters below: | ||
+ | |||
+ | < | ||
+ | Program Setting Option | ||
+ | ---------------------------------------------------------------------------------------------- | ||
+ | 1 SBU (SBU priority). | ||
+ | 2 62A | ||
+ | 3 APL (Appliance) | ||
+ | 4 DIS (disabled) | ||
+ | 5 US2 (user-defined 2) Battery type | ||
+ | 6 DIS (disabled) | ||
+ | 7 DIS (disabled) | ||
+ | 8 230V | ||
+ | 9 50Hz | ||
+ | 10 16 | ||
+ | 11 30A | ||
+ | 12 48.0V (3.0V x 16). Setting voltage point back to utility source when selecting “SBU priority” or “Solar first” in program 01 | ||
+ | 13 54.4V (3.4V x 16). Setting voltage point back to battery mode when selecting “SBU priority” or “Solar first” in program 01 | ||
+ | 14 CSO (solar first). | ||
+ | 15 ON | ||
+ | 16 ON | ||
+ | 17 ON | ||
+ | 18 ENA (enabled) | ||
+ | 19 56.8V (3.55V x 16). C.V. charging voltage. | ||
+ | 20 54.0V (3.375V x 16) | ||
+ | 21 44.0V | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Integration in Home Assistant ===== | ||
+ | |||
+ | As mentioned above, there is a handy app for the BMS for live data and settings. It runs via Bluetooth on iOS and Android. But in order to access it via Home Assistant, we needed a Bluetooth gateway. | ||
+ | |||
+ | :!: Warning: It must support Bluetooth 4.2 to be able to use frame lengths of more than 20 bytes. The 300 bytes of live data are sent in three notification frames. | ||
+ | |||
+ | A simple solution can again be achieved with an ESP32 module and ESPHome. You can find the software description [[https:// | ||
+ | My setup can be found in the attachment for reference. | ||
+ | |||
+ | ++++ jk-bms-ble.yaml | | ||
+ | |||
+ | <file yaml jk-bms-ble.yaml> | ||
+ | substitutions: | ||
+ | name: jk-bms | ||
+ | device_description: | ||
+ | external_components_source: | ||
+ | mac_address: | ||
+ | # Defaults to " | ||
+ | protocol_version: | ||
+ | |||
+ | esphome: | ||
+ | name: ${name} | ||
+ | comment: ${device_description} | ||
+ | project: | ||
+ | name: " | ||
+ | version: 1.2.0 | ||
+ | platformio_options: | ||
+ | build_flags: | ||
+ | - -DCONFIG_ARDUINO_LOOP_STACK_SIZE=32768 | ||
+ | |||
+ | esp32: | ||
+ | board: nodemcu-32s | ||
+ | framework: | ||
+ | # The arduino platform crashs | ||
+ | # type: arduino | ||
+ | # version: latest | ||
+ | type: esp-idf | ||
+ | version: latest | ||
+ | |||
+ | # Enable logging | ||
+ | logger: | ||
+ | |||
+ | # Enable Home Assistant API | ||
+ | api: | ||
+ | encryption: | ||
+ | key: " | ||
+ | |||
+ | ota: | ||
+ | password: " | ||
+ | |||
+ | wifi: | ||
+ | ssid: !secret wifi_ssid | ||
+ | password: !secret wifi_password | ||
+ | |||
+ | # Optional manual IP | ||
+ | manual_ip: | ||
+ | static_ip: 192.168.1.100 | ||
+ | gateway: 192.168.1.1 | ||
+ | subnet: 255.255.255.0 | ||
+ | |||
+ | # Enable fallback hotspot (captive portal) in case wifi connection fails | ||
+ | ap: | ||
+ | ssid: " | ||
+ | password: " | ||
+ | |||
+ | external_components: | ||
+ | - source: ${external_components_source} | ||
+ | refresh: 0s | ||
+ | |||
+ | esp32_ble_tracker: | ||
+ | |||
+ | ble_client: | ||
+ | - mac_address: | ||
+ | id: client0 | ||
+ | |||
+ | jk_bms_ble: | ||
+ | - ble_client_id: | ||
+ | protocol_version: | ||
+ | throttle: 5s | ||
+ | id: bms0 | ||
+ | |||
+ | binary_sensor: | ||
+ | - platform: jk_bms_ble | ||
+ | balancing: | ||
+ | name: " | ||
+ | charging: | ||
+ | name: " | ||
+ | discharging: | ||
+ | name: " | ||
+ | |||
+ | button: | ||
+ | - platform: jk_bms_ble | ||
+ | retrieve_settings: | ||
+ | name: " | ||
+ | retrieve_device_info: | ||
+ | name: " | ||
+ | |||
+ | number: | ||
+ | - platform: jk_bms_ble | ||
+ | jk_bms_ble_id: | ||
+ | balance_trigger_voltage: | ||
+ | name: " | ||
+ | cell_count: | ||
+ | name: " | ||
+ | total_battery_capacity: | ||
+ | name: " | ||
+ | cell_voltage_overvoltage_protection: | ||
+ | name: " | ||
+ | cell_voltage_overvoltage_recovery: | ||
+ | name: " | ||
+ | cell_voltage_undervoltage_protection: | ||
+ | name: " | ||
+ | cell_voltage_undervoltage_recovery: | ||
+ | name: " | ||
+ | balance_starting_voltage: | ||
+ | name: " | ||
+ | voltage_calibration: | ||
+ | name: " | ||
+ | current_calibration: | ||
+ | name: " | ||
+ | power_off_voltage: | ||
+ | name: " | ||
+ | max_balance_current: | ||
+ | name: " | ||
+ | max_charge_current: | ||
+ | name: " | ||
+ | max_discharge_current: | ||
+ | name: " | ||
+ | |||
+ | sensor: | ||
+ | - platform: jk_bms_ble | ||
+ | jk_bms_ble_id: | ||
+ | min_cell_voltage: | ||
+ | name: " | ||
+ | max_cell_voltage: | ||
+ | name: " | ||
+ | min_voltage_cell: | ||
+ | name: " | ||
+ | max_voltage_cell: | ||
+ | name: " | ||
+ | delta_cell_voltage: | ||
+ | name: " | ||
+ | average_cell_voltage: | ||
+ | name: " | ||
+ | cell_voltage_1: | ||
+ | name: " | ||
+ | cell_voltage_2: | ||
+ | name: " | ||
+ | cell_voltage_3: | ||
+ | name: " | ||
+ | cell_voltage_4: | ||
+ | name: " | ||
+ | cell_voltage_5: | ||
+ | name: " | ||
+ | cell_voltage_6: | ||
+ | name: " | ||
+ | cell_voltage_7: | ||
+ | name: " | ||
+ | cell_voltage_8: | ||
+ | name: " | ||
+ | cell_voltage_9: | ||
+ | name: " | ||
+ | cell_voltage_10: | ||
+ | name: " | ||
+ | cell_voltage_11: | ||
+ | name: " | ||
+ | cell_voltage_12: | ||
+ | name: " | ||
+ | cell_voltage_13: | ||
+ | name: " | ||
+ | cell_voltage_14: | ||
+ | name: " | ||
+ | cell_voltage_15: | ||
+ | name: " | ||
+ | cell_voltage_16: | ||
+ | name: " | ||
+ | cell_voltage_17: | ||
+ | name: " | ||
+ | cell_voltage_18: | ||
+ | name: " | ||
+ | cell_voltage_19: | ||
+ | name: " | ||
+ | cell_voltage_20: | ||
+ | name: " | ||
+ | cell_voltage_21: | ||
+ | name: " | ||
+ | cell_voltage_22: | ||
+ | name: " | ||
+ | cell_voltage_23: | ||
+ | name: " | ||
+ | cell_voltage_24: | ||
+ | name: " | ||
+ | cell_resistance_1: | ||
+ | name: " | ||
+ | cell_resistance_2: | ||
+ | name: " | ||
+ | cell_resistance_3: | ||
+ | name: " | ||
+ | cell_resistance_4: | ||
+ | name: " | ||
+ | cell_resistance_5: | ||
+ | name: " | ||
+ | cell_resistance_6: | ||
+ | name: " | ||
+ | cell_resistance_7: | ||
+ | name: " | ||
+ | cell_resistance_8: | ||
+ | name: " | ||
+ | cell_resistance_9: | ||
+ | name: " | ||
+ | cell_resistance_10: | ||
+ | name: " | ||
+ | cell_resistance_11: | ||
+ | name: " | ||
+ | cell_resistance_12: | ||
+ | name: " | ||
+ | cell_resistance_13: | ||
+ | name: " | ||
+ | cell_resistance_14: | ||
+ | name: " | ||
+ | cell_resistance_15: | ||
+ | name: " | ||
+ | cell_resistance_16: | ||
+ | name: " | ||
+ | cell_resistance_17: | ||
+ | name: " | ||
+ | cell_resistance_18: | ||
+ | name: " | ||
+ | cell_resistance_19: | ||
+ | name: " | ||
+ | cell_resistance_20: | ||
+ | name: " | ||
+ | cell_resistance_21: | ||
+ | name: " | ||
+ | cell_resistance_22: | ||
+ | name: " | ||
+ | cell_resistance_23: | ||
+ | name: " | ||
+ | cell_resistance_24: | ||
+ | name: " | ||
+ | total_voltage: | ||
+ | name: " | ||
+ | current: | ||
+ | name: " | ||
+ | power: | ||
+ | name: " | ||
+ | charging_power: | ||
+ | name: " | ||
+ | discharging_power: | ||
+ | name: " | ||
+ | temperature_sensor_1: | ||
+ | name: " | ||
+ | temperature_sensor_2: | ||
+ | name: " | ||
+ | power_tube_temperature: | ||
+ | name: " | ||
+ | state_of_charge: | ||
+ | name: " | ||
+ | capacity_remaining: | ||
+ | name: " | ||
+ | total_battery_capacity_setting: | ||
+ | name: " | ||
+ | charging_cycles: | ||
+ | name: " | ||
+ | total_charging_cycle_capacity: | ||
+ | name: " | ||
+ | total_runtime: | ||
+ | name: " | ||
+ | balancing_current: | ||
+ | name: " | ||
+ | errors_bitmask: | ||
+ | name: " | ||
+ | |||
+ | switch: | ||
+ | - platform: jk_bms_ble | ||
+ | charging: | ||
+ | name: " | ||
+ | discharging: | ||
+ | name: " | ||
+ | balancer: | ||
+ | name: " | ||
+ | |||
+ | - platform: ble_client | ||
+ | ble_client_id: | ||
+ | name: " | ||
+ | |||
+ | text_sensor: | ||
+ | - platform: jk_bms_ble | ||
+ | errors: | ||
+ | name: " | ||
+ | total_runtime_formatted: | ||
+ | name: " | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | The GROWATT Inverter can be integrated directly into Home Assistant via [[https:// | ||
+ | |||
+ | ===== Operation and Costs ===== | ||
+ | |||
+ | The plant has been in operation since March 2022 and generates between 430KW and 500KW per month depending on the weather. The best day so far was in March with 24KW and the worst with 1.2KW in November. However, October and November are also the months with the most precipitation (see [[de: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The specified values are not the really achievable ones, since the inverter regulates down when the batteries are full and the house demand is below the current production capacity. What should he do with the energy if nobody can take it. We have observed this effect a few times. Nevertheless, | ||
+ | |||
+ | With an approximate average of 450KW/ | ||
+ | |||
+ | The entire solar system without the service line and roof substructure cost us **206,000 Bath**, which is **€5, | ||
+ | |||
+ | From today' | ||
+ | |||
+ | Not to be forgotten, however, is the increase in comfort in the event of a grid failure when the neighbors have to fiddle with torches and candles, as well as the really good feeling of using solar energy when you turn on the air conditioning... | ||
+ | |||
+ | Finally, the charging and discharging chart over three days. The batteries are charged from around 7:00 a.m. to around 6:00 p.m., after which the discharge begins. If the charge falls well below 20%, the grid will charge. Shown by the linear increase on the first and last night. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | =====Links===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== Donations ===== | ||
+ | |||
+ | If you want to support my work, you can donate me a cappuccino or something like this... | ||
+ | |||
+ | < | ||
+ | |||
+ | <form action=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <img alt="" | ||
+ | </ | ||
+ | |||
+ | </ |