top of page

Experimentier-Tools

Hilfsprogramme für unsere PV-Experimente 1 und 3.
 

Experimentier Suite Icon.png

Der Simulationsrechner zu Experiment 1...

zeichnet die mathematisch zu erwartenden Leistungskurven einer PV-Anlage, abhängig von Neigung und Himmelsausrichtung der Module. Basis der Simulation ist die perspektivistische Flächenverkürzung der Module bei Wanderung der Sonne von Ost nach West und vom Horizont bis zu ihrem Sonnenhöchststand.

 

Das Programm zu Experiment 3...

führt Datenfitting als Konzept ein, um aus dem diskreten U-I-Datensatz des Experiments programmatisch eine kontinuierliche Funktion zu gewinnen. Die gefittete Funktion ist dabei ähnlich der Shockley-Diodengleichung, beschreibt also das Ensemble von erwarteten Effekten die bei dem Photeffekt auftreten.

Experiment 1

Experiment 3

Exp1: Simulation der Leistungskurve einer PV-Anlage über den Tag

Modul Körper.png

Süd

Ost

West

Exp3: Zeichnen der MPP-Kurve

Beim ersten Experimentieren in der Universität und beim technischen Zeichnen wird oft sogenanntes Millimeterpapier verwendet, um Graphen der Messdaten so genau wie möglich zeichnen zu können. Das Millimeterpapier ist ein rechtwinkliges Gitternetz mit einer Kästchenbreite von einem Millimeter.

In der Physik ist es wichtig, aus diskreten Datenpunkten, eine kontinuierliche Linie "zu basteln", um mit Sicherheit auf bestimmte charakteristische Größen des Systems zu schließen.

Doch welche Linie passt am besten auf einen Datensatz? Welche Linie 

ist die Best-Fit-Linie?

Which fit is best.jpeg

Ist der Datentrend linear, so ist klar, dass die Best-Fit-Linie eine Gerade sein muss, die durch die Punkte geht. Das lässt sich mit dem Millimeterpapier leicht erledigen. Die wichtigen Kenngrößen des Systems sind dann die Steigung und der y-Achsenabschnitt, also die Parameter der Funktion

Variable

Steigungsparameter

Y-Achsenabschnitt-Parameter

Doch was, wenn der Trend nicht klar ist? Nicht-lineare Trends und sogenannte "Ausreißer" in den Daten verkomplizieren das Verfahren sehr, insbesondere bei komplizierten physikalischen Prozessen. 

 

Bei der Entstehung elektronisch gesteuerter, maschineller Logik hat sich ihr Nutzen bei der Datenverarbeitung- und Interpretation als unverzichtbar erwiesen. Heutzutage benutzen wir Software, die Algorithmen enthält, mit denen wir die Daten verarbeiten können. Ein Algorithmus ist lediglich eine Ansammlung von mathematischen Anweisungen, die ein Computer durchführen kann. Damit man dem Computer die Anweisung geben kann, muss man eine der vielen Sprachen sprechen können, die er versteht. 

 

Viele Wissenschaftlerinnen entscheiden sich für die Programmiersprache "Python". Sie ist extrem mächtig und vielfältig, aber ihre Syntax - also quasi der Satzbau und die Grammatik der Sprache - ist simpel gehalten.  

python_icon.png

Das Vorgehen ist nun wie folgt: 

  1. Welche Gleichung aus der Physik beschreibt theoretisch die Daten?  Das ist unser mathematisches Model. Wir wollen nun die Parameter dieser Gleichung mittels einen Algorithmus finden

  2. Definiere die Gleichung in Python über das 'def' - Schlüsselwort

  3. Bastele sogenannte 'Listen' in Python, die all deine x-Werte und all deine y-Werte enthalten 

  4. Führe den Fit durch, indem du den Algorithmus 'curve_fit' auf deine Listen und die Gleichung anwendest. Der Algorithmus nimmt an, dass diejenigen Werte, die dein Multimeter angezeigt hat, am wahrscheinlichsten stimmen, trotz der Unsicherheit in der Messung. Das macht er, indem er den sogenannten "quadratischen Informationsverlust" minimiert (weiterführende Informationen).

 

Das Program zeichnet dir dann die Best-Fit Linien, gibt dir die Werte der Parameter und sogar deren Unsicherheit - den alles was wir in Experimenten messen ist mit einem Fehler behaftet. 

Versuche es unten selber!

Beispielswerte

anzeigen

Beispielswerte

löschen

U_liste = [

]

I_liste = [

]

Importiere das Zeichnen und das Fit-Modul. Definiere die mathematische Gleichung, mit der die Daten gefittet werden.

import plot

from scientific_python import curve_fit 

# das hier ist ein Kommentarbereich. Die Gleichung unten ist eine Version

# der sogenannten Shockley-Gleichung, die die Stromstärke einer Diode, 

# also auch einer Solarzelle beschreibt.

def shockley_gleichung(U, a, b ,c):

    return a*(1-b*(e**(U/c)-1))

 

P_liste = I_liste * U_liste

Im Code oben bezeichnet das lilafarbene "e" die sogenannte Euler'sche oder natürliche Zahl. Das Symbol '**' bedeutet 'hoch' und '*' ist der Malpunkt. Die Buchstaben 'a', 'b', 'c' sind die Parameter der Funktion, die es zu finden gilt, ähnlich wie bei dem Beispiel oben mit den 'm' und 't' Parametern, nur das die Ersteren keinen bestimmten Namen haben. In Mathematik übersetzt schaut die Gleichung also so aus:

Aufgrunddessen, dass sich in dieser Gleichung das "e hoch ..." befindet, sprechen wir von einer nicht-linearen Gleichung. Die Shockley-Gleichung gibt die Stromstärke einer PV-Zelle in Abhängigkeit der angelegten Gesamtspannung wieder. Die entsprechende Gleichung für ein ohm'sches Element ist 

die du bestimmt kennst. Was nun übrig bleibt, ist die Datenpunkte zu zeichnen und die Best-Fit-Linie zu finden!

plot(x=U_liste, y=I_liste, marker="Point", color="red")

plot(x=U_liste, y=P_liste, marker="Point", color="blue")

Run Code Button.png

I_ergebnis = curve_fit(shockley_gleichung, U_liste, I_liste)

P_ergebnis I_ergebnis * U_liste

plot(x=U_liste, y=I_ergebnis, marker="line", color="red")

plot(x=U_liste, y=P_ergebnis, marker="line", color="blue")

Run Code Button.png
Clear icon.png
bottom of page