(230v) 5A to 1µA AC current measure in arduino

I would like to measure Current driving load from AC supply of 230V, which can vary from 5A to 1µA. I have tried to use multimeter technique by connecting very low resistor value (1 ohm) but the range from 5A to 1µA is hard to integrate with arduino. I have even tried with Hall Current Sensor Module ACS712 but it can't measure in µA. Is there a way to make this happening?

You could use a current transformer but, be aware that these can be very dangerous if handled the wrong way.
Also your measuring range is unrealistic since most 230V loads have leakage currents significantly larger than 1uA

current transformer makes circuit bulky can you suggest me a simply and small circuit

If you are interfacing with a mains voltage of 230 you will have to accept that there must be some safety distances no matter what kind of current sensing you are using. And there is no need to have the current sensor (shunt or ct or hall) inside you circuit. But make sure you have means to short circuit a ct when disconnecting it.

I actually have no idea how you measure 1uA... I'd guess you'd need to switch-in a larger value resistor.

The problem with that is, if the load changes unexpectedly and you need more power while making a low-current measurement, the larger resistor will interfere with power delivery. ...Maybe a pair of diodes across the resistor to limit the voltage drop to ~0.7V?

My auto-ranging Fluke meter goes up to 10A, and it has a maximum resolution of 1mA. (For such a wide measurement range you probably need multiple ranges.)

sachinshetty22:
but the range from 5A to 1µA is hard to integrate with arduino.

Yes.

Give us the "big picture" view of what it is you want to do. There may be a better way than trying to measure the current over such a wide range.

Even if you mean 1uA resolution this is still unrealistic. 1uA resolution means 1023uA (or about 1mA) for full scale. If we assume that you change the reference to the internal 1,23V that means that you still need a shunt resistor of 1,2K !!!
If you really need to measure currents that small you will have to use a insulating instrumentation amplifier and a small as possible shunt resistor.
Or think about it this way: To measure everything between 1uA and 5A you will need a resolution of 23bits. Good luck with that

Even if you mean 1uA resolution this is still unrealistic. 1uA resolution means 1023uA (or about 1mA) for full scale. If we assume that you change the reference to the internal 1,23V that means that you still need a shunt resistor of 1,2K !!!

I was thinking along the lines of 100K or 1M, or something like that! :smiley: It seems crazy to put much more than one Ohm in series with 230VAC, but if you are only drawing 1uA it should be OK.

To measure everything between 1uA and 5A you will need a resolution of 23bits. Good luck with that

That's a wide range, but that's why meters have multiple ranges. If the reading is too high and off-the-scale, you need a higher-range. If the reading zero or too low to be reliable, change to a lower-range.

For example, the Tektronix oscilloscope on the bench in front of me has settings between 10mV per division and 100V per division. Not quite the 50 million to one ratio, but it's the same concept. I could remove the standard 10X probe for more sensitivity, or switch to a high voltage 100X or 1000X probe for higher voltages (if I had those other probes).

I think the 'scope only has an 8-bit ADC, and not a cheap 'scope. 8 bits doesn't seem like much, but it gives you about half the resolution of a DVD and you get sharp-looking waveforms on the small screen.

If he needs a meter why use a device like a arduinon. If he only need a readout there is no point in not buying a meter. Its cheaper, simpler, safer and more accurate. I assume that needs to do something with the value and that presumes either a unrealistic dynamic range or some kind of autoranging. And doing autoranging for these kind of loads is far from safe. If the load switches from 1uA (wich is, as i stated very unrealistic since nearly all 230V loads have leakage currents larger than that) to 5A (46 Ohm) the power developed in the 1,2K shunt resistor will rise to 40W before the range switch(which must almost certain be electromechanical) activates.
The bottom line is measuring currents is both difficult and dangerous in practice. And measuring a range like that is almost impossible (and i doubt necessary)

What EXACTLY are you trying to do (that prompted your question) ?

sachinshetty22:
I would like to measure Current driving load from AC supply of 230V, which can vary from 5A to 1µA. I have tried to use multimeter technique by connecting very low resistor value (1 ohm) but the range from 5A to 1µA is hard to integrate with arduino. I have even tried with Hall Current Sensor Module ACS712 but it can't measure in µA. Is there a way to make this happening?

I know of no single sensor that will span this range. High voltage and high currents beg the use of a current transformer and matching load resistor (burden load.). Low current at 230VAC is a particularly dangerous situation for direct in-line Vd measurement. Additionally at low current draw near leakage, the possibility of phase-shift due to capacitance and inductance means that Vd readings can have inherent inaccuracies.

Oscilloscopes can have very wide voltage ranges because they are high impedance instruments and therefore the ranges are simple voltage dividers.

Current readings imply just the opposite, the lower the inserted resistance, the more true the actual current draw. The best current measurements are made noninvasive to the current loop.

Ray

