www.mikrocontroller.net

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


Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?!

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)?

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: avion23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Henk (Gast)
Datum:

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

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Anon Ymous (avion23)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: noname (Gast)
Datum:

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

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

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?!

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
edit: Das mit den verschiedenen Massen ist natürlich Unfug.

Autor: X- Rocka (x-rocka)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Henk (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
btw. das ist natürlich eine Ladekennlinie

Autor: Anon Ymous (avion23)
Datum:

Bewertung
0 lesenswert
nicht 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 
;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.