11 |
12 |
13 |
14 | #
15 | #
16 |
17 | ABB (ex Power One) Aurora Web Inverter Monitor (WIM): project introduction
18 | ==============================================================================
19 |
20 | by [Renzo Mischianti]
21 |
22 | [](https://www.youtube.com/watch?v=uInRM3YqIv0)
23 |
24 | 02/11/2021 Fix default language to English
25 |
26 | Hi all, I put solar panels over my roof some years agò, the company that
27 | installed them had also guaranteed me a production monitoring and
28 | analysis system, but they forgot to tell me that it would be free only
29 | for the first year, and I would have had to pay to access my data that
30 | are stored on a site, the cost is not so enough (70€ for year) **but I
31 | felt cheated**.
32 |
33 | 
34 |
35 | ABB Aurora Web Inverter Monitor Station Introduction
36 |
37 | So my solution is to create an autonomous centraline with an esp8266
38 | that grab and store data from inverter and show me **chart and various
39 | data of production** and send me an **email if there are some
40 | problems**.
41 |
42 | It is a quite user-friendly browser based monitoring solution, It’s
43 | allows to track energy produced on a solar power plant in a simple and
44 | intuitive fashion. It’s can track key energy metrics as well as the
45 | energy produced throughout the lifetime of their solar power plant.
46 |
47 | Here the video when the project WOR work in progress
48 |
49 | I created a simple PCB milled and tested for some month of activity
50 | without problem.
51 |
52 | 
53 |
54 | ABB Aurora PCB multiple step
55 |
56 | ABB Aurora Web Monitor
57 |
58 | Library dependencies
59 | -----------------------------------------------------
60 |
61 |
62 | ArduinoJson
63 | ArduinoThread
64 | aurora_communication_protocol
65 | DNSServer
66 | EMailSender
67 | ESP8266mDNS
68 | ESP8266SdFat
69 | ESP8266WebServer
70 | ESP8266WiFi
71 | Hash
72 | NTPClient
73 | SD
74 | SDFS
75 | SPI
76 | TimeLib
77 | Timezone
78 | WebSockets
79 | WiFiManager
80 | Wire
81 |
82 | Inverter Aurora ABB (ex PowerOne now Fimer) supported
83 | -----------------------------------------------------
84 |
85 | Here a partial list of Aurora PV series supported
86 |
87 | - PVI-2000
88 | - PVI-2000-OUTD
89 | - PVI-3600
90 | - PVI-3.6-OUTD
91 | - PVI-5000-OUTD
92 | - PVI-6000-OUTD
93 | - 3-phase interface (3G74)
94 | - PVI-CENTRAL-50 module
95 | - PVI-4.2-OUTD
96 | - PVI-3.6-OUTD
97 | - PVI-3.3-OUTD
98 | - **PVI-3.0-OUTD**
99 | - PVI-12.5-OUTD
100 | - PVI-10.0-OUTD
101 | - PVI-4.6-I-OUTD
102 | - PVI-3.8-I-OUTD
103 | - PVI-12.0-I-OUTD (output 480 VAC)
104 | - PVI-10.0-I-OUTD (output 480 VAC)
105 | - PVI-12.0-I-OUTD (output 208 VAC)
106 | - PVI-10.0-I-OUTD (output 208 VAC)
107 | - PVI-12.0-I-OUTD (output 380 VAC)
108 | - PVI-10.0-I-OUTD (output 380 VAC)
109 | - PVI-12.0-I-OUTD (output 600 VAC)
110 | - PVI-10.0-I-OUTD (output 600 VAC)”
111 | - PVI-CENTRAL-250
112 | - PVI-10.0-I-OUTD (output 480 VAC current limit 12 A)
113 | - TRIO-27.6-TL-OUTD
114 | - TRIO-20-TL
115 | - UNO-2.0-I
116 | - UNO-2.5-I
117 | - PVI-CENTRAL-350 Liquid Cooled (control board)
118 | - PVI-CENTRAL-350 Liquid Cooled (display board)
119 | - PVI-CENTRAL-350 Liquid Cooled (AC gathering)
120 |
121 | My inverter is in bold.
122 |
123 | Introduction
124 | ------------
125 |
126 | My idea is to use an esp8266 (Wemos D1) with enough power to manage an
127 | http server, a rest server and ftp server, naturally with an IC can
128 | interface my inverter (ABB Autora – ex PowerOne), all data taken from
129 | the inverter will be stored in an SD.
130 |
131 | 
132 |
133 | ABB Aurora inverter centraline components
134 |
135 | Phisical layers as you can see in the image are very simple, I add some
136 | additional logic layer.
137 |
138 | First I create a library to manage a full set of informations of the
139 | inverter from the interface RS-485 available, than I create a series of
140 | thread (simulated) with specified delay to get data and store they in an
141 | SD in JSON format, than I create a full set of REST api to retrieve this
142 | set of information, a WebSocket server for realtime data, and a
143 | responsive web app to show all this data finally a configurable
144 | notification system via mail.
145 |
146 | 
147 |
148 | ABB Aurora inverter centraline software layer
149 |
150 | Monitor specs and device
151 | ------------------------
152 |
153 | My selected microcontroller is an WeMos D1 mini, I choice this esp8266
154 | device because It’s very low cost and have sufficient specs to do all
155 | features I have in my mind. Here a mini guide on how to configure your
156 | IDE “[WeMos D1 mini (esp8266), pinout, specs and IDE
157 | configuration](https://www.mischianti.org/2019/08/20/wemos-d1-mini-esp8266-specs-and-ide-configuration-part-1/)“.
158 |
159 | ### Pinouts
160 |
161 | 
162 |
163 | WeMos D1 mini pinout
164 |
165 | I think that an interesting thing is that It has more Hardware Serial,
166 | so you can use Serial for communication with Inverter and Serial1 D4
167 | (only Transmission) to debug. You can check how to connect debug
168 | USBtoTTL device on “[WeMos D1 mini (esp8266), debug on secondary
169 | UART](https://www.mischianti.org/2019/09/19/wemos-d1-mini-esp8266-debug-on-secondary-uart-part-3/)“.
170 |
171 | Sketch OTA update File system EEPROM WiFi config
172 |
173 | We are going to put **WebServer data in SPIFFS**, the size needed is
174 | less than 2Mb. SPIFFS is explained in this article “[WeMos D1 mini
175 | (esp8266), integrated SPIFFS
176 | Filesystem](https://www.mischianti.org/2019/08/30/wemos-d1-mini-esp8266-integrated-spiffs-filesistem-part-2/)“.
177 |
178 | To update WebServer pages I use an integrated FTP server “[FTP server on
179 | esp8266 and
180 | esp32](https://www.mischianti.org/2020/02/08/ftp-server-on-esp8266-and-esp32/)“.
181 |
182 | To **store logging data we must add an SD** card, It’s not sure use
183 | SPIFFS (exist a 16Mb version of esp8266) because have a write cycle
184 | limitation. You can connect directly via an SD adapter, but I prefer a
185 | module to better fit in my case. You can find information on how to
186 | connect SD card in this article “[How to use SD card with esp8266, esp32
187 | and
188 | Arduino](https://www.mischianti.org/2019/12/15/how-to-use-sd-card-with-esp8266-and-arduino/)“.
189 |
190 | Aurora ABB (ex PowerOne) communicate via RS-485 connection, so the most
191 | important features is the communication protocol, and for first I create
192 | a complete library to interface on this interface via Arduino, esp8266
193 | or esp32 device.
194 |
195 | I use a 18650 rechargeable battery as UPS to grant server active when
196 | It’s nigth and there aren’t energy production, I use the schema from
197 | this article “[Emergency power bank
198 | homemade](https://www.mischianti.org/2019/01/24/emergency-power-bank-homemade/)“.
199 |
200 | To logging data It’s also important get current date and time, so I
201 | choice to try to get data from NPT server, if It isn’t possible I get
202 | data from internal clock of inverter.
203 |
204 | To connect device I use and fix WIFIManager thar start esp8266 as Access
205 | Point and give an interface to set connection parameter.
206 |
207 | Thanks
208 | ------
209 |