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ä:
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ä:
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")