MUST a CANBUS batérie
Souhrn tématu
MUST měniče podporují ovládání BMS přes CANBUS protokol, což umožňuje využití SoC pro přesnější řízení baterií. Konfigurace YAML pro MUST PV1800 inverter ukazuje, jak posílat CAN zprávy s aktuálním stavem baterie, včetně SoC, SOH, napětí, proudu a teploty. Použití SoC z BMS pomáhá předcházet přepnutí měniče do bypass režimu při poklesu napětí, i když je stav nabití stále relativně vysoký.
- tRp
- Příspěvky: 110
- Registrován: čtv kvě 05, 2022 6:32 pm
- Reputace:14
Re: MUST a CANBUS batérie
Jak mas napsany kod pro vypis CAN frame? (pro cteni z CANBUSu)
- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Nechal som tam len výpis na konzolu, ale ani ťuk.tRp píše:Jak mas napsany kod pro vypis CAN frame? (pro cteni z CANBUSu)
Kód: Vybrat vše
canbus:
- platform: esp32_can
rx_pin: GPIO35
tx_pin: GPIO33
can_id: 0x1fff
id: canbusmust
use_extended_id: true
bit_rate: 100kbps
on_frame:
- can_id: 0x0cc20201
use_extended_id: true
then:
- lambda: |-
ESP_LOGI("main", "CAN msg 0x0cc20201 received");
//float can_napatie_bat = ((int)(x[1]) << 8) + x[0];
//can_napatie_bat = can_napatie_bat / 10;
//id(napeti_baterie).publish_state(can_napatie_bat);
//ESP_LOGI("main", "CAN napatie baterie: can_napatie_bat");
- can_id: 0x0cc10201
use_extended_id: true
then:
- lambda: |-
ESP_LOGI("main", "CAN msg 0x0cc10201 received");
//float can_napatie_pv = ((int)(x[1]) << 8) + x[0];
//can_napatie_pv = can_napatie_pv / 10;
//ESP_LOGI("main", "CAN napatie panelov: can_napatie_pv");
//float can_vykon_pv = ((int)(x[7]) << 8) + x[6];
//ESP_LOGI("main", "CAN vykon panelov: can_vykon_pv");
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Skúsim ešte druhý receiver, iný pin a potom napichnem na RX pin Saleae Logic 
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- tRp
- Příspěvky: 110
- Registrován: čtv kvě 05, 2022 6:32 pm
- Reputace:14
Re: MUST a CANBUS batérie
TomHC píše:Nechal som tam len výpis na konzolu, ale ani ťuk.tRp píše:Jak mas napsany kod pro vypis CAN frame? (pro cteni z CANBUSu)Kód: Vybrat vše
canbus: - platform: esp32_can rx_pin: GPIO35 tx_pin: GPIO33 can_id: 0x1fff id: canbusmust use_extended_id: true bit_rate: 100kbps on_frame: - can_id: 0x0cc20201 use_extended_id: true then: - lambda: |- ESP_LOGI("main", "CAN msg 0x0cc20201 received"); //float can_napatie_bat = ((int)(x[1]) << 8) + x[0]; //can_napatie_bat = can_napatie_bat / 10; //id(napeti_baterie).publish_state(can_napatie_bat); //ESP_LOGI("main", "CAN napatie baterie: can_napatie_bat"); - can_id: 0x0cc10201 use_extended_id: true then: - lambda: |- ESP_LOGI("main", "CAN msg 0x0cc10201 received"); //float can_napatie_pv = ((int)(x[1]) << 8) + x[0]; //can_napatie_pv = can_napatie_pv / 10; //ESP_LOGI("main", "CAN napatie panelov: can_napatie_pv"); //float can_vykon_pv = ((int)(x[7]) << 8) + x[6]; //ESP_LOGI("main", "CAN vykon panelov: can_vykon_pv");
Zkopiroval jsem tento kousek kodu do meho:
Kód: Vybrat vše
- can_id: 0x0cc20201
use_extended_id: true
then:
- lambda: |-
ESP_LOGI("main", "CAN msg 0x0cc20201 received");
//float can_napatie_bat = ((int)(x[1]) << 8) + x[0];
//can_napatie_bat = can_napatie_bat / 10;
//id(napeti_baterie).publish_state(can_napatie_bat);
//ESP_LOGI("main", "CAN napatie baterie: can_napatie_bat");Kód: Vybrat vše
[20:30:57][D][canbus:067]: received can message (#1) extended can_id=0xcc20201 size=8
[20:30:57][I][main:476]: CAN msg 0x0cc20201 received- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Takže dnes nastal čas pre logický analyzátor, a na CAN zbernici nie je nič okrem packetov ktoré posielam ja z ESP32. Pekne vidieť, že idú v sekundových intervaloch, ale inak tam nie je nič. Možno by to chcelo odpojiť ESP8266 z RS485 zbernice, neviem či vedia fungovať paralelne. Alebo reštartovať menič, ale to je trochu problém, lebo je na ňom zavesený celý dom.
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- tRp
- Příspěvky: 110
- Registrován: čtv kvě 05, 2022 6:32 pm
- Reputace:14
Re: MUST a CANBUS batérie
Zkoušel jsi "pověsit" analyzátor přímo na měnič (bez připojeného ESP a CANBus modulu) ?
- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Ešte nie, bol rodinný víkend, možno dnes - https://support.saleae.com/protocol-ana ... ltage-datatRp píše:Zkoušel jsi "pověsit" analyzátor přímo na měnič (bez připojeného ESP a CANBus modulu) ?
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Takže len takýto bordeltRp píše:Zkoušel jsi "pověsit" analyzátor přímo na měnič (bez připojeného ESP a CANBus modulu) ?
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- vinwareznic
- Příspěvky: 5
- Registrován: pát srp 25, 2023 7:03 am
- Reputace:0
- Lokalita: Ukraine
- Systémové napětí: 48V
- Výkon panelů [Wp]: 5520
- Kapacita baterie [kWh]: 5.0kW
Re: MUST a CANBUS batérie
Hezký den všem.
může někdo sdílet canbus.send
jaké parametry posíláte pro MUSÍ invertor
Aktuální SOC, SOH.
Skutečné volty, ampéry, tep
?
může někdo sdílet canbus.send
jaké parametry posíláte pro MUSÍ invertor
Aktuální SOC, SOH.
Skutečné volty, ampéry, tep
?
- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Kód: Vybrat vše
- canbus.send:
use_extended_id: true
can_id: 0x00030500
canbus_id: canbusmust
data: !lambda |-
uint8_t can_mesg[8];
can_mesg[0] = uint16_t(id(ha_batt_soc).state) & 0xff;
can_mesg[1] = uint16_t(id(ha_batt_soc).state) >> 8 & 0xff;
can_mesg[2] = 0x00;
can_mesg[3] = 0x64; // SoH = 100%
can_mesg[4] = uint16_t(id(ha_batt_soc).state * 100) & 0xff;
can_mesg[5] = uint16_t(id(ha_batt_soc).state * 100) >> 8 & 0xff;
ESP_LOGI("main", "Sending CAN ID: 0x00030500 hex: %02X %02X %02X %02X %02X %02X %02X %02X", can_mesg[0], can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7]);
return {can_mesg[0], can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7]};
# SOC 80 SOH 95 HiRes SOC reserved
# {0x00, 0x50, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00};
# HiRes SOC 0.01%Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- vinwareznic
- Příspěvky: 5
- Registrován: pát srp 25, 2023 7:03 am
- Reputace:0
- Lokalita: Ukraine
- Systémové napětí: 48V
- Výkon panelů [Wp]: 5520
- Kapacita baterie [kWh]: 5.0kW
Re: MUST a CANBUS batérie
předáte pouze 0x00030500
a jako 0x00030400 (odeslání BMS, 0x00030400 (odeslání BMS)
a jako 0x00030400 (odeslání BMS, 0x00030400 (odeslání BMS)
Kód: Vybrat vše
interval:
- interval: 1000ms
then:
- lambda: |-
ESP_LOGI("main", "capacity_remaining: %f, charging_cycles: %f, total_voltage: %f, current: %f, temperature_sensor_1: %f, temperature_sensor_2: %f",
id(capacity_remaining).state, id(charging_cycles).state, id(total_voltage).state, id(current).state, id(temperature_sensor_1).state, id(temperature_sensor_2).state);
- canbus.send: # Actual SOC, SOH
use_extended_id: true
can_id: 0x00030500
data: !lambda |-
int soh = round(((id(charging_cycles).state/${max_cycles})-1)*-100);
uint8_t can_mesg[8] = {0};
can_mesg[0] = uint16_t(id(capacity_remaining).state) & 0xff;
can_mesg[1] = uint16_t(id(capacity_remaining).state) >> 8 & 0xff;
can_mesg[2] = soh & 0xff;
can_mesg[3] = soh >> 8 & 0xff;
ESP_LOGI("main", "send can id: 0x00030500 hex: %x %x %x %x", can_mesg[0], can_mesg[1], can_mesg[2], can_mesg[3]);
return {can_mesg[0], can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7]};
- delay: 10ms
- canbus.send: # Actual Volts, Amps, Temp
can_id: 0x00030400
use_extended_id: true
data: !lambda |-
uint8_t can_mesg[8] = {0};
// Запис Battery Voltage (байти 1 та 2), масштаб 0.1V
can_mesg[0] = uint16_t(id(total_voltage).state * 10) & 0xff; // Молодший байт напруги
can_mesg[1] = uint16_t(id(total_voltage).state * 10) >> 8 & 0xff; // Старший байт напруги
// Запис Battery Current (байти 3 та 4), масштаб 0.1A
can_mesg[2] = int16_t(id(current).state * 10) & 0xff; // Молодший байт струму
can_mesg[3] = int16_t(id(current).state * 10) >> 8 & 0xff; // Старший байт струму
// Запис Battery Temperature (байти 5 та 6), масштаб 1°C
int temperature = max(id(temperature_sensor_1).state, id(temperature_sensor_2).state);
can_mesg[4] = int16_t(temperature) & 0xff; // Молодший байт температури
can_mesg[5] = int16_t(temperature) >> 8 & 0xff; // Старший байт температури
// Запис Error and Warning (байти 7 та 8) - залишаємо як 0, якщо немає помилок
can_mesg[6] = 0x00;
can_mesg[7] = 0x00;
// Лог для перевірки перед відправкою
ESP_LOGI("main", "send can id: 0x00030400 hex: %x %x %x %x %x %x %x %x", can_mesg[0], can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7]);
// Відправлення повідомлення
return {can_mesg[0], can_mesg[1], can_mesg[2], can_mesg[3], can_mesg[4], can_mesg[5], can_mesg[6], can_mesg[7]};
- delay: 10ms
- lambda: |- # Detect no CAN reply
if (id(can_305_rx) > 30) {
ESP_LOGI("main", "No rx can 0x305 reply, Inverter not connected/responding, Rebooting...");
id(restart_button).press();
} else {
id(can_305_rx) ++;
}
- vinwareznic
- Příspěvky: 5
- Registrován: pát srp 25, 2023 7:03 am
- Reputace:0
- Lokalita: Ukraine
- Systémové napětí: 48V
- Výkon panelů [Wp]: 5520
- Kapacita baterie [kWh]: 5.0kW
Re: MUST a CANBUS batérie
četl jsem zde https://github.com/Sleeper85/esphome-yambms
vypadá to, že se provádí nějaká automatizace
ale nepodporují MUST protokol
to je v podstatě to, co se snažím udělat pro MUST
vypadá to, že se provádí nějaká automatizace
ale nepodporují MUST protokol
to je v podstatě to, co se snažím udělat pro MUST
- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Obávam sa, že ti vôbec nerozumiem...
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- vinwareznic
- Příspěvky: 5
- Registrován: pát srp 25, 2023 7:03 am
- Reputace:0
- Lokalita: Ukraine
- Systémové napětí: 48V
- Výkon panelů [Wp]: 5520
- Kapacita baterie [kWh]: 5.0kW
Re: MUST a CANBUS batérie
Můžete sdílet
k čemu využíváte celý canbus.send
all config yaml?
k čemu využíváte celý canbus.send
all config yaml?
- TomHC
- Příspěvky: 4288
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:991
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 10650
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: MUST a CANBUS batérie
Celý yaml sem určite nedám. Canbus.send je predsa na odoslanie CAN packetu, komentáre a názvy premenných sú dosť popisné.
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 11 kWp V+J+Z | 600 Ah LiFePO4 s BMS JBD 200A | SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT... | HW: ESPlan (ESP32 + LAN 8720 + RS485).
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
Kdo je online
Uživatelé procházející toto fórum: Claudebot [Bot]
