Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: pon bře 27, 2023 5:05 am


Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A-B-C

Měniče Axpert
Předchozí

Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PetrDubi » stř srp 17, 2022 6:36 pm

No jo, ale ty víš, co SA očekává na RS485? Já teda ne. A pokud to není zprasený jako v Dali, tak se na RS485 očekává protokol typu MODBUS, což znamená úplně jinou komunikaci než na UART (jen namátkou více zařízení na jedné sběrnici, adresování jednotlivých zařízení a podobně).
Takže já osobně nevím, co tam má běhat.
Jedině vyzkoušet a pak se uvidí - maximálně mu zbyde ten převodník v šuplíku a bude hkedat něco jiného.
Ale rozhodně mu neporadím, že to bude fungovat, protože jsem žádné informace k tomu RS485 u JBD neviděl.
mobilní elektrárna 3x Uni-solar PVL-68, 3x MPP modul, vše řízené přes arduino
doma 3280 Wp JV, 2460 Wp JZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
?
PetrDubi
podporuje fórum
 
Příspěvky: 774
Registrován: úte říj 12, 2021 9:43 am
Bydliště: Blízko Ústí nad Labem


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PavlikT » stř srp 17, 2022 7:26 pm

No, proto ten dotaz byl na Mikela ;-)
?
PavlikT
 
Příspěvky: 35
Registrován: pon lis 09, 2020 9:35 pm


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod antoni_sk » čtv srp 18, 2022 6:52 am

z JBD BMS normálne vyčítavame Modbus protokolom cca 30 hodnôt (registrov)... vid moje vlákno.
RS485 aj UART je len fyzická špecifikácia akým spôsobom údaje "cestujú" po vodičoch.
Prevodník je síce pripojený do UART konektoru ale protokol používame štandard Modbus.
FV-1, 60°, 2019 3x Suntech STP280-20/Wfw (840Wp), EPSOLAR LS3024B (30A)
FV-2, 35°, 2020 3x CSUN 280-60P (840Wp), EPEVER LS3024B (30A),
FV-3, 35°, 7/2020 4x Trinasolar TSM-235 (940Wp), SRNE ML 40A MPPT
FV-4, 35°, 10/2021 2x Moser 220Wp (440Wp), EPEVER LS3024B (30A),
FV-5, 45°, 9/2022 6x Trinasolar 235Wp (1400Wp), Easun ISolar SPS 3kW
Meniče: Carspa 3000W (špičk.9000W), Easun ISolar SPS 3kW
batérie: 16x 200Ah LiFePo4 (24V) + 8x 280Ah LiFePo4 (24V)
Uživatelský avatar
antoni_sk
 
Příspěvky: 667
Registrován: pát lis 17, 2017 3:14 pm
Bydliště: Liptov


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PavlikT » čtv srp 18, 2022 10:37 am

antoni_sk píše:z JBD BMS normálne vyčítavame Modbus protokolom cca 30 hodnôt (registrov)... vid moje vlákno.
RS485 aj UART je len fyzická špecifikácia akým spôsobom údaje "cestujú" po vodičoch.
Prevodník je síce pripojený do UART konektoru ale protokol používame štandard Modbus.


Supr, muzes, pls, poslat link na to vlakno? Vim, ze je tu jedno podobne, ale prislo mi, ze je to trosku jina BMSka. Ja jsem ji kupoval pred rokem a byla to takova cerna cihla. Dnesni JBD BMS vypada jak bez sasi. Treba funguji vnitne stejne, ale to ja netusim.
Jaky kabel k tomu pouzivas?
Diky
?
PavlikT
 
Příspěvky: 35
Registrován: pon lis 09, 2020 9:35 pm


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod gold1 » pon lis 07, 2022 9:52 am

PavlikT píše:
antoni_sk píše:z JBD BMS normálne vyčítavame Modbus protokolom cca 30 hodnôt (registrov)... vid moje vlákno.
RS485 aj UART je len fyzická špecifikácia akým spôsobom údaje "cestujú" po vodičoch.
Prevodník je síce pripojený do UART konektoru ale protokol používame štandard Modbus.


