logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Migający OpenBKN na mikroinwerterze solarnym ECGSOLAX 600W z chipem BK7231N

Zogdan 13 Lut 2025 23:52 1278 5
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • Pomocny post
    #1 21438650
    Zogdan
    Poziom 10  
    Posty: 25
    Pomógł: 6
    Ocena: 13
    Mikroinwerter solarny ECGSOLAX 600W z WiFI Grid Tie Pure Sine Wave Inverter MPPT działający 20-50V Wyjście 220V Mikroinwerter

    Jest to ekonomiczny (70 euro) falownik solarny. Jakość wykonania jest OK jak na swoją cenę. Nie powiem jednak nic o zabezpieczeniach.

    Działa na platformie Tuya i ma układ BK7231N, więc zdecydowanie niezły kandydat.

    Przed flashowaniem na ślepo OpenBKN, najpierw zdobądźmy trochę informacji:

    Kod: JSON
    Zaloguj się, aby zobaczyć kod


    W eksploratorze API : Query Things Data Model
    Kod: JSON
    Zaloguj się, aby zobaczyć kod



    Kod: JSON
    Zaloguj się, aby zobaczyć kod


    Tabela instrukcji

    Instrukcja DP -> Standardowa instrukcja
    forward_energy_total -> forward_energy_total
    reverse_energy_total -> reverse_energy_total
    pv1_dc_data -
    phase_a -
    power_total power_total
    inverter_type -
    inverter_id -
    temp_current temp_current
    kg -
    glsz -

    GLSZ = ustawiona moc 5 - 25 - 50 - 75 - 100%
    kg = przełącznik falownika

    Dodano po 1 [min]:

    >>21438650
    Widok wnętrza mikroinwertera solarnego z elementami elektronicznymi.

    Zbliżenie na płytkę elektroniczną mikroinwertera z nieczytelnymi szczegółami chipu.

    Czarny mikroinwerter solarny ECGSOLAX GT-600 z kilkoma złączami, oznaczeniami 600W i 200V, oraz logo UE na górze obok napisu dotyczącego dostawy.

    Zbliżenie na chip mikroinwertera z oznaczeniem modelu CBU i serii GTB.

    Dodano po 13 [minutach]:

    08 80 00 03 E8 00 27 10Now this is a kind of thing that I don't like that much:

    1. Faza A napięcia przemiennego, prądu i mocy.
    2. Tryb big-endian, format HEX, łącznie 8 bajtów.
    3. Precyzja jednostek: Napięcie (2 bajty, jednostka 0,1 V), Prąd (3 bajty, jednostka 0,001 A), Moc czynna (3 bajty, jednostka 0,001 kW).
    4. Przykład: 08 80 00 03 E8 00 27 10 reprezentuje napięcie fazy A 217,6V, prąd 1,000A, moc
    10.000KW.
    5. Logika komunikacji:
    A. Po pomyślnym skonfigurowaniu sieci MCU zgłasza te dane.
    B. Falownik okresowo zgłasza te dane. Sugestia: Raportowanie co 1 minutę w trybie Wi-Fi i co 1 godzinę w trybie NB.

    Wygląda to więc trochę tak, jakbyśmy musieli majstrować przy tuyaMcu_defWiFiState
    Ponadto chcielibyśmy coś takiego

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • REKLAMA
  • #3 21442791
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14586
    Pomógł: 654
    Ocena: 12608
    Bardzo interesujące urządzenie. Zauważyłem również ten fragment:
    Zogdan napisał:
    .
    A. Kiedy konfiguracja sieci się powiedzie, MCU zgłasza te dane.

    Może ma to związek z moim ostatnim odkryciem dotyczącym pinu LED WiFi?
    https://www.elektroda.com/rtvforum/topic4089722.html

    Więc widzę, że w zasadzie musisz dodać tutaj format surowego pakietu?
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/src/driver/drv_tuyaMCU.c
    Wyszukaj DP_TYPE_RAW_TAC2121C_VCP w tym pliku.
    Możemy go łatwo dodać i zbudować pliki binarne za pomocą kompilacji online: https://www.elektroda.com/rtvforum/topic4033833.html
    Możesz również edytować kod samodzielnie, jeśli masz konto Github.


    Dodano po 59 [sekundach]:

    Chwileczkę, czy format napięcia/prądu/mocy nie jest już zgodny z DP_TYPE_RAW_TAC2121C_VCP?
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #4 21442794
    Zogdan
    Poziom 10  
    Posty: 25
    Pomógł: 6
    Ocena: 13
    Płytka wyłącznika pomiaru mocy wykorzystuje BL0937, więc wypróbuję ją jako pierwszą.

    Zbliżenie płytki drukowanej z układem scalonym BL0937 oraz przylutowanymi przewodami.

    Dodano po 2 [minutach]:

    tuyaMcu_defWiFiState 4 zatrzymuje BK i dioda LED zaczyna szybko migać. Wypróbuję inne stany wifi.

    Dodano po 10 [minutach]: .

    >>21442794 Właściwie kupiłem to jako "zestaw startowy" do korzystania z openbkn na podobnym falowniku, który ma odbiornik 433 MHz podłączony do CBU, sparowany z miernikiem mocy 433 w celu dławienia zasilania falownika, tak aby nie było wtrysku netto. Ten falownik obsługuje dławienie, ale zabawa z tym ("5", "25", "50", "75", "100") jest co najmniej dziwna, ponieważ o jakim % mówimy? O mocy znamionowej? Zmieniając ten parametr nie zauważyłem żadnej zauważalnej zmiany w mocy PV lub mocy wyjściowej.

    Dodano po 8 [minutach]: .

    >>21442794 >>21442791 Dzięki, prześledzę czarną/czerwoną linię, wygląda na to, że to tylko zasilanie, a płytka podłącza tylko bocznik .001 do pomiaru, więc zastanawiam się, jak w ogóle działa ten % mocy wyjściowej. Być może jest to zdefiniowane w tuya, ale nie zaimplementowane w sprzęcie? Albo po prostu używają ogólnego szablonu tuya, który tak naprawdę nie działa? Nie byłby to pierwszy raz, kiedy widzimy niezgodność.
  • REKLAMA
  • Pomocny post
    #5 21444287
    Zogdan
    Poziom 10  
    Posty: 25
    Pomógł: 6
    Ocena: 13
    Po uruchomieniu TuyaMCU widzimy pewną aktywność, ale potem nie widać dalszej aktywności i CBU zatrzymuje się.

    Zgłoszono: id 101 (przełącznik), id 102 (moc %), 15 (model urządzenia), 16 (identyfikator urządzenia)

    Wyświetlanie komunikatów TuyaMCU w formacie tekstowym

    Info:CMD:[WebApp Cmd 'startdriver TuyaMCU' Wynik] OK

    Info:TuyaMCU:Zużyto 51 niechcianych bajtów bez nagłówka w buforze Tuya MCU
    Info:TuyaMCU:Pominięte dane (część) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E0

    Info:TuyaMCU:Odebrane: 55 AA 03 01 00 2A 7B 22 50 22 3A 22 63 7A 75 37 79 6E 6F 73 72 6B 78 67 62 6E 73 62 22 2C 22 76 22 3A 22 31 2E 30 2E 30 22 2C 22 6D 22 3A 30 7D 82

    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 1 (QueryProductInformation) len 49
    Info:TuyaMCU:P arseQueryProductInformation: received {"P": "czu7ynosrkxgbnsb", "v": "1.0.0", "m":0}

    Info:TuyaMCU:Odebrano: 55 AA 03 02 00 00 04
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 2 (MCUconf) len 7
    Info:TuyaMCU:P rocessIncoming: TUYA_CMD_MCU_CONF, TODO!

    Info:TuyaMCU:Odebrane: 55 AA 03 07 00 05 65 01 00 01 00 75
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 7 (State) len 12
    Info:TuyaMCU:P arseState: id 101 type 1-bool len 1
    Info:TuyaMCU:P arseState: byte 0
    Info:TuyaMCU:Odebrano: 55 AA 03 07 00 05 66 04 00 01 00 79
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 7 (State) len 12
    Info:TuyaMCU:P arseState: id 102 type 4-enum len 1
    Info:TuyaMCU:P arseState: byte 0
    Info:TuyaMCU:Odebrano: 55 AA 03 07 00 0E 0F 03 00 0A 47 54 42 20 73 65 72 69 65 73 BB
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 7 (State) len 21
    Info:TuyaMCU:P arseState: id 15 type 3-str len 10
    Info:TuyaMCU:Odebrane: 55 AA 03 07 00 0A 10 03 00 06 31 30 31 35 35 35 5D
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 7 (State) len 17
    Info:TuyaMCU:P arseState: id 16 type 3-str len 6
    Info:TuyaMCU:Odebrano: 55 AA 03 34 00 01 04 3B
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 52 (TUYA_CMD_REPORT_STATUS_RECORD_TYPE) len 8
    Info:TuyaMCU:0x34 polecenie 4
    Info:TuyaMCU:Odebrano: 55 AA 03 00 00 01 01 04
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 0 (Hearbeat) len 8
    Info:TuyaMCU:Odebrano: 55 AA 03 03 00 00 05
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 3 (WiFiState) len 7

    Info:MQTT:mqtt_host pusty, nie uruchomiono mqtt

    Info:TuyaMCU:Odebrano: 55 AA 03 00 00 01 01 04
    Info:TuyaMCU:P rocessIncoming[v=3]: cmd 0 (Hearbeat) len 8

    Dodano po 40 [minutach]:

    Ok dowiedzmy się co robi ten domniemany kabel zasilający. .


    Zbliżenie na płytkę drukowaną z podłączonymi kablami.

    to wydaje się dostarczać moc do modułu pomiaru mocy / CBU, ale zgadnij co: 0 woltów podczas pracy.

    To jest odpowiednie połączenie z płytą główną:


    Zbliżenie na płytkę drukowaną z elementami elektronicznymi i okablowaniem

    To mi wygląda na linię zasilania, ale z napięciem 0v ?

    To nie jest zabawa w rozbieranie, więc prawdopodobnie moduł może mieć własne zasilanie, ponieważ jest przylutowany tylko do L-N-N, mając 220v między L-N i N-N jest bocznikiem.


    Zbliżenie płytki drukowanej z widocznym układem scalonym BL0937 oraz przylutowanymi przewodami.


    5V-GND jest również 0v.

    Zastosowanie transoptora ORPC-817SC-TP-F nie jest jasne

    Schemat połączeń wewnętrznych transoptora

    Ładowanie sterownika BL0937 nie powoduje awarii CBU, ale też nic nie jest wyświetlane.

    Poważnie zastanawiam się, w jaki sposób procesor płyty głównej w ogóle komunikuje się z płytą BL / CBU.

    Dodano po 24 [minutach]: .

    Ok krok dalej: .

    Wygląda na to, że muszę wydać
    backlog startdriver TuyaMCU; tuyaMcu_defWiFiState 4;
    aby czas między uruchomieniem sterownika a ustawieniem WiFistate był krótki?

    1, Całkowita energia aktywna do przodu
    2, Całkowita energia czynna wstecz
    3 ,Wejście
    7, Wyjście
    10, Całkowita moc
    15, Typ falownika
    16, ID falownika
    18, Temperatura falownika
    101, przełącznik falownika
    102, Ustawienie mocy wyjściowej

    Otrzymujemy wszystkie dane z wyjątkiem temperatury:


    Tabela danych kontrolera TuyaMCU pokazująca różne identyfikatory i wartości.

    Sprawdźmy dane tuya dla id 7

    Cytat:
    55 AA 03 07 00 0E 07 00 00 0A 08D200000000000001F4 F7
    HEADER VER=03 State LEN fnId=7 Raw V=08 D2 00 00 00 00 00 00 01 F4 CHK


    Postępując zgodnie z "instrukcjami" dla ID 7 na początku tego postu, zdekodujmy dostarczone dane HEX:

    HEX Input:
    08 D2 00 00 00 00 00 01 F4

    Napięcie: 2 bajty (jednostka: 0,1 V)
    Prąd: 3 bajty (jednostka: 0,001 A)
    Moc: 3 bajty (jednostka: 0,001 kW)

    Załóżmy, że istotna część to pierwsze 8 bajtów, a reszta to suma kontrolna

    Pierwsze 8 bajtów: 08 D2 00 00 00 00 00 00
    Napięcie (2 bajty) = 0x08D2 = 2258 * 0.1V = 225.8V
    Prąd (3 bajty) 0x000000 = 0 * 0.001A = 0.000A
    Moc (3 bajty) 0x000000 = 0 * 0.001KW = 0.000 kW

    To ma sens :) .

    Więc teraz podłączę go do zasilacza, aby uzyskać świeże dane tuya.
  • #6 21447064
    Zogdan
    Poziom 10  
    Posty: 25
    Pomógł: 6
    Ocena: 13
    Po prostu głośno myśląc, ogólne polecenie, takie jak
    splitanddecodehex( hexvalue, startbyte, length, format )
    miałoby sens

    np.
    $voltage = splitanddecodehex $CH7 3 2 INT

    Spróbuję
    linkTuyaMCUOutputToChannel 6 RAW_TAC2121C_VCP
    pierwszy
REKLAMA