Spannungsabfall am Solarzellen-MPPT

Ich versuche, meinen eigenen MPP-Tracker auf einer Solarzelle zu bauen, hier ist meine schematische Geben Sie hier die Bildbeschreibung einErklärung:

  • PA6, PB0, PB1, PB2, PA3: E/A-Pin
  • PA 7: PWM-Pin
  • PA4: Wird zur Spannungsmessung verwendet
  • PA0 und PA1: Differential-ADC zur Strommessung

Das Problem bei dieser Schaltung ist, dass der Spannungsabfall an der Solarzelle zu groß ist (ca. 2 V von einer 5-V-Solarzelle). Ich bin mir sicher, dass es kein Problem mit der Solarzelle gibt, da sie mit dem kommerziellen MPP-Tracker-Modul perfekt funktioniert. Ich habe mehrmals versucht, den Transistor auszutauschen und ihn auch in einen P-Kanal-Trench-Mosfet PMV65XP umzuwandeln, der derselbe Transistor ist, der vom kommerziellen Modul verwendet wird (ich habe 1 Monat gebraucht, um ihn zu bekommen).
Geben Sie hier die Bildbeschreibung einDaher meine Frage, was habe ich falsch gemacht? Meine Vermutung ist, dass ich falsche Arten von Dioden verwende. Wenn ja, welche Diode soll ich verwenden? oder habe ich vielleicht etwas falsch mit dieser Anordnung gemacht?

Der Solarzellenausgang liegt auf GND und VCC und wird zur Versorgung der MCU und Last verwendet. Hier ist eines der Testergebnisse:

Solarzelle V-Leerlauf: 4,91 V - 0 mA Lastwiderstand
: 220 Ohm (nicht kapazitiv)

Unter Verwendung eines handelsüblichen Moduls:
V und A an der Solarzelle: 4,20 V, 40 mA
V und A am MPP-Ausgang: 3,00 V, 45 mA

Unter Verwendung meines Moduls:
V und A auf Solarzelle: 2,60 V, 42 mA
V und A auf MPP-Ausgang: 2,38 V, 37 mA

Ich habe versucht, beide Dioden von der Fast Recovery-Diode FR104 in die Schaltdiode 1N148 umzuwandeln , aber es gibt immer noch keine signifikante Änderung

Nur zur Information, ich zweifle zunächst auch an meinem Algorithmus und meinem Code, deshalb habe ich ein Potentiometer (auf PA3) eingebaut, damit ich die PWM manuell einstellen kann (funktioniert bei 15 kHz). Und was den @Maximus-Vorschlag betrifft, hier ist das Diagramm (meins ist auf der linken Seite und das Werbespot auf der rechten Seite): Die Diagrammdaten werden durch Ändern des PWM-Tastverhältnisses pro 10% und Beobachten der Spannung und des Stroms der Solarzellenausgabe ermittelt (VCC) und MPP-Ausgang (J1 im Schaltkreis). Und hier ist ein Teil der PWM-Ausgabe, wie von @laptop2d vorgeschlagen: Es scheint, dass die Vpp des PWM-Signals zusammen mit der Spannung der Solarzelle (die als VCC-Versorgung von uC verwendet wird) erhöht wird.Geben Sie hier die Bildbeschreibung ein
Geben Sie hier die Bildbeschreibung ein

----Bearbeiten----
Dies sind die PV-Eigenschaften:Geben Sie hier die Bildbeschreibung ein

