mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MPPT (Maximum Power Point Tracker) für Solarmodule


Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hiho liebe Mikrocontroller,

ich stehe vor folgendem Problem: Ich habe eine Versuchsanordnung mit 4 
verschiedenen Solarmodulen, aber nur einen Laderegler. Meine Solarmodule 
sind denkbar schlecht für diesen geeignet, haben sie doch 
Ausgangsspannungen zwischen 50 und 20 Volt, und Leistungen zwischen 60 
und 10 Watt. Geladen werden soll ein Blei-Gel Akku, über die 
Ladeschlussspannung von 13,9 Volt. (Laut Datenblatt die beste Methode).

Wichtig ist dabei für mich, dass ich die Leistung jedes einzelnen Moduls 
über beispielsweise RS232 auslesen möchte.

So, jetzt kommt der Punkt, für derart hohe Spannungen ist ein MMPT 
Laderegler am besten geeignet. Jedoch sind die Laderegler hier recht 
teuer.

Was machen wir also? Ich habe vor 4 MPPT Tracker relativ kostengünstig 
selber zu bauen. Da ich die Leistung sowieso messen muss, kann ich auch 
beim maximalen Punkt einregeln.

Doch wie mache ich das? Ein Schaltregler auf 13,9 Volt einzustellen ist 
keine große Sache, der LM2670 wäre hierfür ein geeignater Kandidat, wenn 
auch mit 3A * 13,9V = 41,7W recht klein dimensioniert.

Was ich mir vorstelle ist eine PWM (via Atmega) die erst einmal den MPPT 
sucht, und danach ein geeigneter Schaltregler, eventuell auch wieder per 
PWM realisiert.

Doch wie stelle ich das nun am besten an?

Beitrag "Maximum power tracking für 200mW solarzelle MPP" diesen sowie 
Beitrag "Beitreiben einer Solarzelle im Leistungsmaximum" diesen Thread habe ich mir 
bereits durchgelesen, doch alles konnte ich mir daraus noch nicht 
erschließen.

Konkret will mir im Moment noch nicht richtig in den Kopf, wie ich die 
PWM dann auf dem Leistungsmaximum einregle. Entsprechende iterarive 
Algorithmen kann ich mir ausdenken, doch welchen Parameter ändere ich 
dann wie?

Längere ONs = Größerer Strom, Geringere Spannung
Längere OFFs = Kleinerer Strom, Größere Spannung

???

Danke,

Liebe Grüße Sören

Edit://

Etwas Pseudocode
richtung=1;
while(1) {
  Leistung=U_in * I_in;
  if (Leistung < Letzte_Leistung) {
     richtung=-richtung;
  }
  if (U_in <= 13.9V + 2V){
     // U ist unter der Minimalspannung fuer den Buck-Regler... Fahre Konstantspannung
     PWM_taktverhaeltnis = 100%;
  }else{
     PWM_taktverhaeltnis += richtung;
  }
  Letzte_Leistung=Leistung;
  // vor der naechsten Iteration mindestens einige PWM-Zyklen warten
}

Autor: ?? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein. Der MPPT ist ein PWM der direkt vom Solarpanel auf den 
Verbraucher, hier die Batterie wandelt. Es genuegt dabei, der 
EingangsStrom und -spannung, sowie die Ausgangsspannung zu wandeln. Die 
Letztere dient nur der Kontrolle, ist Regelungstechnisch weniger 
wichtig.

Autor: ?? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt offensichtlich genau ein regelbarer Parameter : Die An-Zeit des 
PWM bei fester frequenz.

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber wie wandel ich denn mittels PWM den Eingangsstrom/-spannung bei 
konstanter Ausgangsspannung? Wenn ich nur die High-Länge regeln kann, 
regel ich doch maximal den Ausgang, nicht den Eingang?!

Autor: ?? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der PWM macht die Impedanzanpassung im weitesten Sinne. Du beginnst mit 
einem PWM Wert, misst die Spannung und den Strom, multiplizieren und 
speichern. Dann den PWM Wert um eins erhoehen, multiplizieren und 
vergleichen. Wenn's mehr ist, in dieser Richtung weiter erhoehen, sonst 
verkleinern. Dann soweit verkleinern bis wieder weniger kommt, dann 
wieder erhoehen.

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist mir soweit, denke ich, klar nur ändert sich doch auch U_aus bei 
einer Änderung des PWM-Wertes!?

Autor: ?? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natuerlich nicht. Denn die Ausgangsspannung ist die Batteriespannung, 
und die ist fest. Was sich aendert ist der Strom.

Autor: Sören R. (iopodx)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Okay, da hast du natürlich recht... ;)

Bin jetzt über diesen Schaltplan gestolpert:
http://www.timnolan.com/uploads/Arduino%20Solar/Ar...