Supr, muzes, pls, poslat link na to vlakno? Vim, ze je tu jedno podobne, ale prislo mi, ze je to trosku jina BMSka. Ja jsem ji kupoval pred rokem a byla to takova cerna cihla. Dnesni JBD BMS vypada jak bez sasi. Treba funguji vnitne stejne, ale to ja netusim.
Jaky kabel k tomu pouzivas?
Diky

Uz se ti to podarilo zprovoznit?Taky by mne zajimalo jestli ta bmska jde propojit s SA.
24x JaSolar 380wp(12xV+12xZ) = 9120wp, 2x Axpert King 5000/48, 32x Narada 125Ah(2x16s)
?
gold1
 
Příspěvky: 33
Registrován: čtv lis 25, 2021 6:47 pm


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PavlikT » pon lis 07, 2022 4:11 pm

Jj, povedlo!

Diky Cipisovi:

[url]
viewtopic.php?f=39&t=8717#p181166
[/url]

Musel ksem odpojit BT modul a napojit to misto nej. Staci GND, Rx a Tx. Ale pak uz to slo, jal po dratkach. V SA zvolis JBD RS232/485 a jede to na prvni dobrou.
?
PavlikT
 
Příspěvky: 35
Registrován: pon lis 09, 2020 9:35 pm


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod gold1 » pon lis 07, 2022 10:52 pm

Dik za odpoved,pokusim se o to,ale vypada to az prilis snadno.Ani se mi nechce verit.:o)
24x JaSolar 380wp(12xV+12xZ) = 9120wp, 2x Axpert King 5000/48, 32x Narada 125Ah(2x16s)
?
gold1
 
Příspěvky: 33
Registrován: čtv lis 25, 2021 6:47 pm


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod jeroslav » stř bře 15, 2023 2:18 pm

Podařilo se vám rozjet komunikaci mezi Axpertem a JBD BMS? Axpert mi zbytečně brzo utahuje nabíjení, tak si od komunikace s BMS slibují vyřešení problémů.
Zkoušel jsem připojovat přes RS485, ale narazil jsem na stejné problémy.

Díky,
J.
Axpert King II, 6x Canadian Solar 455Wp, 16s 105 Ah LiFePO4, JBD BMS
Uživatelský avatar
jeroslav
 
Příspěvky: 1
Registrován: pát led 06, 2023 7:37 am

Chci prodávat energii a využít dotace: ANO

Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PetrDubi » pát bře 24, 2023 9:33 am

Ahoj,
tak jsem včera zprovoznil komunikaci mezi JBD BMS a MAXem přes CAN. Mezi BMS a měničem je ESP32, na který je připojený CAN bus transiever na 3,3V SN65HND230 a používám interní CAN controller, který v sobě ESP32 má.
ESP32 je napojené na BMS přes její UART port (místo bluetooth modulu) a na měnič přes CAN transiever do portu pro BMS.
V ESP32 je nahraný program pro ESPhome od Syssi z githubu:
https://github.com/syssi/esphome-jbd-bms
Dále jsem doplnil odesílání přes CAN protokolem Soltaro.
Popis protokolou zde:
https://forums.aeva.asn.au/viewtopic.php?p=88506&sid=8f3f0d488f5f12182e6e415b7f4cf1b3#p88506
a například zde:
https://powerforum.co.za/topic/10545-bms-communication-with-axpert-max/
Použil jsem Soltaro, protože s Weco byly podle popisu nějaký problémy.
Na adresu 0x1872 posílám informace každých 5s a na 0x1874 každé 2s.
Po změně typu baterie v měniči po spojení s BMS začne blikat na displeji ikona baterie a u informací o verzi firmware měniče se objeví nová informace o Number of packs and groups.
Po propojení veškerý nabíjení řídí BMS, takže se odesílají povolené proudy i napětí a v měniči se objeví hodnoty, ale nejdou změnit.
Zjistil jsem, že se napětí pro bulk i pro float nastaví na stejnou hodnotu, která odpovídá maximum charge voltage z 0x1872, takže po nabití baterie je nutné poslat do měniče nové požadované napětí, které odpovídá float.
Momentálně mám nastavené, že pokud je SOC pod 98%, tak se nastaví napětí na 55V a když SOC dosáhne 100% a nabíjecí výkon do BMS klesne pod 50W (mám to připojené na 150A BMS, která měří i pod 2A narozdíl od té 200A), tak nastaví napětí 53,6V. Budu to dál sledovat a podle provozu to případně upravím. Mělo by to i vyřešit problém, že měnič občas zůstává dlouho v bulk i když nabíjecí proud klesne na nulu.
mobilní elektrárna 3x Uni-solar PVL-68, 3x MPP modul, vše řízené přes arduino
doma 3280 Wp JV, 2460 Wp JZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
?
PetrDubi
podporuje fórum
 