sachinshetty22:
I would like to measure Current driving load from AC supply of 230V, which can vary from 5A to 1µA. I have tried to use multimeter technique by connecting very low resistor value (1 ohm) but the range from 5A to 1µA is hard to integrate with arduino. I have even tried with Hall Current Sensor Module ACS712 but it can't measure in µA. Is there a way to make this happening?

DANGER! BE SURE TO READ THE PART IN RED AT THE END OF THIS POST

To measure AC current, you will need a current transformer. A current transformer (CT) is usually a toroidal shaped core with wire wound around it. The lead that you want to measure is passed through the center of the CT (but not electrically connected to the CT).

So, let's say you want to measure AC current of 10 amps maximum and get a DC voltage of 0 to 5 volts to measure with an Arduino.

First, pick a reasonable resistor for "R=E/I" where "I" will be a small current and E will be, of course, 5 volts.

I'll pick 100 milliamps for the max current. So, the R you need is 5/0.1 = 50 ohms.

Now we want to get 100 milliamps AC current when 10 amps pass through the power line.

The number of turns that the CT needs is T=Iin/Iout. Therefore, T=10/0.1 amps = 100 turns.

Since the current in the 100 turn winding will be 100 milliamps, small magnet wire (like 26 or 28 ga) is fine.

So now the circuit is a toroidal core, wrapped with 100 turns of magnet wire. The coil connects to the AC input of a bridge rectifier. The pos and neg output of the bridge has a 50 ohm resistor across it. Lastly, make a small R/C filter to convert the pulsating DC to steady DC.

When 10 amperes flow through the line wire (which passes through the center of the core), you will get 5 volts DC across the resistor (which you then filter and connect to the Arduino analog input).

Due to phase shift errors and burden errors (the resistance across the coil, plus the resistance of the coil wire itself), the CT will not give you a perfect 10A to 5 volts relationship. Some minor calibration will be needed (you can do that in software).

Safety concerns and warnings:

  • Use caution working with the AC mains.

  • Turn off circuit breakers before handling AC mains wiring.

  • NEVER touch mains wiring with both hands. Keep one hand behind your back (prevents a shock from going across the heart).

  • NEVER operate the current transformer open circuited (without the rectifier and load) This will cause a VERY high, lethal voltage (possibly with a very hot arc) to be generated and/or burn out the coil and start a fire.

  • NEVER allow the mains wire to contact the current transformer (that is, be sure the insulation on the mains wire is intact and that bare copper is NOT touching any part of the current transformer).

  • NEVER work alone. Use the "buddy system".

  • If you're not sure what you're doing and if you're not completely comfortable doing it, ask for help.

Hope this helps...

1uA at 230V is about 10pF of stray capacitance, you'll never see a current that low from any
practical load as the cable will cause more to flow. Perhaps you mean a resolution of 1uA?
Still sounds way out, consider 100uA as a practical minimum I think.

The simplest way to do this is get a multimeter with an opto-isolated USB port and talk to it
that way?

However you will probably need to physically switch in and out shunts to cover that range, you will
not be able to do it all in software. Consider the typical multimeter has a separate jack
for high current range - this is because the shunt is very low resistance, less than the
contact resistance of physical switches and typical semiconductor devices.

Thank you for all your tips :slight_smile:

Many of you asked what is the purpose of monitoring this many large range of current.

Hmmmm let me put in this way. Assume your TV is connected to ac supply and TV is in On state, it will take up lot of current, then you put your Tv in standby mode it will take very less current(power). I like to monitor the current when its on mode and when its on standby mode.

ok i can understand its hard to monitor very large range of current. But Can you people help me on just monitoring the current when its in standBy mode. (500mA - 1uA), don't forget i will be still connected to 230v ac and current may flow upto 5A(which i don't want to monitor).

Monitoring current in standby mode in order to estimate standby power is not useful since power in standby mode is largely reactive and non linear as well.
You will need a trms power meter for that measurement.

The wiring alone in a typical building is a load of many nanofarads, its capacitive
(and slightly resistive due to dielectric losses), so you might see as much as 1mA
flowing just to charge/discharge the wiring, yet the power loss would be an order
of magnitude or two less than that naively suggests.

Power in an AC circuit is measured by sampling voltage and current and summing
their product over a whole cycle or cycles in order to work with arbitrary (reactive)
loads.

If you want to measure levels of current many orders of magnitudes apart you'll
need to consider taking separate readings with different shunt resistors if accuracy is
important. How accurate do you want to be?

then you put your Tv in standby mode i

Standby mode ? I've never heard of that. How do you do that ?

Most modern TV sets have a switch mode power supply in them, and you can only read the power consumption accurately with a true RMS power meter, primarily as the current waveform isnt sinusoidal.
This is also true for most devices powered by switch mode power supplies.

Standby mode ? I've never heard of that. How do you do that ?

You do that every time you turn it off. Unless it has a hardwired switch, you are merely putting your TV, DVD player, etc in standby mode. If you can turn it on with a remote, it is in standby when it is "off".