Inseguitore solare autocostruito a due assi con il Raspberry Pi
Un inseguitore solare è un dispositivo che serve a mantenere i raggi del Sole perpendicolari ad una superfice come quella dei pannelli fotovoltaici, al fine di massimizzare lo sfruttamento dell’energia.
In questo post presento un prototipo di inseguitore solare a due assi ( beccheggio e rollio – pitch & roll in inglese).
L’obiettivo era l’economicità e la flessibilità, per cui ho realizzato la struttura con profilati di ferro di recupero e ho usato barre filettate e dadi al posto dei cuscinetti ( anche se poi ho trovato dei cuscinetti con supporto molto economici che userò per la versione 2.0).
La movimentazione dei due assi è affidata a due attuatori lineari di quelli per movimentare grosse parabole TV, la gestione degli attuatori è affidata a un Raspberry Pi che, essendo connesso in LAN, mi consente tra le altre cose di gestire da remoto l’inseguitore.
Veniamo al software di controllo:
È stato realizzato in Python e fa uso della libreria GPIO oppure pigpio, configurabile. Attualmente il tutto gira su una versione RT del kernel e libreria pigpio.
Sono state utilizzate tre porte di IO per ogni asse, due in uscita e una in ingresso: le due in uscita rispettivamente accendono l’attuatore e determinano il verso del movimento ( estensione/retrazione, invertendo la polarità di alimentazione); quella in ingresso conta gli impulsi che viene generato dal trasduttore ad ogni giro della vite dell’attuatore.
L’architettura del software prevede un “tracker server” e uno o più client.
Il tracker server è un processo che ascolta ( listen ) su una porta TCP/IP i comandi che devono essere impartiti ai motori: calibrate, goto position, goto angle, goto azimuth and elevation, lock,unlock
La struttura dell’inseguitore andrebbe montata in direzione sud->nord, tuttavia se per motivi estetici o pratici la struttura deve essere orientata diversamente, è possibile configurare il “motor server” in modo che applichi al comando “goto azimuth and elevation” un offset in gradi all’azimuth.
Il comando lock “dice” all’inseguitore di bloccarsi su una posizione ed ignorare i comandi successivi, è utile per bloccare l’inseguitore in caso di vento forte, in posizione orizzontale, o neve, in posizione verticale.
Il client fondamentale è quello che calcola la posizione del Sole nel cielo e la manda al server. Durante la notte l’inseguitore viene messo nella posizione orizzontale.
Un altro client monitorizza la velocità del vento e blocca l’inseguitore in posizione orizzontale tramite il comando “lock” in caso di vento forte.
Ho sviluppato poi un altro semplice client che consente di mandare comandi al motor server tramite tastiera, per eseguire diagnostica e debug.
La parte più complessa è il tracker server, in quanto deve gestire tutti i segnali dei motori ed effettuare la conversione di azimuth/elevazione in valori lineari di spostamento dei due motori di beccheggio e di rollio.
Per convertire le coordinate celesti del Sole espresse come azimuth ed elevazione in angoli di beccheggio e di rollio ho usato la geometria dei vettori 3d.
Gli angoli di beccheggio e di rollio sono stati poi convertiti in valori di estensione degli attuatori lineari, una volta modellizzata la struttura meccanica dell’inseguitore, il problema è risultato essere quello di calcolare un lato di un quadrilatero dati due angoli opposti e tre lati.
Il risultato è il prototipo che vedete nel video
Alcune foto dell’inseguitore installato
Alcune foto / video della versione con cuscinetti
L’inseguitore versione 2.0 installato
Finalmente il frutto del lavoro, i due inseguitori che lavorano in timelapse
Stai leggendo “ Inseguitore solare autocostruito a due assi con il Raspberry Pi ”, un post di Fabrizio Zellini
- Pubblicato il
- 19 Novembre 2014 //php the_time('G:i') ?>
- Categorie:
- elettronica, faidate
10 Commenti
commenta | feed commenti [?] | trackback uri [?]