Guida per programmare Arduino e usarlo con i pannelli fotovoltaici
Uno studente, Nicola, sta svolgendo una tesina su un inseguitore solare comandato con Arduino. Il progetto è interessante e volevo dare il mio piccolo contributo scrivendo questo post. Un lavoro simile l’ho trovato nella tesi di Mattia, “sistema di controllo per un inseguitore fotovoltaico“, dove troverai un pò di teoria e dati simulati e misurati con il piccolo inseguitore solare da lui realizzato.
Cosa sono e come utilizzare i pannelli fotovoltaici?
I pannelli fotovoltaici producono energia elettrica quando sono in presenza di luce solare. L’ultima parola “solare” non deve mai essere sottovalutata perchè? Alcune persone pensano che la sola luce della Luna, alle volte, può bastare per produrre energia elettrica. Ma questo non è del tutto vero.
Il pannello fotovoltaico, un insieme di più celle fotovoltaiche, converte energia solare (fotoni) in energia elettrica (elettroni) con un rendimento, in altre parole con un rapporto di trasformazione. Questo significa che, per conoscere quanta energia elettrica può produrre un pannello fotovoltaico, devi conoscere quanta energia solare investe la superficie del pannello. Moltiplicando l’energia solare misurata per un numero (fattore di rendimento), sempre inferiore ad 1, puoi calcolare l’energia elettrica teorica che può produrre il pannello.
Bene e adesso in pratica come faccio? L’energia solare viene misurata in Watt su metro quadrato (W/m^2). Sulla superficie della terra arrivano fino a 1000 Watt su metro quadrato (condizioni di prova standard STC CEI EN 60904-3). Se ipotizziamo di utilizzare un pannello fotovoltaico di area attiva di 1 metro quadrato, con un rendimento del 15% (fattore di trasformazione 0,15) otterremo 150 Watt di potenza elettrica massima. In pratica, quando compri un pannello fotovoltaico, devi guardare il dato, descritto nelle caratteristiche elettriche, come Wp. Questa è la potenza istantanea, Watt, che il pannello può produrre quando viene raggiunto da una luce con energia di 1000 W/m^2. Quando conosci la potenza Wp (Watt di picco) del pannello non hai più bisogno di sapere con che tecnologia è stato prodotto. Con questo dato puoi calcolare la producibilità giornaliera, mensile o annuale del tuo impianto fotovoltaico con software o l’atlante solare.
Quando il fotovoltaico produce la massima potenza? La potenza di picco è la potenza che il pannello fotovoltaico fornisce quando i raggi solari, perpendicolari alla cella fotovoltaica, hanno una potenza di 1000 W/m^2. Se i raggi solari non sono perpendicolari alla cella fotovoltaica la potenza convertita diminuisce, in proporzione al seno dell’angolo che si forma tra la superficie della cella e i raggi del sole. La formula per il calcolo la trovi su wikipedia. Riassumendo la potenza generata da un pannello fotovoltaico dipende da:
- quanta luce, energia luminosa, arriva alla cella fotovoltaica
- con che angolo la luce incide sulla superficie della cella fotovoltaica
- il rendimento elettrico di conversione della cella fotovoltaica
Il rendimento di conversione è dato dal tipo di tecnologia utilizzato per costruire la cella fotovoltaica. E’ un dato che cambia molto lentamente nel tempo, diciamo nell’ordine degli anni. Per cui diventa una costante data.
Quanta energia luminosa arriva alla cella fotovoltaica dipende dal tipo di giornata/situazione del sole. I raggi partono dal sole per arrivare alla cella fotovoltaica. Tutto ciò che è “messo” in mezzo assorbe energia luminosa, e pertanto ne arriva di meno alla cella fotovoltaica. Vedi la figura sotto per capire come varia l’energia luminosa al variare delle condizioni del cielo.

L’angolo di incidenza dei raggi luminosi determina quanta energia luminosa viene convertita in energia elettrica. Se il pannello fotovoltaico è installato in una posizione fissa è soggetto allo spostamento del sole. Il sole si sposta ogni giorno dall’alba al tramonto. Ma si sposta in modo meno percettibile di giorno in giorno, a seconda delle stagioni/mesi dell’anno. Questo produce una differenza sostanziale di energia ottenibile dal pannello fotovoltaico a seconda dei mesi dell’anno.


