Mppt häviöt kun itä-länsi kohteessa käytetään vain yhtä MPPT:tä

dbwarrior

Vakionaama
Onko kukaan kokeillut itä-länsi lape kompon ajamista yhdellä MPPT:llä ?
Kun sain tuon halvan Helenin poistomyynti Sungrow niin siinähän on 2 mppt:tä joissa toisessa tupla tulot(PV1 ja PV2 == Mppt1).
Tarkoitus on kytkeä tuohon Mppt1:een nuo päivitetyt itä-länsi lappeet. MPPT:n clippaus raja virran puolesta riittää hienosti(27,5a)
Siihen toiseen MPPT:seen sitten tulee etelään suunnattu raja-aita noista katolta poistuneista 330wp halfcut paneeleista(16kpl).

Simuloin 2024 tuotanto kauden nykyisen Solaxin logeilla "worst-case" scenariolla ja päädyin noin 3% "tappioon". useat studyt ovat päätyneet isompiin, mutta olen tyytyväinen jos ei mitään 10% droppia tule.
Tämä worst case tarkoitti sitä, että laskennassa aina valittiin kahdesta MPPT tulon matalempi MPPT jännite ja tietty virtojen summa, kuitenkin niin että huomioitiin tietyt erityis tilanteet jossa tuo malli ei ole maksimi. Näinhän se MPPT pyrkii tekemään. Kaivaa sen pisteen jossa suurin teho(jotku onnistuu paremmin kuin toiset).

Esim algorytmistä joka "mallinsi" yhden MPPT:n problematiikka:
Mppt1=180V 6,4a
Mppt2=230V 0,4a
Niin 180v*6,8a jolloin takkiin yhden mppt käyttöstä 50v*0,4a=20w joka on 1,6% 1232w optimista.

tai
Mppt1=260V 6,4a
Mppt2=200V 0,8a
Niin 260v*6,4a(1664w mppt1:stä) jolloin takkiin tulee yhden mppt käyttöstä 200v*0,8a=160w joka on 9,6% 1824w optimista.

Sehän on selvä, ettei tämä mikään tuotto ennuste ole mutta sen verran positiivinen ennuste että pitää kokeilla.

Tässä vielä python jonka iteroin chatgptn:n kanssa käyttäen tällaisia case esimerkkejä:
1743832977459.png



Koodi:
import pandas as pd
import numpy as np

def valitse_single_mppt(input_csv, output_csv):
    """
    Lasketaan kolme erilaista tehovaihtoehtoa:
    1) Total PV Power (molemmat MPPT:t)
    2) Power if higher-power MPPT adjusted down to lower voltage (sum current)
    3) Power if lower-power MPPT skipped (use higher MPPT normally)
    Lopuksi valitaan tehokkain vaihtoehto ja lasketaan Single MPPT -arvot.
    """

    df = pd.read_csv(input_csv, sep=';', decimal=',', engine='python')

    # Oletus: sarakenimet
    v1 = df["PV1 Voltage (V)"]
    i1 = df["PV1 Current (A)"]
    v2 = df["PV2 Voltage (V)"]
    i2 = df["PV2 Current (A)"]

    # Lasketaan tehot
    p1 = v1 * i1
    p2 = v2 * i2

    total_pv = p1 + p2
    adjust_down = []
    skip_lower = []
    final_v = []
    final_i = []
    final_p = []

    for idx in range(len(df)):
        pv1_v, pv1_i = v1.iloc[idx], i1.iloc[idx]
        pv2_v, pv2_i = v2.iloc[idx], i2.iloc[idx]
        mppt1_p, mppt2_p = p1.iloc[idx], p2.iloc[idx]

        if pd.isna(pv1_v) or pd.isna(pv1_i) or pd.isna(pv2_v) or pd.isna(pv2_i):
            adjust_down.append(np.nan)
            skip_lower.append(np.nan)
            final_v.append(np.nan)
            final_i.append(np.nan)
            final_p.append(np.nan)
            continue

        # Selvitä kumpi MPPT on tehokkaampi
        if mppt1_p >= mppt2_p:
            high_p, high_v, high_i = mppt1_p, pv1_v, pv1_i
            low_p,  low_v,  low_i  = mppt2_p, pv2_v, pv2_i
        else:
            high_p, high_v, high_i = mppt2_p, pv2_v, pv2_i
            low_p,  low_v,  low_i  = mppt1_p, pv1_v, pv1_i

        # 1. Adjust-down: molempien virtojen summa, jännite matalampi
        adj_p = low_v * (high_i + low_i)
        adjust_down.append(adj_p)

        # 2. Skip-lower: käytä tehokkaampaa normaalisti
        skip_p = high_v * high_i
        skip_lower.append(skip_p)

        # Valitaan tehokkain
        if adj_p >= skip_p:
            chosen_v = low_v
            chosen_i = high_i + low_i
            chosen_p = adj_p
        else:
            chosen_v = high_v
            chosen_i = high_i
            chosen_p = skip_p

        final_v.append(chosen_v)
        final_i.append(chosen_i)
        final_p.append(chosen_p)

    # Lisätään sarakkeet
    df["MPPT1_W"] = p1
    df["MPPT2_W"] = p2
    df["Total_PV"] = total_pv
    df["power_IF_adjusting_down"] = adjust_down
    df["power_IF_skipping_lower"] = skip_lower
    df["Single MPPT Voltage (V)"] = final_v
    df["Single MPPT Current (A)"] = final_i
    df["Single MPPT Power (W)"]   = final_p

    df.to_csv(output_csv, sep=';', decimal=',', index=False)
    print(f"✅ Tallennettu: {output_csv}")

# Pääohjelma
if __name__ == "__main__":
    valitse_single_mppt("tiedosto.csv", "analyysi_single_mppt_final.csv")
 

fraatti

Hyperaktiivi
Eikös itä länsi asennuksessa ketjut pitäisi asentaa rinnakkain jos ne haluaa pitää samassa mppt:ssä? Molempiin ketjuihin sitten samanlainen määrä paneeleita myös?

Simulointi onnistuu helposti pv sol premiumilla ja ainakin ennen siitä on saanut trial version ladattua ilmaiseksi. Usein invertterivalmistajankin sivuilta löytyy sellainen.
 

dbwarrior

Vakionaama
  • Keskustelun aloittaja
  • #3
Tuota rinnakytkentää tuossa just simuloidaan.
Pvsol on tuttu ja se näytti niin kohtuullisia häviötä niin oli pakko tehdä harjoitus omiin logeihin perustuen
 
Back
Ylös Bottom