Ihr Schaltplan scheint keine Solarzellen zu zeigen.
"Mit dem kommerziellen Modul kann ich einen Ausgang von etwa 3 V, 40 mA mit einem Eingang von 3,2 V, 20 mA erhalten." - Sie können mehr herausholen, als Sie hineingesteckt haben?
Dito, was Bruce sagt und wie viel Strom nehmen diese LEDs auf (100-Ohm-Vorwiderstände)?
Ihre neuen Vergleichsergebnisse sind bedeutungslos, da sie eindeutig mit unterschiedlichen Sonneneinstrahlungsverhältnissen aufgenommen wurden. Denken Sie nur darüber nach - der SP-Ausgang des kommerziellen Moduls beträgt 4,2 Volt bei 40 mA, aber für nur 2 weitere mA (Ihr Modul) ist die Spannung auf 2,6 Volt gefallen. Dies kann nur ein Fehler sein, wenn Sie Dinge aufschreiben oder unterschiedliche Sonnenbedingungen (oder vielleicht ein anderer SP). In jedem Fall ist Ihre Zahlentabelle fehlerhaft.
@Andyaka Ich versichere Ihnen, dass die Testbedingungen nur weniger als 3 Minuten Unterschied haben, wenn dieselbe Glühbirne in derselben Reichweite und in einer geschlossenen Umgebung verwendet wird.
Dann müssen Ihre Messungen nicht die ganze Geschichte ausmachen.
Es verwendet 2 gleiche VA-Messmodule. Mehrfachmessung ergibt auch ein gleiches Muster. Lassen Sie daher meine MPPT-Schaltung als einziges Problem.
@dpw Sie müssen den PV-Maximalstrom Voc kennen und es wäre schön, den maximalen Pw-Nennwert sowie den %-Maximal-Solareingang mit einem PD-Sensor zu kennen. Dann können Sie die Lastlinie der Stromquelle schätzen und die Last hinzufügen, um eine perfekte Übereinstimmung bei Vmp zu erhalten
Ein offener Regelkreis ist unter Verwendung eines PD-Sensors und angepasster Vmp vs. Voc oder angepasster Z-Last = Zsource möglich
20mA LEDs müssen auf 1mA reduziert werden. Holen Sie sich 10 CD-Typen, damit 500 mcd ausreichend hell sind
@dpw In diesem Bericht muss definiert werden, wie überprüft wird, ob es sich um einen echten Effektivwert handelt, und wo auf dem Schaltplan gemessen wird. Impulsströme werden auf einem einfachen DMM nicht genau gemessen. Es wäre hilfreich, die inkrementelle Impedanz zu bewerten, um zu verstehen, warum MPT nicht funktioniert. PV-Quelle und Last werden bei MPT aufeinander abgestimmt.
Ich bemühe mich sehr, Ihnen zu helfen, aber wenn Sie nicht antworten, ist dies nicht möglich
@TonyStewart.EEsince'75 tut mir sehr leid für die späte Antwort. Dein Änderungsvorschlag der LED funktioniert zwar, erfüllt aber nicht ganz die Erwartungen. Und leider habe ich keinen PD-Sensor.

Antworten (7)

Die Eigenschaft einer geladenen Solarzelle ist ungefähr eine Konstantstromquelle, bis Sie die maximale Spannung erreichen, und dann fällt sie ziemlich schnell ab. Der Trick bei MPPT besteht darin, das obere Spannungsende dieses Konstantstrombereichs zu erreichen.

Ich glaube, dass Sie wahrscheinlich nur ein wenig zu viel Strom nehmen. Ihr Algorithmus sollte ein Maximum für V*I f oder die Solarzelle suchen .

Ihre Strommessung befindet sich am Batterieende des Stromkreises, es sollte den Strom von der Solarzelle betrachten. Ich sehe auch nicht, wo Sie die Solarzellenspannung messen.

Ihr Schalttransistor ist gemäß Ihrem Diagramm von hinten nach vorne verbunden, die Body-Diode leitet, sodass Sie mit einem kleinen Spannungsabfall eine direkte Übertragung vom Eingang zum Ausgang erhalten. Unter Berücksichtigung des Stroms für die LEDs erklärt dies Ihre Eingangs-Ausgangs-Charakteristik.

Sie benötigen viel größere Glättungskondensatoren am Ein- und Ausgang zusätzlich zu den angezeigten, die von Ihrer Frequenz abhängen, aber > = 220 uF.

