Forum: Mikrocontroller und Digitale Elektronik Verständnisproblem Maximum Power Tracker MPPT


von Henk (Gast)


Lesenswert?

Hallo,
für eine aktuelle Anwendung möchte ich einen MPPT an einer 45W 17V 
Solarzelle betreiben. ich habe da aber noch ein paar Probleme mit dem 
Verständnis der Wirkweise.

Ich möchte einen 12V Bleiakku laden, welcher jede Nacht  auf rund 25 bis 
33% entladen wird. Der MPPT sucht also um etwa 17Volt nach dem Punkt, an 
dem die Zelle die meiste Leistung abgibt und regelt dann auf welche 
Ausgangsspannung? Vmtl auf die voreingestellte Ladeschlussspannung? Was 
passiert, wenn der Akku geladen ist und er nahezu keinen Strom mehr 
aufnimmt? Was passiert, wenn das Panel völlig verschattet ist? wenn die 
Ausgangsspannung niedriger ist, als die eingestellte Ausgangsspannung 
wird einfach direkt durchgeschaltet richtig?
wie ist der einfachste Aufbau für solch einen Tracker in Sachen 
Hardware?

Möchte das ganze mit einem kleinen Mikrocontroller wie attiny13 
realisieren. Vom Programmcode sollte das sicherlich machbar sein, hab 
den Grundablauf dazu auch schon gefunden.

von Purzel H. (hacky)


Lesenswert?

Die Maximale Leistung abgeben bedeutet, da die Elektronik ja nichts fuer 
sich behaelt, automatsch, dass dschon die richtige ausgangsspannung 
erreicht wird. Das ist in der Tat einer festen Ladeschlussspannung 
widersprechend. Also rechnet man aufgrund des MPPT algorithmusses einen 
PWM. Dann, falls die maximale Ausgangsspnnung erreicht wurde, nimmt man 
den PWM zurueck. Diesem modewechsel muss man sich merken.

von Henk (Gast)


Lesenswert?

Also baue ich einen einfachen Step- Down- Wandler und muss dann in 
meinem Programmcode bei erreichen der Ladeschlussspannung die Suche nach 
dem Maximum Power Point beenden?!

von Εrnst B. (ernst)


Lesenswert?

Henk schrieb:
> Also baue ich einen einfachen Step- Down- Wandler und muss dann in
> meinem Programmcode bei erreichen der Ladeschlussspannung die Suche nach
> dem Maximum Power Point beenden?!

Genau. Wenn Uout < Uout_max, dann MPPT. Ansonsten: Aus oder 
Erhaltungsladung.

Und tu dir einen Gefallen und nimm einen Tiny25 \ 45 \ 85 statt dem 
Tiny13.
Mit Fast-PWM (über 64MHz PLL) kriegst du auch 250kHz oder 125kHz für den 
Step-Down hin => kleinere Drossel.
Und mit dem integriertem 20x ADC-Vorverstärker sparst du dir einen extra 
OpAmp, oder kommst mit einem viel kleinerem Shunt aus.

von Henk (Gast)


Lesenswert?

Ah ja, das ist eine gute Idee mit dem anderen Prozessor. Bei einem Step- 
Down schalte ich aber ja zyklich das Solarpanel an und aus? Dann kann 
doch aber bei einem DutyCycle von 50% die Leistungsausbeute niemals über 
50% liegen?
ich glaub es fehlt noch ein Stück des Puzzles in meinem Kopf. Nur Panel, 
Step- Down- Wandler und Akku können nicht reichen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Bei einem Step- Down schalte ich aber ja zyklich das Solarpanel an
> und aus? Dann kann doch aber bei einem DutyCycle von 50% die
> Leistungsausbeute niemals über 50% liegen?
Als kleine Denkhilfe:
Am Eingang eines Schaltwandlers ist ein Pufferkondensator.
Entweder fließt der Strom vom Panel in die Spule (Schalter ein) oder in 
den Eingangskondensator (Schalter aus). Es fließt aber immer Strom vom 
Panel in den Schaltwandler.

von Henk (Gast)


Lesenswert?

Achso ja, das hatte ich dann wohlmissachtet, war zu sehr auf die 
Prinzipschaltung fixiert 
http://www.sprut.de/electronic/switch/schalt.html#down

