Solar Panel Monitoring
This is the part where you might want to ask an electrician for support. The system uses non-invasive CT sensors to measure the current. So we do not have to temper directly with the 240V (or 110V) lines. But still we have to open the breaker box and clip the sensors around the hot wires.
Depending on your installation, you might have a separate main breaker, so you can shut off power while you are working on the breaker box. In my case, there is no separate main breaker. So while I was clipping the sensor on the main line, I was away only a few centimeters from 240V with my fingers.
Don’t take any risk, if it seems to be difficult to clip on the sensors, ask an trained electrician to do it.
The CT sensors are easy to use. You do not need to connect 240V wires, you just clip the sensor around a single wire. It is important that you clip it around a single wire only, or the sensor will not work. Follow strictly the advices on OpenEnergyMonitor Current Transformer Installation building block.
Locate the wires coming from your solar panel system and clip one sensor around one of the wires.
Locate the main line coming into your house and clip the other sensor around one of the wires.
For 3 phase systems or split phase 240V systems (like in US) please check the OpenEnergyMonitor website. You can find there help how to setup a system for 3 phase or split phase power supply.
In my case it is a “standard” Philippine supply, which is 2 wires single phase 240V system. So I needed only one CT around the main wire and one CT on the solar power supply.
Next step is to find a place for the Arduino board, the sensor connection shield and the voltage transformer. In my case there was no space inside the breaker box, so I had to place it outside. I exit the cables from the CT sensors out of the breaker box. For the measurement electronics I used a plastic box with lid (as used to store food). Don’t laugh about this, but such a box is very cheap and can be found in different sizes matching your requirements. It gives me a view to the electronics inside (and the activity led), and after sealing the holes I put in for the cables, I have a sealed box for only a few bucks.
The next step is to connect the wires from the CT sensors to the “sensor connection shield”. Hopefully you have marked the cables coming out of the breaker box. The transformer for the voltage measurement is mounted inside the ‘lunch’ box as well. It needs to be connected to the “sensor connection shield” on the 9V side and to a plug on the 220V side. I soldered a cable with a standard plug directly to the transformer and exit this cable from the box. The supply for the Arduino board is done with a standard micro USB plug. After all the wires and cables going in and out of the ‘lunch’ box have been places, the box can be closed.
The power for the measurement system is provided by a 5V USB charger. Don’t use the cheapest USB charger you have laying around. I tried 4 different USB chargers before I found one that gives a stable 5V supply with low noise level. Most USB chargers are designed poorly. For battery charging you do not need a high quality low noise 5V. But for measuring low currents (like we do with the CT’s) noise on the supply line can make measurements at low consumption very unreliable as the noise could be bigger than the signal we want to measure. Search on OpenEnergyMonitor for this issue. I had a discussion about this on their forum.
I did not mention the installation and connection of the light sensor module. Actually I never installed the light sensor module. I thought it would be useful information to have the brightness to compare it with the performance of the solar panels. But up to now I never needed that information.
Here is the complete schematic for the installation of the system:
That’s more or less everything about the installation.
The software is split between the Arduino Yun (Linux side), Arduino Yun (AVR side), some PHP scripts and an Android application. Go on to the next page to read about the Software for Arduino Yun (Linux side)