This project will show you how to get the electrical consumption of a room on a three-phase power distribution and then send it to a server using Sigfox network every 10 minutes.
How to mesure the power?
We got three current clamps from an old energy-meter.
Be careful ! An electrician is needed for the installation of the clamps. Also, if you don't know which clamp you need for your installation, an electrician can advise you.
Which microcontrollers will be used?
We used the Snootlab Akeru card which is compatible with Arduino.
Does it work on all electric meters?
Yes, we mesure only the current thanks to the clamps. So you can count the consumption of the line you want.
How long does it take to make it?
Once you have all the hardware requirements, the source code is available on Github. So, within an hour or two, you will be able to make it work.
Do I need any previous knowledge?
You need to know what you doing electrically and how to using Arduino and Actoboard.
For Arduino and Actoboard, you can learn all the basis from Google. Very easy to use.
Who are we?
Our names are Florian PARIS, Timothée FERRER--LOUBEAU and Maxence MONTFORT. We are students at the Université Pierre et Marie Curie in Paris. This project is led to educational purpose in a French engineering school (Polytech'Paris-UPMC).
Step 1: Sigfox & Actoboard
What is Sigfox?
Sigfox uses the radio technology in the Ultra Narrow Band(UNB). The frequency of the signal is around 10Hz-90Hz, therefore the signal is hard to detect due to the noise. However Sigfox has invented a protocol which can decipher the signal in the noise. This technology has a great range (up to 40km), moreover the conssumption of the chip is 1000 times fewer than a GSM chip. The sigfox chip has a great lifetime (up to 10 years). Nevertheless the sigfox technology has a transmission limitation (150 messages of 12 Bytes per day). That's why the sigfox is a connectivy solution dedicated to the Internet of Things (IoT).
What is Actoboard?
Actoboard is an online service which allows the user to create graphes (dashboards) in order to show live data, it has much customization possibilities thanks to the widget creation. Datas are sent from our Arduino chip thanks to an integrated Sigfox module. When you create a new widget, you just have to select the variable you are interested in and then chose the kind of graphe you want to use (bar graphe , cloud of points...) and finally the observation span. Our card will send datas from captors (pressure, temperature, enlightning) and from the current clamps, information will be shown daily and weekly as well as the money spent on electricity
Step 2: Hardware Requirements
In this tutorial, we will be using :
- A Snootlab-Akeru
- A shield Arduino Seeed Studio
- A LEM EMN 100-W4 (only the clamps)
- A photocell resistor
- A BMP 180
- A SEN11301P
- A RTC
Beware : because we only have the hardware to mesure the current, we made some assumptions. See next step : electrical study.
-Raspberry PI 2 : We used the Raspberry in order to show Actoboard datas on a screen next to the electric meter (the raspberry takes less space than an usual computer).
-Snootlab Akeru : This Arduino card which integers a sigfox module contains the monitoring software which allows us to analyse datas from sensors and to send it to Actoboard.
-Grove Shield : It is an additionnal module which is pluged on the Akeru chip, it holds 6 analogue ports and 3 I²C ports which are used to plug our sensors
-LEM EMN 100-W4 : These amp clamps are hooked to each phases of the electric meter, we use a parallel resistor to obtain an image of the consummed current with 1.5% accuracy.
-BMP 180 : This sensor measures temperature from -40 to 80°C as well as ambiant pressure from 300 to 1100 hPa, it has to be plugged to an I2C slot.
-SEN11301P : This sensor also allows us to measure temperature (we will use this one for that function as it is more accurate -> 0.5% instead of 1°C for the BMP180) and humidity with 2% accuracy.
-Photoresistor : We use that component to measure brightness, it is a highly resistive semi-conductor which lower it's resistance when the brightness rises. We chose five spans of resistivity to describe
Step 3: Electrical Study
Before dashing into the programming, it is advisable to know the interesting data to be got back and how to exploit them. For it, we realize an electrotechnic study of the project.
We get back the current in lines thanks to the three current clamps (LEM EMN 100-W4). The current passes then in a resistance of 10 Ohms. The tension in the borders of the resistance is image of the current in the corresponding line.
Watch out, in electrotechnic the power on a well-balanced three-phase network is reckoned by the following relation: P=3*V*I*cos(Phi).
Here, we consider not only that the three-phase network is balanced but also that cos(Phi)=1. A power factor equal to 1 involves loads purely résistives. What is impossible in practice. The tensions images of the currents of lines are directly sampled over 1 second on the Snootlab-Akeru. We get back the value max of every tension. Then, we add them so as to obtain the total amount of current consumed by the installation. We calculate then the effective value by the following formula: Vrms=SUM(Vmax)/SQRT(2)
We calculate then the real value of the current, which we find by setting count the value of the resistances, as well as the coefficient of the current clamps : Irms=Vrms*res*(1/R) (res is the resolution of the ADC 4.88mv/bit)
Once the effective amount of current of the installation is known, we calculate the power by the formula seen higher. We deduct then the consumed energy from it. And we convert the result kW.h : W=P*t
We calculate finally the price in the kW.h by considering that 1kW.h=0.15€. We neglect the costs of subscriptions.
Step 4: Connecting All the System
- PINCE1 A0
- PINCE2 A1
- PINCE3 A2
- PHOTOCELL A3
- DETECTEUR 7
- LED 8
- DHTPIN 2
- DHTTYPE DHT21 // DHT 21
- BAROMETRE 6
- Adafruit_BMP085PIN 3
- Adafruit_BMP085TYPE Adafruit_BMP085
Step 5: Download the Code & Upload the Code
Now you have all well connected, you can download the code here :
The code is in French, for those who needs some explications, feel free to ask in comments.
Now you have the code, you need to upload it in the Snootlab-Akeru. You can use the Arduino IDE to do that.
Once the code is upload, you can see if the led is responding to your movements.
Step 6: Set Up Actoboard
Now your system is working, you can visualize the data on actoboard.com.
Connect you with your ID and password receive from Sigfox or the Snootlab-Akeru card.
Once it's done, you need to create a new dashboard. After that you can add the widgets you want on the dashboard.
The data arrive in french, so here is the equivalents :
- Energie_KWh = Energy (in KW.h)
- Cout_Total = Total Price (assuming 1KW.h = 0.15€)
- Humidite = Humidity
- Lumiere = Light
Step 7: Data Analysis
Yes, this is the end !
You can now visualize your stats the way you want. Some explanations is always good to understand how it is developped:
- Energie_KWh : it will be reset every day at 00:00
- Cout_Total : depending to Energie_KWh, assuming 1KW.h equal to 0.15€
- Temperature : in °Celsius
- Humidite : in %HR
- Presence : if someone was here between two send via Sigfox
- Lumiere : the light intensity in the room; 0=black room, 1=dark room, 2=room illuminated, 3=light room, 4=very light room
Enjoy your dahsboard !
Step 8: Bring Your Knowledge !
Now our system is done, we are going to do other projects.
However, if you would like to upgrade or improve the system, feel free to exchange in the comments !
We hope it give you some ideas. Don't forget to share them.
We wish you the best in your DIY project.
Timothée, Florian and Maxence