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
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
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
- vata
- Příspěvky: 1407
- Registrován: pon zář 12, 2011 11:32 am
- Reputace:93
Re: Výpočet kapacity akumulátora
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í.
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
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
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
- mixman
- Příspěvky: 73
- Registrován: stř čer 26, 2013 1:50 pm
- Reputace:14
Re: Výpočet kapacity akumulátora
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 ...
- 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
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
- 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
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.
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
...a viděl jsem Křižíka nazpět se otáčeti ...
- 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
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
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: Vlastní výpočet pak může probíhat v samotném esp a není k tomu potřeba ani HomeAssistant:
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í:
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
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
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
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.
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
Pojízdná FV 200Wp=2x100Wp flexibilní+4x280Ah lifepo4+měnič 1500W
Kdo je online
Uživatelé procházející toto fórum: Claudebot [Bot], Semrush [Bot]
