- Vaaditut komponentit Arduino Solar Trackerille:
- Kuinka yhden akselin aurinkokenno toimii?
- Kuinka rakentaa pyörivä aurinkopaneeli Arduinolla:
- Piirikaavio ja selitys:
- Yhden akselin aurinkoseurain Arduino-koodilla:
Tässä artikkelissa aiomme tehdä aurinkoseurannan aurinkopaneelin Arduinolla, jossa käytämme kahta LDR: ää (valosta riippuva vastus) valon tunnistamiseen ja servomoottoria pyörittämään aurinkopaneelia automaattisesti auringonvalon suuntaan. Tämän projektin etuna on, että aurinkopaneelit seuraavat aina auringonvaloa, aina kohti aurinkoa saadakseen latauksen koko ajan ja voivat tarjota maksimaalisen virran. Prototyyppi on erittäin helppo rakentaa. Alta löydät täydellisen kuvauksen siitä, miten se toimii ja miten prototyyppi valmistetaan.
Vaaditut komponentit Arduino Solar Trackerille:
Seuraavat komponentit edellyttävät aurinkoseurantajärjestelmän rakentamista Arduinoa käyttämällä, suurimman osan komponenteista pitäisi olla saatavilla lähikaupassasi.
- Servomoottori (sg90)
- Aurinkopaneeli
- Arduino Uno
- LDR: n X 2 (valosta riippuva vastus)
- 10K vastukset X 2
- Akku (6-12 V)
Kuinka yhden akselin aurinkokenno toimii?
Tässä projektissa LDR: t työskentelevät valonilmaisimina. Ennen kuin perehdymme yksityiskohtiin, meidän on ymmärrettävä, kuinka LDR toimii. LDR (Light Dependent Resistor), joka tunnetaan myös nimellä valovastus, on valoherkkä laite. Sen vastus pienenee, kun valo putoaa siihen, ja siksi sitä käytetään usein pimeässä tai valonilmaisinpiirissä. Tarkista eri LDR-piirit täältä.
Kaksi LDR: ää on sijoitettu aurinkopaneelin molemmille puolille ja servomoottoria käytetään aurinkopaneelin kiertämiseen. Servo siirtää aurinkopaneelia kohti LDR: ää, jonka vastus on pieni, keskiarvo kohti LDR: tä, johon valo putoaa, niin se seuraa valoa. Ja jos molemmissa LDR: ssä on jonkin verran valoa, servo ei pyöri. Servo yrittää siirtää aurinkopaneelia asentoon, jossa molemmilla LDR: llä on sama vastus tarkoittaa, että sama määrä valoa putoaa molempiin vastuksiin ja jos jonkin LDR: n vastus muuttuu, se pyörii kohti pienempää vastusta LDR. Tarkista osoittaminen Videon lopussa tämän artiklan mukaisesti.
Kuinka rakentaa pyörivä aurinkopaneeli Arduinolla:
Voit tehdä prototyypin noudattamalla seuraavia vaiheita:
Vaihe 1:
Ota ensin pieni pala pahvia ja tee reikä toiseen päähän. Työnnämme ruuvin siihen kiinnittämään sen servolla myöhemmin.
Vaihe 2:
Kiinnitä nyt kaksi pientä pahvikappaletta keskenään V-muotoon liiman tai kuumapistoolin avulla ja aseta siihen aurinkopaneeli.
Vaihe 3:
Kiinnitä sitten V-muodon alaosa pienen pahvikappaleen toiseen päähän, johon teit reiän ensimmäisessä vaiheessa.
Vaihe 4:
Työnnä nyt ruuvi korttiin tekemäsi reikään ja työnnä se reiän läpi servoon. Ruuvi tulee servomoottorin mukana, kun ostat sen.
Vaihe 5:
Aseta servo nyt toiseen pahvikappaleeseen. Pahvin koon tulee olla riittävän suuri, jotta siihen voidaan asettaa Arduino Uno, leipälauta ja akku.
Vaihe 6:
Kiinnitä LDR: t aurinkopaneelin molemmille puolille liiman avulla. Varmista, että olet juottanut johdot LDR: n jaloilla. Nämä on liitettävä vastuksiin myöhemmin.
Vaihe 7:
Aseta nyt Arduino, akku ja leipälauta pahviin ja tee yhteys alla olevan piirikaavion ja selityksen osassa kuvatulla tavalla. Lopullinen prototyyppi on esitetty alla.
Piirikaavio ja selitys:
Aurinkoseurannan arduino-projektin täydellinen piirikaavio on esitetty alla. Kuten näette, piiri on hyvin yksinkertainen ja se voidaan helposti rakentaa pienen leipälautan avulla.
Tässä Arduino-aurinkopaneelien seurannassa Arduino toimii 9 V: n paristolla ja kaikki muut osat Arduinolla. Arduinon suositeltu tulojännite on 7-12 volttia, mutta voit käyttää sitä 6-20 voltin alueella, joka on raja. Yritä virtaa siihen suositellun tulojännitteen sisällä. Liitä siis akun positiivinen johdin Arduinon Vin-kaapeliin ja akun negatiivinen johto Arduinon maahan.
Yhdistä seuraavaksi servo Arduinoon. Liitä servon positiivinen johdin Arduinon 5 V: iin ja maadoitusjohto Arduinon maahan ja liitä sitten Servon signaalijohto Arduinon digitaaliseen nastaan 9. Servo auttaa siirtämään aurinkopaneelia.
Liitä nyt LDR: t Arduinoon. Liitä LDR: n toinen pää 10k: n vastuksen toiseen päähän ja kytke tämä pää myös Arduinon A0: een ja kytke vastuksen toinen pää maahan ja kytke LDR: n toinen pää 5V: iin. Liitä samalla tavalla toisen LDR: n toinen pää toisen 10k-vastuksen toiseen päähän ja kytke myös tämä pää Arduinon A1: ään ja kytke vastuksen toinen pää maahan ja kytke LDR: n toinen pää 5V: iin Arduino.
Yhden akselin aurinkoseurain Arduino-koodilla:
Tämän Arduino-pohjaisen aurinkopaneelin seurannan koodi on helppo ja selitetty kommenteilla. Ensinnäkin sisällytämme servomoottorin kirjaston. Sitten alustamme muuttujan servomoottorin alkuasennolle. Sen jälkeen alustamme muuttujat luettavaksi LDR-antureista ja Servosta.
#sisältää
Komento sg90.atach (servopin) lukee Servon Arduinon nastasta 9. Seuraavaksi asetamme LDR-nastat tuloliittimiksi, jotta voimme lukea arvot antureista ja siirtää aurinkopaneelia sen mukaan. Sitten asetamme servomoottorin 90 asteeseen, joka on servon alkuasento.
void setup () {sg90.attach (servopin); // kiinnittää servon tapiin 9 pinMode (LDR1, INPUT); // LDR-nastan tekeminen tulon pinMode-tilaksi (LDR2, INPUT); sg90.write (alkuperäinen_asento); // Siirrä servoa 90 asteen viiveellä (2000); // antaa 2 sekunnin viiveen}
Sitten luemme arvot LDR: stä ja tallennamme ryhmiin R1 ja R2. Sitten tehdään ero kahden LDR: n välillä servon siirtämiseksi vastaavasti. Jos niiden välinen ero on nolla, se tarkoittaa, että sama määrä valoa putoaa molempiin LDR: iin, joten aurinkopaneeli ei liiku. Olemme käyttäneet muuttujaa nimeltä virhe ja sen arvo on 5, tämän muuttujan käyttö on, että jos kahden LDR: n ero on alle 5, servo ei liiku. Jos emme tee tätä, servo pyörii jatkuvasti. Ja jos ero on suurempi kuin virhearvo (5), servo siirtää aurinkopaneelia LDR: n suuntaan, jolle valo putoaa. Tarkista koko koodi ja esittelyvideo alla.
int R1 = analoginen luku (LDR1); // luettu arvo LDR 1: stä int R2 = analogRead (LDR2); // luettu arvo LDR2: sta int diff1 = abs (R1 - R2); // Lasketaan LDR: n int diff2 = abs (R2 - R1) välinen ero; jos ((diff1 <= virhe) - (diff2 <= virhe)) {// jos ero on virheen alla, älä tee mitään} muuta {if (R1> R2) {initial_position = --initial_position; // Siirrä servoa kohti 0 astetta} if (R1 <R2) {initial_position = ++ initial_position; // Siirrä servoa kohti 180 astetta}}
Joten voit rakentaa yksinkertaisen aurinkopaneelin seurannan, joka liikkuu automaattisesti kohti valoa kuin auringonkukka. Tässä olemme käyttäneet pienitehoista aurinkopaneelia painon vähentämiseen, jos aiot käyttää suuritehoista tai raskasta aurinkopaneelia, sinun on valittava Servomoottori vastaavasti.