Le ore di sole equivalente servono per calcolare in modo semplice la produttività di un pannello fotovoltaico. La tabella che segue è stata ottenuta calcolando una produttività di un impianto da 1000 Wp posizionato in orizzontale (inclinazione 0°) e orientato verso Sud (orientamento 0°) installato nel Nord Italia. Hd sono le ore di sole equivalente giornaliere. Per calcolare quanti Watt produrrà l’impianto in un dato giorno (calcolo teorico-statistico), basta moltiplicare i Wp del pannello per le ore di sole equivalenti: Wp * Hd = Watt giornalieri. Ogni impianto ha un suo rendimento dato dalle variabili dei rendimenti degli inverter e delle perdite sui cavi elettrici, di cui andrà tenuto conto nei calcoli.

Applicazioni con Arduino e Pannelli fotovoltaici
Arduino è una scheda a microprocessore che può svolgere compiti di analisi/acquisizione/misura dei dati, oppure comandare attuatori di qualsiasi tipo. Per cui possibili applicazioni ricadono nel settore delle misure elettriche e nella produzione di energia da fonti rinnovabili. Le schede della famiglia Arduino hanno a loro disposizione dei pin/porte che possono misurare tensioni tra 0 e 5 Volt, e generare correnti elettriche tra 0 e 0,04 Ampere. La potenza disponibile su un singolo pin è di appena 0,2 Watt. Questo implica che, a parte qualche LED e piccoli relè, dovrai usare degli attuatori (dispositivi che amplificano la potenza) per comandare i dispositivi di potenza.
La tipica applicazione di un pannello fotovoltaico, nel caso specifico di utilizzo con un sistema fai da te con Arduino, è la ricarica di batterie, per esempio, per dei sistemi di acquisizione dati come i registratori delle condizioni atmosferiche. Può essere anche utilizzato, con Arduino e la sua capacità di misura e calcolo matematico, per un sistema di regolazione quale, per esempio, un inseguitore solare. In questo caso il pannello fotovoltaico può assumere la funzione di misuratore di energia luminosa, come di generatore di energia per la scheda di controllo, o entrambe le cose contemporaneamente. Non avendo limiti Arduino può essere utilizzato in una casa domotica, per alzare/abbassare tapparelle elettriche; oppure per regolare temperatura e umidità in un sistema HVAC in base alle condizioni atmosferiche; o anche regolare le luci del giardino in modo automatico. Puoi creare un sistema di allarme indipendente dalla rete elettrica di casa.

Ricaricare batterie con Arduino
Come faccio a ricaricare le batterie con Arduino? Arduino funge solo da misuratore e regolatore di carica, e pertanto va abbinato ad una fonte di energia quale: la corrente elettrica di casa o ad un pannello fotovoltaico. Possiamo comunque pensare che la batteria deve esser ricaricata tramite un alimentatore, quale che sia la tecnologia utilizzata.
Nel caso di ricarica di batterie al piombo (quelle della macchina ne sono un esempio) si deve prestare attenzione al loro punto di gassificazione. Quando la batteria incomincia ad essere quasi completamente carica non riesce più ad assorbire tutta l’energia generata dall’alimentatore, per cui una parte di questa energia viene dispersa in calore e produzione di gas infiammabile (e anche detonante). Per non incorrere in questo inconveniente, le batterie dell’automobile, sono semi chiuse ermeticamente (VRLA). Gli alternatori delle macchine forniscono una tensione massima di 14,1 Volt, leggermente al di sotto della tensione di inizio gassificazione che è circa 14,4 Volt.
Per le batterie di ultima generazione ai polimeri di Litio (LiPo) si devono utilizzare alcune accortezze. E’ possibile utilizzare una shield per Arduino come la Solar charger shield. Questa scheda utilizza un circuito integrato CN3065 che specificatamente cura tutte le fasi di ricarica della batteria al Litio. La prima fase di carica è a corrente costante, mentre la fase finale è a tensione costante a 4,2 Volt. Con questa shield si possono ricaricare batterie LiPo ad 1 cella da 3,7 Volt. Nella shield è presente un convertitore switching step-up che innalza la tensione di batteria fino a 5 Volt, la tensione di alimentazione delle schede della famiglia “Arduino Uno”. Questa scheda è utile per gestire potenze fino a 3 Watt di uscita al carico elettrico. Per gestire potenze di ingresso dal pannello fotovoltaico, e di uscita al carico si devono utilizzare circuiti elettronici diversi da questo, per esempio vedi MPPT regolatori fotovoltaici.

