- Erforderliche Komponenten für Arduino Solar Tracker:
- Wie funktioniert ein einachsiger Solartracker?
- So bauen Sie mit Arduino ein rotierendes Solarpanel:
- Schaltplan und Erklärung:
- Einachsiger Solartracker mit Arduino-Code:
In diesem Artikel stellen wir mit Arduino ein Sun Tracking- Solarpanel her, bei dem zwei LDRs (lichtabhängiger Widerstand) zum Erfassen des Lichts und ein Servomotor zum automatischen Drehen des Solarpanels in Richtung des Sonnenlichts verwendet werden. Der Vorteil dieses Projekts ist, dass die Sonnenkollektoren immer dem Sonnenlicht folgen und immer der Sonne zugewandt sind, um ständig aufgeladen zu werden und die Versorgung mit maximaler Leistung versorgen zu können. Der Prototyp ist sehr einfach zu bauen. Nachfolgend finden Sie die vollständige Beschreibung der Funktionsweise und der Herstellung des Prototyps.
Erforderliche Komponenten für Arduino Solar Tracker:
Die folgenden Komponenten sind erforderlich, um ein Solar-Tracking-System mit Arduino zu erstellen. Die meisten Komponenten sollten in Ihrem örtlichen Geschäft erhältlich sein.
- Servomotor (sg90)
- Sonnenkollektor
- Arduino Uno
- LDRs X 2 (lichtabhängiger Widerstand)
- 10K Widerstände X 2
- Batterie (6 bis 12 V)
Wie funktioniert ein einachsiger Solartracker?
In diesem Projekt arbeiten LDRs als Lichtdetektoren. Bevor wir ins Detail gehen, müssen wir verstehen, wie der LDR funktioniert. LDR (Light Dependent Resistor), auch als Fotowiderstand bekannt, ist das lichtempfindliche Gerät. Sein Widerstand nimmt ab, wenn das Licht darauf fällt, und deshalb wird es häufig in Dunkel- oder Lichtdetektorschaltungen verwendet. Überprüfen Sie hier die verschiedenen Schaltkreise basierend auf LDR.
Die beiden LDRs befinden sich an den beiden Seiten des Solarmoduls, und der Servomotor dient zum Drehen des Solarmoduls. Das Servo bewegt das Solarpanel in Richtung des LDR, dessen Widerstand gering ist, dh in Richtung des LDR, auf den das Licht fällt, und folgt so dem Licht. Und wenn etwas Licht auf beide LDR fällt, dreht sich das Servo nicht. Das Servo versucht, das Solarpanel in die Position zu bewegen, in der beide LDRs den gleichen Widerstandsmittelwert haben, bei dem die gleiche Lichtmenge auf beide Widerstände fällt. Wenn sich der Widerstand eines der LDRs ändert, dreht es sich in Richtung eines niedrigeren Widerstands LDR. Schauen Sie sich die Demonstration Video am Ende dieses Artikels.
So bauen Sie mit Arduino ein rotierendes Solarpanel:
Um den Prototyp zu erstellen, müssen Sie die folgenden Schritte ausführen:
Schritt 1:
Nehmen Sie zuerst ein kleines Stück Pappe und machen Sie an einem Ende ein Loch. Wir werden die Schraube hineinstecken, um sie später mit dem Servo zu befestigen.
Schritt 2:
Befestigen Sie nun zwei kleine Pappstücke in V-Form mit Hilfe eines Klebers oder einer Heißluftpistole und legen Sie ein Solarpanel darauf.
Schritt 3:
Befestigen Sie dann die Unterseite der V-Form am anderen Ende eines kleinen Stücks Pappe, in das Sie im ersten Schritt ein Loch gemacht haben.
Schritt 4:
Setzen Sie nun die Schraube in das Loch ein, das Sie auf dem Karton gemacht haben, und führen Sie sie durch das Loch in das Servo ein. Die Schraube wird beim Kauf mit dem Servomotor geliefert.
Schritt 5:
Legen Sie nun das Servo auf ein anderes Stück Pappe. Die Größe des Kartons sollte größer genug sein, damit Sie einen Arduino Uno, ein Steckbrett und eine Batterie darauf legen können.
Schritt 6:
Befestigen Sie die LDRs mit Hilfe von Klebstoff an den beiden Seiten des Solarpanels. Stellen Sie sicher, dass Sie die Drähte mit den Beinen der LDRs verlötet haben. Sie müssen diese später mit den Widerständen verbinden.
Schritt 7:
Legen Sie nun den Arduino, den Akku und das Steckbrett auf den Karton und stellen Sie die Verbindung wie im Abschnitt Schaltplan und Erläuterung unten beschrieben her. Der endgültige Prototyp ist unten dargestellt.
Schaltplan und Erklärung:
Das vollständige Schaltbild für das Solar Tracking Arduino-Projekt ist unten dargestellt. Wie Sie sehen können, ist die Schaltung sehr einfach und kann leicht mit Hilfe eines kleinen Steckbretts gebaut werden.
In diesem Arduino Solar Panel Tracker wird Arduino von der 9-V-Batterie und alle anderen Teile vom Arduino gespeist. Die von Arduino empfohlene Eingangsspannung liegt zwischen 7 und 12 Volt, Sie können sie jedoch im Bereich von 6 bis 20 Volt betreiben, was die Grenze darstellt. Versuchen Sie, es innerhalb der empfohlenen Eingangsspannung mit Strom zu versorgen. Verbinden Sie also das Pluskabel der Batterie mit dem Vin des Arduino und das Minuskabel der Batterie mit der Masse des Arduino.
Verbinden Sie als nächstes das Servo mit dem Arduino. Verbinden Sie das Pluskabel des Servos mit den 5 V von Arduino und das Erdungskabel mit der Masse des Arduino und verbinden Sie dann das Signalkabel des Servos mit dem digitalen Pin 9 von Arduino. Das Servo hilft beim Bewegen des Solarpanels.
Verbinden Sie nun die LDRs mit dem Arduino. Verbinden Sie ein Ende des LDR mit dem einen Ende des 10k-Widerstands und verbinden Sie dieses Ende auch mit dem A0 des Arduino und verbinden Sie das andere Ende dieses Widerstands mit Masse und verbinden Sie das andere Ende des LDR mit 5V. In ähnlicher Weise verbinden Sie das eine Ende des zweiten LDR mit dem einen Ende des anderen 10k-Widerstands und verbinden Sie dieses Ende auch mit dem A1 von Arduino und verbinden Sie das andere Ende dieses Widerstands mit Masse und verbinden Sie das andere Ende des LDR mit 5V von Arduino.
Einachsiger Solartracker mit Arduino-Code:
Der Code für diesen Arduino-basierten Solar Panel Tracker ist einfach und wird durch Kommentare gut erklärt. Zunächst werden wir die Bibliothek für Servomotoren aufnehmen. Dann initialisieren wir die Variable für die Ausgangsposition des Servomotors. Danach initialisieren wir die Variablen, die von den LDR-Sensoren und dem Servo gelesen werden sollen.
#einschließen
Der Befehl sg90.atach (Servopin) liest Servo von Pin 9 von Arduino. Als nächstes setzen wir die LDR-Pins als Eingangs-Pins, damit wir die Werte von den Sensoren lesen und das Solarpanel entsprechend bewegen können. Dann stellen wir den Servomotor auf 90 Grad ein, was die Ausgangsposition für das Servo ist.
void setup () {sg90.attach (Servopin); // bringt das Servo an Pin 9 an pinMode (LDR1, INPUT); // Den LDR-Pin als EingangspinMode machen (LDR2, INPUT); sg90.write (initial_position); // Servo mit 90 Grad Verzögerung bewegen (2000); // Verzögerung von 2 Sekunden}
Dann lesen wir die Werte aus den LDRs und speichern in R1 und R2. Dann werden wir den Unterschied zwischen den beiden LDRs machen, um das Servo entsprechend zu bewegen. Wenn der Unterschied zwischen ihnen Null ist, bedeutet dies, dass die gleiche Lichtmenge auf beide LDRs fällt, sodass sich das Solarpanel nicht bewegt. Wir haben eine Variable namens error verwendet, deren Wert 5 ist. Die Verwendung dieser Variablen besteht darin, dass sich das Servo nicht bewegt, wenn die Differenz zwischen den beiden LDRs unter 5 liegt. Wenn wir dies nicht tun, dreht sich das Servo weiter. Und wenn die Differenz größer als der Fehlerwert (5) ist, bewegt das Servo das Solarpanel in Richtung des LDR, auf den das Licht fällt. Überprüfen Sie den vollständigen Code und das Demo-Video unten.
int R1 = analogRead (LDR1); // Wert aus LDR 1 lesen int R2 = analogRead (LDR2); // Wert aus LDR 2 lesen int diff1 = abs (R1 - R2); // Berechnung der Differenz zwischen int diff2 = abs (R2 - R1) des LDR; if ((diff1 <= error) - (diff2 <= error)) {// Wenn der Unterschied unter dem Fehler liegt, dann nichts tun} else {if (R1> R2) {initial_position = --initial_position; // Bewege das Servo in Richtung 0 Grad} if (R1 <R2) {initial_position = ++ initial_position; // Bewegen Sie das Servo in Richtung 180 Grad}}
Auf diese Weise können Sie einen einfachen Solarpanel-Tracker erstellen, der sich automatisch wie eine Sonnenblume dem Licht nähert. Hier haben wir das Low-Power-Solarpanel verwendet, um das Gewicht zu reduzieren. Wenn Sie High-Power- oder Heavy-Solarpanel verwenden möchten, müssen Sie den Servomotor entsprechend auswählen.