Habe ich mir soweit zu Gemüte geführt und werde den auch ähnlich 
nachbauen (den MAX4173H werde ich ersetzen).

Einzig die Funktion von Q1 und Q2 leuchtet mir noch nicht ganz ein, kann 
mir da kurz wer auf die Sprünge helfen?

Autor: Anon Ymous (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Q1 ist IMO überflüssig.

Q2 und Q3 bilden eine Gegentaktstufe. Mit Q2 wird die 
Versorgungsspannung auf die Spule geschickt --> Step down wandler. Q3 
ist für die synchrone Gleichrichtung zuständig: Sobald die Diode leiten 
sollte wird sie durch den fet überbrückt. D.h. nicht mehr die 0,7V 
Spannungsabfall sondern nur noch R_DS_on.

War das die Antwort auf deine Frage?
Kannst du deine Ergebnisse hier einstellen, falls es funktioniert? Ich 
habe vor so etwas in klein für die Solarlämpchen im Garten zu machen :)

EDIT: Ich habe es mir nochmal angesehen. Q1 ist ein pfet. R3 bildet 
einen Pullup und sorgt dafür, dass der fet normalerweise ausgeschaltet 
ist. Da habe ich auch Verpolschutz getippt. Nur wie wird das Ding 
eingeschaltet? Über die Diode nicht, die kann die Spannung am Gate nur 
erhöhen und wir brauchen etwas negatives. Also kann das so nicht 
funktionieren?

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deine Erklärung von Q2 und Q3, so macht das natürlich Sinn 
(... ich weiß, stop making sense...)

Q1 ist doch ein nFet, oder täusche ich mich da? Der IRZI44 ist 
jedenfalls so einer, und das Schaltbild ist doch nur gespiegelt!?

Dennoch erscheint mir dessen Sinn immernoch fragwürdig...

Ich halte dich gerne auf dem Laufenden was diese Schaltung betrifft, 
werde sobald ich sie komplett verstanden habe in dreifacher Ausführung 
auf eine Platine quetschen und mit einem Mega32 ansteuern...

Liebe Grüße
Sören

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der soll dafür sorgen, das die interne Bodydiode keinen Stromfluß in 
Richtung Solarpanel ermöglicht. Da beide MOSFETs "antiseriell" 
geschaltet sind, kann in Ruhe kein Strom fliessen.

Gruß
Axelr.

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahh okay. Das ergibt natürlich wiederum Sinn! Ähnliche habe ich mir das 
auch gedacht. Gut, dann werde ich mal fix meine Version fertig machen 
und euch vorstellen, zum absegnen.

Danke euch allen nochmal!

