Jetzt habe ich mal ein paar Messungen gemacht. Ich habe einen Sensor mit einem 100gramm Papier abgedeckt, und einen Sensor mit 2x100gramm Papier.
Die anderen beiden waren offen. Das Ergebnis immer Richtung bedeckter Himmel gerichtet und in der selben Minute. Also bei vergleichbaren Licht.
Die beiden ohne Abdeckung waren Vollgas, = 4095.
Der Sensor mit einer Schicht Abdeckung = 3050.
Der Sensor mit zwei Schichten Abdeckung = 2700.
Das Panel lieferte dabei eine Spannung von = 11,20 Volt
Wie gesagt bei sehr bedeckten Himmel.
Jetzt wäre es schön wenn ich auch noch richtig schwarzen gewittrigen Himmel bekomme

und morgen soll es Sonnig werden. Die Werte setze ich dann auch hier, in den Beitrag rein. Ich denke ich werde zwei Schichten Papier brauchen. Aber das wird sich ja noch zeigen. Ich muss ja sehen dass ich bei bestem Licht in die Nähe von 4095 komme, aber auf keinen Fall ganz an den Wert, denn ich brauche ja immer unterschiedliche Werte um den Sensor mit dem besseren Licht feststellen zu können. Da ist es nicht Hilfreich wenn zwei Sensoren, di ich vergleichen muss, beide 4095 haben. Und am Panel erreiche ich so 14-15 Volt max. Das beobachte ich auch noch genau.
Ich habe jetzt noch bei den Lichtverhältnissen die Werte bei voll 0 Grad Richtung Licht, 45 Grad abgewandt vom Licht, 90 Grad abgewandt vom Licht festgehalten.
Werte bei 0 - 45 - 90 Grad.
Sensor ohne Abdeckung:
4095 - 4095 - 4000
Sensor mit einer Schicht Abdeckung:
3060 - 2500 - 2000
Sensor mit zwei Schichten Abdeckung:
2550 - 1920 - 1390
Werte beim Panel:
10,80 - 10,70 - 9,7 Volt
Bei voller Sonne mit einer Lage Papier und auch mit 2 Lagen Papier.
4095 - 3500 - 3500
Seltsamm dass es gleich ist, ob 2 Lagen Papier, oder eine Lage, auch 45 Grad, oder 90 Grad.
Das Panel hat bei voller Sonne 12,60 Volt.
Also die Panelwerte sind erstaunlich stabil, auch wenn das Panel 90 Grad vom Himmel Richtung Hauswand, abgewandt ist.
Bitte den Panelwerten keine gesteigerte Interesse zukommen lassen, denn die verwendeten Panels sind eher unbrauchbar. Also Normal ist die Spannung wesentlich höher. Aber wichtig ist hier nicht die maximale Höhe der Spannung, sondern die Unterschiede in der Spannung, je nach Lichteinfall.
Franz
PS: Für diese Messungen verwende ich dieses Programm hier unten. Da werden die Servos nicht bewegt. Da geht es nur um die Messwerte.
Code: Alles auswählen
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
#include <Adafruit_ADS1X15.h> // bindet Wire.h für I2C mit ein
Adafruit_ADS1115 ads;
#define ADS_I2C_ADDR 0x48
const float multiplier = 0.125F; // ADS1115-Multiplikator bei einf. Verstärkung
const byte panel = A0;
int panelwert = 0;
float panelspannung = 0;
float ads_mv0 = 0; // Sensor rechts
float ads_mv1 = 0; // Sensor links
float ads_mv2 = 0; // Sensor hinten
float ads_mv3 = 0; // Sensor vorne
int adc0 = 0;
int adc1 = 0;
int adc2 = 0;
int adc3 = 0;
const byte Servo1 = 5;
const byte Servo2 = 6;
unsigned long sekundenablauf = 0; // Messabstand 1 Sekunde
const unsigned long pausezeit = 1000;
unsigned long aktuellzeit = 0;
void setup() {
//----------------------------------------------------
lcd.begin();
lcd.backlight();
lcd.clear();
//----------------------------------------------------
Serial.begin(9600);
//----------------------------------------------------
ads.begin(ADS_I2C_ADDR, &Wire);
// Werte 1-fach verstärken (ESP32 liefert max. 3,3V)
ads.setGain(GAIN_ONE);
//----------------------------------------------------
lcd.setCursor (0, 0); // Zeile 1
lcd.print (F("Panelspannung "));
//----------------------------------------------------
pinMode(panel, INPUT); // Spannung vom Panel
pinMode(Servo1, OUTPUT); // Pin 5
pinMode(Servo2, OUTPUT); // Pin 6
//----------------------------------------------------
sekundenablauf = millis();
}
void loop() {
aktuellzeit = millis();
//Jede Sekunde Spannung am Panel messen
if (aktuellzeit - sekundenablauf >= pausezeit) { // Eine Sekunde abgelaufen?
panelwert = analogRead(panel);
panelspannung = panelwert * 20.3 / 1024.0;
lcd.setCursor (14, 0); // Zeile 1
lcd.print (panelspannung);
sekundenablauf = millis();
}
// -----Kanal 0 Messung------------------------------
adc0 = ads.readADC_SingleEnded(0);
ads_mv0 = ads.computeVolts(adc0) * 1000;
lcd.setCursor (12, 2); // Zeile 3
lcd.print (ads_mv0);
// -----Kanal 1 Messung------------------------------
adc1 = ads.readADC_SingleEnded(1);
ads_mv1 = ads.computeVolts(adc1) * 1000;
lcd.setCursor (0, 2); // Zeile 3
lcd.print (ads_mv1);
// -----Kanal 2 Messung------------------------------
adc2 = ads.readADC_SingleEnded(2);
ads_mv2 = ads.computeVolts(adc2) * 1000;
lcd.setCursor (6, 1); // Zeile 2
lcd.print (ads_mv2);
// -----Kanal 3 Messung------------------------------
adc3 = ads.readADC_SingleEnded(3);
ads_mv3 = ads.computeVolts(adc3) * 1000;
lcd.setCursor (6, 3); // Zeile 4
lcd.print (ads_mv3);
}