Ich messe also nun den Strom zwischen Eingangelko und Step-Down, sowie 
die Spannung dort und regele damit den Duty-Cycle Richtung höchster 
Leistung. Mir ist aber noch immer nicht recht klar, wie sich dann die 
gewollte Ausgangsspannung einstellt. In den "Prinziperklärungen" über 
MPPT wird immer nur gesagt, dass die Eingangsleistung die einzig 
wichtige Größe sei.

Wäre es nicht allgemein einfacher einen MPPT als Step-up von einer "12V- 
Zelle" auf beispielsweise 24V- Akkusystem aufzubauen?

von eProfi (Gast)


Lesenswert?

Du kannst das ganze auch von hinten aufziehen: PWM so regeln, dass die 
maximale Leistung herauskommt, darauf kommt es ja an.

Die Ausgangsspannung ergibt sich durch deren (nicht lineare) Kennlinie.

Ist eine Art Impedanzanpassung ("match box").
Ein sehr wichtiges (und dennoch oft unbedachtes) Thema bei allen 
Wirkungsgrad-Optimierungen, in allen Bereichen der Technik.



Ob du abwärts- oder aufwärts wandelst ist nahezu nebensächlich.


Teil-Abschattung ist ein wichtiger Punkt. Da gibt es sogar eine 
patentierte Schaltung (von www.ST.com), die das berücksichtigt. Jedes 
Solarmodul hat seinen eigenen Wandler, der so geregelt wird, dass am 
Gesamtausgang die maximale Leistung herauskommt.
Das Problem bei normaler Reihenschaltung ist nämlich, dass bei 
ungleicher Bestrahlung evtl. ein Großteil der geernteten Leistung im 
dunkelsten Modul in Wärme umgewandelt wird.
1. nicht gut für den Gesamtwirkungsgrad
2. gar nicht gut für die Lebensdauer des dunkelsten Modules.

Wird z.B. beim BMW-Werk München verwendet, da dort der benachbarte 
Olympiaturm die Module beschattet.
Hat hierfür jemad einen Link (konnte auf die Schnelle nichts finden)?

von Henk (Gast)


Lesenswert?

Ich arbeite erstmal nur mit einem Modul, daher ist das mit der 
Abschattung recht unproblematisch. Ich will die Schaltung ja auch so 
einfach und billigst wie irgendwie möglich halten um dann bei 
Erweiterung um weitere Module je eine Schaltung pro Modul einsetzen zu 
können und diese alle dann parallel auf einen Akku(satz) wirken zu 
lassen.

Aber das mit der Ausgangsspannung versteh ich leider noch immer nicht 
ganz. Normale Schaltregler versuchen ja eben gerade eine bestimmte 
Ausgangsspannung bei unbestimmter Eingangsspannung zu erreichen. Wenn 
ich nun nur auf Eingangsspannung bzw. Eingangsleistung regele ist der 
Stromfluss auf der sekundären Seite doch eigentlich "immer" lückend 
oder?

von avion23 (Gast)


Lesenswert?

Meine *Meinung*:
P_in ~= P_out bis auf Wirkungsgradverluste.

Angenommen, P_in ist konstant, was für jeden kurzen Zeitabschnitt 
gegeben ist. Dann ist P_in ~= P_out = U_out * I_out. Falls man U_out 
konstant hält, müsste sich I_out ändern um die Leistung auf zu fangen. 
Das geht aber nicht, weil I_out = U_out / R_last von der Last abhängig 
ist und nicht vom MPP bei konstantem U_out geregelt werden kann.

Ich würde also U_out regeln, so dass U_out * I_out = U_out^2 / R_last 
möglichst groß ist. Sozusagen eine Stromquelle, bei der der Strom sich 
immer ändert, je nachdem wieviel Leistung verfügbar ist. Je nach Last 
beschränkt man die Spannung noch nach oben.

von Henk (Gast)


Lesenswert?

Hm, da sind die Konstrukteure von MPPT´s aber wohl anderer Meinung. =)

von Henk (Gast)


Lesenswert?

wenn ich mich nicht tierisch verhauen habe, sollte das hier schon 
ungefähr der entsprechende Code sein?! (gehasstes BASCOM)


#########################################################
'Den verwendeten µC nennen
 $regfile = "attiny25.dat"

'Angeben mit welcher Frequenz der µC arbeitet
 $crystal = 1000000

'Ausgänge einstellen
 Config Portb.4 = Output

'Timer auf PWM-Modus stellen
 Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear 
Down

'Die Timer freigeben
 Enable Timer1

'Die Timer starten
 Start Timer1

'Die PWM-Register zuweisen
 Dcfet Alias Ocr1a