Hallo und danke für die Antwort. Anfangs zweifle ich auch an meinem Algorithmus, deshalb lege ich ein Potentio (auf PA3), damit ich die PWM manuell einstellen kann. Selbst wenn ich die PWM manuell ändere, sind die Ausgangseigenschaften (auf Frage erwähnt) immer noch gleich.
Das ist ein wichtiger Datenpunkt und sollte in Frage gestellt werden. Dies sollte nicht passieren, wenn die Impulsbreite niedrig genug wird, sollte der Strom abfallen. Siehe Antwort für möglichen Grund. Was Ihre Dioden betrifft, sollte D3 ein Schottky sein.
Ich habe C5 in eine 470uF-Kappe geändert, immer noch kein Glück. Ich werde versuchen, mich in Schottky umzuwandeln, ich werde dich später auf dem Laufenden halten
Strommessungen sind fehlerhaft, wenn das DMM Spitzenwerte misst und auf RMS skaliert, wobei Sinus angenommen wird, was nicht der Fall ist
@RoyC Mir ist gerade aufgefallen, dass Sie "Eingangs- und Ausgangskondensator" erwähnt haben. Meinst du mit Ausgangskondensator C2 und C4?
Ja, legen Sie einen zusätzlichen Elektrolyten an C2 an, Ihre Batterie sollte einen Großteil der Ausgangsglättung übernehmen, aber es kann bei den Messungen hilfreich sein.

Das gesamte System muss überprüft werden und Sie müssen jeden Teil verstehen. Es können nicht nur die Komponenten sein, die ein Problem haben. So wie Ihre Leistungszahlen aussehen, haben Sie zwei Probleme (vorausgesetzt, Sie haben für Ihre Tests eine Art Konstantlichtquelle verwendet, wenn Sie keine Konstantlichtquelle verwenden, sollten Sie vielleicht einen Psychologen aufsuchen). Ich gehe auch davon aus, dass das kommerzielle Setup nahe am optimalen Spitzenleistungspunkt Ihrer Zelle liegt.

  1. Die entworfene Schaltung findet wahrscheinlich nicht den optimalen Leistungspunkt, da die Spannungszahl (2,6 V in) nicht nahe am optimalen Punkt für die Zelle liegt und Sie weniger Strom verbrauchen (109 mW gegenüber 168 mW des kommerziellen Aufbaus).

  2. Die entworfene Schaltung verbraucht zu viel Strom. Von den 109 mW, die Ihre Schaltung erhalten hat, verbraucht sie 24 mW, was ~ 23 % Ihrer eingehenden Leistung oder 77 % Effizienz entspricht. Die Schaltung kann besser sein, DC-DC-Wandler erreichen heutzutage einen Wirkungsgrad von über 90%.

Vorschläge, wohin Sie von hier aus gehen können:

  1. Überprüfen Sie Ihren MPPT-Algorithmus, dies kann schwierig sein. Stellen Sie sicher, dass Sie wissen, wie sie funktionieren . Es gibt auch verschiedene Algorithmen und einige sind effizienter als andere. Eine andere Sache, die Sie wahrscheinlich tun möchten, ist eine Art Simulationssoftware zu finden, mit der Sie etwas vergleichen können. LT Spice könnte möglicherweise verwendet werden und ist kostenlos und kann für fast jede Art von Simulation verwendet werden . Ich habe es zuvor für MPPT-Algorithmus-Simulationen verwendet. Manchmal müssen Sie kreativ werden und Laplace, B-Quellen und Komparatoren verwenden, um Ergebnisse zu erhalten, aber es ist machbar. Sogar Solarzellen lassen sich in Spice simulieren. Ich würde auch ein Plug-in für Simulink einbauen, aber das ist schwieriger zugänglich.

  2. Finden Sie heraus, wo in Ihrem Stromkreis Strom verbraucht wird. Dies kann mit einem Oszilloskop erfolgen, indem jede Komponente überprüft wird (wie eine Differenzspannung mit zwei Sonden an jeder Komponente). Eine Leistungsberechnung kann für den FET, die Induktivität und den Kondensator durchgeführt werden. Stellen Sie sicher, dass Sie verstehen, wie Abwärtswandler funktionieren . Ich vermute, dass Ihre PWM-Wellenform möglicherweise in Bezug auf Ihre Kondensator- und Induktorwerte optimiert werden muss. (Ich hoffe, Sie haben ein Oszilloskop). Spice könnte auch eine gute Möglichkeit sein, Probleme mit der Stromversorgung zu finden. Simulieren Sie Ihren DC/DC-Wandler mit gewürzten Komponenten und sehen Sie, wo die Leistungsentnahme in jeder Komponente liegt. Vergleichen Sie dann Ihre Wellenformen mit der realen Welt und notieren Sie die Unterschiede.

