(Part 3 of the SMA Solar readout series)
With everything working as intended, it’s time to wrap things up. As this unit only has an LCD sticking out and no other controls (i.e. It Should Just Work when powered on), I decided to 3D-print a custom enclosure:
I have no 3D-design skills, but OpenSCAD makes it easy to create a simple 3D model:
As you can see, it’s just a rectangular block “minus” some other rectangular blocks …
It took slightly under 3 hours to print on an UltiMaker 2+, and the first try had several errors in the SCAD dimensions and offsets I chose, but oh well. Here’s the final result, with a little USB power brick attached:
The bottom side will be taped-over to cover the wiring and the board hot-glued in place.
The readout updates about once every 10 seconds, and shows three values:
+------------------+
| 1234 12.345 kWh |
| W 23.456 MWh |
+------------------+
Clockwise, from the top left: current PV output, yield today, and total generated power for this inverter - i.e. more or less what’s shown on the SMA’s built-in display.
For reference, here is a list of the different parts and pieces used in this project:
- STM32F103 board (on AliExpress)
- an HC-05 Bluetooth module (eBay)
- 2x16 character LCD (spare part)
- single-sided prototyping board
- USB-to-UART board for development
- software tools: Mecrisp andFolie
- code: Embello and SMA solar
- a USB 18650-based power bank
- some PLA for the 3D-printer :)
Also for reference, below a debug-mode full packet dump of a single readout sequence:
ok.
1 debug ! ok.
try
ini 2010 ms
P:31 0002 N:28 EC26 2
200044D0 14 EC A4 25 80 00 FE 58 7E 1F 00 61 14 EC A4 25 ...%...X ~..a...%
200044E0 80 00 00 00 00 00 00 00 02 00 00 04 70 00 01 00 ........ ....p...
200044F0 00 00 00 01 00 00 00 FF FF FF FF FF FF FF FF FF ........ ........
emit:7E1F006186042210132014ECA4258000020000047000010000000001000000
P:31 000A N:28 961A 2
200044D0 14 EC A4 25 80 00 FE 58 7E 1F 00 61 14 EC A4 25 ...%...X ~..a...%
200044E0 80 00 00 00 00 00 00 00 0A 00 14 EC A4 25 80 00 ........ .....%..
200044F0 01 86 04 22 10 13 20 FF FF FF FF FF FF FF FF FF ...".. . ........
P:20 000C N:17 FDFF 2
200044D0 14 EC A4 25 80 00 FE 58 7E 14 00 6A 14 EC A4 25 ...%...X ~..j...%
200044E0 80 00 00 00 00 00 00 00 0C 00 02 00 FF FF FF FF ........ ........
200044F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ........ ........
P:34 0005 N:31 C341 2
200044D0 14 EC A4 25 80 00 FE 58 7E 22 00 5C 14 EC A4 25 ...%...X ~".\...%
200044E0 80 00 00 00 00 00 00 00 05 00 14 EC A4 25 80 00 ........ .....%..
200044F0 01 01 86 04 22 10 13 20 02 01 FF FF FF FF FF FF ....".. ........
20004500 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ........ ........
emit:7E3E004086042210132014ECA425800001007EFF03606509A0FFFFFFFFFFFF00005CAFF01D50000000000000000080000200000000000000000000ED6F7E
P:105 0001 N:99 FFFF 2
200044D0 14 EC A4 25 80 00 FE 58 7E 69 00 17 14 EC A4 25 ...%...X ~i.....%
200044E0 80 00 86 04 22 10 13 20 01 00 7E FF 03 60 65 13 ....".. ..~..`e.
200044F0 90 5C AF F0 1D 50 00 00 00 8A 00 EE 89 F6 7E 00 .\...P.. ......~.
20004500 00 00 00 00 00 00 80 01 02 00 00 00 00 00 00 00 ........ ........
20004510 00 00 00 00 03 00 00 00 FF 00 00 A0 6F 00 20 01 ........ ....o. .
20004520 00 8A 00 EE 89 F6 7E 00 00 0A 00 0C 00 00 00 00 ......~. ........
20004530 00 00 00 03 00 00 00 01 01 00 00 62 8C 7E FF FF ........ ...b.~..
20004540 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ........ ........
emit:7E3A004486042210132014ECA425800001007EFF03606508A0FFFFFFFFFFFF00035CAFF01D500000030000000001800E01FDFFFFFFFFFFAF217E
emit:7E52002C86042210132014ECA425800001007EFF0360650EA0FFFFFFFFFFFF00015CAFF01D500000010000000002800C04FDFF0700000084030000AAAABB0000000000B8B8B8B8888888888888888867627E
P:84 0001 N:79 FFFF 2
200044D0 14 EC A4 25 80 00 FE 58 7E 54 00 2A 14 EC A4 25 ...%...X ~T.*...%
200044E0 80 00 86 04 22 10 13 20 01 00 7E FF 03 60 65 0E ....".. ..~..`e.
200044F0 D0 5C AF F0 1D 50 00 00 01 8A 00 EE 89 F6 7E 00 .\...P.. ......~.
20004500 01 00 00 00 00 02 80 0D 04 FD FF 07 00 00 00 84 ........ ........
20004510 03 00 00 AA AA BB 00 00 00 00 00 B8 B8 B8 B8 88 ........ ........
20004520 88 88 88 88 88 88 88 12 A0 7E FF FF FF FF FF FF ........ .~......
20004530 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ........ ........
login: 0 1044 ms
emit:7E3F004186042210132014ECA425800001007EFF03606509A1FFFFFFFFFFFF00005CAFF01D5000000000000000038000020051003F2600FF3F26000E7A477E
P:91 0001 N:87 FFFF 2
200044D0 14 EC A4 25 80 00 FE 58 7E 5B 00 25 14 EC A4 25 ...%...X ~[.%...%
200044E0 80 00 86 04 22 10 13 20 01 00 7E FF 03 60 65 10 ....".. ..~..`e.
200044F0 90 5C AF F0 1D 50 00 00 A0 8A 00 EE 89 F6 7E 00 .\...P.. ......~.
20004500 00 00 00 00 00 03 80 01 02 00 51 00 00 00 00 00 ........ ..Q.....
20004510 00 00 00 01 3F 26 40 8D 23 C5 59 FC 02 00 00 FC ....?&@. #.Y.....
20004520 02 00 00 FC 02 00 00 FC 02 00 00 01 00 00 00 66 ........ .......f
20004530 18 7E FF FF FF FF FF FF FF FF FF FF FF FF FF FF .~...... ........
power: 764 W, 204 ms
emit:7E3E004086042210132014ECA425800001007EFF03606509A0FFFFFFFFFFFF00005CAFF01D500000000000000004800002005400222600FF22260056777E
P:79 0001 N:75 FFFF 2
200044D0 14 EC A4 25 80 00 FE 58 7E 4F 00 31 14 EC A4 25 ...%...X ~O.1...%
200044E0 80 00 86 04 22 10 13 20 01 00 7E FF 03 60 65 0D ....".. ..~..`e.
200044F0 90 5C AF F0 1D 50 00 00 A0 8A 00 EE 89 F6 7E 00 .\...P.. ......~.
20004500 00 00 00 00 00 04 80 01 02 00 54 01 00 00 00 01 ........ ..T.....
20004510 00 00 00 01 22 26 00 8C 23 C5 59 62 1B 00 00 00 ...."&.. #.Yb....
20004520 00 00 00 BF 8B 7E FF FF FF FF FF FF FF FF FF FF .....~.. ........
yield: 7010 W, 176 ms
emit:7E3E004086042210132014ECA425800001007EFF03606509A0FFFFFFFFFFFF00005CAFF01D500000000000000005800002005400012600FF0126000E2E7E
P:80 0001 N:75 FFFF 2
200044D0 14 EC A4 25 80 00 FE 58 7E 50 00 2E 14 EC A4 25 ...%...X ~P.....%
200044E0 80 00 86 04 22 10 13 20 01 00 7E FF 03 60 65 0D ....".. ..~..`e.
200044F0 90 5C AF F0 1D 50 00 00 A0 8A 00 EE 89 F6 7E 00 .\...P.. ......~.
20004500 00 00 00 00 00 05 80 01 02 00 54 00 00 00 00 00 ........ ..T.....
20004510 00 00 00 01 01 26 00 8D 23 C5 59 CE 20 12 01 00 .....&.. #.Y. ...
20004520 00 00 00 B6 98 7E FF FF FF FF FF FF FF FF FF FF .....~.. ........
total: 17965262 W, 175 ms
ok.
As you can see from the timings in there, it takes around 2s to work through the whole sequence, plus another 2s for initialisation (about 1s less without the debug output).
Which concludes this series of an enjoyable and rewarding SMA Solar readout project!