- Componente necesare pentru Arduino Solar Tracker:
- Cum funcționează un tracker solar cu o singură axă?
- Cum se construiește un panou solar rotativ folosind Arduino:
- Schema și explicația circuitului:
- Tracker solar cu o singură axă folosind codul Arduino:
În acest articol, vom realiza un panou solar de urmărire solară folosind Arduino, în care vom folosi două LDR (rezistență dependentă de lumină) pentru a detecta lumina și un servomotor pentru a roti automat panoul solar în direcția luminii solare.. Avantajul acestui proiect este că panourile solare vor urmări întotdeauna lumina soarelui, care va fi întotdeauna orientată spre soare, pentru a se încărca tot timpul și pentru a asigura alimentarea cu putere maximă. Prototipul este foarte ușor de construit. Mai jos veți găsi descrierea completă a modului în care funcționează și a modului în care este realizat prototipul.
Componente necesare pentru Arduino Solar Tracker:
Următoarele sunt componentele necesare pentru a construi un sistem de urmărire solară folosind Arduino, majoritatea componentelor ar trebui să fie disponibile în magazinul dvs. local.
- Servomotor (sg90)
- Panou solar
- Arduino Uno
- LDR's X 2 (rezistență dependentă de lumină)
- Rezistențe 10K X 2
- Baterie (6 până la 12V)
Cum funcționează un tracker solar cu o singură axă?
În acest proiect, LDR-urile funcționează ca detectoare de lumină. Înainte de a intra în detalii, va trebui să înțelegem cum funcționează LDR. LDR (Light Dependent Resistor), cunoscut și sub numele de rezistor foto, este dispozitivul sensibil la lumină. Rezistența sa scade atunci când lumina cade pe ea și de aceea este frecvent utilizată în circuitul detectorului de întuneric sau lumină. Verificați aici diferitele circuite bazate pe LDR.
Cele două LDR sunt plasate pe cele două părți ale panoului solar, iar Servomotorul este utilizat pentru a roti panoul solar. Servo-ul va deplasa panoul solar către LDR a cărui rezistență va fi scăzută, adică spre LDR pe care cade lumina, astfel va continua să urmeze lumina. Și dacă există o cantitate de lumină care cade atât pe LDR, cât și servo nu se va roti. Servo-ul va încerca să mute panoul solar în poziția în care ambele LDR vor avea aceeași rezistență înseamnă că aceeași cantitate de lumină va cădea pe ambele rezistențe și dacă rezistența unuia dintre LDR se va schimba, atunci se rotește către rezistență mai mică LDR. Verificați videoclipul demonstrativ de la sfârșitul acestui articol.
Cum se construiește un panou solar rotativ folosind Arduino:
Pentru a face prototipul, va trebui să urmați pașii de mai jos:
Pasul 1:
În primul rând, luați o bucată mică de carton și faceți o gaură la un capăt. Vom introduce șurubul în el pentru a-l fixa cu servo mai târziu.
Pasul 2:
Acum fixați două bucăți mici de carton între ele în formă de V cu ajutorul lipiciului sau a pistolului fierbinte și așezați panoul solar pe el.
Pasul 3:
Apoi atașați partea inferioară a formei de V la celălalt capăt al unei mici bucăți de carton în care ați făcut o gaură în primul pas.
Pasul 4:
Acum introduceți șurubul în orificiul pe care l-ați făcut pe carton și introduceți-l prin gaură în servo. Șurubul vine cu servomotorul atunci când îl cumpărați.
Pasul 5:
Acum puneți servo pe o altă bucată de carton. Dimensiunea cartonului ar trebui să fie suficient de mare, astfel încât să puteți așeza un Arduino Uno, un panou și o baterie.
Pasul 6:
Atașați LDR-urile de pe cele două laturi ale panoului solar cu ajutorul lipiciului. Asigurați-vă că ați lipit firele cu picioarele LDR. Va trebui să le conectați mai târziu la rezistențe.
Pasul 7:
Acum așezați Arduino, bateria și panoul de bord pe carton și efectuați conexiunea așa cum este descris în diagrama circuitului și în secțiunea Explicații de mai jos. Prototipul final este prezentat mai jos.
Schema și explicația circuitului:
Schema completă a circuitului pentru proiectul arduino de urmărire solară este prezentată mai jos. După cum puteți vedea, circuitul este foarte simplu și poate fi ușor construit cu ajutorul unei plăci mici.
În acest Arduino Solar Panel Tracker, Arduino este alimentat de bateria de 9V, iar toate celelalte părți sunt alimentate de Arduino. Tensiunea de intrare recomandată de Arduino este de la 7 la 12 volți, dar o puteți alimenta în intervalul de la 6 la 20 de volți, care este limita. Încercați să-l alimentați în tensiunea de intrare recomandată. Deci, conectați firul pozitiv al bateriei la Vinul Arduino și firul negativ al bateriei la solul Arduino.
Apoi, conectați servo-ul la Arduino. Conectați firul pozitiv al servo-ului la 5V de la Arduino și cablul de masă la masa Arduino-ului și apoi conectați firul de semnal al Servo la pinul digital 9 al Arduino. Servo-ul va ajuta la deplasarea panoului solar.
Acum conectați LDR-urile la Arduino. Conectați un capăt al LDR la capătul rezistorului de 10k și conectați, de asemenea, acest capăt la A0 al Arduino și conectați celălalt capăt al rezistorului la sol și conectați celălalt capăt al LDR la 5V. În mod similar, conectați capătul celui de-al doilea LDR la capătul celuilalt rezistor de 10k și conectați, de asemenea, capătul respectiv la A1 al Arduino și conectați celălalt capăt al acelui rezistor la sol și conectați celălalt capăt al LDR la 5V Arduino.
Tracker solar cu o singură axă folosind codul Arduino:
Codul pentru acest tracker bazat pe Arduino este ușor și bine explicat prin comentarii. În primul rând, vom include biblioteca pentru servomotor. Apoi vom inițializa variabila pentru poziția inițială a servomotorului. După aceea, vom inițializa variabilele de citit din senzorii LDR și Servo.
#include
Comanda sg90.atach (servopin) va citi Servo din pinul 9 al Arduino. Apoi, setăm pinii LDR ca pini de intrare, astfel încât să putem citi valorile din senzori și să mutăm panoul solar în funcție de asta. Apoi, setăm motorul servo la 90 de grade, care este poziția inițială pentru servo.
void setup () {sg90.attach (servopin); // atașează servo pe pinul 9 pinMode (LDR1, INPUT); // Realizarea pinului LDR ca pin pinMode (LDR2, INPUT); sg90.write (poziția_ inițială); // Mutați servo la 90 grade întârziere (2000); // oferind o întârziere de 2 secunde}
Apoi vom citi valorile din LDR-uri și vom salva în R1 și R2. Apoi vom face diferența între cele două LDR-uri pentru a muta servo în consecință. Dacă diferența dintre ele va fi zero, înseamnă că aceeași cantitate de lumină cade pe ambele LDR, astfel încât panoul solar nu se va mișca. Am folosit o variabilă numită eroare și valoarea acesteia este 5, utilizarea acestei variabile este că dacă diferența dintre cele două LDR-uri va fi sub 5, atunci servo-ul nu se va mișca. Dacă nu vom face acest lucru, atunci servo va continua să se rotească. Și dacă diferența este mai mare decât valoarea de eroare (5), atunci servo-ul va muta panoul solar în direcția LDR, pe care cade lumina. Verificați codul complet și videoclipul de mai jos.
int R1 = analogRead (LDR1); // valoarea de citire din LDR 1 int R2 = analogRead (LDR2); // valoarea de citire din LDR 2 int diff1 = abs (R1 - R2); // Calcularea diferenței dintre LDR's int diff2 = abs (R2 - R1); if ((diff1 <= error) - (diff2 <= error)) {// dacă diferența este sub eroare, atunci nu faceți nimic} else {if (R1> R2) {initial_position = --initial_position; // Mutați servo-ul spre 0 grade} if (R1 <R2) {initial_position = ++ initial_position; // Mutați servo-ul spre 180 de grade}}
Așa că așa puteți construi un urmăritor simplu de panouri solare, care se va deplasa automat spre lumină ca o floarea-soarelui. Aici am folosit panoul solar cu putere redusă pentru a reduce greutatea, dacă intenționați să utilizați panou solar cu putere mare sau greu, atunci trebuie să alegeți motorul Servo în consecință.