Was Sie bauen, ist komplex, Sie müssen jedes Teil verstehen und sicherstellen, dass es funktioniert, indem Sie zuerst die Dinge entwerfen (verwenden Sie die Buck-Gleichungen und stellen Sie sicher, dass alles funktioniert) und dann die Korrektheit testen und überprüfen. Wenn Sie dies nicht tun, werden Sie Problemen wie Komponenten nachjagen, wenn das gesamte System ein Problem hat. Nutzen Sie auch Energie zu Ihrem Vorteil, Leistungsberechnungen können viel bewirken.

Danke für die Antwort. Ich habe die Frage mit einigen PWM-Wellenformen aus mehreren Arbeitszyklen aktualisiert. Glauben Sie, dass die Verwendung von SMD-Komponenten anstelle von herkömmlichen Komponenten den Stromverbrauch reduziert?
Vielleicht ist der Unterschied Parasiten. Ein Durchgangslochwiderstand hat aufgrund der Zuleitungen mehr parasitäre Induktivität als eine SMD-Komponente. Leiterbahnen und Durchkontaktierungen können sich ebenfalls auf die Leistung auswirken, diese Effekte können modelliert werden. Ein weiteres Problem ist die Schleifenfläche. Wenn Sie eine große Schleife um Ihren Induktor haben, können Sie eine Schleifenantenne erstellen und erhebliche Verluste haben. Aus diesem Grund ist es hilfreich, die Schaltung zu simulieren, da dies Ihnen helfen kann, diese Verluste zu lokalisieren.
Haben Sie die Zahlen für die optimale Frequenz Ihres Schaltkreises / induktiven Filters berechnet? Ist dieses Design auf einer Leiterplatte oder etwas anderem?

Es scheint, dass Sie ursprünglich einen anderen Transistor verwendet haben, ihn aber jetzt durch denselben ersetzt haben. Sie haben jedoch nichts über die Entfernung von R12 gesagt? Der Punkt ist, dass, wenn Ihre Schaltung nicht mit dem kommerziellen Modul identisch ist, Sie nicht erwarten sollten, dass sie so funktioniert.
Sobald Sie die identische Hardware haben , ist die einzige verbleibende Möglichkeit die Programmierung der MCU. Wenn Sie also immer noch Probleme haben, liegt das daran, dass Sie nicht denselben oder einen gleichwertigen Algorithmus verwenden.

Gibt es bei der Verwendung von SMD und Nicht-SMD Leistungsunterschiede?

Sie versorgen die MCU direkt von einer Solarzelle, Sie haben sehr niedrige Leistungspegel, die fast bis zu den Arbeitsbedingungen einer MCU reichen, und daher denke ich, dass sich die kommerziellen um die Energiesparfunktionen der MCU kümmern, Sie nicht.

Attiny MCUs verfügen über Energiesparfunktionen. Hier können Sie über die Schlafmodi von ATTiny85 lesen.


Lesen Sie "Energieverwaltung und Schlafmodi" auf dem attiny85-Datenblatt. Versuchen Sie zuerst den Leerlaufmodus, in dem die PWM funktioniert. Sie können es durch den PWM-Interrupt aufwecken und bei jedem Zyklus Berechnungen durchführen und in den Leerlauf gehen, oder Sie können mit einem langsameren Timer-Interrupt Berechnungen bei jedem 4-5-Schritt der Haupt-PWM durchführen. Wenn es nicht ausreicht, tut es der echte Schlafmodus. Aber PWM funktioniert dort nicht. Sie müssen es mit Watchdog-Timer-Interrupts implementieren.

Danke für den Vorschlag, ich habe noch nicht versucht, den Schlafmodus hinzuzufügen, aber ich werde es sicher versuchen. Ist das PWM-Signal im Schlafmodus noch aktiv?
@dpw nein ist es nicht, aber im Leerlauf ist es. Siehe die Ergänzung der Antwort.

Ich habe Ihr Projekt mit Atmega328p durchgeführt (Verwenden Sie Atmel Studio und nativen C-Code. Arduino-APIs sind für Ihr Projekt sehr langsam)

