DIY-Solartracker: Günstige Nachführung für maximale Solarausbeute
Statische Solarmodule nutzen die Sonne nur unvollständig. Ein Solartracker (Nachführsystem) richtet das Modul kontinuierlich zur Sonne aus → 25–45 % mehr Ertrag (einachsig) bzw. 35–50 % (zweiachsig). Fertigsysteme kosten 500–1000 € pro Modul. Selbstbau mit Arduino, Linearakktor und LDR-Sensoren: < 150 €. Dieser Artikel zeigt Hardware, Steuerung, Code und mechanischen Aufbau.
1. Funktionsprinzip
Zwei LDRs (Lichtabhängige Widerstände) an Ost- und Westkante des Moduls. Differenz der Beleuchtungsstärke → Steuersignal für Linearakktor → Modul schwenkt bis Differenz ≈ 0 (Sonne senkrecht). Nachts / bei Bewölkung: Parkposition (horizontal oder morgendliche Ost-Position).
2. Benötigte Komponenten
- Steuerung: Arduino Micro / Nano / Uno (5 V Logik)
- Lichtsensoren: 2 × LDR 10 kΩ (z. B. GL5528) + 2 × 7 kΩ Festwiderstand (Spannungsteiler)
- Aktor: PA-14 Mini-Linearakktor, 6″ Hub, 150 lbs (ca. 670 N) – 12 V DC, geringerer Strom als 35 lbs Version
- Motorsteuerung: Wasp Motor Controller (H-Brücke, PWM, Strombegrenzung) oder BTS7960 / IBT-2
- Stromversorgung: 12 V LiFePO₄ / Blei-Gel Akku (Puffer für Nacht / Wolken)
- Solarladeregler: Genasun GV-10 (MPPT, 10 A, 12 V) für 90 W Modul
- Solarmodul: Sungold SGM-90W-18 (90 W, 18 V MPP)
- Gestell: 2×4 Holz (Dreieck/Rahmen) oder Alu-Profil + 3D-gedruckte Gelenke / Lager
3. Steuerungssystem (Arduino + Wasp + PA-14)
Arduino liest LDR-Spannungsteiler (Analog-Pins A7, A8), berechnet Mittelwert über 10 Samples (10 s), vergleicht Ost/West. PWM an Wasp → Akktor fährt aus/ein/stop. Intervall: Messung alle 10 s, Nachführung alle 10 min (einstellbar).
Pin-Belegung
| Arduino Pin | Funktion |
| D10, D11 | Wasp PWM / Dir (oder EN/DIR) |
| A7 (Pin 6) | LDR West (Spannungsteiler) |
| A8 (Pin 7) | LDR Ost (Spannungsteiler) |
Quellcode (Kernlogik)
#include <Servo.h> // Für PWM-Steuerung Wasp (falls Servo-kompatibel)
const int PIN_WASP_PWM = 10;
const int PIN_WASP_DIR = 11;
const int PIN_LDR_WEST = A7;
const int PIN_LDR_EAST = A8;
const int SAMPLES = 10;
const unsigned long SAMPLE_INTERVAL = 1000; // 10 s / 10 Samples
const unsigned long ADJUST_INTERVAL = 600000; // 10 min
int westVal = 0, eastVal = 0;
unsigned long lastSample = 0, lastAdjust = 0;
int sampleCount = 0;
long westSum = 0, eastSum = 0;
int resetCounter = 0;
void setup() {
pinMode(PIN_WASP_PWM, OUTPUT);
pinMode(PIN_WASP_DIR, OUTPUT);
Serial.begin(9600);
}
void loop() {
// LDR Sampling
if (millis() - lastSample >= SAMPLE_INTERVAL) {
westSum += analogRead(PIN_LDR_WEST);
eastSum += analogRead(PIN_LDR_EAST);
sampleCount++;
lastSample = millis();
if (sampleCount >= SAMPLES) {
westVal = westSum / SAMPLES;
eastVal = eastSum / SAMPLES;
westSum = eastSum = 0;
sampleCount = 0;
}
}
// Nachführung alle 10 min
if (millis() - lastAdjust >= ADJUST_INTERVAL) {
int diff = westVal - eastVal;
int deadband = 20; // Hysterese
if (diff > deadband) { // Westen heller → nach Westen fahren (Ausfahren)
digitalWrite(PIN_WASP_DIR, HIGH);
analogWrite(PIN_WASP_PWM, 200); // Geschwindigkeit
} else if (diff < -deadband) { // Osten heller → nach Osten (Einfahren)
digitalWrite(PIN_WASP_DIR, LOW);
analogWrite(PIN_WASP_PWM, 200);
} else {
analogWrite(PIN_WASP_PWM, 0); // Stillstand
}
lastAdjust = millis();
}
// Täglicher Reset (nach 24 h / 144 Zyklen à 10 min)
if (++resetCounter >= 144) {
// Fahrt in Parkposition (Ost-Anschlag)
digitalWrite(PIN_WASP_DIR, LOW);
analogWrite(PIN_WASP_PWM, 255);
delay(30000); // Max. Fahrzeit
analogWrite(PIN_WASP_PWM, 0);
resetCounter = 0;
}
}
Wichtige Code-Parameter (an Standort/Saison anpassen)
deadband: Verhindert Jittern bei diffuser Bewölkung
ADJUST_INTERVAL: 10 min Standard, bei bewölktem Klima größer
SAMPLE_INTERVAL / SAMPLES: Glättung gegen Wolkenschatten
- Endlagen: Mechanische Endschalter oder Stromüberwachung (Stall-Detection) für sicheren Stopp
4. Mechanischer Aufbau (Gestell)
- Dreiecksgestell aus 2×4 Kantholz (Kosten ~20 €), stabil, einfach
- Modul auf Schwenklager (Flanschlager, Kugellager) montiert
- Linearakktor an Modulrückseite und Gestellfuß befestigt (Drehgelenke!)
- Alle Holzteile: Wetterschutzlasur / Farbe
- Kabel: UV-beständig, Zugentlastung, wasserdichte Stecker (M12, Anderson Powerpole)
5. Wirtschaftlichkeit & Praxistipps
- Mehrausbeute: ~30 % bei einachsiger Nachführung (Deutschland, 48° Nord)
- 90 W Modul → +27 W Mittel → ~235 kWh/Jahr Mehrertrag → ~70 €/a (bei 0,30 €/kWh)
- Amortisation: ~2 Jahre (Material ~140 €)
- Wartung: LDRs altern (Drift), jährlich prüfen / tauschen. Akku alle 3–5 Jahre (LiFePO₄ 10+ Jahre).
- Sicherheit: Modul bei Sturm (> 60 km/h) in Horizontalstellung parken (Windlast!).
Fazit
Ein DIY-Solartracker amortisiert sich schnell und ist ein lohnendes Elektronik-/Mechanik-Projekt. Kernelemente: differenzielle LDR-Messung, PWM-gesteuerter Linearakktor, robuster Code mit Hysterese/Reset, stabiles Gestell. Für größere Anlagen: industrielle Tracker (GPS-basiert, zweiachsig, Windüberwachung). Wir unterstützen bei Bauteilauswahl, Code-Anpassung und mechanischem Design.