Nel 2014 la eNTiDi ha riprogettato il sistema di comando impianti fotovoltaici multitracker, precedentemente gestito da una serie di script lanciati a tempo da dei netbook installati direttamente in campo. Il nuovo sistema doveva sopperire alle gravi mancanze della soluzione precedente, comunque progettata sin dall'inizio come soluzione temporanea.
- Manutenibilità
Aggiungere, modificare o togliere script deve essere un'operazione semplice.
- Affidabilità
Un impianto ad inseguimento solare che non insegue è un danno consistente e continuativo. Il nuovo sistema deve limitare al minimo i fermi.
- Responsività
Le operazioni di manutenzione devono avere una risposta immediata. Se l'operatore deve mettere in piano una fila di inseguitori, questa fila deve rispondere immediatamente alla richiesta.
Il progetto iniziale era ambizioso: creare un impianto solare che non sottraesse terreno agricolo alle colture. Per fare ciò è stata progettata un'unità di inseguimento a due assi (denominata inseguitore o tracker) che tenesse i pannelli almeno a 4 metri da terra per consentire il passaggio sottostante delle macchine agricole.
Ciò ha creato dei problemi senza precedenti per la remotizzazione, nello specifico:
- i disturbi sono forti e la messa a terra dell'impianto è (per definizione) pessima;
- l'impianto è ampio perché gli inseguitori devono essere diradati (per consentire comunque il filtraggio del sole);
- il numero di inseguitori può essere importante, anche nell'ordine delle migliaia;
- la zona è rurale, tipicamente scevra da servizi di qualità (e.g.: internet o allacciamento elettrico).
Cablare via cavo una quantità così consistente di elementi è improponibile, quindi ogni inseguitore è dotato di un gruppo di comando con due antenne per la comunicazione wireless. La wireless a corto raggio viene gestita autonomamente per funzioni di servizio mentre la seconda, a lungo raggio, è riservata appunto per il sistema di comando remoto. La banda usata è unica, quindi il protocollo di comunicazione lavora in modalità point-to-point.
Il gruppo di comando contiene un processore ARM a basso consumo che consente (una volta configurato correttamente) l'inseguimento autonomo del sole in base alla data e ora.. Questo dovrà essere scavalcato alla bisogna, per esempio in caso di specifica richiesta dall'operatore.
Il prototipo iniziale è stato provato nell'impianto di Monticelli, gestendo più di 1100 inseguitori.
L'hardware del sistema è composto da un server Linux che gestisce 9 nodi remoti (chiamati bridge) posizionati in zone strategiche dell'impianto e connessi al server tramite RS-485, bus notoriamente resistente ai disturbi. Ogni bridge colloquia con gli inseguitori più vicini, migliorarando di fatto la coperatura wireless (altrimenti non garantita in quanto le dimensioni del campo superano la capacità di copertura legale del singolo bridge).
In caso di problemi su un bridge, gli inseguitori precedentemente coperti dallo stesso useranno automaticamente il bridge più vicino. Aggiungere nuovi bridge richiede (a parte l'installazione fisica) solo l'aggiunta di una nuova voce nel database. Ciò rende il sistema di comunicazione molto affidabile.
Il pannello usato dall'operatore è volutamente ridotto al minimo: viene usato molte volte tramite un tablet, quindi deve essere facilmente accessibile da touch screen. Il framework bootstrap (il cui motto è "mobile first") è stato quindi scelto come tecnologia principale del front end.
Lato back end si è sviluppata un'applicazione in Lua per gestire l'accodamento delle richieste dall'operatore o dagli script automatici e l'inoltro dei comandi ai bridge. Il risultato finale è un progetto di cui andiamo piuttosto orgogliosi. Sono state usate le seguenti tecnologie:
- coroutine (costrutto già presente in Lua) per sospendere e riprendere i task;
- websocket per colloquiare col front end;
- inotify e luacrypto per monitorare gli script automatici;
- Lua stesso come linguaggio di scripting;
- MySQL per la persistenza dei dati.