Jedenfalls hatte ich zunächst ähnliche Ergebnisse wie du. So beheben Sie das Problem:

  • Ganz wichtig: Eingangskondensatoren an Ihrem Modul. Wenn Sie keine Eingangskondensatoren haben (für Ihr System würde ich einen Bereich von ~ 1000 bis ~ 10000 uF empfehlen), wenn Sie diesen Mosfet ein- und ausschalten, fahren Sie auf der gesamten VI-Kurve des Solarpanels und wenn Ihre Mikrocontroller-Geschwindigkeit, um diesen Schwung zu verstehen und darauf zu reagieren, ist langsamer als die VI-Schwunggeschwindigkeit, Sie werden den MPP nie erfassen. Eine Lösung hierfür besteht darin, einen schnelleren Mikrocontroller zu verwenden und besseren Code mit C und Inline-Assemblierung zu schreiben. Das ist schwierig. Eine andere Lösung ist die Verwendung größerer Eingangskondensatoren! Was sie tun, ist im Wesentlichen, den VI-Ausschlag auf ein Niveau zu senken, das Ihr Mikrocontroller verstehen und schnell genug reagieren kann. Denken Sie daran, dass dies wichtig ist, denn wenn Sie dieses Problem nicht beheben, wird Ihr Projekt dies niemals tunarbeiten. Um den VI-Swing zu verstehen und zu bewerten, schreiben Sie einfach Code von Duty Cycle 0-100 in PWM und sehen Sie, wie sich die Eingangsspannung des Moduls ändert. Wenn Sie viele Oberschwingungen sehen (Höhen und Tiefen, auch Spannungsschwankungen genannt), bedeutet dies, dass Sie größere Kondensatoren benötigen.

  • Ein weiteres wichtiges Thema: Liefert das Solarpanel direkt Strom für ATTiny? Wenn dies der Fall ist, erhalten Sie beim PWM des Solarpanels möglicherweise eine LVD auf attiny. Schalten Sie zuerst den Mikrocontroller aus einer guten Quelle ein. Analysieren Sie Ihre Ergebnisse und Ihren Algorithmus. Versuchen Sie dann, es mit dem Solarpanel mit Strom zu versorgen, und sehen Sie, wie es von dort aus weitergeht. Weil sich der Mikrocontroller bei Ihrer aktuellen Konfiguration möglicherweise selbst herunterfährt? (Geben Sie Osilloskopdaten an, wenn Sie können.)

  • Was sieht Ihr Mikrocontroller (wie in Spannung) an seinen Ein- und Ausgängen? An PC senden und beobachten. Wenn möglich, stellen Sie uns bitte eine Kopie zur Verfügung. (Sie benötigen ein Arbeitszyklus-Spannungs- / Stromdiagramm sowohl für den Eingang als auch für den Ausgang). Ihr einziger kontrollierbarer Parameter ist der PWM-Dutcy-Zyklus. Also, zeichne es auf.

Mit mehr Daten können wir Ihre Lösung besser ansprechen.

Viel Glück

