- Componenti richiesti per Arduino Solar Tracker:
- Come funziona un inseguitore solare ad asse singolo?
- Come costruire un pannello solare rotante usando Arduino:
- Schema del circuito e spiegazione:
- Inseguitore solare ad asse singolo utilizzando il codice Arduino:
In questo articolo, realizzeremo un pannello solare con inseguimento solare utilizzando Arduino, in cui utilizzeremo due LDR (resistenza dipendente dalla luce) per rilevare la luce e un servomotore per ruotare automaticamente il pannello solare nella direzione della luce solare. Il vantaggio di questo progetto è che i pannelli solari seguiranno sempre la luce del sole, saranno sempre rivolti verso il sole per caricarsi in ogni momento e possono fornire alla fornitura la massima potenza. Il prototipo è molto facile da costruire. Di seguito troverai la descrizione completa di come funziona e di come viene realizzato il prototipo.
Componenti richiesti per Arduino Solar Tracker:
I seguenti sono i componenti necessari per costruire un sistema di localizzazione solare utilizzando Arduino, la maggior parte dei componenti dovrebbe essere disponibile nel tuo negozio locale.
- Servomotore (sg90)
- Pannello solare
- Arduino Uno
- X 2 di LDR (resistenza dipendente dalla luce)
- Resistenze 10K X 2
- Batteria (da 6 a 12V)
Come funziona un inseguitore solare ad asse singolo?
In questo progetto, gli LDR funzionano come rilevatori di luce. Prima di entrare nei dettagli, dovremo capire come funziona il LDR. LDR (Light Dependent Resistor) noto anche come fotoresistenza è il dispositivo sensibile alla luce. La sua resistenza diminuisce quando la luce cade su di esso ed è per questo che è frequentemente utilizzato nei circuiti di rilevamento buio o luce. Controlla i vari circuiti basati su LDR qui.
I due LDR sono posti ai due lati del pannello solare e il servomotore viene utilizzato per ruotare il pannello solare. Il servo muoverà il pannello solare verso l'LDR la cui resistenza sarà bassa, cioè verso l'LDR su cui sta cadendo la luce, in questo modo continuerà a seguire la luce. E se c'è una certa quantità di luce che cade su entrambi gli LDR, il servo non ruoterà. Il servo proverà a spostare il pannello solare nella posizione in cui entrambi gli LDR avranno gli stessi mezzi di resistenza dove la stessa quantità di luce cadrà su entrambi i resistori e se la resistenza di uno degli LDR cambierà, ruoterà verso una resistenza inferiore LDR. Guarda il video dimostrativo alla fine di questo articolo.
Come costruire un pannello solare rotante usando Arduino:
Per realizzare il prototipo, dovrai seguire i seguenti passaggi:
Passo 1:
Prima di tutto, prendi un piccolo pezzo di cartone e fai un buco a un'estremità. In seguito inseriremo la vite per fissarlo con il servo.
Passo 2:
Ora fissa due piccoli pezzi di cartone l'uno con l'altro a forma di V con l'aiuto di colla o pistola a caldo e posiziona il pannello solare su di esso.
Passaggio 3:
Quindi attacca il lato inferiore della forma a V all'altra estremità del piccolo pezzo di cartone in cui hai praticato un foro nel primo passaggio.
Passaggio 4:
Ora inserisci la vite nel foro che hai fatto sul cartoncino e inseriscila attraverso il foro nel servo. La vite viene fornita con il servomotore quando lo acquisti.
Passaggio 5:
Ora posiziona il servo su un altro pezzo di cartone. La dimensione del cartone dovrebbe essere abbastanza grande in modo da poter posizionare un Arduino Uno, una breadboard e una batteria su di esso.
Passaggio 6:
Attaccare gli LDR sui due lati del pannello solare con l'aiuto della colla. Assicurati di aver saldato i fili con le gambe degli LDR. Dovrai collegarli con le resistenze in seguito.
Passaggio 7:
Ora posiziona Arduino, batteria e breadboard sul cartone ed effettua la connessione come descritto nella sezione Schema del circuito e spiegazione di seguito. Il prototipo finale è mostrato di seguito.
Schema del circuito e spiegazione:
Di seguito è mostrato lo schema circuitale completo per il progetto arduino di inseguimento solare. Come puoi vedere il circuito è molto semplice e può essere facilmente costruito con l'aiuto di una piccola breadboard.
In questo Arduino Solar Panel Tracker, Arduino è alimentato dalla batteria da 9 V e tutte le altre parti sono alimentate da Arduino. La tensione di ingresso consigliata da Arduino è compresa tra 7 e 12 volt ma è possibile alimentarla nell'intervallo da 6 a 20 volt, che è il limite. Prova ad alimentarlo entro la tensione di ingresso consigliata. Quindi collega il cavo positivo della batteria al Vin di Arduino e il filo negativo della batteria alla massa di Arduino.
Quindi, collega il servo ad Arduino. Collega il filo positivo del servo ai 5V di Arduino e il filo di terra alla massa di Arduino, quindi collega il filo di segnale del Servo al pin digitale 9 di Arduino. Il servo aiuterà a spostare il pannello solare.
Ora collega gli LDR ad Arduino. Collega un'estremità dell'LDR a un'estremità del resistore da 10k e collega anche questa estremità all'A0 di Arduino e collega l'altra estremità di quella resistenza a terra e collega l'altra estremità dell'LDR a 5V. Allo stesso modo, collega un'estremità del secondo LDR a un'estremità dell'altra resistenza da 10k e collega anche quell'estremità all'A1 di Arduino e collega l'altra estremità di quella resistenza a terra e collega l'altra estremità dell'LDR a 5V di Arduino.
Inseguitore solare ad asse singolo utilizzando il codice Arduino:
Il codice per questo tracker di pannelli solari basato su Arduino è facile e ben spiegato dai commenti. Prima di tutto, includeremo la libreria per il servomotore. Quindi inizializzeremo la variabile per la posizione iniziale del servomotore. Dopodiché, inizializzeremo le variabili da leggere dai sensori LDR e Servo.
#includere
Il comando sg90.atach (servopin) leggerà Servo dal pin 9 di Arduino. Successivamente, impostiamo i pin LDR come pin di input in modo da poter leggere i valori dai sensori e spostare il pannello solare in base a ciò. Quindi impostiamo il servomotore a 90 gradi, che è la posizione iniziale del servo.
void setup () {sg90.attach (servopin); // collega il servo al pin 9 pinMode (LDR1, INPUT); // Rendere il pin LDR come input pinMode (LDR2, INPUT); sg90.write (initial_position); // Sposta il servo con un ritardo di 90 gradi (2000); // dando un ritardo di 2 secondi}
Quindi leggeremo i valori dagli LDR e li salveremo in R1 e R2. Quindi faremo la differenza tra i due LDR per spostare il servo di conseguenza. Se la differenza tra loro sarà zero significa che la stessa quantità di luce sta cadendo su entrambi gli LDR, quindi il pannello solare non si muoverà. Abbiamo usato una variabile chiamata error e il suo valore è 5, l'uso di questa variabile è che se la differenza tra i due LDR sarà inferiore a 5 allora il servo non si muoverà. Se non lo faremo, il servo continuerà a ruotare. E se la differenza è maggiore del valore di errore (5), il servo muoverà il pannello solare nella direzione dell'LDR, su cui cade la luce. Controlla il codice completo e il video dimostrativo di seguito.
int R1 = analogRead (LDR1); // lettura del valore da LDR 1 int R2 = analogRead (LDR2); // lettura del valore da LDR 2 int diff1 = abs (R1 - R2); // Calcolo della differenza tra int diff2 = abs (R2 - R1) dell'LDR; if ((diff1 <= errore) - (diff2 <= errore)) {// se la differenza è sotto l'errore allora non fare nient'altro} altrimenti {if (R1> R2) {posizione_iniziale = --posizione_iniziale; // Sposta il servo verso 0 gradi} if (R1 <R2) {initial_position = ++ initial_position; // Sposta il servo verso 180 gradi}}
Ecco come puoi costruire un semplice Tracker per pannelli solari, che si muoverà automaticamente verso la luce come un girasole. Qui abbiamo utilizzato il pannello solare a bassa potenza per ridurre il peso, se si prevede di utilizzare un pannello solare ad alta potenza o pesante, è necessario scegliere il servomotore di conseguenza.