Realizzare un compatto sistema di monitoraggio per inverter con la SxFLY
Data di pubblicazione: 07-05-2013 | Versione Italiana | (No English Version)
Nel progetto proposto in questo articolo
vediamo come trasformare la scheda SxFLY PRO in un compatto ed economico sistema per monitorare
i dati dati di produzione dell'inverter Aurora PowerOne e controllare un carico quando
la produzione di energia supera una ben precisa soglia.
Scopo
di questo progetto è realizzare, partendo da una scheda SxFLY PRO e un modulo OpenPicus,
un compatto ed economico sistema di monitoraggio per inverter Aurora
Power-One,
capace di:
memorizzare i dati di produzione su micro SD
o trasmetterli via POST HTTP ad un server WEB remoto;
pubblicare tramite micro WEB server integrato i parametri istantanei e
attivare un relè se viene superata una soglia di produzione istantanea.
Quest'ultima funzione,
con la chiusura del relè che equipaggia la SxFLY PRO,
permette di attivare un carico quando l'inverter supera una specifica soglia
di produzione istantanea per consentire l'autoconsumo dell'energia prodotta.
.
Per il corretto funzionamento
del sistema SxFLY & Openpicus è necessario disporre di un impianto fotovoltaico
con Inverter Aurora
la cui porta RS485 è resa disponibile su rete LAN tramite un convertitore Sollae
Modulo openpicus FlyPort con interfaccia Wi-Fi 802.11 certificata b/g/n.
Hardware e collegamenti elettrici
Il sistema proposto può essere realizzato usando un FlyPort Wi-Fi
nel caso non si vogliano stendere cavi e si dispone di una rete wireless o
, in alternativa,
un FlyPort Ethernet se si dispone di una rete Ethernet cablata.
Oltre ad un impianto fotovoltaico con inverter Aurora,
è necessario il seguente materiale:
I collegamenti elettrici da effettuare con la SxFLY
sono: l'alimentazione, tramite l'apposito adattatore di rete 220V - 5v, e il collegamento alla
rete LAN tramite patch cord CAT5
nel caso si opti per il FlyPort Ethernet.
Per poter pilotare un carico, quando la produzione istantanea l'inverter supera la
soglia di autocunsumo configurata nel firmaware, è necessario collegare
un relè di potenza al morsetto verde della SxFLY seguendo le schema che segue:
La SxFLY integra un mini relè che può pilotare un carico massimo di 3A a 48V.
Programmare il modulo FlyPort
Il programma scritto in C per FlyPort
che viene fornito sia per la versione Wi-Fi che per la versione Ethernet
può essere diviso in tre blocchi principali: individuazione dell'inverter,
recupero dei dati di produzione
e salvataggio / trasmissione.
All'avvio dopo aver completato la fase di inizializzazione e atteso la connessione
alla rete Wi-Fi o Ethernet, il programma
instaura una sessione TCP/IP verso il convertitore Sollae collegato all'inverter Aurora.
Successivamente viene eseguito un ciclo di ricerca dell'inverter
scansionando gli indirizzi da 0x01 fino a 0x10.
Una volta individuato l'inverter (per defaul all'indirizzo 0x02) vengono richiesti
dal micro della OpenPicus all'inverter
i dati di produzione:
Energia Attiva o Energia Istantanea in W
Produzione Totale in KWh
Tensione di Campo in V
Corrente di Campo in A
Tensione di rete in V
Corrente di rete in A
Frequenza di rete in Hz
Global State
Allarme
Temperatura CPU in °C
Temperatura IGBT in °C
Ad acquisizione completata, il programma,
verifica se il valore di Energia Istantanea espresso W è superiore alla soglia di autoconsumo
impostata
nel define
#define SOGLIA_AUTOCONSUMO 1000
Se il valore è superiore viene chiuso il relè sulla SxFLY. Quest'ultimo verrà resettato
soltanto se il valore di enerigia istantanea rimane sotto soglia per il tempo, in secondi,
impostato nel define
#define TIMEOUT_AUTOCONSUMO 120
I dati acquisiti ciclicamente dell'inverter,
se è presente una microSD nell'alloggio della SxFLY,
vengono salvati in un file di log ogni giorno diverso, il cui nome ha la seguente struttura:
Inverter_gg_mm_aaaa.log,
dove gg è il giorno mm il mese e aaaa l'anno es. Inverter_05_05_2013.log.
Per ogni acquisizione nel file di log viene inserita una nuova una riga con la seguente struttura:
Data;Ora;Energia Attiva;Produzione Totale;Tensione di Campo;Corrente di Campo;Tensione di rete;Corrente di rete;Frequenza di rete;Global State;Allarme;Temperatura CPU;Temperatura IGBT
La formattazione CSV del file di log ne consente la facile elaborazione tramite i programmi Microsoft Excel o LobreOffice Cal.
Oltre al salvataggio su file, il firmware può effettuare
una richiesta POST HTTP verso un server WEB remoto
e trasmettere due variabili (DATA e PW) la cui struttura è descritta di seguito:
DATA=Energia Attiva;Produzione Attiva;Tensione di Campo;Corrente di Campo;Tensione di rete;Corrente di rete;Frequenza di rete;Global State;Allarme;Temperatura CPU;Temperatura IGBT&PW=MD5 della stringa
Il valore inserito nella variabile PW è ottenuto facendo il calcolo MD5 della stringa:
DATA=Energia Attiva;Produzione Totale;Tensione di Campo;Corrente di Campo;Tensione di rete;Corrente di rete;Frequenza di rete;Global State;Allarme;Temperatura CPU;Temperatura IGBT&PW=TX_PASSWORD
la password inserita in PW deve essere la stessa inserita nel firmware per FlyPort (TXHTTP_PASSWORD) e
nello script di ricezione.
A trasmissione HTTP completata il WEB server su cui gira un apposito script realizzato in PHP,
risponde con la struttura XML:
<ROOT>
<NEXT>360</NEXT>
</ROOT>
Il valore contenuto tra i tag NEXT indica l'intervallo in Sec per la prossima trasmissione.
Prima di compilare e caricare il programma
di esempio contenuto nei file, presenti nella sezione download di questo articolo: INVERTER_AURORA_LAN_FlyWIFI_PRO.zip per la versione FlyPort Wi-Fi PRO o INVERTER_AURORA_LAN_FlyETH_PRO.zip per la versione FlyPort Ethernet PRO,
è necessario editare il file
taskFlyport.c e modificare i parametri di rete LAN, quelli relativi al Wi-Fi e
l'indirizzo e path del WEB server, oltre al settaggio del relè di autoconsumo:
//Configurazione Parametri LAN
#define LAN_IP "192.168.0.100" //Indirizzo IP FlyPort
#define LAN_MASK "255.255.255.0" //Netmask
#define LAN_DNS1 "195.110.128.1" //Indirizzo Primo server DNS
#define LAN_DNS2 "212.48.4.11" //Indirizzo Secondo server DNS
#define LAN_GW "192.168.0.1" //Indirizzo ip del Gateway per l'accesso ad internet
//Configurazione parametri Wi-Fi solo su Ppenpicus Wi-Fi
#define WI_FI_SSID "www.areasx.com" //SSID access point
#define WI_FI_SECURITY WF_SECURITY_WPA2_WITH_PASS_PHRASE //Protezione WPA2
//#define WI_FI_SECURITY WF_SECURITY_WPA_WITH_PASS_PHRASE //Protezione WAP
//#define WI_FI_SECURITY WF_SECURITY_WEP_104 //Protezione WEP 128
//#define WI_FI_SECURITY WF_SECURITY_OPEN //Nessuna Protezione WI_FI_PASS_PHRASE ""
#define WI_FI_PASS_PHRASE "xxxxxxxxx" //Password rete Wi-Fi
//Configurazione parametri WEB Server Remoto
#define WEB_IP "www.serverwebremoto.it" //Indirizzo del WEB server remoto
#define WEB_PORT "80" //Porta TCP-IP in ascolto del server WEB remoto
#define WEB_URL "/gateway_inverter.php" //URL dello script gateway
#define WEB_TIMEOUT 30 //Timeout connessione in Secondi
#define TXHTTP_PASSWORD "1234" //Configurazione password di trasmissione POST HTTP
//Configurazione parametri INVERTER su LAN
#define INVERTER_IP "192.168.0.101" //Indirizzo IP convertitore Sollae
#define INVERTER_PORT "1470" //Porta TCP-IP in ascolto del Sollae
#define INVERTER_TIMEOUT 30 //Timeout connessione in Secondi
#define INVERTER_ADDRESS 0x00 //Address dell'inverter (0x00 ricerca automatica)
//Gestione Rele' AUTOCONSUMO
#define SOGLIA_AUTOCONSUMO 1000 //Soglia in W attivazione relè autoconsumo
#define TIMEOUT_AUTOCONSUMO 120 //Timeout in Sec reset rele' autocunsumo
A questo punto possiamo compilare e caricare il programma tramite OpenPicus IDE PRO
(attualmente alla versione 2.8),
scaricabile gratuitamente dal sito http://www.openpicus.com/
e trasferire il file binario nella memoria del processore tramite il programmatore MiniUSB
per Flyport.
La corretta esecuzione del programma può essere ispezionata con
la console seriale posta sulla destra dell'IDE.Quest'ultima va abilitata
fleggando la voce "Open Monitor after download"
nella finestra
"OpenPicus - Flyport Bootloader".
Una mini interfaccia WEB
Oltre alla funzione di memorizzazione e autoconsumo, il firmware da caricare nel FlyPort
svolge la funzione di micro web server e pubblica i principali dati di stato dell'inverter.
Tramite un terminale (PC, smarphone o tablet) collegato in LAN con il FlyPort,
è possibile richiamare l'indirizzo:
http://[indirizio_ip_flyport]/
ed accedere ad una pagina WEB.
Naturalmente
è possibile nattare la porta TCP 80 del FlyPort sul proprio router ADSL
per poter accedere alla pagina WEB anche da internet.
Il WEB Server remoto e lo script PHP
Come precedentemente detto il firmware può, ad intervalli regolari,trasmettere via POST HTTP
i dati
di produzione dell'inverter ad uno script in esecuzione su di un WEB server remoto.
Per il corretto funzionamento di questa funzione
è necessario disporre di un
WEB server con interprete PHP (5 o superiore)
collegato in LAN con il FlyPort o pubblico su internet.
In quest'ultimo caso è necessario impostare nel programma per il FlyPort
l'indirizzo del gateway per l'accesso ad internet.
Nella sezione download è disponibile il file compresso
FLYPORT_AURORA_PHP.zip
al cui interno è presente lo script gateway_inverter.php.
Questo semplice script,da caricare nella document root del WEB server,
ha lo scopo di accettare la trasmissione POST del FlyPorte,e,
dopo aver verificato le credenziali, spacchetta i dati conenuti nella variabile DATA e li salva
in un file di log.
Lo script PHP proposto ha uno scopo puramente dimostrativo,
infatti con poche righe di codice è possibile modificarlo
per consentire il salvataggio dei dati
in un database MySQL o PostgreSQL.
Con i dati, provenienti dall'inverter, disponibili in un database,
un buon webmaster può cimentarsi nella realizzazione di una
interfaccia WEB professionale e accattivante.
I marchi citati sono propriet� dei titolari dei relativi diritti. Le caratteristiche tecniche e i prezzi riportati
sono indicativi e soggetti a variazioni senza preavviso. Le foto non hanno valore contrattuale.
Nonostante accurate verifiche, il presente documento pu� contenere prezzi o specifiche errati.
Area SX si scusa in anticipo e si impegna ad evitare tali imprecisioni.
Area SX store In questa sezione puoi ordinare direttamente i prodotti descritti in questo articolo SXFLY;MINIUSB_PROG;ALI_SW-5-1000;SXFLY.BOX;SXFLY_ETH;KIT_RELE_DIN;FLYPORT_PRO_ETH;FLYPORT_PRO_WI-FI
Tutti i prezzi indicati sono espressi in Euro con IVA e spese di trasporto escluse. I prezzi si riferiscono al singolo pezzo
Descrizione
Codice
Prezzo
Alimentatore a parete switching 100/220V - 5v 1000mA Alimentatore a parete switching
Ingresso: 100/220V 50/60Hz
Uscita: 5v 1000mA
Connettore: standard 2.1mm
Certificazione: CE
Ideale per la gamma di prodotti ezTCP di Sollae Systems.
Relè di potenza da barra DIN Il Kit Relè da barra DIN è la soluzione ideale per controllare carichi con potenza massima di 10A e tensioni fino a 400V tramite le schede: SX16, FLEXOUTPUT e SXPY.
Programmatore MiniUSB per moduli FlyPort Programmatore miniUSB per moduli openPicus FLYPORT.
Pensato per alimentare e programmare i moduli senza kit nest.
Dotato di connettore MiniUSB B type (Cavo USB non fornito) e di interfaccia FTDI. Si alimenta direttamente dalla porta USB del PC.
SXFLY PRO: scheda economica per progetti e prodotti con modulo Flyport SXFLY PRO è la scheda semplice ed economica per lo sviluppo di progetti e prodotti basati sul modulo Flyport PRO, sia nella versione WiFi che nella versione su ethernet cablata.
La scheda implementa:
Host per un modulo Flyport WiFi
Un rele 48V/3A
Un connettore per sensore di temperatura/umidità SHT75
2 ingressi/uscite (4 se non si utilizza il sensore) configurabili in modalità digitale o analogica o seriale/I2C CMOS (0-3.3V)
uno slot per microSD card
un pulsante
un led bicolore
Ingresso di alimentazione 5V
La scheda può essere completata con il contenitore plastico SXFLY.BOX appositamente progettato
Modulo FlyPort fornito a parte.
Contenitore per scheda SXFLY blu metallizzato Contenitore plastico per scheda SXFLY, colore blu metallizzato.
Il contenitore è completo di viti per il fissaggio della scheda.
SXFLY PRO: scheda economica per progetti e prodotti con modulo Flyport PRO Ethernet SXFLY PRO è la scheda semplice ed economica per lo sviluppo di progetti e prodotti basati sul modulo Flyport PRO, sia nella versione WiFi che nella versione su ethernet cablata.
La scheda implementa:
Host per un modulo Flyport PRO WiFi o Ethernet
Porta RJ45 Ethernet
Un rele 48V/3A
Un connettore per sensore di temperatura/umidità SHT75
2 ingressi/uscite (4 se non si utilizza il sensore) configurabili in modalità digitale o analogica o seriale/I2C CMOS (0-3.3V)
uno slot per microSD card
un pulsante
un led bicolore
Ingresso di alimentazione 5V
La scheda può essere completata con il contenitore plastico SXFLY.BOX appositamente progettato.
Modulo FlyPort fotnito a parte.
FLYPORT PRO ETHERNET Il FlyPort PRO Wi-Fi è un modulo basato su microcontrollore a 16 bit della Microchip 24FJ256GB206 e dotato di interfaccia Ethernet 10/100 Base-T (completa di MAC address).
Il FlyPort PRO viene fornito con pre caricato il bootloader BRUTUS che consente il download del proprio firmware usando un semplice cavo seriale o un convertitore USB/Seriale.
Modulo openpicus FlyPortPRO Wi-Fi 802.11 b/g Il FlyPort PRO Wi-Fi è un modulo basato su microcontrollore a 16 bit della Microchip 24FJ256GB206 e sul transceiver Wi-Fi MRF24WG0MA/MB certificato Microchip e compatibile con lo stack TCP/IP 5.25.
Il FlyPort PRO viene fornito con pre caricato il bootloader BRUTUS che consente il download del proprio firmware usando un semplice cavo seriale o un convertitore USB/Seriale.