Výpočet kapacity akumulátora

Souhrn tématu

Diskuze se věnuje metodám výpočtu kapacity akumulátora s důrazem na přesné měření pomocí BMS systému JK verze 19, který využívá Coulomb counting a kalibraci napětím. Uživatelé sdílejí zkušenosti s nastavením referenčních hodnot, kalibrací a využitím ESP8266 s INA226 pro vlastní měření stavu nabití (SoC). Téma zahrnuje i praktické rady pro správné nastavení a kalibraci, aby byl výpočet kapacity účinný a spolehlivý.
007ToMMaS
Příspěvky: 1095
Registrován: sob zář 15, 2012 8:53 pm
Reputace:16

Výpočet kapacity akumulátora

Nový příspěvek od 007ToMMaS »

Ahojte, chcel by som sa poradiť s skúsenejšími ako prosím vás riešite výpočet kapacity? Chcel by som si do systému dorobiť výpočet kapacity a neviem ako správne na to aby to bolo účinné a funkčné. Máte v programe vytvorenú nejakú hodnotu ktorá je "referenčná" a od nej sa pri spotrebe odpočíta a pri výrobe pripočítajú vyrobené Ah? Ďakujem za informáciu.
3,2kWp REC320NP - juh
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
Uživatelský avatar
vata
Příspěvky: 1407
Registrován: pon zář 12, 2011 11:32 am
Reputace:93

Re: Výpočet kapacity akumulátora

Nový příspěvek od vata »

Já to řeším tak, že výchozí kapacita a aktuální SOC je "nějaké" - podle uživatele. Pak musím poznat stav plného nabití, při tom nastavím SOC na 100%, a plného vybití, tam SOC nastavím na nulu a poznačím si dosaženou kapacitu.
Problém u systému s automatizací je takový, že máte-li to dobře naštelované a vyloženě si nehrajete, pak ke stavu plného vybití nedojde, od toho SOC měřím, abych odpojovala ještě s nějakou rezervní kapacitou pro UPS. Takže spodní hranice se v běžném provozu nedosáhne a kapacita baterky zůstává v systému ta papírová. Což u lithia není problém, tam to sedí, u olova by to chtělo občas úplně vybít, aby se zjistil reálný stav kapacity.
Větší problém je ale přesnost měření. Pokud dlouho nedojde k plnému nabití, SOC se prostě rozjede, protože nepřesnosti se kumulují.
Inteligentní ostrov - www.vati.cz
007ToMMaS
Příspěvky: 1095
Registrován: sob zář 15, 2012 8:53 pm
Reputace:16

Re: Výpočet kapacity akumulátora

Nový příspěvek od 007ToMMaS »

tiež som nad tým probližne tak nejak rozmýšľal. V podstate rozmýšľam nad tým že plne nabitá batéria je maximálna kapacita a spotrebu prepočítam na Ah a tá sa od tej maximálnej hodnoty odčíta, následne keď sa spustí nabíjanie tak sa hodnota vyrobená pripočíta k zostávajúcej hodnote a takto stále dookola. Mohlo by to fungovať po teoretickej stránke?
3,2kWp REC320NP - juh
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
Uživatelský avatar
mixman
Příspěvky: 73
Registrován: stř čer 26, 2013 1:50 pm
Reputace:14

Re: Výpočet kapacity akumulátora

Nový příspěvek od mixman »

Pocitat Ah je to najmenej, pokial je merianie prudu pomerne presne, horsie je to s ucinnostou nabijacieho a vybijacieho cyklu akkumulatorov. U olova to moze byt spolu niekde okolo 70-75% co je pre meranie SOC uplne na nic. No existuju rozne metody, ktore beru do uvahy aktualne napatie pri aktualne odoberanom prude spolu s pocitanim Ah, no taktiez do toho zasahuje stav akku, pocet cyklov ...
*sun*:arrow:::pv:::arrow:*batt*:arrow::home::arrow::comp:
Uživatelský avatar
kybos
Příspěvky: 2857
Registrován: sob zář 08, 2012 10:40 pm
Reputace:531
Lokalita: Šternberk
Systémové napětí: 48V
Výkon panelů [Wp]: 15000
Kapacita baterie [kWh]: 40
Bydliště: v údolí mezi kopci

