kk logo

Ein Sonnenverfolger (Solar Tracker) ist ein System, das mithilfe eines Mikrocontrollers (wie Arduino) und LDR Sensoren automatisch ein Solarpanel zur Sonne ausrichtet. Damit kann die maximale Sonneneinstrahlung zu genutzt werden. Es gibt zwei Varianten, den einfachen 1 Achsen Verfolger und das etwas komplexere 2 Achsen Nachführsystem.

 Hier der Sonnenverfolger mit einem Servomotor

1 MINT Projekt Arduino Sonnenverfolger Solartracking mit Servo und LED

Komponentenliste für den Sonnenverfolger 

  • Arduino UNO oder Nano
  • 2x Servomotoren (z. B. SG90 oder MG996R)
  •  4x LDRs (Lichtabhängige Widerstände)
  • 4x 10kΩ Widerstände (als Spannungsteiler) 
  • Solarpanel 
  • Halterung (z. B. aus Karton oder Holz)

Prinzip und Schaltplan:

Die LDRs werden in einem Kreuzmuster angeordnet. Sie liefern analoge Spannungen, abhängig von der Lichtintensität. Der Arduino liest diese Werte und vergleicht sie miteinander, um festzustellen, in welche Richtung die Sonneneinstrahlung am höchsten ist. In Abhängigkeit dieser Werte bewegen die Servos das Panel entsprechend nach. Ich habe nur einen Schaltplan für beide Versionen. Für den Sonnenverfolger mit einer Achse, könnt ihr einfach 1 Servo und 2 LDR weg lassen. 

5 MINT Projekt Arduino Sonnenverfolger Solartracking mit Servo und LED

 

Die LRD und die Solarplatte habe ich auf 4mm Bastelholz befestigt, die Vorlage zum ausdrucken gibt es ganz unten auf der Seite. Da die Kabel hin und her bewegt werden, habe ich noch ein Holz eingeklebt und die Kabel daran befestigt.

2 MINT Projekt Arduino Sonnenverfolger Solartracking mit Servo und LED

 Einachsen Sonnen Nachführsystem mit Arduino 

 Beim Einachsigen Sonnen Nachführsystem mit dem Arduino werden nur 2 LDR und ein Servomotor benötigt. Die Bewegung beschränkt sich auf 180 Grad von links nach rechts. Hier der Arduino Code.

#include <Servo.h>

/**
* file: Sonnenverfolger
* author: kreativekiste.de
*
* description:
* Der Servo wird nach den LDR ausgerichtet
*
* date: 05.2025
* version: 0.1
*/

Servo servo1;
int LDR_1 = 0;
int LDR_2 = 0;
int servo = 0;

void setup() {
Serial.begin(9600);
servo1.attach(5);
}

void loop() {
Serial.print("LDR 1 --- ");
Serial.print(LDR_1 );
Serial.println();
Serial.print("LDR 2 --- ");
Serial.print(LDR_2 );
Serial.println();
LDR_1 = constrain( map ( analogRead(0) , 0 , 1023 , 0 , 100 ) , 0 , 100 ) ;
LDR_2 = constrain( map ( analogRead(1) , 0 , 1023 , 0 , 100 ) , 0 , 100 ) ;
if (( LDR_1 != LDR_2 )) {

if (( LDR_1 > LDR_2 )) {

if (( servo < 180 )) {

servo = ( servo + 1 );
delay( 50 );
}
servo1.write( servo );
}
if (( LDR_2 > LDR_1 )) {

if (( servo > 0 )) {

servo = ( servo - 1 );
delay( 50 );
}
servo1.write( servo );
}
}
}

 

 Zweiachsen Sonnen Nachführsystem mit Arduino 

Beim Zweiachsen Sonnenverfolger, müssen einfach die beiden anderen LDR an den analogen Pins 2 und 3 für die HOCH/RUNTER Bewegung in das Programm eingebunden werden. Dazu kann das Programm für die LINKS/RECHTS Bewegung einfach kopiert werden und die LDR und der Servo ersetzt werden. 

 📌 Tipps:

* Kalibriere deine LDRs – je nach Lichteinfall kann es Unterschiede geben.
* Mechanische Stabilität ist wichtig: Wenn das Panel wackelt, sind die Werte unzuverlässig.
* Für größere Solarpanels solltest du keine Servos, sondern **DC-Getriebemotoren mit Endschaltern oder Encoder** verwenden 

 

Vorlage zum ausdrucken:

4 MINT Projekt Arduino Sonnenverfolger Solartracking mit Servo und LED

Ronnie

schwäbischer tüftler und bastler, kraftsportler, ADHS power, 43 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee

...

Denn du bist ein Unikat, einzig in deiner Art
Wir alle ecken an so wie in ein Quadrat
Du bist ein Unikat, du bist so wie du bist
Egal, was sie labern, wir geben kein'n Fick.

SDP, Unikat