Příspěvky: 774
Registrován: úte říj 12, 2021 9:43 am
Bydliště: Blízko Ústí nad Labem


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PavlikT » pát bře 24, 2023 1:16 pm

To zní skvěle! Náhodou se Ti nechce nasdilet tu cast s tim protokolem Soltaro?...
?
PavlikT
 
Příspěvky: 35
Registrován: pon lis 09, 2020 9:35 pm


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PetrDubi » pát bře 24, 2023 6:50 pm

Tak by jsi tam měl mít všechno, co je k tomu potřeba. Jsou tam hodnoty z BMS který používám, pomocný senzory, prodloužený timeout pro komunikaci s BMS (aby nevypadávala komunikace s BMS při odesílání na CAN) a podobně. Odesílání na CAN je ve dvou intervalech, protože když jsem to měl hned za sebou, tak fungovalo (podle logu) posílání i komunikace s BMS, ale zmizely mi všechny sensory od BMS v HA (když jsem to takhle rozhodil, tak už to bylo dobrý).
Ty napětí a proudy jsou s desetinama, proto tam jsou takový čísla a napětí baterie se násobí 10.

Kód: Vybrat vše
jbd_bms:
  rx_timeout: 500ms

canbus:
  - platform: esp32_can
    tx_pin: GPIO5
    rx_pin: GPIO4
    can_id: 0x1fff
    id: canbus0
    use_extended_id: true
    bit_rate: 500kbps

interval:
  - interval: 5s
    then:
          - canbus.send:
              use_extended_id: true
              can_id: 0x00001872
              canbus_id: canbus0
# charging voltage, minimal voltage,  charging current,  discharging current
              data: !lambda |-
                uint8_t can_mesg[8] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
                uint16_t bms_max_v = id(bms_charg_v).state;
                uint16_t bms_min_v = 490;
                uint16_t bms_max_ch = 1200;
                uint16_t bms_max_d = 1500;
                can_mesg[1] = bms_max_v & 0x00FF;
                can_mesg[2] = (bms_max_v >> 8) & 0x00FF;
                can_mesg[3] = bms_min_v & 0x00FF;
                can_mesg[4] = (bms_min_v >> 8) & 0x00FF;
                can_mesg[5] = bms_max_ch & 0x00FF;
                can_mesg[6] = (bms_max_ch >> 8) & 0x00FF;
                can_mesg[7] = bms_max_d & 0x00FF;
                can_mesg[8] = (bms_max_d >> 8) & 0x00FF;
                ESP_LOGI("main", "send can id: 0x00001872 hex: %x %x %x %x %x %x %x %x", can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7], can_mesg[8]);
                return {can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7], can_mesg[8]};

  - interval: 2s
    then:
          - canbus.send:
              use_extended_id: true
              can_id: 0x00001874
              canbus_id: canbus0
# battery voltage, absorption voltage (not function), battery SOC, number of battery packs
              data: !lambda |-
                uint8_t can_mesg[8] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
                uint16_t bms_compl_v = (id(fv_baterie2_complete_voltage).state * 10.0f);
                uint16_t bms_abs = 552;
                uint16_t bms_soc = id(fv_baterie2_soc).state;
                uint8_t bms_num_pack = 1;
                id(bms_charging_comp).publish_state(true);
                can_mesg[1] = bms_compl_v & 0x00FF;
                can_mesg[2] = (bms_compl_v >> 8) & 0x00FF;
                can_mesg[3] = bms_abs & 0x00FF;
                can_mesg[4] = (bms_abs >> 8) & 0x00FF;
                can_mesg[5] = bms_soc & 0x00FF;
                can_mesg[6] = (bms_soc >> 8) & 0x00FF;
                can_mesg[7] = 0x00;
                can_mesg[8] = bms_num_pack;
                ESP_LOGI("main", "send can id: 0x00001874 hex: %x %x %x %x %x %x %x %x", can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7], can_mesg[8]);
                return {can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7], can_mesg[8]};




