Inverter Aurora ABB (Power One) Web Monitor (WIM) With Esp8266

by xxreef in Circuits > Arduino

3798 Views, 7 Favorites, 0 Comments

Inverter Aurora ABB (Power One) Web Monitor (WIM) With Esp8266

ABB Aurora Web Inverter Centraline instructables.jpg

Autonomous centraline with an esp8266 that grab and store data from inverter and show charts and various data of production and can send notification email if there are some problems.

It is a quite user-friendly browser based monitoring solution, It's allows to track energy produced on a solar power plant in a simple and intuitive fashion. It's can track key energy metrics as well as the energy produced throughout the lifetime of their solar power plant. ;)

The PCB is free and you can get 10 pcb for 5$ at this link

Why this project :P

I put solar panels over my roof some years agò, the company that installed them had also guaranteed me a production monitoring and analysis system, but they forgot to tell me that it would be free only for the first year, and I would have had to pay to access my data that are stored on a site, the cost is not so enough (70€ for year) but I felt cheated.

Demo Video of Multilanguage Interface Served From Esp8266

Aurora ABB (PowerOne) web inverter centraline, work in progress

Inverter Aurora ABB (ex PowerOne Now Fimer) Supported

Installation ABB Inverter Centraline.jpg

Here a partial list of Aurora PV series supported

  • PVI-2000
  • PVI-2000-OUTD
  • PVI-3600
  • PVI-3.6-OUTD
  • PVI-5000-OUTD
  • PVI-6000-OUTD 3-phase interface (3G74)
  • PVI-CENTRAL-50 module
  • PVI-4.2-OUTD
  • PVI-3.6-OUTD
  • PVI-3.3-OUTD
  • PVI-3.0-OUTD
  • PVI-12.5-OUTD
  • PVI-10.0-OUTD
  • PVI-4.6-I-OUTD
  • PVI-3.8-I-OUTD
  • PVI-12.0-I-OUTD (output 480 VAC)
  • PVI-10.0-I-OUTD (output 480 VAC)
  • PVI-12.0-I-OUTD (output 208 VAC)
  • PVI-10.0-I-OUTD (output 208 VAC)
  • PVI-12.0-I-OUTD (output 380 VAC)
  • PVI-10.0-I-OUTD (output 380 VAC)
  • PVI-12.0-I-OUTD (output 600 VAC)
  • PVI-10.0-I-OUTD (output 600 VAC)"
  • PVI-CENTRAL-250
  • PVI-10.0-I-OUTD (output 480 VAC current limit 12 A)
  • TRIO-27.6-TL-OUTD
  • TRIO-20-TL
  • UNO-2.0-I
  • UNO-2.5-I
  • PVI-CENTRAL-350 Liquid Cooled (control board)
  • PVI-CENTRAL-350 Liquid Cooled (display board)
  • PVI-CENTRAL-350 Liquid Cooled (AC gathering)

Project Introduction

elementInCommunication.jpg

My idea is to use an esp8266 (Wemos D1) with enough power to manage an http server, a rest server and ftp server, naturally with an IC can interface my inverter (ABB Autora - ex PowerOne), all data taken from the inverter will be stored in an SD.

Project Layers

swLayer.jpg

Phisical layers as you can see in the image are very simple, I add some additional logic layer.

First I create a library to manage a full set of informations of the inverter from the interface RS-485 available, than I create a series of thread (simulated) with specified delay to get data and store they in an SD in JSON format, than I create a full set of REST api to retrieve this set of information, a WebSocket server for realtime data, and a responsive web app to show all this data finally a configurable notification system via mail.

Microcontroller

D1wemosPinout.jpg

My selected microcontroller is an WeMos D1 mini, I choice this esp8266 device because It's very low cost and have sufficient specs to do all features I have in my mind. Here a mini guide on how to configure your IDE "WeMos D1 mini (esp8266), pinout, specs and IDE configuration".

Debug the Device

ABB Aurora Web Inverter Centraline PCB debug pin.jpg

I think that an interesting thing is that It has more Hardware Serial, so you can use Serial for communication with Inverter and Serial1 D4 (only Transmission) to debug. You can check how to connect debug USBtoTTL device on "WeMos D1 mini (esp8266), debug on secondary UART".

Store Static Content and Data

We are going to put WebServer data in SPIFFS, the size needed is less than 2Mb. SPIFFS is explained in this article "WeMos D1 mini (esp8266), integrated SPIFFS Filesystem".

To update WebServer pages I use an integrated FTP server "FTP server on esp8266 and esp32". To store logging data we must add an SD card, It's not sure use SPIFFS (exist a 16Mb version of esp8266) because have a write cycle limitation. You can connect directly via an SD adapter, but I prefer a module to better fit in my case. You can find information on how to connect SD card in this article "How to use SD card with esp8266, esp32 and Arduino".

Communication Via RS-485

ABBAuroraCommunication.JPG

Aurora ABB (ex PowerOne) communicate via RS-485 connection (more info how to do that "How to interface Arduino, esp8266 or esp32 to RS-485"), so the most important features is the communication protocol, and for first I create a complete library to interface on this interface via Arduino, esp8266 or esp32 device "ABB Aurora PV inverter library for Arduino, esp8266 and esp32".

Simple Internal UPS

ABB PowerOne Aurora Web Inverter Centraline Assembly test.jpg

I use a 18650 rechargeable battery as UPS to grant server active when It's nigth and there aren't energy production, I use the schema from this article "Emergency power bank homemade".

Manage Date and DST

