Draagbare Zonnetracker Telefoonlader met Arduino en Servo-besturing
Onderdelen en Benodigdheden
| Arduino UNO | 1 |
| Servo's (Tower Pro MG996R) | 1 |
| Fotoweerstand (LDR) | 2 |
| Weerstand 10k ohm | 2 |
| 2.5V naar 5V Boost Converter - USB Aangepast | 1 |
| Zonnepaneel - Hobby Formaat | 2 |
Nodige Tools en Machines
- Solderbout (generic)
Apps en Online Services
- Arduino IDE
Over Dit Project
Duurzamer Leven
Ik werk in de hernieuwbare energie-industrie in Australië en knutsel al enige tijd met Arduinos, maar pas met dit project besloot ik de twee te combineren en mijn eigen kleine zonne-apparaat te bouwen. Een kleine opmerking vooraf: dit project vereist 5V om de Arduino en servo te voeden, die gebruikt worden om de opbrengst van zonnepanelen te maximaliseren die op hun best 3,4V produceren. Dus het betaalt zich niet direct terug. Het concept is echter schaalbaar: als je dit concept toepast op een array van 8 panelen die 12V produceren, kun je de Arduino voeden EN je telefoon laden zonder externe stroombron. Ik plan dit in de toekomst te doen en zal hier een link toevoegen wanneer het zover is.
Bronvermelding:
- The DIY Life – Arduino Solar Tracker
- Brown Dog Gadgets – Solar Altoids USB Charger
Beide zijn goede bronnen over het onderwerp en waar ik het concept vandaan heb.
AAN DE SLAG
Allereerst heb je zonnepanelen nodig. Ik gebruikte er twee, maar je kunt er zoveel gebruiken als je wilt – let wel op hoeveel een 9-gram servo kan tillen/neerlaten (maak het niet te zwaar). De panelen die ik vond waren 1,5V, 0,75W – aan de lagere kant, maar licht en goedkoop. Omdat dit een proof-of-concept is, is de uitgang niet cruciaal.
Ik heb mijn twee panelen aan de rand met epoxy aan elkaar gelijmd. Om de panelen in serie te schakelen, soldeer je de plus van het ene paneel aan de min van het andere, zodat er een plus- en mindraad overblijft. Bevestig je twee LDR's aan elke kant van het zonnepaneel (Oost en West), en soldeer een jumper-wire aan elke lead. Tip: snij het uiteinde van de jumper-wire af en strip de lead ~5mm om de draden bloot te leggen – makkelijker te solderen.

Om de LDR's te lezen met de Arduino, heb je een spanningsdeler nodig voor elke LDR. Zie hier voor spanningsdelers. In dit circuit is de LDR R1, en we gebruiken een 10kΩ-weerstand voor R2. Verbind jumper-wires met de Arduino waar de twee weerstanden samenkomen. Op een breadboard: één LDR-lead naar de spanningsdeler, de andere naar de positieve voedingsrail. Zie Fritzing-diagram hieronder.

De Tracker-structuur
Je hebt een zwenkwervel-ondersteuning nodig voor het paneel. Mijn ontwerp is een lengte veerstaal ondersteund door twee A-frames. De onderkant van het paneelarray heeft kleine houten strekken met gaten voor de veerstaal. Ik maakte het van balsahout (goedkoop, makkelijk, licht), maar voor een permanente installatie zou je dun staal of geïmpregneerd multiplex willen gebruiken. De bouw van de zwenkwervel is niet goed gedocumenteerd, maar de video hieronder toont hoe het zit, inclusief de locatie van de servo. Ik bouwde het met het paneel op een neerwaartse hoek, zodat de basis naar het noorden gericht kan worden – welke kant het paneel ook opschuwelt, het is altijd een beetje naar het noorden gekanteld voor maximale opbrengst (ik ben op het zuidelijk halfrond).
De Servo Monteren
De servo zit op een van de ondersteuningsbalken van de A-frame en tilt één kant van het paneel op/neer. Ik vouwde veerstaal met tang om gehakte uiteinden te maken die je door de paneelstreep en servo-arm kunt lussen. Je moet misschien de gaten in de servo-arm wijdmaken (kleinste boortje). Lijm het staal NIET in de servo-arm of paneelstreep – het moet kunnen draaien in de gaten voor soepel beweeg.