Autor: Anon Ymous (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Stimmmt, ist gespiegelt und der selbe nfet wie die anderen auch.

Das was Axel sagt sehe ich jetzt auch. Ich würde den fet aber nicht 
ständig über den treiber ein-ausschalten sondern statisch über einen 
portpin.

Autor: Sören R. (iopodx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So sieht der Schaltplan jetzt aus. ISP fehlt noch... Sonst hoffentlich 
nichts (?!)

X1-1 bis X1-3 sind die V+ der Solarmodule, X1-4 ist Ground

Danke :)

Kann ich btw. die Formel Leiterplanbreite [mm] = max. Strom [A] für 
~100W, also ca.  8.5 A Dauerstrom noch verwenden (35µ Cu)

Autor: Sören R. (iopodx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So obiger Schaltplan war wirklich 'ne Zumutung ;)

Hab mich entschieden, jeden Leistungsteil auf eine eigene Platine zu 
setzen, diese per 9 pol SUB-D dann mit dem Atmega zu verbinden.

Vielleicht kann da ja mal kurz jemand drüber schauen, und gucken ob das 
so funktionuddeln kann. Ich hoffe ich habe nichts vergessen.

Autor: Sören R. (iopodx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und noch fix das Board dazu... Hat jedenfalls den Design Check 
überstanden, und sieht an sich auch ganz funktionell aus. Sollte halt 
klein sein, da ich das Board ätzen lassen werde.

Liebe Grüße und besten Dank,
Sören

Edit://

Was mir gerade so einfällt: Meine Ebenenwechsel ohne Vias dürften 
relativ schwer zu löten sein, oder?

Autor: Anselm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt fehlt dir nurnoch die Massefläche(n).
Denke ich mal so...
mit dem Befehl Polygon 'Massename' ein Viereck um die ganze Platine 
Ober- und Unterseite. (ist doch Eagle, oder?)

Anselm

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Eagle.

Massefläche - ja klar. Bohrungen fehlen auch noch, fällt mir gerade auf! 
Was ist da gängig? M3 dürfte doch klargehen, oder?

Aber leider komm ich mit deiner Anleitung nur zu gestrichelten Linien 
schäm

Sören

Edit:// Ahh, alles klar. Ratsnet hilft.

Autor: Anon Ymous (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mach's so:
Polygon
"GND" eingeben, enter drücken
Umrisse um die Platine ziehen --> gestrichelte Linie
Ratsnest drücken

In den DRU stelle ich noch isolate auf 24 oder 32. Erleichtert das Löten 
sehr.

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, okay. So kommen auch vernünftige Abstände zu den Pads raus.

Wie bekomme ich eigentlich diese (Masse-)Flächen wie man sie von 
Platinen kennt um Bohrlöcher?

Und noch 'ne Frage: Ich find bei Digikey nur Doppel TO-220 Kühlkörper... 
Ich habe aber drei die relativ dicht beieinander sind. Somit wäre ein 
Triple KüKö das Beste, kennt da wer einen?

Danke!

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay Kühlkörper habe ich gefunden.

294-1086-ND [Digikey]... Ist zwar eigentlich für eine horizontale 
Montage und ohne Lötnasen aber sollte wohl auch so halten... 9W @ 40K 
sollten auch klargehen... Bei Maximal 60Watt Modulleistung können somit 
15% verheizt werden bei 40K Erwärmung.

Ich werde wohl noch einen Temperaturfühler an den Akku klemmen um bei zu 
stärker Erwärmung dessen die Ladung zu unterbrechen (wie viel °C bieten 
sich da an?)

Danke nochmal.

Autor: Sören R. (iopodx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anhang editieren geht gar nicht?

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay eine letzte Frage:

Kann es nicht passieren, dass bei unterschiedlichen PWM Frequenzen die 
einzelnen MPP-Tracker gegeneinander arbeiten?

mfG
Iopodx

Autor: /devnull (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Fets sind doch geschaltet ? Dann kann man sie nicht absetzen mit den 
Gatesignalen ueber n'Stecker. Und was soll die Heizerei ?

Natuerlich sollten die PWM dieselbe Frequenz haben.

Autor: Sören R. (iopodx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[quote]Dann kann man sie nicht absetzen mit den
Gatesignalen ueber n'Stecker.[/quote]

Wie meinen?

Die Heizerei war nur rechnerisch gemeint, so viel verheizen will ich 
beim besten Willen nicht.

Das Problem sind aber unterschiedliche Module, die in unterschiedlichen 
Spannungen arbeiten. Somit sind auch die Frequenzen unterschiedlich, 
dennoch soll aber ein Akku geladen werden. Wie stell ich das nun am 
Besten an?

Autor: harald gr (Firma: nee) (ba0547)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

hoffe das das hier irgendwer bald liest und auch bald beantworten wird.
habe mir die sache mit dem lader angeschaut und nachgebaut. scheint 
einigermassen zu funktionieren. was mir nicht klar ist, bei welcher max 
spannung und welchem max. strom kann man die schaltung verwenden.
für die 12 volt bleibatterie scheint das ohne modifikation bis max 3 a 
zu funktionieren. habe allerdings 48 volt nominale akkuspannung bei 85 
volt solarmodulspannung mit max ca. 7 A. das das mit den fets nicht mehr 
geht ist klar. auch der texas instruments ina 169 stromsensor scheint da 
nicht mehr der richtige zu sein, die elkos auch nicht mehr. spule hab 
ich bereits gegen eine mit max 11 a ausgewechselt. vielleicht schreib 
ich mal alles zusammen was ich bisher schon getauscht habe, max 
stromsensor scheint zu gehen, allerdings bekommt man das ding in de 
nicht her. gibt es nur bei digikey in usa oder? warum nimmt man nicht 
einen operationsverstärker oder einen anderen stromsensor, z.b. allegro 
acs711? oder hallsensor acs756, acs758 oder änliches?
bin leider wiedereinsteiger in elektronik, damit alles andere als auf 
dem neuestem stand. hoffe allerdings das ich hier einige tips bekommen 
werde.

servus, harald.

Autor: Joachim Muth (Firma: ---) (joachim1253)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
auch wenn dieser Beitrag schon etwas älter ist, habe ich im Netz keine 
bessere Schaltung gefunden, und so gehe ich davon aus, dass es anderen 
Interessenten auch so geht. Aber es gibt da ein Problem, das offenbar 
noch niemandem aufgefallen ist: Im Schaltplan des Dreifachwandlers liegt 
der "VS" - PIN des IR2104 an der Verbindung der beiden 
Schalttransistoren mit der Drossel. (Dies ist richtig).
In der Schaltung für einen einzelnen Wandler aber an der Verbindung 
zwischen dem Rückstromschutz - Transistor Q1 und dem Schalttransistor 
Q2.
 "VS" - PIN also an Source von Q2 statt an Drain, daher stimmt hier das 
Bezugspotenzial des Q2 - Gates nicht mehr.
Bevor also jemand diese Schaltung nachbaut und Transistoren schrottet 
unbedingt ändern!

Viele Grüße, Joachim

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.