'Pwm- Register vorladen
 Dcfet = 50

'Variablen definieren
 Dim Pold As Word
 Dim Pnew As Word
 Dim Volts As Word
 Dim Amps As Word

'Variablen vorladen
 Volts = Getadc(0)
 Amps = Getadc(1)
 Pnew = Volts * Amps
 Pold = Pnew

'Hauptprogramm
Do
 Volts = Getadc(0)
 Amps = Getadc(1)
 Pnew = Volts * Amps

 If Pnew > Pold Then Incr Dcfet Else Decr Dcfet

 Pold = Pnew
Loop

End

von Εrnst B. (ernst)


Lesenswert?

Henk schrieb:
> wenn ich mich nicht tierisch verhauen habe, sollte das hier schon
> ungefähr der entsprechende Code sein?

So in etwa.
Wg. eingangs- und Ausgangskondensatoren kann es noch nötig sein, die 
Regelschleife etwas abzubremsen, damit es nicht das schwingen anfängt.
=> Ausprobieren, ein Sleep oder Delay oder wie auch immer das in Bascom 
heist in die Schleife.

Und für das Ladeende: noch die Ausgangsspannung messen, "If 
OutVolts>BatteryFull Decr Dcfet"

von Henk (Gast)


Lesenswert?

Das ganze wird noch durch natürliches "beschäftigen des Prozessors" 
verlangsamt werden. Wenn ich sowas schon drin hab soll er mir auch noch 
über irgendeinen Bus seine Daten ausgeben können. ;-)

Wenn ich grad irgendwelche MosFet- Treiber da hätte würd ich versuchen 
das ganze schonmal auf Lochraster aufzubauen. Vielleicht jemand ne 
Empfehlung für nen einfachst- Treiber für den FET?

von Henk (Gast)


Lesenswert?

Hm... eine Frage hab ich doch noch. Nehmen wir an, der Maximalstrom aus 
dem Panel ist höher als das, was ich dem Akku als Ladestrom zumuten mag 
aber es gibt zusätzliche (nicht speichernde) Verbraucher am Akku, welche 
diesen Strom aufnehmen würden. Begrenze ich den Strom in den Akku dann 
einfach mit einem Vorwiderstand?

von Anon Y. (avion23)


Lesenswert?

Henk schrieb:
> Hm, da sind die Konstrukteure von MPPT´s aber wohl anderer Meinung. =)

Hallo Henk,
kannst du mir sagen was an meinen Gedankengang falsch ist? Ich habe es 
extra als meine Meinung gekennzeichnet um niemanden auf die falsche 
Fährte zu locken und um Feedback zu bekommen.

von noname (Gast)


Lesenswert?

@Anon
Dein Gedankengang stimmt schon. Nur ist das einfachste Ersatzbild für 
einen Akku ein Widerstand mit einer Spannungsquelle Ui. Die Leistung, 
die vom Akku aufgenommen wird ist dann Ilade*(UAStepdown-Ui) oder 
Ri*Ilade*Ilade. Ziel ist es hier ja den Akku zu laden. Deshalb wäre es 
sinnvoll den StepDownWandler so zu regeln dass der Ladestrom maximal 
wird. Es stellt sich dann auch die maximale Leistung ein. Die 
Akkuspannung muss, wie Du schon geschrieben hast bei der 
Ladeschlussspannung begrenzt werden. Der Strom aus dem Panel geht dann 
langsam gegen Null und der StepDown arbeitet nicht mehr im MPP. 
Zusätzliche Verbraucherströme könnten mit einem zweiten 
StepDownController angeschlossen werden.

von noname (Gast)


Lesenswert?

noname schrieb:
> Die Leistung,
> die vom Akku aufgenommen wird ist dann Ilade*(UAStepdown-Ui)

Natürlich Blödzinn. Muss Ilade*UAStepdown heißen.

von Henk (Gast)


Lesenswert?

Um das ganze also bestmöglich zu betreiben benötige ich getrennte 
Schaltungen für Akkuladung und Verbraucherbetrieb? Wuaaah das wird ja 
immer kostenintensiver, da komm ich ja langsam auf Ammortisationszeiten 
um 2 Jahre. Das gefällt mir irgendwie nicht so recht...

Ääh moment mal, glaub ich habe da einen Denkfehler. Wenn ich die 
Verbraucher nur über den Akku betreibe wird er ja entladen und somit 
fängt der MPPT sofort wieder an vom Panel Leistung zu holen. Also 
brauche ich doch gar keinen zusätzlichen Wandler?!

