Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Zelfbouw Zonnetracker Zonne-energiesysteem met Arduino UNO

Onderdelen en Benodigdheden

Arduino UNO1
LDR-sensor (Analog Devices)1
Solderloos Breadboard (volledige grootte)1
Zonnepaneel1
SG90 Micro-servomotor2
Jumperdraden1 set
Weerstand 1 kΩ4

Apps en Online Diensten

  • Arduino IDE

Over dit Project

Zonnepanelen zijn overal te vinden: van mobiele opladers in landelijke gebieden tot trottoirverlichting. Zonne-energie is eenvoudig, beschikbaar en goedkoop. Maar bijna alle panelen staan vast. Een vast paneel produceert niet de maximaal mogelijke energie.

Onze tracker is een dual-axis tracker: hij volgt de zon in zowel X- als Y-richting (links/rechts en omhoog/omlaag). Eenmaal ingesteld, hoeft u nooit meer bij te stellen – de tracker volgt de zon automatisch.

Hoe het werkt

Vier LDR's (lichtgevoelige weerstanden) zijn op de hoekpunten van een kruis gemonteerd. De Arduino vergelijkt de lichtintensiteit van de LDR-paren en stuurt twee servomotoren aan om het paneel naar de helderste richting te draaien.

Code

Zonnetracker Code (Arduino)

/* Auteur: Mayur Rabadiya */
#include 
Servo s;   // Verticale servo
Servo sh;  // Horizontale servo

int start1 = 90; // Startpositie horizontaal
int start2 = 90; // Startpositie verticaal

int L1 = A0, L2 = A1, L3 = A2, L4 = A3; // LDR-pinnen
int a = 15; // Drempelwaarde voor beweging

void setup() {
  s.attach(9);
  sh.attach(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;
  int plus23 = LDR2 + LDR3;
  int plus12 = LDR1 + LDR2;
  int plus34 = LDR3 + LDR4;

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

  // Verticale as
  if (!((diff1 <= a) || (diff2 <= a))) {
    if (plus14 > plus23) start2--;
    if (plus14 < plus23) start2++;
  }

  // Horizontale as
  if (plus12 > plus34) start1--;
  if (plus12 < plus34) start1++;

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

Schema

Het schema toont de aansluiting van de vier LDR's (elk met 1kΩ pull-down weerstand) op A0-A3, en de twee servos op pinnen 9 en 10. De voeding van de servos komt van de Arduino 5V (voor kleine servos acceptabel).

Productieproces

  1. Zonneverwarmingssystemen: Van Passief tot Actieve Oplossingen voor Duurzame Huisverwarming
  2. Meerpositie-temperatuursensorsysteem voor slimme thuisintegratie
  3. MotionSense: Slimme inbraakdetectie met Arduino en ESP8266
  4. 3D-Printer Brandpreventie: Slimme Sensor Veiligheidssysteem
  5. Slimme Plantenwateringssysteem met Arduino Nano
  6. Arduino-gebaseerde Afstotende Magnetische Levitatie: Eenvoudige Schakeling & DIY Handleiding
  7. Geavanceerde Remote-gecontrolleerde Gripper Robot voor Precisiehantering
  8. High-Performance Arduino Weerballon Datalogger
  9. Autonome Gezichtsvolgende Robot Auto met Arduino Nano & OpenCV
  10. Geavanceerde Microcontroller Lab: ESP32, Arduino, PIC en Sensormodules
  11. CoroFence Thermische Detector: Geavanceerde PIR-sensor & IoT-integratie