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
1
richtung=1;
2
while(1){
3
Leistung=U_in*I_in;
4
if(Leistung<Letzte_Leistung){
5
richtung=-richtung;
6
}
7
if(U_in<=13.9V+2V){
8
// U ist unter der Minimalspannung fuer den Buck-Regler... Fahre Konstantspannung
9
PWM_taktverhaeltnis=100%;
10
}else{
11
PWM_taktverhaeltnis+=richtung;
12
}
13
Letzte_Leistung=Leistung;
14
// vor der naechsten Iteration mindestens einige PWM-Zyklen warten
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.
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?!
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.
Okay, da hast du natürlich recht... ;)
Bin jetzt über diesen Schaltplan gestolpert:
http://www.timnolan.com/uploads/Arduino%20Solar/ArduinoSolar.pdf
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?
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?
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
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.
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!
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.
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)
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.
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?
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
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.
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.
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!
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.
Okay eine letzte Frage:
Kann es nicht passieren, dass bei unterschiedlichen PWM Frequenzen die
einzelnen MPP-Tracker gegeneinander arbeiten?
mfG
Iopodx
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.
[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?
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.
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
Ralf schrieb:> Bin auch gerade auf der suche nach einen Code, den ich auf Atmega328p> betreiben kann.> Hast du schon eine Lösung dazu?
Nö, da jeder seinen Arduino anders anschliesst und eine andere Schaltung
verwendet, muss jeder sich den code selbst schreiben.
Das Grundprinzip, die Akkuspannung als nur langsam veränderlichen Wert
als konstant anzunehmen, nur den Ladestrom in den Akku zu messen, und
alle Nase lang das PWM Tastverhältnis des step down Buck
Tiefsetzstellers zu verändern, und wenn eine verkleinerung des
Tastverhältnisses zu einer Verklinerung des Stroms führt beim nächsten
Mal das Tastverhältnis eben nicht zu verkleinern sondern zu vergrössern.