Warum so riesige Kondensatoren? wo sind deine rechnungen? Diese Anwendung liefert einige zehn ma. Der Strom, den die Eingangskappe aus den angegebenen Zahlen liefern muss, beträgt konservativ 10 mA. Selbst mit 100 uF ergibt dies 100 V / s. Wenn die Schaltfrequenz einige Kilohertz übersteigt, ergibt dies eine Eingangswelligkeit von weniger als 0,1 V.
Riesige Kondensatoren werden nicht benötigt, wie Sie sagten. Aber ich wollte, dass er große verwendet, bis er den Dreh raus hat und sein Code großartig funktioniert. Dann kann er die Kappen auf eine kleinere Größe entfernen und bei anderen Komponenten sogar effizienter werden. Aber an diesem Punkt steckt er fest und weiß nicht, wo das Problem liegt. Wenn er also einige große Kondensatoren verwendet, kann er zumindest einige Codierungsfehler machen, sogar Hardwarefehler.
Vielen Dank für Ihre Antwort. Als Ihren Vorschlag habe ich meine Frage aktualisiert
@dpw Ich denke, es gibt ein Problem mit Ihren Ergebnissen. Was war Ihre Belastung, als Sie diese Ergebnisse aufgenommen haben? Sie sollten einen Widerstand als Last an J1 verwenden. Ihr Vcc-Ergebnis (Ausgangsspannung der Solarzelle) sollte V_oc für 0 % Einschaltdauer und V_sc für 100 % Einschaltdauer sein. In ähnlicher Weise sollte Ihr Strom für Ihre Solarzelle I ~ 0 für 0 % Einschaltdauer und I_sc für 100 % Einschaltdauer sein. Dann zeichnen Sie ein VI-Diagramm Ihrer Daten (natürlich ausgerichtet an den Pflichten). Nachdem Sie Ihr VI-Diagramm gezeichnet haben, können Sie ein V*I-Diagramm zeichnen und die Ausgangsleistung des Solarpanels in Ihrem Diagramm anzeigen. Können Sie uns diese Daten zur Verfügung stellen? (oc-Unterbrechung, sc-Kurzschluss)
Wenn Sie die falsche Last wählen, können Sie MPP nicht erreichen. Der Trick besteht darin, eine Last auszuwählen, die das Panel kurzschließt, wenn der Mosfet immer geschlossen ist. Wenn der Mosfet offen ist, haben Sie bereits Leerlaufspannung. Durch die Verwendung dieser Art von Last wird also sichergestellt, dass Sie durch Ändern des Tastverhältnisses über das VI-Diagramm blicken können.
@Maximus in der Grafik ist „V Open_circuit“ der Ausgang des Solarmoduls im Leerlauf (keine Last, kein MPP-Modul), und „V Solar_cell“ ist die Spannung der Solarzelle (nach Messung von „V open_circuit“), wenn sie angeschlossen ist zu laden und mpp-Modul. Als Last dient eine LED mit 220 Ohm Widerstand
@dpw Eine LED ist keine gute Last für Ihre Anwendung. LEDs können nicht als einfache "Innenwiderstände" modelliert werden. LEDs können als einfache Widerstände fungieren, bis sie gesättigt sind (wenn auch nichtlinear), und nachdem sie gesättigt sind, haben sie einen nahezu konstanten Spannungsabfall. (Aber sie können immer noch mehr Strom ziehen). Versuchen Sie also bitte Ihr Experiment mit einer normalen Widerstandslast und sonst nichts. Stellen Sie sicher, dass Ihre Last in der Lage ist, das Solarpanel kurzzuschließen.

Dies ist nicht die Antwort, die Sie erwarten, aber es ist wichtig zu wissen, warum Ihr Design fehlgeschlagen ist. Beginnen Sie immer mit Spezifikationen wie diesen Kurven, bevor Sie mit einem Design beginnen, sonst ist ein Scheitern unvermeidlich.

Die Lastlinie der PV bei maximaler Leistung ist der Ort der Betriebspunkte. Ihre LED-Lasten von 20 mA übersteigen möglicherweise die Kapazität Ihrer Zelle, wodurch der Controller unwirksam wird.

Es gibt 3 signifikante Variablen;

  • die Leistungskapazität des PV-Generators V,I
  • die Umgebungstemperatur
  • die solare Eingangsleistung / m² oder in [W/m] bei 25 ° C oder gleichwertige Messung

Geben Sie hier die Bildbeschreibung ein[ Geben Sie hier die Bildbeschreibung ein] [ Geben Sie hier die Bildbeschreibung ein] 3

Effizienzgrößen in allen PV-Generatoren.

Für zukünftige ForschungGeben Sie hier die Bildbeschreibung ein

Sobald Sie Voc Isc oder Pmax und Pin definiert haben, kann ein Design beginnen. Das Ziel für die maximale Leistungsübertragung kann als angepasste Impedanzkurve gegenüber T['C], Pin (Solar) und Pout max definiert werden. verstehen, dass es sich um eine spannungsbegrenzte Stromquelle mit einer nichtlinearen Lastleitung handelt. Wenn Sie die Lastleitung mit allen Variablen simulieren können, können Sie sie mit einer VIEL einfacheren Schaltung so gut ausführen wie die Werbung. (wie der PV-Simulator)

Wenn Sie versuchen, diese Konzepte zu verstehen, wird Design trivial. Wenn nicht, wird es schwer zu erklären sein.

Ich weiß, dass diese Antwort nicht so detailliert ist wie die andere, aber ich denke, Sie sollten Ihren R10 und R11 in einen größeren Widerstand (z. B. 1k) umwandeln. Denn je kleiner der Widerstand, desto mehr Strom wird gezogen.