Inseguitore solare con Arduino
Un inseguitore solare è un dispositivo elettro-meccanico che ottimizza la produzione di energia elettrica dei pannelli fotovoltaici. Hai visto che la posizione ottimale della superficie del pannello deve essere perpendicolare, cioè formare un angolo di 90°, rispetto ai raggi luminosi. Quando questa condizione viene a mancare l’energia convertita dal pannello fotovoltaico diminuisce.
Per eseguire un tracking del sole (inseguimento) si possono utilizzare almeno due metodi: calcolare la posizione del sole in base alla data e ora corrente, conoscendo le coordinate geografiche del luogo di installazione dell’impianto fotovoltaico (link a tesina sistema di inseguimento solare per moduli fotovoltaici con Arduino). Creare un algoritmo iterativo (prova-misura-riprova) che cerca il migliore posizionamento del pannello in base alla massima potenza ottenuta dall’algoritmo.
Nel caso del tracking orario si possono usare delle shield per Arduino quali i Real Time Clock RTC shield. In questo caso la IDE di Arduino fornisce le librerie necessarie per utilizzare questo orologio, da scaricare ed aggiungere alla directory delle librerie di Arduino (scarica da RTClib). La shield la puoi acquistare per esempio da futurashop, e per approfondire come funziona la scheda vedi RTC tutorial.
Il metodo iterativo può portare a dei risultati migliori, ma necessità di circuiti elettronici aggiuntivi. Oltre a dover muovere il motore che sposta i pannelli fotovoltaici, dovrai misurare la luce che arriva alla cella fotovoltaica e determinarne la direzione. Per fare questo si possono utilizzare due sensori di luce quali le resistenze LDR, due LED oppure due piccoli pannelli fotovoltaici. Le resistenze LDR variano la loro resistenza in base alla quantità di luce che arriva alla superficie del sensore. Invece i LED, che per inciso sono dei piccoli pannelli fotovoltaici in miniatura, come la cella fotovoltaica produce una corrente Isc (Corrente di corto circuito) che è proporzionale alla luce solare. Questo è il metodo di misura utilizzato nel settore fotovoltaico. Mettendo in corto circuito l’uscita elettrica della cella su uno shunt resistivo (una semplice resistenza di basso valore ohmmico) si misura in modo indiretto la corrente generata, e di conseguenza l’energia luminosa. Con lo stesso concetto si può misurare la temperatura di cella, ricordando che la cella fotovoltaica non è altro che un diodo e che la sua tensione diretta varia in modo negativo con l’aumentare della temperatura.
Poi andrebbero gestiti i casi particolari. Hai visto nella figura delle condizioni atmosferiche che non sempre c’è pieno sole. Per esempio le nuvole oscurano il sole e di conseguenza diminuisce la potenza fornita dal pannello. Un’altro dettaglio è la gestione di situazioni pericolose quali vento molto forte e grandine. I pannelli fotovoltaici sono a prova di grandine, ma hanno un limite di carico da non superare. Mettere, per esempio, in verticale i pannelli in situazione di grandine è sicuramente aumentare la sicurezza e la protezione dei pannelli. In caso di vento estremo i pannelli andrebbero orientati in posizione orizzontale, in modo da limitare l’effetto vela. Nel caso di grandine si può misurare la potenza sonora vicino al modulo e attraverso un microfono determinare la soglia massima oltre la quale posizionare i pannelli fotovoltaici nella zona di sicurezza. Il vento invece va misurato con un anemometro. Anche qui oltrepassata la soglia massima si attiva l’algoritmo che posiziona in sicurezza i pannelli fotovoltaici.
Tutti i dati dell’impianto possono essere visualizzati su di un sito internet tramite una shield ethernet e Arduino. La IDE di Arduino fornisce le librerie per creare un sistema di comunicazione con protocollo IP. Un tutorial completo lo trovi su Arduino ethernet shield tutorial.

La meccanica dell’inseguitore potrà avere uno o due gradi di libertà. Il che significa che si dovranno utilizzare uno o due motori per movimentare il pannello. Nel caso devi muovere un piccolo pannello dimostrativo allora potrai utilizzare motori passo passo o servo motori di piccola taglia. In tutti e due i casi la IDE di Arduino ha inclusa la libreria per questi due tipi di motori. Il servo motore può ruotare di 180° oppure di 360°. Mentre il motore passo passo si muove a piccoli scatti, denominati in gradi. Per esempio un motore passo passo che ha una risoluzione di 200 passi per giro ha la risoluzione di 1,8°. In File->Esempi->Servo puoi trovare due esempi già pronti all’uso. In File->Esempi->Stepper trovi quattro esempi già pronti all’uso.
I sensori di luce, come anche i motori dovranno essere protetti dalla pioggia e dalla umidità.
Uso il mio tempo libero per creare informazioni che spero ti siano utili. Se vuoi aiutarmi con il blog puoi fare così:
Se ti serve un prodotto che vedi pubblicizzato clicca sull’immagine e valuta le offerte. Se trovi qualcosa che ti piace e lo compri il blog riceverà un piccolo contributo, senza che tu spenda niente in più di quello che avresti già speso.