To logging data It's also important get current date and time, so I choice to try to get data from NPT server, if It isn't possible I get data from internal clock of inverter, I explain NTP with DST on this article "Network Time Protocol (NTP), Timezone and Daylight saving time (DST) with esp8266, esp32 or Arduino".

Dynamic WiFi Configuration

ABBAuroraConfigureNetwork_03.jpg
ABBAuroraConfigureNetwork_01.jpg

To connect device I use and fix WIFIManager thar start esp8266 as Access Point and give an interface to set connection parameter, for this argument you can refer to this article "How to manage dynamic WIFI configuration on esp8266 or esp32".

Notification Via EMail

InverterEmailNotification.jpg
ABB Power One Aurora Inverter Web Inverter Centraline email of E013 error.jpg

I also create a library EMailSender to manage an SMTP server to send email when a problem raised in the inverter, I explain better this features (how to configure and where to get the library) on this article "ABB Aurora web inverter centraline (WIC): debug and notification".

Inverter Wiring

ABB PowerOne Aurora inverter remove panel and detach cable.jpg
ABB PowerOne Aurora Web inverter Inverter Centraline rs485 wiring.jpg

As I already say, i use the RS-485 protocol via MAX3485 IC to wiring the inverter, only 2 wire is needed, but you must open your inverter, and check the address, you can find the instruction on "ABB Aurora Web Inverter Monitor (WIM): wiring Arduino to RS-485".

PCB

ABB Aurora Web Inverter Centraline PCB pinouts.jpg
ABB Aurora Web Inverter Centraline Test all elements.jpg
ABB Aurora Web Inverter Centraline PCB up.jpg
ABB Aurora Web Inverter Centraline PCB.jpg
ABB Aurora Web Inverter Monitor PCB soldering and mount component

The PCB is not so complex, but I share It for free, (5$ 10 PCB) so all people can do this project with few list of component, I add the order instruction of the PCB here "ABB Aurora Web Inverter Monitor (WIM): wiring and PCB soldering".

You can order without additional cost at this PcbWay link.

PCB

  • 2 Electrolytic Capacitor: capacitance 10µF
  • 1 Generic male header – 1 pins: pin spacing 0.1in (2.54mm); form (male)
  • 6 Generic male header – 2 pins: pin spacing 0.1in (2.54mm); form (male)
  • 1 Camdenboss CTB0158-2: pin spacing 0.2in (5.08mm); hole size 2.7mm; variant 90° 2 connector;
  • 1 Generic male header – 6 pins: pin spacing 0.1in (2.54mm); form (male)1
  • 104Ω Resistor: pin spacing 400 mil; resistenza 104Ω; tolerance ±5%; bands 4; package THT2
  • 150Ω Resistor: pin spacing 400 mil; resistenza 150Ω; tolerance ±5%; bands 4; package THT1
  • MAX485
  • LD1117V33: voltage 3.3V; package 78xxl; chip LD1117VXX
  • 1 WeMos D1 Battery shield
  • 1 WeMos D1 Mini: cpu ESP-8266EX;

Battery Adapter and SD Card Module

ABB Aurora Web Inverter Centraline Battery holder with voltage divider.jpg
18650 litium battery voltage divider for 3.3v analog input (to use with esp8266, esp32 ecc.)

You need also to do a simple voltage divider for the battery check.

Battery adapter(check the video)

SD card module Detailed BOM, assembly video and other information in the article "ABB Aurora Web Inverter Monitor (WIM): wiring and PCB soldering".

Case

ABB Aurora Web Inverter Centraline case PCB mount.jpg
ABB Aurora Web Inverter Centraline case SD module mount.jpg
ABB Aurora Web Inverter Centraline installed.jpg

I must do a case to prevent dust and other problem, so I creted one 3d printed, that you can download from here "ABB Aurora web inverter monitor (WIM): 3D printed case to complete project"

Upload Sketch and Front End

You can get the source code from GitHub repository.

There are a long list of library that you must add to your arduino ide, I write a simple article to help you on that operation "ABB Aurora Web Inverter Monitor (WIM): upload the sketch and front end".

  • ArduinoJson
  • ArduinoThread aurora_communication_protocol
  • DNSServer
  • EMailSender
  • ESP8266mDNS
  • ESP8266SdFat
  • ESP8266WebServer
  • ESP8266WiFi
  • Hash
  • NTPClient
  • SD
  • SDFS
  • SPI
  • TimeLib
  • Timezone
  • WebSockets
  • WiFiManager
  • Wire

Web Interface

ABB_Aurora_Widget.jpg
ABB_Aurora_android_chrome.jpg
ABBAuroraInverterNetworkConfiguration.JPG
ABBAuroraInverterNetworkConfigurationIT.JPG
ABBAuroraInverterNotificationConfiguration.JPG
ABBAuroraInverterStates.JPG
ABBAuroraInverterNotificationConfigurationStates.JPG
ABB_Aurora_inverter_centraline_Home_page.jpg

The interface is subdivided in various section explained in detail here "ABB Aurora Web Inverter Monitor (WIM): WebSocket and Web Server"

  • Homepage: where you can add all single widget to create a personalized view
  • Daily chart: with
    • chart of power
    • chart of current
    • chart of voltage
    • total daily production
    • realtime production
  • Monthly chart: with
    • chart of monthly production, for the month you can view every day the total of production and the peak of the production
    • Total lifetime prduction
    • Total yearly production
    • Total monthly production
    • Total weekly production
  • Information and state: with
    • chart of the battery
    • voltage Inverter info
    • Inverter state
  • Configuration

Thanks