- Nödvändiga komponenter för Arduino Solar Tracker:
- Hur fungerar en enaxlig solspårare?
- Hur man bygger en roterande solpanel med Arduino:
- Kretsschema och förklaring:
- Enaxlig solspårare med Arduino-kod:
I den här artikeln ska vi skapa en solspårningssolpanel med hjälp av Arduino, där vi använder två LDR (ljusberoende motstånd) för att känna av ljuset och en servomotor för att automatiskt rotera solpanelen i riktning mot solljuset. Fördelen med detta projekt är att solpanelerna alltid kommer att följa solljuset alltid kommer att möta solen för att få laddning hela tiden och kan ge strömmen maximal effekt. Prototypen är väldigt lätt att bygga. Nedan hittar du en fullständig beskrivning av hur det fungerar och hur prototypen är gjord.
Nödvändiga komponenter för Arduino Solar Tracker:
Följande är komponenter som krävs för att bygga ett solspårningssystem med Arduino, de flesta av komponenterna ska finnas tillgängliga i din lokala butik.
- Servomotor (sg90)
- Solpanel
- Arduino Uno
- LDR: s X 2 (ljusberoende motstånd)
- 10K-motstånd X 2
- Batteri (6 till 12V)
Hur fungerar en enaxlig solspårare?
I detta projekt arbetar LDR: er som ljusdetektorer. Innan vi går i detalj måste vi förstå hur LDR fungerar. LDR (ljusberoende motstånd), även känd som fotomotstånd, är den ljuskänsliga enheten. Dess motstånd minskar när ljuset faller på det och det är därför det ofta används i mörk- eller ljusdetektorkrets. Kontrollera de olika kretsarna baserat på LDR här.
De två LDR: erna är placerade på solpanelens båda sidor och Servomotorn används för att rotera solpanelen. Servon kommer att flytta solpanelen mot LDR vars motstånd kommer att vara lågt, medel mot LDR som ljuset faller på, så fortsätter det att följa ljuset. Och om det faller en viss mängd ljus på både LDR, kommer servon inte att rotera. Servon kommer att försöka flytta solpanelen i det läge där båda LDR: erna kommer att ha samma motstånd innebär att samma mängd ljus kommer att falla på båda motstånden och om motståndet hos en av LDR kommer att förändras roterar den mot lägre motstånd LDR. Kontrollera Demonstration Video i slutet av denna artikel.
Hur man bygger en roterande solpanel med Arduino:
För att göra prototypen måste du följa stegen nedan:
Steg 1:
Ta först en liten bit papp och gör ett hål i ena änden. Vi sätter in skruven i den för att fixa den med servon senare.
Steg 2:
Fixa nu två små kartongbitar med varandra i V-form med hjälp av lim eller varm pistol och placera solpanelen på den.
Steg 3:
Fäst sedan undersidan av V-formen i den andra änden av en liten bit kartong där du gjorde ett hål i första steget.
Steg 4:
Sätt nu in skruven i hålet som du gjorde på kortkortet och sätt in den genom hålet i servon. Skruven kommer med servomotorn när du köper den.
Steg 5:
Placera nu servon på en annan bit kartong. Kartongens storlek bör vara tillräckligt större så att du kan placera en Arduino Uno, ett brödbräda och ett batteri på den.
Steg 6:
Fäst LDR på solpanelens båda sidor med hjälp av lim. Se till att du har lödt ledningarna med LDR: s ben. Du måste ansluta dessa till motstånden senare.
Steg 7:
Placera nu Arduino, batteriet och brädbrädan på kartongen och gör anslutningen enligt beskrivningen i avsnittet Kretsschema och förklaring nedan. Den slutliga prototypen visas nedan.
Kretsschema och förklaring:
Det fullständiga kretsschemat för arduino-projektet för solspårning visas nedan. Som du ser är kretsen väldigt enkel och kan lätt byggas med hjälp av en liten brädbräda.
I denna Arduino Solar Panel Tracker drivs Arduino av 9V-batteriet och alla andra delar drivs av Arduino. Arduinos rekommenderade ingångsspänning är från 7 till 12 volt men du kan driva den inom intervallet 6 till 20 volt vilket är gränsen. Försök att driva den inom den rekommenderade ingångsspänningen. Så anslut den positiva kabeln till batteriet till Arduino Vin och batteriets negativa kabel till marken på Arduino.
Anslut sedan servon till Arduino. Anslut servoens positiva ledning till Arduino 5V och jordledningen till Arduinos jord och anslut sedan Servos signaltråd till den digitala stiftet 9 på Arduino. Servon hjälper till att flytta solpanelen.
Nu ansluter LDRs till Arduino. Anslut ena änden av LDR till den ena änden av 10k-motståndet och anslut också denna ände till A0 på Arduino och anslut den andra änden av motståndet till marken och anslut den andra änden av LDR till 5V. Anslut på samma sätt den ena änden av den andra LDR till den ena änden av det andra 10k-motståndet och anslut den änden till Arduino A1 och anslut den andra änden av det motståndet till marken och anslut den andra änden av LDR till 5V av Arduino.
Enaxlig solspårare med Arduino-kod:
Koden för denna Arduino-baserade solpanelspårare är enkel och förklaras väl av kommentarer. Först och främst kommer vi att inkludera biblioteket för servomotor. Då initialiserar vi variabeln för servomotorns utgångsläge. Därefter initialiserar vi de variabler som ska läsas från LDR-sensorerna och Servo.
#omfatta
sg90.atach (servopin) -kommandot läser Servo från stift 9 i Arduino. Därefter ställer vi in LDR-stiften som ingångsstift så att vi kan läsa av värdena från sensorerna och flytta solpanelen enligt det. Sedan ställer vi in servomotorn på 90 grader vilket är startpositionen för servon.
ogiltig installation () {sg90.attach (servopin); // fäster servon på stift 9 pinMode (LDR1, INPUT); // Gör LDR-stiftet som ingångs pinMode (LDR2, INPUT); sg90.write (initial_position); // Flytta servo vid 90 graders fördröjning (2000); // ger en fördröjning på 2 sekunder}
Då läser vi värdena från LDR och sparar i R1 och R2. Då gör vi skillnaden mellan de två LDR: erna för att flytta servon därefter. Om skillnaden mellan dem blir noll betyder det att samma mängd ljus faller på båda LDR så att solpanelen inte rör sig. Vi har använt ett variabel med namnet error och dess värde är 5, användningen av denna variabel är att om skillnaden mellan de två LDR: erna är mindre än 5 så kommer servon inte att röra sig. Om vi inte gör detta fortsätter servon att rotera. Och om skillnaden är större än felvärdet (5) flyttar servon solpanelen i riktning mot LDR, på vilken ljuset faller. Kolla hela koden och demo-videon nedan.
int R1 = analogRead (LDR1); // läsningsvärde från LDR 1 int R2 = analogRead (LDR2); // avläsningsvärde från LDR 2 int diff1 = abs (R1 - R2); // Beräkning av skillnaden mellan LDR: s int diff2 = abs (R2 - R1); om ((diff1 <= fel) - (diff2 <= fel)) {// om skillnaden är under felet så gör ingenting} annat {om (R1> R2) {initial_position = --initial_position; // Flytta servon mot 0 grader} om (R1 <R2) {initial_position = ++ initial_position; // Flytta servon mot 180 grader}}
Så det är så du kan bygga en enkel solpanelspårare, som automatiskt rör sig mot ljuset som en solros. Här har vi använt solpanelen med låg effekt för att minska vikten. Om du planerar att använda kraftig eller tung solpanel måste du välja Servomotorn i enlighet därmed.