Seite 1 von 1

MPPT in Software

BeitragVerfasst: Di 20. Apr 2010, 20:40
von bernhard8
Kann mir jemand von euch einen (simplen) Algorithmus zum Auffinden dieses Arbeitspunktes sagen (mal ganz einfach in Worten)?

Ich könnte mir vorstellen (simpler Gedankengang von mir):
Status speichern:
* letzte Aktion war: P++ oder P--
* letzte bekannte Leistung war POLD

Aktuelle Leistung ist PCUR
P++ bedeutet: mehr Leistung als PCUR abnehmen
P-- bedeutet: weniger Leistung als PCUR abnehmen

If (PCUR > POLD) {
// -> gleiche Aktion wie vorher nochmal probieren
if (P++) {
P++;
} else {
P--;
}
} else {
// -> gegenteilige Aktion von vorher probieren
if (P++) {
P--;
} else {
P++;
}
}

Der Vorgang muss natürlich ständig ziemlich flott wiederholt werden (schneller als sich der Windzustand ändert).

Das ganze kommt mir aber ziemlich (zu) einfach vor. Das ganze sollte vermutlich erst ab einer gewissen Drehzahl anfangen.

Re: MPPT in Software

BeitragVerfasst: Di 20. Apr 2010, 23:13
von andreas
Hallo Bernhard,

mehr ist eigentlich nicht dran. Im Sinne einer schnellen Reaktion könnte man noch den Abstand vom aktuellen zum letzten Wert auswerten und ggf. eine größere Schrittweite für die Korrektur einsetzen, um den Zielwert schneller zu erreichen. Oder aber eine kleinere, um noch genauer an den Zielwert heran zu fahren. Das ist aber bloß klassische Regelungstechnik und sicher nichts Neues...

MfG. Andreas

Re: MPPT in Software

BeitragVerfasst: Mi 21. Apr 2010, 10:41
von jb79
Hallo!

Die Drehzahl ist eigentlich irrelevant, weil vom Generator abhängig. Besser würde ich die Generatorspannung finden.

Du solltest auch einige zusätzliche Parameter berücksichtigen:
maximale Akkuspannung, sonst wird der Akku einfach überladen und könnte zerstört werden.
Eingangsspannung<Akkuspannung (da braucht man garnix tun)
Initialwerte, mit denen mal grob begonnen wird.

Init:
Ausgangsleistung = 0
Ausgangsspannung_max=14,4V
Eingangsspannung messen
Ausgangsspannung messen
While (Ausgangsspannung>Eingangsspannung) goto Init
PWM=Ausgangsspannung/Eingangsspannung # evtl. noch mit Korrekturfaktor, weil die Formel keine Verluste berücksichtigt.
Start:
Eingangsspannung, Ausgangsspannung und Ausgangsstrom messen
if (Ausgangsspannung>Eingangsspannung) goto Init
Ausgangsleistung berechnen
if (Ausgangsleistung>Ausgangsleistung_alt)
{ if (Ausgangsspannung>=Ausgangsspannung_max)
else PWM++
}
else PWM--
Ausgangsleistung_alt=Ausgangsleistung
goto Start

Hier findest du das Ganze fertig als C-File für einen PIC, das Programm ist ganz unten.

Re: MPPT in Software

BeitragVerfasst: Mi 21. Apr 2010, 21:38
von bernhard8
Feines Tutorial. Ich hoffe ich komme bald dazu so einen Algorithmus auszuprobieren.