Re: Výpočet kapacity akumulátora

Nový příspěvek od kybos »

Nevím, jak je to u jiných systémů, ale u systému Emus, který pro LIFEPO používám, program pravděpodobně jen stupidně přičítá a odečítá naměřené ampérhodiny a při dosažení krajních mezí jen srovná stav SOC, což lze dokumentovat skokovými změnami udávaného SOC. Takový postup ovšem dává chybné výsledky (přilepšuje SOC) v období, kdy se dlouhodobě nedosáhne žádné z krajních mezí. Kdyby byl jen trochu chytřejší a sčítal ampérhodiny v každém směru samostatně, mohl by v intervalech mezi dosažením jednotlivých mezí určit i skutečnou kapacitu baterie a také vyčíslit její ztráty a napříště při sumaci naměřené proudy o vypočtené ztráty korigovat (a to dokonce nelineárně dle velikosti proudu) ještě před sumací a vyčíslením aktuálního SOC a tím jej dynamicky výrazně zpřesnit.
15 kWp JJZ + 3x Tristar MPPT60 + Victron 150/100 + 48V LiFePO 850 Ah + UPS 8kW (MPP-Solar 8048 LC) + 4 x nabíječka 1,2 kW (DELTA) Start: 2012
Uživatelský avatar
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace:287
Lokalita: SO, SK
Bydliště: SO, SK

Re: Výpočet kapacity akumulátora

Nový příspěvek od rottenkiwi »

Netreba zabúdať aj na to, že počítame SOC, ale treba to robiť osobitne pre Pb a LiFE,
lebo každý string reaguje ináč na nabíjanie/vybíjanie pri roznom prúde a roznej teplote.

A ak sa teplota zvýši, tak sa nám zvýši aj SOC, bez toho, že by sme do baterky niečo dodali.

Akceptovanie náboja je iné pri malých prúdoch a iné pri veľkých.
Akceptovanie je výrazne lepšie, ak sa veľký prúd nedodáva kontinuálne, ale v nárazoch.
petrs
Příspěvky: 428
Registrován: pon čer 30, 2014 7:02 am
Reputace:30

Re: Výpočet kapacity akumulátora

Nový příspěvek od petrs »

...a viděl jsem Křižíka nazpět se otáčeti ...
Uživatelský avatar
kybos
Příspěvky: 2857
Registrován: sob zář 08, 2012 10:40 pm
Reputace:531
Lokalita: Šternberk
Systémové napětí: 48V
Výkon panelů [Wp]: 15000
Kapacita baterie [kWh]: 40
Bydliště: v údolí mezi kopci

Re: Výpočet kapacity akumulátora

Nový příspěvek od kybos »

Tak to vypadá, že snížení cen LIFEPO se asi nedočkáme, spíš naopak...
15 kWp JJZ + 3x Tristar MPPT60 + Victron 150/100 + 48V LiFePO 850 Ah + UPS 8kW (MPP-Solar 8048 LC) + 4 x nabíječka 1,2 kW (DELTA) Start: 2012
rva
Příspěvky: 5086
Registrován: úte dub 23, 2013 10:21 am
Reputace:1010
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 62
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: Výpočet kapacity akumulátora

Nový příspěvek od rva »

Obnovím velmi staré téma. Pomocí esp, ina226 a bočníku se dá u lifepo sestavit za cca 400,-Kč "smart shunt", který použitelným způsobem počítá SOC:
výpočet SOC.jpg
Vlastní výpočet pak může probíhat v samotném esp a není k tomu potřeba ani HomeAssistant:
Zobrazený stav baterie v espHome.png

Kód: Vybrat vše

substitutions:
  name: esp8266-lolin-d1-mini-3
  friendly_name: esp8266-lolin-d1-mini-3
  device_description: "Měření proudu do/z baterií pomocí bočníku 75mV/300A a snímače proudu INA226"
  
esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  comment: ${device_description}
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxOib/AwmzmCKkO5Dgry4169cInF/U30="

ota:
  - platform: esphome
    password: "xxxxxxxxxxxx8e843ab709dd0efa526"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  min_auth_mode: WPA2
# Optional manual IP
#  manual_ip:
 #   static_ip: 192.168.0.72
  #  gateway: 192.168.0.1
   # subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "esp8266-lolin-d1-mini-3"
    password: "xxxxxxx"

