- Nødvendige komponenter til Arduino Solar Tracker:
- Hvordan fungerer en enkeltakset solspor?
- Sådan bygger du et roterende solpanel ved hjælp af Arduino:
- Kredsløbsdiagram og forklaring:
- Enakset solspor ved hjælp af Arduino-kode:
I denne artikel skal vi lave et solsporingspanel ved hjælp af Arduino, hvor vi bruger to LDR'er (lysafhængig modstand) til at registrere lyset og en servomotor til automatisk at rotere solpanelet i retning af sollyset. Fordelen ved dette projekt er, at solpanelerne altid følger sollyset altid vil vende mod solen for at få opladning hele tiden og kan give forsyningen den maksimale effekt. Prototypen er meget let at bygge. Nedenfor finder du den komplette beskrivelse af, hvordan det fungerer, og hvordan prototypen er lavet.
Nødvendige komponenter til Arduino Solar Tracker:
Følgende er, at komponenten skal bygge et solarsporingssystem ved hjælp af Arduino, de fleste af komponenterne skal være tilgængelige i din lokale butik.
- Servomotor (SG90)
- Solpanel
- Arduino Uno
- LDR's X 2 (lysafhængig modstand)
- 10K modstande X 2
- Batteri (6 til 12V)
Hvordan fungerer en enkeltakset solspor?
I dette projekt fungerer LDR'er som lysdetektorer. Før vi går i detaljer, bliver vi nødt til at forstå, hvordan LDR fungerer. LDR (lysafhængig modstand), også kendt som fotomodstand, er den lysfølsomme enhed. Dens modstand falder, når lyset falder på det, og det er derfor, det ofte bruges i mørk eller lysdetektor kredsløb. Tjek de forskellige kredsløb baseret på LDR her.
De to LDR'er er placeret på de to sider af solpanelet, og Servomotoren bruges til at rotere solpanelet. Servoen bevæger solpanelet mod LDR, hvis modstand vil være lav, middel mod LDR, hvor lyset falder, på den måde vil det fortsætte med at følge lyset. Og hvis der er en vis mængde lys, der falder på begge LDR, vil servoen ikke rotere. Servoen vil forsøge at flytte solpanelet i den position, hvor begge LDR'er har den samme modstand, hvilket betyder, hvor den samme mængde lys vil falde på begge modstandene, og hvis modstanden i en af LDR'en ændres, roterer den mod lavere modstand LDR. Kontroller Demonstration Video i slutningen af denne artikel.
Sådan bygger du et roterende solpanel ved hjælp af Arduino:
For at fremstille prototypen skal du følge nedenstående trin:
Trin 1:
Tag først et lille stykke pap og lav et hul i den ene ende. Vi sætter skruen i den for at fastgøre den med servoen senere.
Trin 2:
Fix nu to små stykker pap med hinanden i V-form ved hjælp af lim eller varm pistol, og læg solpanel på det.
Trin 3:
Fastgør derefter undersiden af V-formen til den anden ende af et lille stykke pap, hvor du lavede et hul i første trin.
Trin 4:
Sæt nu skruen i hullet, du har lavet på kortkortet, og sæt den gennem hullet i servoen. Skruen leveres med servomotoren, når du køber den.
Trin 5:
Anbring nu servoen på et andet stykke pap. Papens størrelse skal være større nok til at du kan placere en Arduino Uno, et brødbræt og et batteri på den.
Trin 6:
Fastgør LDR'erne på de to sider af solpanelet ved hjælp af lim. Sørg for, at du har loddet ledningerne med benene på LDR'erne. Du bliver nødt til at forbinde disse med modstandene senere.
Trin 7:
Anbring nu Arduino, batteriet og brødbrættet på pap og lav forbindelsen som beskrevet i kredsløbsdiagrammet og forklaringsafsnittet nedenfor. Den endelige prototype er vist nedenfor.
Kredsløbsdiagram og forklaring:
Det komplette kredsløbsdiagram for solsporing arduino-projektet er vist nedenfor. Som du kan se, er kredsløbet meget simpelt og kan let bygges ved hjælp af et lille brødbræt.
I denne Arduino Solar Panel Tracker drives Arduino af 9V batteri, og alle de andre dele drives af Arduino. Arduino anbefalet indgangsspænding er fra 7 til 12 volt, men du kan tænde den inden for området 6 til 20 volt, hvilket er grænsen. Prøv at tænde for den inden for den anbefalede indgangsspænding. Så forbinde den positive ledning af batteriet til Vin af Arduino og den negative ledning af batteriet til jorden af Arduino.
Tilslut derefter servoen til Arduino. Forbind den positive ledning af servoen til 5V af Arduino og jordledningen til jorden af Arduino og tilslut derefter signaltråden til Servo til den digitale pin 9 af Arduino. Servoen hjælper med at flytte solpanelet.
Tilslut nu LDR'erne til Arduino. Tilslut den ene ende af LDR til den ene ende af 10k-modstanden, og tilslut også denne ende til A0 på Arduino og tilslut den anden ende af modstanden til jorden og tilslut den anden ende af LDR til 5V. På samme måde skal du forbinde den ene ende af den anden LDR til den ene ende af den anden 10k modstand og også slutte den ende til A1 af Arduino og forbinde den anden ende af modstanden til jorden og forbinde den anden ende af LDR til 5V af Arduino.
Enakset solspor ved hjælp af Arduino-kode:
Koden til denne Arduino-baserede solcellepanel-tracker er let og godt forklaret af kommentarer. Først og fremmest inkluderer vi biblioteket til servomotor. Derefter initialiserer vi variablen til servomotorens startposition. Derefter initialiserer vi de variabler, der skal læses fra LDR-sensorer og Servo.
#omfatte
sg90.atach (servopin) kommando læser Servo fra pin 9 i Arduino. Dernæst indstiller vi LDR-stifterne som inputstifter, så vi kan læse værdierne fra sensorerne og flytte solpanelet i henhold til det. Derefter indstiller vi servomotoren til 90 grader, hvilket er startpositionen for servoen.
ugyldig opsætning () {sg90.attach (servopin); // fastgør servoen på pin 9 pinMode (LDR1, INPUT); // Oprettelse af LDR-pin som input pinMode (LDR2, INPUT); sg90.write (initial_position); // Flyt servo ved 90 graders forsinkelse (2000); // giver en forsinkelse på 2 sekunder}
Derefter læser vi værdierne fra LDR'erne og gemmer i R1 og R2. Derefter gør vi forskellen mellem de to LDR'er for at flytte servoen i overensstemmelse hermed. Hvis forskellen mellem dem er nul, betyder det, at den samme mængde lys falder på begge LDR'er, så solpanelet ikke bevæger sig. Vi har brugt en variabel med navnet error, og dens værdi er 5, brugen af denne variabel er, at hvis forskellen mellem de to LDR'er vil være under 5, bevæger servoen sig ikke. Hvis vi ikke gør dette, vil servoen fortsætte med at rotere. Og hvis forskellen er større end fejlværdien (5), bevæger servoen solpanelet i retning af LDR, som lyset falder på. Tjek den fulde kode og demo-videoen nedenfor.
int R1 = analogRead (LDR1); // aflæsningsværdi fra LDR 1 int R2 = analogRead (LDR2); // aflæsningsværdi fra LDR 2 int diff1 = abs (R1 - R2); // Beregning af forskellen mellem LDR's int diff2 = abs (R2 - R1); hvis ((diff1 <= fejl) - (diff2 <= fejl)) {// hvis forskellen er under fejlen, så gør intet} andet {hvis (R1> R2) {initial_position = --initial_position; // Flyt servoen mod 0 grader} hvis (R1 <R2) {initial_position = ++ initial_position; // Flyt servoen mod 180 grader}}
Så det er sådan, du kan opbygge en simpel solcellepaneler, der automatisk bevæger sig mod lyset som en solsikke. Her har vi brugt solpanel med lav effekt til at reducere vægten. Hvis du planlægger at bruge kraftigt eller tungt solpanel, skal du vælge Servomotoren i overensstemmelse hermed.