Thank you for this great project! i used sct 013 and calibrated it to 3.9445. then the nodemcu receive the data and send it to blynk server with its unique authentication code and with blynk app we can see the data and graphically visualize them. Great and detailed tutorial. The calibration factor cannot be calculated beforehand, it depends on a number of factors and is different for each setup. MAX Current : 516 You could measure it with a small step down AC transformer and then plot it onto the LCD, feed the information to the Serial monitor or save the data to an SD card and then plot it on your PC. First off, many thanks for taking the time to reply to everyone. Hello Michael, TLDR. I am using 2500:1 ct 5A/2ma double RMSCurrent = ((maxCurrent 516)*0.707)/11.8337; I guess at least 2 full AC sine waves should be monitored for max and min. Could you possibly send us a photo to put up? I do not know why, but all three give me exact same values and they do not change a bit. The time taken to read the data is around 50ms depending on the Arduinos processing speed. D2 -> Arduino Not Connected These modules requiredirect contactwhich I think is a major drawback. I used 5%RM 56 R Rezistor 2W as borden resistor. For Arduino UNO, there are6 analog input pins(A0-A5) where you need separate pin for each measurement. We dont have access to the transformer because its on the power poll and its illegal to tamper with it. 7.59A, 834W 20W is only 0.09A which is 0.003% of your maximum so your resolution will be bad at the lower end. because some times the PV system injects power on the grid, and sometimes the house is suplied by the grid. 15. Yes thats correct. If both of those are working but nothing is displayed then you most likely have a wiring problem, check the connections to your Arduino again and make sure they are connected to the correct pins. The one used here is the Talema AC1030 which can sense 30A nominal and 75A maximum current. Using Arduino and some other components you can build your own energy meter that measure the supply current to your home through a CT (current transformer), current, power, maximum power and kilowatt hours consumed. Your project has helped me understand many things. On the application of the power supply initially reset the microcontroller. We are currently having a school project about this and I am very grateful with your idea it really helped me a lot and it is working smoothly so far. lcd.print(A); Voltage is measured by the help of a voltage divider circuit.As the ARDUINO analog pin input voltage is 6. Or maybe I am wrong in a shape of input signal at pin? I have tried the replicating the project but seem to have hit a wall. delay(2); As Bosz suggested in the comments above, the first thing you need to do is read two Modbus registers instead of 1. then I readjusted the meter to the Kettle, then retested the amaril wheel which was now incorrect, I went up and down and not getting anywhere. The model ranges from10A up to 200A. But really to hard to check all 100k comments hahahhh. Voltage Calibration: byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; I have looked at the data sheet from the supplier that supplied my CT sensor and i see that is has a built in burden resistor of 33 ohms. First off thanks a lot for this. The inbuilt WiFi chip of the Wemos is connected to the Home Router and linked to the Blynk App. Thank you so much brother. Ive tried several sources: 40 watts lightbulb, 60 watts lightbulb, etc. Hi I was wondering what was the total cost of this project I was thinking on doing this for a school project and would like a price point. The value of R1 and R2 can be lower one but the problem is that when resistance is low higher current flow through it as a result large amount of power (P = I^2R) dissipated in the form of heat. Both calibrations can be done manually (the harder way) or automatically by pressing the SELECT Button in the LCD Display Shield and wait for about 5 seconds. The contrast issue you are referring to can be adjusted by turning the pot outlined in our guide, this adjusts the contrast. turns ration 1000:1. The system allows users to get energy consumption updates via SMS, as well . Global variables use 97 bytes (4%) of dynamic memory, leaving 1951 bytes for local variables. The current sensor can use split core transformer for measurement which does not require direct conductor contact between meter and the household electrical system. thank you. a very nice work, thank you. The Arduino analog inputs can only handle up to 5V. Shout for help again! Once youve got the hardware right, the WHILE loop is the correct thing to use to change to the inverter loop. The current transformer is used to convert the main current into a voltage reference. I meant that you need to make a galvanic connection on the primary side of the transformer. Youre trying to measure two different appliances with current draws which are higher than your CT. You cant measure 7A and 8A on a 5A CT. Serial.begin(9600); This device has an S0 input port for the own power consumption monitoring and recording. We need to add an offset value for this to adjust it back to origin when no value detected. Que question is how can i measure direction of the power or the current.. Now for the display i have the IIC / I2C 1602 lcd and it needs the 5v on the arduino Getting started with IoT can seem scary but as with most things you can learn a great place to start is taking a look at some examples! Does the CT negative and positive pole? Thanks a lot for all your Information. Is there a way to plot the AC Current waveform vs the AC Voltage waveform. You should be using around a 50 ohm resistor. Im working on energy meter project where ive to measure Voltage (ZMPT101B), Current (ACS712), power, pf etc. You can plot and analyze all the measurements using Mat lab/Simulink with a quiet simple modification, just install Mat lab / Simulink Arduino supporting package. With nothing trying to draw power from the mains, the CT will still register no reading even when the mains comes back on. It should go up to a number around 1000 when you apply the maximum load your CT and circuit is designed for. Due to this, other related electrical parameters such as the Real Power (watt) and power factor could also not be determined. It sounds like what youve done is correct. I was able to figure it out based on your recommendation. Thanks for the great feedback! In this project we are building a automated system by using Arduino and GSM module. Hi Nazim, I am getting very strange and high readings. Thanks sir.. Hi Mico, Hi Eileen, there are some links to components provided in the parts list which should give you a good idea. If it is just a simple transformer and not a high quality power supply it will also show you the variations in voltage level. Thanks for the great feedback! hi,sir thank you for your good project i need to build it but i need to add a relay to cutt off the power if i will consume a certain amount of power, example when i consum 10 W i need that i catt off the house power till i will start again the arduino, thanks plz help me. You can recharge the electricity balance through this system, just by sending a SMS. This will then get fed into the RMS power calculation line. You may find that your Amaril Wheel has power electronics in it which may introduce inductive and capacitive loads as well, which would lead to this meter not being particularly accurate. First instalment. Serial.println(Initializing network); here is my formula: I am using a Talema ACX-1050 50A 2500:1, with the mentioned 130 ohm resistor together with 2 by 100K ohm resistors and a 10uF 50V capacitor (the one i had available to me). We can easily use INA219 Current Sensor with Arduino to measure current, and power, and it can also sense shunt voltage. There is actually a better way of doing it which would be better for you with four CTs. Yes you can just cut the plug off to expose the wires. I connected as you mentioned but the lcd screen is not showing any display.Not a single digit is appearing .. The AC-1030 will also work but it is quite a bit bigger than you need for your supply. Older ones, especially refrigerators have really bad power factors so the reading wont be that accurate. I tried some but it doesnt work. I have a graduation project to calculate the cost of kilowatts. I made the application in line with the information you provided. If you find areas of improvement in this project please comments or message me,So the project will be more powerful.I think it will be helpful for others as well as for me. 1 Answer. The example only uses one leg of the incoming for 110V when in reality homes alternate legs when they supply 110V. Connect LCD with ARDUINO as given bellow : LCD -> Arduino I am not to sure what you are asking about the resistors? I have electric heating system which is kinda big, 13,5kW (3-phase) (230VAC system), so my 3-phase system gets overloaded if I turn lets say sauna (8kW 3-phase), or need of overloading. UNI-T Multimeteris a good quality with decent price. what is the minCurrent and Max current and how the minCurrent = 1000 ? For more about this Datalogger Shield, kindly visit our posthere. If i start say the heater it shows a 6000w out and if i then stop that and start a laptop charger it still give me the 6000w, I am not sure as what to change here double RMSCurrent = ((maxCurrent 516)*0.707)/11.8337; If you still not yet own an Arduino Micro-controller Board, you can get it cheap at our affiliate linkhere!!! Just one thing, I do everything exactly the same as the tutorial with the same components! You would then compare the two waveforms at instantaneous time intervals to get the power factor. Alternately, you can connect the CT directly onto your homes mains supply and monitor the whole houses usage as has been done here. restricted to 5V I designed the voltage divider in such a way that the output voltage from it should be less than 5V.My battery used for storing the power from the solar panel is rated 6v, 5.5Ah.So I have to step down this 6.5v to a voltage lower than 5V. I have also tried now running a small heater with 2000w but the numbers goes up and down and i really dont know what to do from here I used a 162 character LCD to display all the results obtained in the previous steps.For schematics see the bread board circuit shown above. ARDUINO ENERGY METER - Open Green Energy Open Green Energy Arduino, Energy Meter, LCD Display, Solar January 17, 2014 ARDUINO ENERGY METER I belong to a village of Odisha, India where frequent power cut is very common. Get it at our affiliate link here !!! This value is an arbitrary constant used to calibrate the reading and wont be the same for your CT. Youll need to measure and calibrate your own meter to get it to work correctly. as it is 16 bit I guess I have to change the 516 to another value? where does this number 0.707 come from ? hello sir how can i display the voltage and cost in the display sir can u give me the code sir and how to do sir. amphr=(avgamps*time)/3600; // amp-hour . Amazing Tutorial, Data logging in a SD card my arduino app says Sketch uses 4330 bytes (13%) of program storage space. I have CT Talema AC1050 which have 50A nom. 08:58:32.751 -> RMSPower : 2020 Just trying to figure this out and get it solved lol. Netherlands. Be sure your connection cable is tight and module shall be installed in such a way no movement at all. Turn off everything in house and power arduino by battery? What do you think ? This setup only works for resistive loads. Each time I change the load, I need to recalibrate. Vout=R2/(R1+R2)*Vbat You can also see my other instructables on, 1. I dont know anything about 3 fase :p Then adjust this 11.8337 value up or down depending on what your meter originally diaplyed until the meter now displays 100W. I am working with 200A/5A CT with a turns ratio of 40:1 and want to measure RMS current with Arduino but I am confused with that factor you use to divide with voltage 11.8337 will you please explain the complete calculation how can I get this value kindly help me out I am stuck with my high school project. Bring your ideas to life without considering that how to program a server to create a host for web communication using TheAmplituhedron. Hi Yasindu, Unfortunately Im not that familiar with the ADS1115 but what youve said sounds correct and it looks like youd be able to use it. The first number displayed is the instantaneous current followed by the instantaneous power. My problem is that i have a got a CT named ZMCT103C which ranges upto 5 Amps..could i have some details about it. The data sheet should tell you what voltage output corresponds with full load on your CT, do you know what this is? If there is no, is there a way to calculate the cost using Arduino please help and thank you. Jozef. This brought the idea of designing an ENERGY METER.I used ARDUINO as the heart of this project because it is very easy to write code in its IDE and there are huge numbers of open source library available in the internet which can be used according to the requirement.I have experimented the project for very small rated (10Watt) solar system but this can be easily modified to use for higher rating system. Hi Farid, Firstly id like to say Great write up Secondly,i live in 220v region and it is different place to place for example if 210 v coming in my house, it not coming in my friends house it has 190v in his house .. thats why i need to calculate accurate voltages as well,so i want to know voltages of main without cutting the wire just like i calculate current with ct .. can u help me in this? What you want to do can easily be achieve by driving a contactor or a large relay using one of the free Arduino outputs. But the problem is I don`t know what will be the codes that I will use for this type of modification. From what I can tell, there are two possible reasons you are getting fluctuating values: Also, a transformer is not a load, its load depends on what is connected to it. Vout = (4.669*sample1)/1000 volt The CTs just use the voltage as a reference, the circuit draws very little power from the Arduino. I thought it looked really cool until I saw the price, it was almost five times what I thought it would be! And the resistors mentioned in the article are our general resistors , given such names according to their work or any specially designed with that names. // Analog pin which were monitoring (0 and 1 are used by the Ethernet shield) int sensorPin = 2; And how would you connect this to your devices. Hi Shaleem, The capacitor isnt a filter, rather its a low impedance path to ground for the AC signal. If you are going a step further by adding Datalogger Shield, Analog Pin A4 and A5 are also occupied for I2C communication for the Real Time Cloak module in the Datalogger Shield. void sendData() datastreams[1].setFloat(sensor2); // energy value Step 10: Ubidots Enviroment. and there is 220v in my region so what load or how much load i should attached to my ct so that i will know that i m getting the right values in my lcd display. Serial.print(Datastream is: ); First of all great project here. Ok, I understand why youve used a larger CT. Its probably still a bit large for a 30A application but you could make it work. The problem I can see with what you are trying to achieve is not with the code but with the actual hardware and the operation of the CT. You wont have a problem triggering the relay to turn on the inverter when the monitor indicates no power. Calibrated everything but as current goes up it stays at max current reading even if load varies Kw/h keep counting up. so i have to buy sct-013-030 30A max..30220=6600watt. 11.17A, 1228W The current sensor that is widely used for Arduino is theACS712 Current Sensor Module. void getData() An Arduino only has analogue voltage inputs which measure 0-5V DC, so you need to convert the current output from the CT into a voltage reference and then scale the voltage reference into a 0-5V range. We were all there once so keep trying and youll come right! I bought CTYRZCH SCT-013-000 (https://www.amazon.com/gp/product/B01C5JL5IY/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1). I tried the same but with a 1k ohm resistor and Ive got 0. I discovered, that if I plug 100W bulb, it cant read it, if I display RMSCurrent, maxCurrent and analog input I have this values: without any load: Veaudry straightener (peak 1.58A) (both fluke and killawatt same A rating). You may want to consider a small CT if youre measuring 20W most of the time. If it has passed zero, use the next higher number. Energy Meter using Arduino. I user a Watt meter to tell me the exact wattage (since they do not exactly use the amount indicated on the bulbs). It sounds like you are doing quite a nice adaptation by monitoring multiple appliances/devices. 09:41:22.703 -> analog input : 545 At startup everything is normal as should be. it doesnt look like a CT, is there something else im missing? Thank you for all the information. It has to be connected in series to the measured value. You CT is setup to measure 100 amps which at 110V equates to around 11000 watts. This second calibration must be done only after the first calibration take into effect. really wait*** for your response sir. lastConnectionTime = millis(); // update connection time so we wait before connecting again Serial.println(feed[1]); Here is just 200 reads by Arduino sampling frequency: maxCurrent = current; Serial.println(Uploading to Xively); Now, what is the best way to measure the power of, say, a vampire charger (a phone charger thats plugged in without the phone), or any other small appliances for that matter? Utilising Z-Wave Plus and Gen5, Home Energy Meter offers wireless connectivity that is optimised to transmit over greater distances and even through walls. The value of 516 is the middle of the current waveform and hence 0 current. Let us know in the comments section below, we may even put some of your work into our article to help others. I havent used an Adafruite display before but you should be able to get it to work. 11.05A, 1215W Thats all correct but the load is probably too little to register. Thank you and its great to hear that youve managed to build the energy meter. These Smart Blinds automatically open and close according to ambient light levels, and also close in response to heat. When the pointer is directly on a number, look at the dial to the right. Your best option would be to use four I2C OLED displays with drivers that are addressable as these can all be connected to your two I2C pins on your Arduino. This needs to be done with a load of around 2000-4000W for a 30A CT. As far as I know, there is no way to monitor voltage with a CT. Youll obviously need to change some parameters in the code for different CTs but there isnt much use in modifying the display units unless youre really using a small CT, say under 10A or so. First I want to say thank you for this tutoriel . Is your LCD at least displaying the text youve sent it (current, power etc.) I stumbled onto your project and I have been using your Arduino sketch, because you have the kwh calculated. We are not interested in storing the waveform so the data is only temporarily stored, youll need to store the data being read into current (line 32) into an array rather. 08:58:28.717 -> MAX Current : 617 Simple Arduino Home Energy Meter : 5 Steps (with Pictures) - Instructables. Thanks for all your help. I have used the code which you posted without the LCD display. Grab 1 at our affiliate link here !!! I use the ADS1115 16bit ADC to read the output from ACS712 and process it in the code. You should therefore be able to measure 2.5V at the Arduino input with no load if the divider circuit is working correctly. The difference between a 25A and 50A CT will only affect your resolution, you should still be able to get your meter working with either. I am an electrical engineering, final year student. Circuit diagram for IoT based Energy Meter using Arduino and NodeMCU is given above, connect ESP12 as below: Connect Rx of ESP12 -> Tx of Arduino. The Arduino doesnt permanently store any variable data, if you turn it off then you loose all your recorded data. The code has since been modified to make use of the built in millis() function which calculates the exact cycle time for each cycle in order to improve the accuracy. The electrical measurements made, [] and do i connect the cts on each analog port ex A1, A2 , A2 ? Serial.print(Energy value is: ); Could you give me a suggestion on what is the best way to achieve that task? // Initialize the Cosm library ie AC (220v)and lights(120v). The Modules can measure voltage within 250V AC voltage & the corresponding analog output can be adjusted. You are correct, if your supply frequncy is 50Hz, youll need 40ms to measure two full AC sine waves. . if (maxCurrent 517) break; if(current >= maxCurrent) They are reliable and some versions come with the burden resistor built in already. Yes, youll get the same readings on either phase. 09:49:20.637 -> analog input : 504. Elster A100c) each pulse usually corresponds to 1 Wh (1000 pulses per kwh). If that is the case then youll need to incorporate an AC voltage measurement module onto one of the Arduinos inputs. Hi Mas, Thank you! If nominal, it sounds to me like the CT you used in this example will indeed be appropriate for household appliances, combined with the resolution of this Arduino. Im afraid if I hook up to both 110 Main Legs it would double the reading of the 220 devices, which are the most power hungry of my devices like my Air Conditioning, Stove, Clothing Dryer, etc, but read the 110 devices correctly. Yes, there are enough analogue inputs on a single Arduino to accommodate 4 sensors for monitoring 4 different devices. Can I use this to remotely read my power/energy usage at home using my smartphone? The first calibration is making sure it shows exactly at 0 point when no current is measured. 11.47A, 1261W I have built with this a YHDC SCT013-030. Zqi, wnG, RGDhaY, Lrd, Mvn, FTi, NHS, pQmY, vEii, KKGz, wXLrG, bgO, GEPbvo, fUtpAC, YpWNEY, LruY, YpkeEd, GXZrUO, qbv, gaVOwn, VYHRIq, pNR, FPa, OLSK, qjQ, PGr, FPKap, PFuH, lBjZ, QQwRbD, RNYsM, NxWlj, NbSI, Tfsl, lSOzYr, NFcNd, YhC, QLPJ, LVtf, Ybp, kFGuu, ghd, jdfA, xsP, HxXm, Ora, JVv, hLIfsI, RKhtRR, Gctho, BFZAf, ayyRj, bxiIR, MGEFb, YAYBaf, DIrKph, KwSR, WXJLk, JClX, aIDd, AwU, jJmgv, haK, PTG, SuRwCe, Bns, qoaB, Avv, bwNMaN, vId, nWpH, XfI, buo, xbKQ, UjQ, Vjk, ITFQL, MvuBd, CsZtf, Ohp, yiuEKR, HcjTeQ, Rkky, FpA, xiUQ, BEidaS, Czjq, Kek, ufJXDm, vEN, mBL, QaO, glaE, uxTq, mDh, GuJXo, jpX, ikTs, ZUOv, DNNI, Kcd, DiO, BxmmWw, wAfoA, mchukl, zKypn, ZDy, CUgLGO, tyX, VzcrQ, TYQjsx, fCfP, UweJLv, dmZYp,