Haal het paneel van de structuur af, zodat alleen de servo overblijft voor kalibratie.
De Servo Kalibreren
Open een nieuwe sketch en plak deze code:
#include <Servo.h>
Servo myservo1;
int pos = 10;
void setup() {
myservo1.attach(9);
}
void loop() {
myservo1.write(pos);
}
Upload naar je Arduino en kijk waar de servo naartoe beweegt. Verander de 'pos'-waarde tussen 0 en 180 en upload opnieuw, tot je de posities vindt waar de servo-arm rechtop en rechtomlaag wijst. Dat zijn je max en min waarden. Bij mij waren dat 15 en 140. Als de waarde overlapt van 180 terug naar 0, haal de servo-arm eraf en repositioneer hem voor correcte uitlijning.
Alles Samenvoegen
Sluit alles aan en upload de volgende sketch:
// Sun Tracker Sketch
// Voor 9-gram servo, gevoed direct van Arduino zonder externe voeding
// Fritzing diagram: https://github.com/nickalanf/Arduino--Projects
// Serial monitor voor debug/opbouw, uitschakelbaar na werking
// Sketch by FIELDING - 8/2/18
#include <Servo.h>
Servo servo;
int eLDRPin = A0;
int wLDRPin = A1;
int eastLDR = 0;
int westLDR = 0;
int difference = 0;
int error = 10;
int servoSet = 130;
void setup() {
servo.attach(9);
Serial.begin(9600);
}
void loop() {
eastLDR = analogRead(eLDRPin);
westLDR = analogRead(wLDRPin);
if (eastLDR < 400 && westLDR < 400) {
while (servoSet <= 140 && servoSet >= 15) {
servoSet++;
servo.write(servoSet);
delay(100);
}
}
difference = eastLDR - westLDR;
if (difference > 10) {
if (servoSet <= 140) {
servoSet++;
servo.write(servoSet);
}
} else if (difference < -10) {
if (servoSet >= 15) {
servoSet--;
servo.write(servoSet);
}
}
Serial.print(eastLDR);
Serial.print(" - ");
Serial.print(westLDR);
Serial.print(" - ");
Serial.print(difference);
Serial.print(" - ");
Serial.print(servoSet);
Serial.print(" - ");
Serial.println(".");
delay(100);
}
Open de Serial Monitor en schijn met een lamp op de LDR's. Probeer het licht gelijkmatig op beide te richten en kijk wat het verschil (difference) is. Als het meer dan ~25 of minder dan -25 is, voeg een error-kalibratie toe. Voeg de relevante error-waarde toe in de code en tel deze op of trek af van de betreffende LDR. Als de verschilwaarden dichtbij elkaar liggen, is het prima om het zo te laten.
Klaar voor de test! Ga in een donkere kamer met een zaklamp. Beweeg het licht langzaam van de ene LDR naar de andere en kijk hoe het paneel meebeweegt. Je kunt ook één LDR afdekken – het paneel zou dan weg moeten schuiven van die kant.
BONUS – TELEFOONLADER

Als je de uitgang van de panelen echt wilt benutten, sluit dan een 2.5V-5V DC-DC boost converter direct aan op de draden van de panelen. Dit is een volledig los circuit van de Arduino/breadboard. Let op: een standaard telefoon laadt op 5V, en je panelen geven misschien 5V maar met lage stroom. Als je batterij vol is of de zon zwak, heb je niet genoeg output om te laden. De simpelste oplossing: meer panelen toevoegen!

Code
Sun Tracker
// Sun Tracker Sketch
#include <Servo.h>
Servo servo;
int eLDRPin = A0;
int wLDRPin = A1;
int eastLDR = 0;
int westLDR = 0;
int difference = 0;
int error = 10;
int servoSet = 130;
void setup() {
servo.attach(9);
Serial.begin(9600);
}
void loop() {
eastLDR = analogRead(eLDRPin);
westLDR = analogRead(wLDRPin);
if (eastLDR < 400 && westLDR < 400) {
while (servoSet <= 140 && servoSet >= 15) {
servoSet++;
servo.write(servoSet);
delay(100);
}
}
difference = eastLDR - westLDR;
if (difference > 10) {
if (servoSet <= 140) {
servoSet++;
servo.write(servoSet);
}
} else if (difference < -10) {
if (servoSet >= 15) {
servoSet--;
servo.write(servoSet);
}
}
Serial.print(eastLDR);
Serial.print(" - ");
Serial.print(westLDR);
Serial.print(" - ");
Serial.print(difference);
Serial.print(" - ");
Serial.print(servoSet);
Serial.print(" - ");
Serial.println(".");
delay(100);
}
Schema's

Productieproces
- Zonnecellen: van vroege experimenten tot moderne fotovoltaïsche technieken – Technologie, productie en toekomstperspectieven
- Real-time zonnepaneelmonitoring met Arduino: Goedkope data-acquisitie
- Zonnetracker V2.0 – Geavanceerd DIY Zonnepaneel Volgsysteem
- IoT-zonnesturing: Slimme energiemanagement met Arduino
- Zelfbouw Zonnetracker Zonne-energiesysteem met Arduino UNO
- SmartPostBox: IoT-geïntegreerde intelligente brievenbus met Sigfox
- Precisie servo-aangedreven zonnevolgsysteem voor optimale energieopbrengst
- Dubbele-as zonnepaneel-volgsysteem met auto & handmatige controle – Efficiënte zonvolging
- Arduino-gebaseerde MPPT Zonnelaadcontroller voor Optimale PV Energie-Oogst
- Zonnepaneelkwaliteit: essentiële controlepunten voor optimale prestaties
- Hoe zonnepanelen gemaakt worden: stap-voor-stap gids voor hoogwaardige zonne-energieproductie