Site Tools


en:tech:solarvilla

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
en:tech:solarvilla [2023/04/16 08:15] – [Battery] bullaren:tech:solarvilla [2023/04/16 08:20] – [Wiring] bullar
Line 262: Line 262:
 | {{ :tech:2awg_m6.png?direct&50 |}} | 2AWG(35mm²) | M6 | | {{ :tech:2awg_m6.png?direct&50 |}} | 2AWG(35mm²) | M6 |
 | {{ :tech:2awg_m8.png?direct&50 |}} | 2AWG(35mm²) | M8 | | {{ :tech:2awg_m8.png?direct&50 |}} | 2AWG(35mm²) | M8 |
 +
 +
 +===== 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<sub>4</sub> is selected. The other parameters should then be adjusted to the characteristics of the battery. For me, the most important parameters look like this:
 +
 +<code>
 +Balance starting voltage               3.00 V
 +Balance trigger voltage                0.01 V
 +Cell count                             16
 +Cell voltage overvoltage protection    3.60 V
 +Cell voltage overvoltage recovery      3.45 V
 +Cell voltage undervoltage protection   2.60 V
 +Cell voltage undervoltage recovery.    3.00 V
 +Max balance current                    2.00 A
 +Max charge current                     62.0 A
 +Max discharge current                  100 A
 +Power off voltage                      2.50 V
 +Total battery capacity                 310Ah
 +</code>
 +
 +=== 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:
 +
 +<code>
 +Program Setting Option       Description
 +----------------------------------------------------------------------------------------------
 +1 SBU (SBU priority).   Output source priority: To configure load power source priority
 +2 62A               Maximum charging current: set total charging current for solar and utility chargers. 
 +3 APL (Appliance)       AC input voltage range
 +4 DIS (disabled)       Power saving mode enable/disable
 +5 US2 (user-defined 2)  Battery type
 +6 DIS (disabled)       Auto restart when overload occurs
 +7 DIS (disabled)       Auto restart when over temperature occurs
 +8 230V               Output voltage
 +9 50Hz               Output frequency
 +10 16               Number of series batteries connected
 +11 30A               Maximum utility charging current
 +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).    Charger source priority: To configure charger source priority
 +15 ON               Alarm control
 +16 ON               Backlight control
 +17 ON               Beeps while primary source is interrupted
 +18 ENA (enabled)       Overload bypass
 +19 56.8V (3.55V x 16).   C.V. charging voltage.
 +20 54.0V (3.375V x 16)   Floating charging voltage. If self-defined is selected in program 5, this program can be set up
 +21 44.0V               Low DC cut-off voltage.
 +</code>
 +
 +
 +===== 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://github.com/syssi/esphome-jk-bms|here]].
 +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: "Monitor and control a JK-BMS via bluetooth"
 +  external_components_source: github://syssi/esphome-jk-bms@main
 +  mac_address: AA:BB:CC:DD:EE:FF
 +  # Defaults to "JK02". Please use "JK04" if you have some old JK-BMS version (f.e. JK-B2A16S hw 3.0, sw. 3.3.0)
 +  protocol_version: JK02
 +
 +esphome:
 +  name: ${name}
 +  comment: ${device_description}
 +  project:
 +    name: "syssi.esphome-jk-bms"
 +    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: "-----key-----"
 +
 +ota:
 +  password: "-----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: "Jk-Bms-Ble Fallback Hotspot"
 +    password: "----password----"
 +
 +external_components:
 +  - source: ${external_components_source}
 +    refresh: 0s
 +
 +esp32_ble_tracker:
 +
 +ble_client:
 +  - mac_address: ${mac_address}
 +    id: client0
 +
 +jk_bms_ble:
 +  - ble_client_id: client0
 +    protocol_version: ${protocol_version}
 +    throttle: 5s
 +    id: bms0
 +
 +binary_sensor:
 +  - platform: jk_bms_ble
 +    balancing:
 +      name: "${name} balancing"
 +    charging:
 +      name: "${name} charging"
 +    discharging:
 +      name: "${name} discharging"
 +
 +button:
 +  - platform: jk_bms_ble
 +    retrieve_settings:
 +      name: "${name} retrieve settings"
 +    retrieve_device_info:
 +      name: "${name} retrieve device info"
 +
 +number:
 +  - platform: jk_bms_ble
 +    jk_bms_ble_id: bms0
 +    balance_trigger_voltage:
 +      name: "${name} balance trigger voltage"
 +    cell_count:
 +       name: "${name} cell count"
 +    total_battery_capacity:
 +      name: "${name} total battery capacity"
 +    cell_voltage_overvoltage_protection:
 +      name: "${name} cell voltage overvoltage protection"
 +    cell_voltage_overvoltage_recovery:
 +      name: "${name} cell voltage overvoltage recovery"
 +    cell_voltage_undervoltage_protection:
 +      name: "${name} cell voltage undervoltage protection"
 +    cell_voltage_undervoltage_recovery:
 +      name: "${name} cell voltage undervoltage recovery"
 +    balance_starting_voltage:
 +      name: "${name} balance starting voltage"
 +    voltage_calibration:
 +      name: "${name} voltage calibration"
 +    current_calibration:
 +      name: "${name} current calibration"
 +    power_off_voltage:
 +      name: "${name} power off voltage"
 +    max_balance_current:
 +      name: "${name} max balance current"
 +    max_charge_current:
 +      name: "${name} max charge current"
 +    max_discharge_current:
 +      name: "${name} max discharge current"
 +
 +sensor:
 +  - platform: jk_bms_ble
 +    jk_bms_ble_id: bms0
 +    min_cell_voltage:
 +      name: "${name} min cell voltage"
 +    max_cell_voltage:
 +      name: "${name} max cell voltage"
 +    min_voltage_cell:
 +      name: "${name} min voltage cell"
 +    max_voltage_cell:
 +      name: "${name} max voltage cell"
 +    delta_cell_voltage:
 +      name: "${name} delta cell voltage"
 +    average_cell_voltage:
 +      name: "${name} average cell voltage"
 +    cell_voltage_1:
 +      name: "${name} cell voltage 1"
 +    cell_voltage_2:
 +      name: "${name} cell voltage 2"
 +    cell_voltage_3:
 +      name: "${name} cell voltage 3"
 +    cell_voltage_4:
 +      name: "${name} cell voltage 4"
 +    cell_voltage_5:
 +      name: "${name} cell voltage 5"
 +    cell_voltage_6:
 +      name: "${name} cell voltage 6"
 +    cell_voltage_7:
 +      name: "${name} cell voltage 7"
 +    cell_voltage_8:
 +      name: "${name} cell voltage 8"
 +    cell_voltage_9:
 +      name: "${name} cell voltage 9"
 +    cell_voltage_10:
 +      name: "${name} cell voltage 10"
 +    cell_voltage_11:
 +      name: "${name} cell voltage 11"
 +    cell_voltage_12:
 +      name: "${name} cell voltage 12"
 +    cell_voltage_13:
 +      name: "${name} cell voltage 13"
 +    cell_voltage_14:
 +      name: "${name} cell voltage 14"
 +    cell_voltage_15:
 +      name: "${name} cell voltage 15"
 +    cell_voltage_16:
 +      name: "${name} cell voltage 16"
 +    cell_voltage_17:
 +      name: "${name} cell voltage 17"
 +    cell_voltage_18:
 +      name: "${name} cell voltage 18"
 +    cell_voltage_19:
 +      name: "${name} cell voltage 19"
 +    cell_voltage_20:
 +      name: "${name} cell voltage 20"
 +    cell_voltage_21:
 +      name: "${name} cell voltage 21"
 +    cell_voltage_22:
 +      name: "${name} cell voltage 22"
 +    cell_voltage_23:
 +      name: "${name} cell voltage 23"
 +    cell_voltage_24:
 +      name: "${name} cell voltage 24"
 +    cell_resistance_1:
 +      name: "${name} cell resistance 1"
 +    cell_resistance_2:
 +      name: "${name} cell resistance 2"
 +    cell_resistance_3:
 +      name: "${name} cell resistance 3"
 +    cell_resistance_4:
 +      name: "${name} cell resistance 4"
 +    cell_resistance_5:
 +      name: "${name} cell resistance 5"
 +    cell_resistance_6:
 +      name: "${name} cell resistance 6"
 +    cell_resistance_7:
 +      name: "${name} cell resistance 7"
 +    cell_resistance_8:
 +      name: "${name} cell resistance 8"
 +    cell_resistance_9:
 +      name: "${name} cell resistance 9"
 +    cell_resistance_10:
 +      name: "${name} cell resistance 10"
 +    cell_resistance_11:
 +      name: "${name} cell resistance 11"
 +    cell_resistance_12:
 +      name: "${name} cell resistance 12"
 +    cell_resistance_13:
 +      name: "${name} cell resistance 13"
 +    cell_resistance_14:
 +      name: "${name} cell resistance 14"
 +    cell_resistance_15:
 +      name: "${name} cell resistance 15"
 +    cell_resistance_16:
 +      name: "${name} cell resistance 16"
 +    cell_resistance_17:
 +      name: "${name} cell resistance 17"
 +    cell_resistance_18:
 +      name: "${name} cell resistance 18"
 +    cell_resistance_19:
 +      name: "${name} cell resistance 19"
 +    cell_resistance_20:
 +      name: "${name} cell resistance 20"
 +    cell_resistance_21:
 +      name: "${name} cell resistance 21"
 +    cell_resistance_22:
 +      name: "${name} cell resistance 22"
 +    cell_resistance_23:
 +      name: "${name} cell resistance 23"
 +    cell_resistance_24:
 +      name: "${name} cell resistance 24"
 +    total_voltage:
 +      name: "${name} total voltage"
 +    current:
 +      name: "${name} current"
 +    power:
 +      name: "${name} power"
 +    charging_power:
 +      name: "${name} charging power"
 +    discharging_power:
 +      name: "${name} discharging power"
 +    temperature_sensor_1:
 +      name: "${name} temperature sensor 1"
 +    temperature_sensor_2:
 +      name: "${name} temperature sensor 2"
 +    power_tube_temperature:
 +      name: "${name} power tube temperature"
 +    state_of_charge:
 +      name: "${name} state of charge"
 +    capacity_remaining:
 +      name: "${name} capacity remaining"
 +    total_battery_capacity_setting:
 +      name: "${name} total battery capacity setting"
 +    charging_cycles:
 +      name: "${name} charging cycles"
 +    total_charging_cycle_capacity:
 +      name: "${name} total charging cycle capacity"
 +    total_runtime:
 +      name: "${name} total runtime"
 +    balancing_current:
 +      name: "${name} balancing current"
 +    errors_bitmask:
 +      name: "${name} errors bitmask"
 +
 +switch:
 +  - platform: jk_bms_ble
 +    charging:
 +      name: "${name} charging"
 +    discharging:
 +      name: "${name} discharging"
 +    balancer:
 +      name: "${name} balancer"
 +
 +  - platform: ble_client
 +    ble_client_id: client0
 +    name: "${name} enable bluetooth connection"
 +
 +text_sensor:
 +  - platform: jk_bms_ble
 +    errors:
 +      name: "${name} errors"
 +    total_runtime_formatted:
 +      name: "${name} total runtime formatted"
 +</file>
 +
 +++++
  
en/tech/solarvilla.txt · Last modified: 2023/04/16 08:30 by bullar