# V HA se pak k položkám "edit" a "logs" objeví položka "visit", kde se po kliknutí otevře stránka esphome daného zařízení
web_server:
  port: 80

captive_portal:

# Aktivuje bezpečné ukládání stavů do paměti ESP aby se počítaná hodnota Ah po restartu nenulovala
preferences:
  flash_write_interval: 1min # Uloží hodnotu do paměti každou minutu
  
#i2c
#Configuration variables:
#    sda (Optional, Pin): The pin for the data line of the I²C bus. Defaults to the default of your board (usually GPIO21 for ESP32 and GPIO4 for ESP8266).
#    scl (Optional, Pin): The pin for the clock line of the I²C bus. Defaults to the default of your board (usually GPIO22 for ESP32 and GPIO5 for ESP8266).
#    scan (Optional, boolean): If ESPHome should do a search of the I²C address space on startup. Defaults to true.
#    frequency (Optional, float): Set the frequency the I²C bus should operate on. Defaults to 50kHz. Values are 10kHz, 50kHz, 100kHz, 200kHz, … 800kHz
#    timeout (Optional, Time): Set the I²C bus timeout. Defaults to the framework defaults (100us on esp32 with esp-idf, 50ms on esp32 with Arduino, 1s on esp8266 and 1s on rp2040). Maximum on esp-idf is 13ms.
#    id (Optional, ID): Manually specify the ID for this I²C bus if you need multiple I²C buses.
i2c:
   - id: bus_a
     sda: GPIO4
     scl: GPIO5
     scan: true
 #  - id: bus_b
 #    sda: GPIOXX
 #    scl: GPIOXX
 #    scan: true

#ina226
#Configuration variables:
#    address (Optional, integer): Manually specify the I²C address of the sensor. Defaults to 0x40.
#    shunt_resistance (Optional, float): The value of the shunt resistor on the board for current calculation. Defaults to 0.1 ohm.
#    max_current (Optional, float): The maximum current you are expecting. ESPHome will use this to configure the sensor optimally. Defaults to 3.2A.
#    adc_time (Optional, Time or both of the following nested options): The time in microseconds to perform a single ADC conversion. Defaults to 1100us. Valid values are 140us, 204us, 332us, 588us, 1100us, 2116us, 4156us, 8244us.
#        voltage (Required, Time) ADC conversion time for Bus Voltage
#        current (Required, Time) ADC conversion time for Shunt Voltage (Current measurement)
#    adc_averaging (Optional, integer): Selects ADC sample averaging count. Defaults to 4. Valid values are 1, 4, 16, 64, 128, 256, 512, 1024.
#    update_interval (Optional, Time): The interval to check the sensor. Defaults to 60s.
#
#Sensors
#The component offers four sensors. You can configure all or any subset of them. Each configured sensor is reported separately on each update_interval. The name option is required for each sensor configured. All other options from Sensor.
#    current (Optional): Calculated current output, Amperes.
#    power (Optional): Calculated power output, Watts.
#    bus_voltage (Optional): Bus voltage output (voltage of the high side contact), Volts.
#    shunt_voltage (Optional): Shunt voltage (voltage across the shunt resistor) value of the sensor, Volts.
sensor:
  - platform: ina226
    address: 0x40
    shunt_resistance: 0.00025 ohm
    max_current: 300A
    # Nastavení do 2026-08-15
    # adc time used for both, Bus Voltage and Shunt Voltage
    #adc_time: 8244us
    #adc_averaging: 64
    #update_interval: 10s
    # AI doporučila toto nastavení - od 2026-08-15
    adc_time: 1100us       # Rychlejší vzorkování
    adc_averaging: 1024    # Maximální hardwarové průměrování čipu
    update_interval: 2s    # Častější vyčítání do ESPHome

    current:
      name: "INA226 Current"
      id: ina226_current
