Site icon Renzo Mischianti

Centralina Web per inverter ABB (ex Power One) Aurora (WIM): intro al progetto – 1

Spread the love

Ciao a tutti, ho messo i pannelli solare sul tetto alcuni anni fa, la società che li ha installati mi ha anche garantito un sistema di monitoraggio e analisi della produzione, ma si sono dimenticati di dirmi che sarebbe stato gratuito solo per il primo anno, quindi avrei dovuto pagare per accedere ai miei dati che sono memorizzati su un loro sito il costo non è moltissimo (70 € per anno) ma mi sono sentito ingannato.

ABB Aurora Monitor con interfaccia Web Introduzione

Quindi la mia soluzione è quella di creare un centralina di monitoraggio autonoma con un esp8266 che raccolga e memorizzi i dati dell’inverter e mi mostri grafici e vari dati di produzione e mi mandi un’e-mail se ci sono problemi.

È una soluzione di monitoraggio basata su browser piuttosto intuitiva, consente di tracciare l’energia prodotta su una centrale solare in modo semplice e intuitivo. È in grado di tenere traccia delle metriche energetiche chiave e dell’energia prodotta per tutta la durata del tempo.

Video dimostrativo

Here the video when the project war work in progress

Ho creato un semplice PCB fresato e testato per qualche mese di attività senza problemi. 

ABB Aurora PCB multiple step

Inverter Aurora ABB (ex PowerOne ora Fimer) supportati

Qui un elenco parziale delle serie Aurora PV supportati

Il mio inverter è in grassetto.

Introduzione

La mia idea è quella di utilizzare un esp8266 (Wemos D1) con potenza sufficiente per gestire un server http, un server REST, un server WebSocket ed un server ftp, naturalmente con un IC può interfacciare il mio inverter (ABB Autora – ex PowerOne), e tutti i dati presi dall’inverter saranno archiviati in una SD.

ABB Aurora inverter centraline components

I livelli fisici come puoi vedere nell’immagine sono molto semplici, aggiungo alcuni livelli logici.

Per prima cosa creo una libreria per gestire un set completo di informazioni dell’inverter dall’interfaccia RS-485 disponibile, quindi creo una serie di thread (simulato) con intervalli specificati per ottenere i dati e archiviarli in una SD in formato JSON, quindi creo un set completo di API REST per recuperare questo set di informazioni, un server Web Socket per i dati realtime e un’App Web responsive per mostrare tutti questi dati e infine un sistema di notifica configurabile via mail.

ABB Aurora inverter centraline software layer

Specifiche del monitor web e dispositivi

Il microcontrollore selezionato è un WeMos D1 mini, ho scelto questo dispositivo esp8266 perché ha un costo molto basso e ha specifiche sufficienti per realizzare tutte le features che ho in mente. Ecco una mini guida su come configurare il tuo IDE “WeMos D1 mini (esp8266): piedinatura, caratteristiche e configurazione dell’Arduino IDE“.

Pinouts

WeMos D1 mini esp8266 piedinatura bassa risoluzione

Penso che una cosa interessante sia che abbia più Seriali Hardware, quindi puoi usare Serial per la comunicazione con l’Inverter e Serial1 D4 (solo Trasmissione) per il debug. Puoi trovare come connettere il dispositivo di debug USBtoTTL su “WeMos D1 mini (esp8266): eseguire un debug sulla seriale secondaria“.

Sketch OTA update File system EEPROM WiFi config

Metteremo i dati statici del WebServer sullo SPIFFS , lo spazio necessario è inferiore a 2 Mb. Come usare lo SPIFFS è spiegato in questo articolo “WeMos D1 mini (esp8266): SPIFFS FileSystem integrato“.

Per aggiornare le pagine ho usato un server FTP integrato “Server FTP su esp8266 ed esp32“.

Per archiviare i dati di registrazione è necessario aggiungere una scheda SD , non è cauto utilizzare SPIFFS (esiste una versione a 16 Mb di esp8266) perché ha una limitazione del ciclo di scrittura. Puoi collegarti direttamente tramite un adattatore SD, ma preferisco un modulo che si adatti meglio al mio caso. Puoi trovare informazioni su come collegare la scheda SD in questo articolo “Come usare la scheda SD con esp8266 e Arduino“.

Aurora ABB (ex PowerOne) comunica tramite connessione RS-485, in questo articolo “Come interfacciare Arduino, esp8266 o esp32 alla seriale RS-485“, spiego come utilizzare MAX485 e MAX3485 per farlo, uno degli sviluppi più importanti sarà il protocollo di comunicazione, per questo ho creato una libreria, che potete trovare qui “Libreria Inverter ABB Aurora PV per Arduino, esp8266 and esp32“, per interfacciarmi tramite dispositivo Arduino, esp8266 o esp32.

Aurora ABB (ex PowerOne ora Fimer) comunica tramite connessione RS-485, quindi la caratteristica più importante è il protocollo di comunicazione, e per prima cosa creo una libreria completa per l’interfacciamento tramite dispositivo Arduino, esp8266 o esp32.

Uso una batteria ricaricabile 18650 come UPS per garantire il server attivo quando è notte e non c’è produzione di energia usando lo schema di base che trovate qui “Power bank di emergenza fatto in casa“.

Per registrare i dati È anche importante ottenere la data e l’ora correnti, quindi ho scelto di provare a ottenere dati dal server NPT, se non è possibile ottengo dati dal clock interno dell’inverter, il tutto spiegato in quest’articolo “Protocollo NTP, fuso orario e ora legale (DST) con esp8266, esp32 o Arduino“.

Per connettere il dispositivo uso e correggo WIFIManager per avviare esp8266 come Access Point e fornire un’interfaccia per impostare i parametri di connessione, anche per questo consiglio di fare riferimento all’articolo “Come gestire dinamicamente la configurazione WIFI su esp8266 o esp32“.

Grazie

  1. Centralina Web per inverter ABB (ex Power One) Aurora (WIM): intro al progetto
  2. Centralina Web per inverter ABB Aurora (WIM): connessione Arduino all’RS-485
  3. Centralina Web per inverter ABB Aurora (WIM): dispositivi di archiviazione
  4. Centralina Web per inverter ABB Aurora (WIM): debug e notifica
  5. Centralina Web per inverter ABB Aurora (WIM): impostare l’ora e UPS
  6. Centralina Web per inverter ABB Aurora (WIM): configurazione WIFI e server REST
  7. Centralina Web per inverter ABB Aurora (WIM): WebSocket e Web Server
  8. Centralina Web per inverter ABB Aurora (WIM): cablaggio e PCB
  9. Centralina Web per inverter ABB Aurora (WIM): caricare il programma ed il front end
  10. Centralina Web per inverter ABB Aurora (WIM): scatola stampata in 3D e completamento
  11. Centralina Web per inverter ABB Aurora (WIM): riparare l’errore E013

GitHub repository con tutto il codice FE (transpilato) e BE


Spread the love
Exit mobile version