- Potrebne komponente za Arduino Solar Tracker:
- Kako radi jednoosovinski solarni tragač?
- Kako izraditi rotirajuću solarnu ploču pomoću Arduina:
- Kružni dijagram i objašnjenje:
- Jednoosovinski solarni tragač koji koristi Arduino kod:
U ovom ćemo članku izraditi Sunčevu solarnu ploču za praćenje pomoću Arduina, u kojoj ćemo upotrijebiti dva LDR-a (otpornik ovisan o svjetlu) za osjet svjetlosti i servo motor za automatsko okretanje solarne ploče u smjeru sunčeve svjetlosti. Prednost ovog projekta je što će solarni paneli uvijek pratiti sunčevu svjetlost, uvijek će biti okrenuti prema suncu kako bi se stalno punili i mogu pružiti opskrbu maksimalnom snagom. Prototip je vrlo jednostavan za izgradnju. Ispod ćete pronaći cjelovit opis načina rada i izrade prototipa.
Potrebne komponente za Arduino Solar Tracker:
Slijede komponente koje su potrebne za izgradnju solarnog sustava za praćenje pomoću Arduina, a većina komponenata trebala bi biti dostupna u vašoj lokalnoj trgovini.
- Servo motor (sg90)
- Solarni panel
- Arduino Uno
- LDR-ov X 2 (otpornik ovisan o svjetlu)
- 10K otpornici X 2
- Baterija (6 do 12V)
Kako radi jednoosovinski solarni tragač?
U ovom projektu LDR rade kao detektori svjetlosti. Prije nego što krenemo u detalje, morat ćemo shvatiti kako funkcionira LDR. LDR (otpornik ovisan o svjetlu) poznat i kao fotootpornik je uređaj osjetljiv na svjetlost. Njegov otpor opada kad svjetlost padne na njega i zato se često koristi u krugu mračnog ili svjetlosnog detektora. Ovdje provjerite razne krugove na temelju LDR-a.
Dva LDR-a smještena su s obje strane solarne ploče, a servo motor služi za okretanje solarne ploče. Servo će pomaknuti solarnu ploču prema LDR-u čiji će otpor biti nizak, znači prema LDR-u na koji pada svjetlost, na taj će način nastaviti pratiti svjetlost. A ako na oba LDR-a padne neka količina svjetlosti, servo se neće okretati. Servo će pokušati pomaknuti solarnu ploču u položaj u kojem će oba LDR-a imati isti otpor, što znači da će ista količina svjetlosti pasti na oba otpornika, a ako će se otpor jednog od LDR-a promijeniti, onda će se okrenuti prema nižem otporu LDR. Pogledajte demonstracijski videozapis na kraju ovog članka.
Kako izraditi rotirajuću solarnu ploču pomoću Arduina:
Da biste napravili prototip, morat ćete slijediti korake u nastavku:
Korak 1:
Prije svega uzmite mali komad kartona i na jednom kraju napravite rupu. U njega ćemo umetnuti vijak kako bismo ga kasnije popravili servom.
![]()
Korak 2:
Sada fiksirajte dva mala komada kartona jedan s drugim u oblik V pomoću ljepila ili vrućeg pištolja i na njega postavite solarnu ploču.
![]()
Korak 3:
Zatim donju stranu oblika V pričvrstite na drugi kraj malog kartona u kojem ste u prvom koraku napravili rupu.
![]()
Korak 4:
Sada umetnite vijak u rupu koju ste napravili na kartonskoj ploči i umetnite ga kroz rupu u servo. Vijak dolazi uz servo motor kada ga kupite.
![]()
Korak 5:
Sada servo postavite na drugi komad kartona. Veličina kartona trebala bi biti dovoljno veća da na njega možete postaviti Arduino Uno, ploču za kruh i bateriju.
![]()
Korak 6:
Pričvrstite LDR-ove na dvije strane solarne ploče uz pomoć ljepila. Provjerite jeste li lepili žice s krakovima LDR-a. Kasnije ćete ih morati povezati s otpornicima.
![]()
Korak 7:
Sada stavite Arduino, bateriju i ploču na karton i uspostavite vezu kako je opisano u donjem odjeljku Shema kruga i objašnjenja. Konačni prototip prikazan je u nastavku.
![]()
Kružni dijagram i objašnjenje:
Kompletna shema sklopa za solarni projekt arduino prikazan je u nastavku. Kao što vidite, sklop je vrlo jednostavan i lako se može izgraditi uz pomoć male ploče.
![]()
U ovom Arduino Solar Panel Trackeru Arduino napaja 9V baterija, a sve ostale dijelove Arduino. Arduino preporučeni ulazni napon je od 7 do 12 volti, ali možete ga napajati u rasponu od 6 do 20 volti što je ograničenje. Pokušajte ga napajati unutar preporučenog ulaznog napona. Dakle, spojite pozitivnu žicu baterije na Vin Arduino, a negativnu žicu baterije na masu Arduina.
Dalje, spojite servo na Arduino. Spojite pozitivnu žicu servoa na 5 V Arduina i žicu za uzemljenje na masu Arduina, a zatim spojite signalnu žicu Servoa na digitalni pin 9 Arduina. Servo će vam pomoći u pomicanju solarne ploče.
Sada spojite LDR- ove s Arduinom. Spojite jedan kraj LDR-a na jedan kraj 10k otpornika, a također spojite ovaj kraj na A0 Arduina, a drugi kraj tog otpora spojite na masu, a drugi kraj LDR-a povežite na 5V. Slično tome, spojite jedan kraj drugog LDR-a s jednim krajem drugog 10k otpornika, a također spojite taj kraj na A1 Arduino-a, a drugi kraj tog otpornika povežite sa zemljom, a drugi kraj LDR-a povežite na 5V Arduino.
Jednoosovinski solarni tragač koji koristi Arduino kod:
Kôd za ovaj Solar Panel Tracker zasnovan na Arduinu jednostavan je i dobro objašnjen komentarima. Prije svega, uključit ćemo knjižnicu za servo motore. Tada ćemo inicijalizirati varijablu za početni položaj servo motora. Nakon toga, inicijalizirat ćemo varijable za čitanje s LDR senzora i serva.
#include
Naredba sg90.atach (servopin) očitat će Servo s igle 9 Arduina. Zatim smo postavili LDR pinove kao ulazne pinove kako bismo mogli očitati vrijednosti sa senzora i prema tome pomicati solarnu ploču. Zatim postavimo servo motor na 90 stupnjeva što je početni položaj servo motora.
void setup () {sg90.attach (servopin); // postavlja servo na pin 9 pinMode (LDR1, INPUT); // Izrada LDR pina kao ulaznog pinMode (LDR2, INPUT); sg90.write (početna_pozicija); // Pomicanje servoa s odgodom od 90 stupnjeva (2000); // davanje kašnjenja od 2 sekunde}
Tada ćemo pročitati vrijednosti iz LDR-a i spremit ćemo u R1 i R2. Tada ćemo napraviti razliku između dva LDR-a kako bismo servo pomaknuli u skladu s tim. Ako će razlika između njih biti jednaka nuli, to znači da ista količina svjetlosti pada na oba LDR-a pa se solarna ploča neće pomicati. Koristili smo varijablu pod nazivom error i vrijednost joj je 5, a upotreba ove varijable je da ako razlika između dva LDR-a bude manja od 5, servo se neće pomicati. Ako to ne učinimo, servo će se i dalje okretati. A ako je razlika veća od vrijednosti pogreške (5), tada će servo pomaknuti solarnu ploču u smjeru LDR-a, na koji pada svjetlost. Cijeli kôd i demo video pogledajte u nastavku.
int R1 = analogRead (LDR1); // čitanje vrijednosti iz LDR 1 int R2 = analogRead (LDR2); // očitanje vrijednosti iz LDR 2 int diff1 = abs (R1 - R2); // Izračunavanje razlike između LDR-a int diff2 = abs (R2 - R1); if ((diff1 <= error) - (diff2 <= error)) {// ako je razlika pod pogreškom, onda nemojte raditi ništa} else {if (R1> R2) {Initial_position = --initial_position; // Pomaknite servo prema 0 stupnjeva} if (R1 <R2) {početna_pozicija = ++ početna_pozicija; // Pomaknite servo prema 180 stupnjeva}}
Dakle, na taj način možete izgraditi jednostavan Solar Panel Tracker, koji će se automatski kretati prema svjetlosti poput suncokreta. Ovdje smo koristili solarnu ploču male snage za smanjenje težine, ako planirate koristiti veliku snagu ili tešku solarnu ploču, tada morate odabrati servo motor u skladu s tim.