#    power:
#      name: "INA226 Power"
#    bus_voltage:
#      name: "INA226 Bus Voltage"
#    shunt_voltage:
#      name: "INA226 Shunt Voltage"
  
  - platform: integration
    name: "Baterie - Ah stav podle esphome"
    id: baterie_ah_stav_podle_esphome
    sensor: ina226_current
    time_unit: h               # Výsledkem budou Ampérhodiny (Ah)
    integration_method: left   # Metoda integrace (stejná jako máte v HA)
    restore: true # <--- DŮLEŽITÉ: Po restartu začne tam, kde skončil
        # Filtry kontrolují hodnotu při každé změně:
 #   filters:
 #     - lambda: |-
 #         if (x > 1590.0) {
 #           return 1590.0; // Pokud je hodnota vyšší než 1590, vrátí 1590
 #         } else if (x < 0.0) {
 #           return 0.0;    // Pojistka: Pokud klesne pod 0, vrátí 0
 #         } else {
 #           return x;      // Jinak vrátí skutečně naměřenou hodnotu
 #         }

# Baterie mají 1590 Ah. Tímto tlačítkem se ručně údaj stavu baterie nastaví na tuto hodnotu 
button:
  - platform: template
    name: "Baterie - Ah v esphome - reset na 100%"
    id: baterie_ah_v_esphome_reset
    icon: "mdi:battery-refresh"
    on_press:
      then:
        - sensor.integration.set_value:
            id: baterie_ah_stav_podle_esphome
            value: 1590.0
    
Bočníky - H A D E X.png
Ina226 - Allegro.png
Esp8266 - Allegro.png
Když už jsou taková data k dispozici, není problém zavést si zvlášt integraci pro dobíjecí proud a zvlášť pro odebíraný a zjistit tak, jaká kapacita nebo energie protekla baterií:
Dodáno a odebráno z baterie.png
Naposledy upravil(a) rva dne ned srp 23, 2026 9:42 am, celkem upraveno 1 x.
_______________________________________________________________________
43 kWp, LiFePO4 62 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
Franta2776
Příspěvky: 6673
Registrován: pon úno 01, 2021 4:00 pm
Reputace:649

Re: Výpočet kapacity akumulátora

Nový příspěvek od Franta2776 »

Hodně se to za 10let posunulo a mě bych řekl, to funguje přesně. Se starou Daly se to nedá srovnat:
JK BMS verze 19 měří ampérhodiny (Ah) přímým měřením proudu (Coulomb counting), nikoliv pouhým odhadem podle napětí. Napětí slouží pouze jako referenční bod pro kalibraci a nulování/plnou kapacitu.
Jak výpočet stavu nabití (SoC / Ah) v JK BMS funguje:
* Integrovaný Bočník (Shunt): BMS obsahuje interní bočník, přes který neustále v reálném čase měří protékající proud (v ampérech) i směr (nabíjení vs. vybíjení). Tyto hodnoty v čase integruje, čímž přesně přičítá nebo odečítá odebrané/dodané Ah.
* Role napětí (Kalibrace na hranicích): Protože drift měření u Coulomb countingu v čase narůstá, BMS využívá napětí k auto-kalibraci při dosažení mezních hodnot:
* 100 % SoC: Jakmile jakýkoliv článek dosáhne nastaveného napětí Cell OVP (resp. Volts for 100% SoC), BMS zresetuje počítadlo na plnou kapacitu (Ah).
* 0 % SoC: Při dosažení napětí Cell UVP vynutí přenastavení na 0 Ah.
* Pásmo mezi hranicemi: Uprostřed vybíjecí křivky (zejména u LiFePO4, kde je křivka napětí mezi 20 % a 80 % téměř plochá) je odhadování kapacity čistě podle napětí zcela neúplné a nepřesné. Proto v tomto rozsahu BMS spoléhá výhradně na naměřený proud protékající bočníkem.
Pokud pozorujete odchylku v načtených Ah, bývá to zpravidla způsobeno buď chybou v nastavení jmenovité kapacity akumulátoru v aplikaci, neproběhnutým plným nabitím do resetu na 100 %, nebo potřebou manuální kalibrace nuly proudu (Current Calibration / Zero Current) v prostředí JK BMS.
32540Wp, 90ks vakuové trubice jihozápad, (Lifepo4 16S 1100Ah, trakční gel 800Ah), Deye 15kW LV,MPPT 150/85, 150/100 BMWi5
Pojízdná FV 200Wp=2x100Wp flexibilní+4x280Ah lifepo4+měnič 1500W

Kdo je online

Uživatelé procházející toto fórum: Claudebot [Bot], Franta2776, gupa, Keraj