von Henk (Gast)


Lesenswert?

Nachtrag: Und bei einem Step-Down- Converter ist die Masse des Eingangs 
ja nicht gleich der Masse des Ausgangs?! Bedeutet also, ich darf nicht 
die Ausgangsspannung mit meinem Mikrocontroller messen?

von Henk (Gast)


Lesenswert?

edit: Das mit den verschiedenen Massen ist natürlich Unfug.

von X- R. (x-rocka)


Lesenswert?

Ich blicke es auch nicht so ganz.

Folgende Vorraussetzungen/Annahmen:
- PWM Step-Down Converter (eigentlich egal ob up or down)
- konstante Ausgangsspannung für den Akku
- konstante Last durch Akku
- Eingangsstrom wird von Eingangsspannung abhängig gemacht (eben MPP)

Mit der PWM kann ich doch nur eine Größe regeln, entweder 
Ausgangsspannung oder Strom. Aber die Ausgangsspannung muss ja 
einigermaßen konstant sein.
Bräuchte ich da nicht zusätzlich - um die Eingangssparameter für den MPP 
einstellen zu können - ein zusätzliches Stellglied zur 
Ausgangsstrombegrenzung?
Entweder regele ich mit der PWM die Ausgangsspannung, habe aber keine 
Kontrolle über den Ausgangsstrom - und somit nicht über die 
Eingangsleistung...
Ah, oder schalte ich den Converter zur Strombegrenzung im Burst-Betrieb, 
also mal für ein paar PWM-Zyklen an und wieder aus? Hmmm.... klingt 
nicht so optimal.
Gibt's da nicht was schöneres um den Ausgangsstrom zu drosseln?

von noname (Gast)


Lesenswert?

Rechenbeispiel:

MMP:
Eingangsspannung StepDownWandler: 17V
Strom nach Solarmodulkennlinie sei: 2A

Der Akku soll mit maximalem Strom geladen werden und hat momentan 12V.
Die erforderliche Ladespannung ist jetzt stromabhängig und stelle sich 
bei 14V ein.
Wenn weiter angenommen wird, dass der Wirkungsgrad des StepDownWandlers 
100% ist, können wir bei 14V mit einem Ladestrom von 17V*2A/14V=2,43A 
rechnen.

Die PWM wird so geregelt, dass der Akkuladestrom maximal ist (hier die 
2,43A).
Ohne StepDownWandler hätten wir nach der Modulkennlinie vielleicht nur 
2,2A Ladestrom.
Da der Wirkungsgrad des Converters eher bei 90% oder schlechter liegt, 
sollte man schon genau nachrechnen, ob sich hier ein StepDownWandler 
lohnt.

von Henk (Gast)


Angehängte Dateien:

Lesenswert?

Naja, bei niedrigen Ladeständen der Akkus lohnt es sich im 2stelligen 
Watt- Bereich auf jeden Fall, wenn man sich mal die Modulkennlinien 
anschaut.

von Henk (Gast)


Lesenswert?

btw. das ist natürlich eine Ladekennlinie

von Anon Y. (avion23)


Lesenswert?

Danke @ noname
dann habe ich doch etwas verstanden ;)

Das Problem bei Bleiakkus ist, dass diese gegen Ladeende nicht mehr viel 
Leistung aufnehmen: Spannung ~14,4V, I -> 0. Natürlich kann dann hier 
auch nicht mehr die maximale Leistung aus dem Modul entnommen werden. 
Ich hatte bei meinen Ausführungen allgemein an MPP gedacht, wie z.B. bei 
Windgeneratoren. Die Leistung die der Bleiakku nicht braucht könnte man 
weiterhin verwenden, z.B. für ein Heizelement.

@Henk
wegen den verschiedenen Massen: Ein stepdown wandler wird extrem 
einfach, wenn man die lowside schaltet. Das gemeinsamme Potential ist 
dann Plus. Das Minus als gemeinsame Masse verwendet wird ist nur 
Konvention. Strom muss sowieso differentiell gemessen werden, Spannung 
muss dann leider auch differentiell gerechnet werden.

Wegen den verschiedenen Wandlern: Braucht man IMO nicht. Der Bleiakku 
soll ja eh als Puffer verwendet werden. Du kannst ja eine proportionale 
Unterspannungsabschaltung basteln, die die Ausgangsleistung von deinem 
zweiten Wandler zwischen 13V - 13,8V linear steuert. Je nach Verbraucher 
;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.