- Nødvendige komponenter for Arduino Solar Tracker:
- Hvordan fungerer en enkeltakset solfanger?
- Hvordan bygge et roterende solcellepanel ved hjelp av Arduino:
- Kretsdiagram og forklaring:
- Enakset solsporing ved hjelp av Arduino-kode:
I denne artikkelen skal vi lage et Sun Tracking Solar Panel ved hjelp av Arduino, der vi vil bruke to LDRer (lysavhengig motstand) for å føle lyset og en servomotor for å rotere solcellepanelet automatisk i retning av sollyset. Fordelen med dette prosjektet er at solcellepanelene alltid vil følge sollyset alltid vil vende mot solen for å få ladning hele tiden og kan gi forsyningen maksimal kraft. Prototypen er veldig enkel å bygge. Nedenfor finner du en fullstendig beskrivelse av hvordan den fungerer og hvordan prototypen er laget.
Nødvendige komponenter for Arduino Solar Tracker:
Følgende er komponenten som krever å bygge et solarsporingssystem ved hjelp av Arduino, de fleste komponentene skal være tilgjengelige i din lokale butikk.
- Servomotor (SG90)
- Solcellepanel
- Arduino Uno
- LDRs X 2 (lysavhengig motstand)
- 10K motstander X 2
- Batteri (6 til 12V)
Hvordan fungerer en enkeltakset solfanger?
I dette prosjektet fungerer LDR som lysdetektorer. Før vi går i detalj, må vi forstå hvordan LDR fungerer. LDR (lysavhengig motstand), også kjent som fotomotstand, er den lysfølsomme enheten. Motstanden reduseres når lyset faller på den, og det er derfor den ofte brukes i mørk eller lysdetektorkrets. Sjekk de forskjellige kretsene basert på LDR her.
De to LDR-ene er plassert på de to sidene av solcellepanelet, og Servomotoren brukes til å rotere solcellepanelet. Servoen vil flytte solcellepanelet mot LDR hvis motstand vil være lav, gjennomsnittlig mot LDR som lyset faller på, på den måten vil det fortsette å følge lyset. Og hvis det faller noe lys på både LDR, vil ikke servoen rotere. Servoen vil prøve å bevege solcellepanelet i den posisjonen hvor begge LDR-ene vil ha samme motstand, betyr at der samme mengde lys vil falle på begge motstandene, og hvis motstanden til en av LDR-endringene vil rotere mot lavere motstand LDR. Sjekk demonstrasjon Video på slutten av denne artikkel.
Hvordan bygge et roterende solcellepanel ved hjelp av Arduino:
For å lage prototypen må du følge trinnene nedenfor:
Trinn 1:
Først og fremst tar du et lite stykke papp og lager et hull i den ene enden. Vi setter inn skruen i den for å fikse den med servoen senere.
Steg 2:
Fest nå to små stykker papp med hverandre i V-form ved hjelp av lim eller varm pistol, og plasser solcellepanel på den.
Trinn 3:
Fest deretter undersiden av V-formen til den andre enden av et lite stykke papp der du laget et hull i første trinn.
Trinn 4:
Sett nå skruen i hullet du laget på kortkortet, og stikk den gjennom hullet i servoen. Skruen følger med servomotoren når du kjøper den.
Trinn 5:
Legg nå servoen på et annet stykke papp. Pappstørrelsen skal være større nok til at du kan plassere en Arduino Uno, et brødbrett og et batteri på den.
Trinn 6:
Fest LDR på begge sider av solcellepanelet ved hjelp av lim. Forsikre deg om at du har loddet ledningene med bena på LDR-ene. Du må koble disse til motstandene senere.
Trinn 7:
Plasser nå Arduino, batteri og brødplate på papp og koble til som beskrevet i kretsdiagrammet og forklaringsdelen nedenfor. Den endelige prototypen er vist nedenfor.
Kretsdiagram og forklaring:
Det komplette kretsskjemaet for solsporing arduino-prosjektet er vist nedenfor. Som du ser er kretsen veldig enkel og kan lett bygges ved hjelp av et lite brødbrett.
I denne Arduino Solar Panel Tracker drives Arduino av 9V batteri, og alle de andre delene drives av Arduino. Arduino anbefalt inngangsspenning er fra 7 til 12 volt, men du kan drive den innen 6 til 20 volt, som er grensen. Prøv å drive den innenfor anbefalt inngangsspenning. Så koble den positive ledningen til batteriet til Vin av Arduino og den negative ledningen til batteriet til bakken til Arduino.
Deretter kobler du servoen til Arduino. Koble den positive ledningen til servoen til 5V av Arduino og jordledningen til bakken til Arduino, og koble deretter signalledningen til Servo til den digitale pinnen 9 på Arduino. Servoen hjelper til med å flytte solcellepanelet.
Koble nå LDR-ene til Arduino. Koble den ene enden av LDR til den ene enden av 10k motstanden og koble også denne enden til A0 av Arduino og koble den andre enden av den motstanden til bakken og koble den andre enden av LDR til 5V. Tilsvarende, koble den ene enden av den andre LDR til den ene enden av den andre 10k motstanden, og koble også den enden til A1 av Arduino og koble den andre enden av den motstanden til bakken og koble den andre enden av LDR til 5V av Arduino.
Enakset solsporing ved hjelp av Arduino-kode:
Koden for denne Arduino-baserte Solar Panel Tracker er enkel og godt forklart av kommentarer. Først og fremst vil vi inkludere biblioteket for servomotor. Deretter vil vi initialisere variabelen for startmotoren til servomotoren. Etter det vil vi initialisere variablene som skal leses fra LDR-sensorene og Servo.
#inkludere
sg90.atach (servopin) kommando vil lese Servo fra pinne 9 i Arduino. Deretter setter vi LDR-pinnene som inngangspinner slik at vi kan lese verdiene fra sensorene og flytte solcellepanelet i henhold til det. Deretter setter vi servomotoren på 90 grader, som er utgangsposisjonen for servoen.
ugyldig oppsett () {sg90.attach (servopin); // fester servoen på pin 9 pinMode (LDR1, INPUT); // Gjør LDR-pinnen som inngangs pinMode (LDR2, INPUT); sg90.write (initial_posisjon); // Beveg servo ved 90 graders forsinkelse (2000); // gir en forsinkelse på 2 sekunder}
Deretter vil vi lese verdiene fra LDR og lagre i R1 og R2. Så vil vi utgjøre forskjellen mellom de to LDR-ene for å flytte servoen tilsvarende. Hvis forskjellen mellom dem vil være null, betyr det at samme mengde lys faller på begge LDR-ene, slik at solcellepanelet ikke beveger seg. Vi har brukt en variabel med navnet error og dens verdi er 5, bruken av denne variabelen er at hvis forskjellen mellom de to LDRene vil være under 5, så vil ikke servoen bevege seg. Hvis vi ikke gjør dette, vil servoen fortsette å rotere. Og hvis forskjellen er større enn feilverdien (5), vil servoen flytte solcellepanelet i retning av LDR, som lyset faller på. Sjekk hele koden og demo-videoen nedenfor.
int R1 = analogRead (LDR1); // leseverdi fra LDR 1 int R2 = analogRead (LDR2); // leseverdi fra LDR 2 int diff1 = abs (R1 - R2); // Beregning av forskjellen mellom LDRs int diff2 = abs (R2 - R1); hvis ((diff1 <= feil) - (diff2 <= feil)) {// hvis forskjellen er under feilen, så gjør ingenting} annet {hvis (R1> R2) {initial_posisjon = - initial_posisjon; // Flytt servoen mot 0 grader} hvis (R1 <R2) {initial_posisjon = ++ initial_posisjon; // Flytt servoen mot 180 grader}}
Så det er slik du kan bygge en enkel Solar Panel Tracker, som automatisk vil bevege seg mot lyset som en solsikke. Her har vi brukt solenergipanelet med lav effekt for å redusere vekten. Hvis du planlegger å bruke kraftig eller tungt solcellepanel, må du velge Servomotoren deretter.