Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY Sonnenverfolgungs-Solarsystem mit Arduino UNO – Dual-Achsen-Tracker

Komponenten und Materialien

KomponenteAnzahl
Arduino UNO1
Analog Devices LDR-Sensor (Lichtabhängiger Widerstand)4
Lötfreies Breadboard (Full Size)1
Solarmodul1
SG90 Mikro-Servomotor2
Jumper-Kabel (generic)1
Widerstand 1 kΩ4

Apps und Online-Dienste

Über dieses Projekt

Heutzutage sieht man Solarpaneele überall – für mobiles Laden in ländlichen Gebieten, als Gehwegbeleuchtung usw. Solarenergie ist einfach, verfügbar und günstig.

Fast alle Paneele im Alltag sind starr montiert. Das ist einfach und reicht für kleine Anwendungen, aber sie produzieren nicht die maximal mögliche Energie.

Unser Tracker ist ein Dual-Achsen-Tracker – er verfolgt die Sonne in X- und Y-Richtung (links, rechts, oben, unten). Einmal eingerichtet, muss nichts mehr justiert werden: Wo auch immer die Sonne hingeht, der Tracker folgt.

Code

Sonnenverfolgungs-Solarsystem

/*
 * Author: Mayur Rabadiya
 * Email: mayurrabadiya994@gmail.com
 * Code: Sun tracking solar system
 */
#include 
Servo s;      // Vertikaler Servo
Servo sh;     // Horizontaler Servo
int start1 = 90; // Startposition 90°
int start2 = 90;
int L1 = A0; int L2 = A1; int L3 = A2; int L4 = A3; // 4 LDRs
int a = 15; // Toleranzschwelle

void setup() {
  s.attach(9);   // Vertikaler Servo an Pin 9
  sh.attach(10); // Horizontaler Servo an Pin 10
  pinMode(L1, INPUT); pinMode(L2, INPUT);
  pinMode(L3, INPUT); pinMode(L4, INPUT);
  s.write(start1);
  sh.write(start2);
  delay(2000);
}

void loop() {
  int LDR1 = analogRead(L1);
  int LDR2 = analogRead(L2);
  int LDR3 = analogRead(L3);
  int LDR4 = analogRead(L4);

  int plus14 = (LDR1 + LDR4); // Diagonale Summen
  int plus23 = (LDR2 + LDR3);
  int plus12 = (LDR1 + LDR2); // Obere vs untere Hälfte
  int plus34 = (LDR3 + LDR4);

  int diff1 = abs(plus14 - plus23);
  int diff2 = abs(plus23 - plus14);
  int diff3 = abs(plus12 - plus34);
  int diff4 = abs(plus34 - plus12);

  // Vertikale Nachführung
  if ((diff1 <= a) || (diff2 <= a)) {
    // Differenz klein → nichts tun
  } else {
    if (plus14 > plus23) start2 = --start2; // < 90°
    if (plus14 < plus23) start2 = ++start2; // > 90°
  }

  // Horizontale Nachführung
  if (plus12 > plus34) start1 = --start1; // < 90°
  if (plus12 < plus34) start1 = ++start1; // > 90°

  s.write(start1);
  sh.write(start2);
  delay(100);
}

Schaltplan

Vier LDRs (je 1 kΩ Pull-down) an A0–A3, zwei SG90 Servos an Pin 9 & 10, Solarmodul mechanisch an den Servos befestigt. Der Schaltplan ist im Projektarchiv als PNG enthalten.

Herstellungsprozess

  1. Solarheizsysteme: Von passiven zu aktiven Lösungen für nachhaltiges Heizen
  2. Multi-Position Temperatursensor-System für Smart-Home-Integration
  3. MotionSense: Smarte Einbruchserkennung mit Arduino & ESP8266
  4. 3D-Drucker Brandschutz: Intelligentes Sensorsicherheitssystem
  5. Smart-Home Pflanzenbewässerungssystem mit Arduino Nano
  6. Arduino-basierte abstoßende Magnetschwebung: Einfache Schaltung & DIY-Anleitung
  7. Fortgeschrittener ferngesteuerter Greifer-Roboter für präzises Handling
  8. Hochleistungs-Datenlogger für Arduino-Wetterballons
  9. Autonomes Gesichtsverfolgungs-Robotercar mit Arduino Nano & OpenCV
  10. CoroFence Thermaldetektor: PIR-Sensor & IoT-Integration mit Panasonic GridEye