binary_sensor:
  - platform: template
    id: bms_charging_comp
    internal: true

  - platform: template
    id: bms_charging_bulk
    internal: true
    lambda: |-
      if ((id(fv_baterie2_soc).state <= 98) && (id(bms_charging_comp).state == true)) {
        id(bms_charg_v).publish_state(550);
        id(bms_charging_comp).publish_state(false);
        return true; 
        } else {
        return false;
        }

  - platform: template
    id: bms_charging_float
    internal: true
    lambda: |-
      if ((id(fv_baterie2_soc).state == 100) && (id(fv_baterie2_charging_power).state < 50)  && (id(bms_charging_comp).state == true)) {
        id(bms_charg_v).publish_state(536);
        id(bms_charging_comp).publish_state(false);
        return true; 
        } else {
        return false;
        }

sensor:
  - platform: jbd_bms
    charging_power:
      name: "${name} mabíjecí výkon"
      id: fv_baterie2_charging_power
    state_of_charge:
      name: "${name} stav nabití SOC"
      id: fv_baterie2_soc
    total_voltage:
      name: "${name} celkové napětí"
      id: fv_baterie2_complete_voltage
 
  - platform: template
    name: "bms_charg_v"
    id: bms_charg_v
    internal: true
mobilní elektrárna 3x Uni-solar PVL-68, 3x MPP modul, vše řízené přes arduino
doma 3280 Wp JV, 2460 Wp JZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
?
PetrDubi
podporuje fórum
 
Příspěvky: 774
Registrován: úte říj 12, 2021 9:43 am
Bydliště: Blízko Ústí nad Labem


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PavlikT » pát bře 24, 2023 8:37 pm

Skvělé! Moc děkuji. Dal jsem hned bodík ;-) Jak budu mit zejtra čas, tak to hned prubnu. Už dlouho hledám podobné řešení, aby měnič o baterce věděl. Zatim to mám přes Solar-assistant, ale pořád ta komunikace tomu chybí... I když aspoň vidím oba batery packy. Takhle to bude dokonalé :-D Mám dva Battery packy (oba JBD, ale rozdilne generace). Mysliš, že menič si může povídat se dvěma zároveň, když bude mít druha bms_num_pack =2? Nebo uvažuji špatně?
?
PavlikT
 
Příspěvky: 35
Registrován: pon lis 09, 2020 9:35 pm


Re: Axpert Max-komunikace RS485 s BMS JBD-AP20S003-P20S-200A

Příspěvekod PetrDubi » pát bře 24, 2023 10:06 pm

Ahoj,
možná jo, nezkoušel jsem to. Ale dal jsem to na baterku s novější BMS, která měří prakticky od nuly, protože to SOC je na ní přesnější.
Jinak není problém si to z jediný baterky s ESPhome přetáhnout do druhý baterky s ESPhome, už to takhle na některých zařízeních mám udělaný (všechny sensory je možný použít i v jiných zařízeních s ESPhome). Mám takhle vlastně přetáhnutý i SOC a napětí nejvybitějšího článku z téhle BMS do té první, protože ta první podle stavu baterií vypíná přes relátko měnič.
mobilní elektrárna 3x Uni-solar PVL-68, 3x MPP modul, vše řízené přes arduino
doma 3280 Wp JV, 2460 Wp JZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
?
PetrDubi
podporuje fórum
 
Příspěvky: 774
Registrován: úte říj 12, 2021 9:43 am
Bydliště: Blízko Ústí nad Labem


Předchozí

Zpět na Axpert

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků

Reputation System ©'