Jump to content

Precise DC Current Clamp Meter

Judd

I am trying to build a sensor that will interface with an Arduino that can measure the current going through a 1 inch wire non-intrusively. However, the real probelm is that the range that it needs to measure is between 1mA and 500mA, with an accuracy of about 1mA.

 

I have done a little research on Hall Effect Sensors and measuring the magnetic field running through the wire, however it seems that the magnetic field is so weak, <0.0001 Tesla or < 0.005 Gauss, that it would be next to impossible. However, I have seen meters such as these, that can do what I need, but they are a little expensive and they cannot connect to an Arduino. I can not directly make contact with the wire, so it has to be non-intrusive. Does anyone have any ideas? I am willing to test multiple ideas if they have a chance of working. Thanks.

Link to comment
Share on other sites

Link to post
Share on other sites

I forgot to mention that the current is DC, not AC. This has also been a problem I have found.

Link to comment
Share on other sites

Link to post
Share on other sites

IIRC, clamp meters are just hall effect sensors, and that they are (on average) not too accurate below 1 amp.

ASU

Link to comment
Share on other sites

Link to post
Share on other sites

It's tough to get the whole range, from 1mA to 500mA.

 

You could try one of these: https://www.digikey.com/product-detail/en/lem-usa-inc/CTSR-0.6-P/398-1110-ND/2677715

 

Runs on 5v, has a built in voltage reference or you can feed a 2.5v reference voltage from outside... you can use a proper ADC to convert the output voltage to something Arduino can work with (the 10bit ADC from inside Arduino is probably not good enough for a 1mA step)

 

You said non instrusive... if you can solder two wires to the conductor (without cutting it) you could use a precision opamp to multiply the voltage drop across that cm of material... provided the temperature of the conductor doesn't fluctuate (much) 1cm could be enough of a distance to cause a voltage drop from around 20-50mA and higher... not sure about less. You'd pay around 5-10$ on an opamp sensitive enough for that... 

 

If you can cut the wire, there are hall effect sensor ICs that are sensitive enough : https://www.digikey.com/product-detail/en/allegro-microsystems-llc/ACS70331EESATR-2P5U3/620-1890-6-ND/8120697

These do introduce a 1.1 mOhm resistance (the conductor) but for most cases it's low enough to not cause problems.

These output 800mV per A, so if you have an ADC that can measure under 1mV steps you'd be good.

With some calibration, you can get fairly accurate readings, and if you want you could even use two of these at the same time, with proper calibration (map voltage read to an internal table with the actual current value for that chip)

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, mariushm said:

Thanks, I will look into it. Like you mentioned, this device cannot be clamped over the wire. However, I will see if I can make it work with it being a closed loop instead of open loop, sorry I should have mentioned that.

 

1 hour ago, mariushm said:

You said non instrusive... if you can solder two wires to the conductor (without cutting it) you could use a precision opamp to multiply the voltage drop across that cm of material... provided the temperature of the conductor doesn't fluctuate (much) 1cm could be enough of a distance to cause a voltage drop from around 20-50mA and higher... not sure about less. You'd pay around 5-10$ on an opamp sensitive enough for that... 

Are you saying that all I would need is to take a wire and solder the two ends to the main wire a few centimeters apart, then measure the voltage drop across it? Is this what you are saying? Or am I missing the point entirely? I'm not experienced with opamp amplifiers but I am willing to try.

 

1 hour ago, mariushm said:

If you can cut the wire, there are hall effect sensor ICs that are sensitive enough :

Unfortunately cutting the wire is not possible. 

 

 

Also, one thing that you made me think of was using a wire similar to what you mentioned, soldering a smaller wire to the main wire. Could I use a normal current sensor such as the INA219, and by using a formula I could calculate the current flow through both? I would think that this would be possible as long as I know the resistance and the voltage going through the wire. Any ideas?

Link to comment
Share on other sites

Link to post
Share on other sites

13 minutes ago, Judd said:

soldering a smaller wire to the main wire. Could I use a normal current sensor such as the INA219, and by using a formula I could calculate the current flow through both?

No, you can't measure current going through one wire by measuring the other unless the current going through both wires is the same.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

Any conductor has some resistance. This varies depending on the metal used (copper, aluminum, steel, whatever).

For example, have a look at the AWG Ampacity chart: https://en.wikipedia.org/wiki/American_wire_gauge#Tables_of_AWG_wire_sizes

 

An AWG18 conductor (used in computer power supplies) has a resistance of 20.95 mOhm per meter.

An AWG24 conductor (the solid core wires in an ethernet cable) has a resistance of 84.22 mOhm per meter.

 

So, if you know the exact resistance per meter, you know the resistance across each cm of conductor and you then also know the voltage drop on the conductor across that distance.

For example, let's say you're transferring 12v DC through an AWG 24 cable that's 50cm long ( so 2 wires x 50cm = 1 meter of cable between power supply and device) and the device consumes 100mA of power.

 

There's 1 meter between psu and device, and you know an AWG24 wire has 84.22 mOhm per meter of resistance, so let's say you connect two wires at 5cm from each other on the wire.

That 5cm of conductor will have a resistance of  5 x (84.22 / 100) = 4.211 mOhm  or 0.004211 ohm

You know Ohm's law which tells you  Voltage = Current x Resistance  so V = 0.1A (100mA) x 0.004211 = 0.0004211  volts  or 0.42mV

If you have a precision opamp, you can take this input voltage and multiply it by 10, and you get a value of 4.2mV ... if you want you can take this 4.2mV and feed it into another opamp and you get 420 mV or 0.42v

of course, both opamps have some tiny error, and going through two opamps errors add up, but it may still be able to get a precision of around 5-10mA steps

 

This is basically the idea of uCurrent, only instead of using a random length of conductor, the circuit uses a precision 0.01 ohm resistor :

You can read a very good explanation of how it works here: https://eevblog.com/files/uCurrentArticle.pdf

And you can see a schematic here: https://www.eevblog.com/files/uCurrentRev5schematic.pdf

 

Obviously if your conductors are very thick, this is not gonna work that well, as the resistance per cm is gonna be super small.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Does this diagram look lie what you were describing?image.png.f48e1172b0ea8611fe82b93b507d1548.png

 

If it does, then is the following math correct?

 

I = V / R

 

I = 0.00025V / 0.00422Ohms

 

I =  0.0592Amps

 

So there is 60mA going through the secondary wire, but what about the current going through the main wire? 

Link to comment
Share on other sites

Link to post
Share on other sites

No, there's barely any current going through the wires touching the main wire.

 

There's no 2.54 cm diameter.

 

The 84.22 mOhm resistance is only valid for solid core copper wire that follows the AWG24 standard :

Diameter: 0.0201  (in)  / 0.511 (mm) 

Area : 0.205 mm2

Resistance : 84.22 mOhm per meter.

 

Everything between your power source and your device that consumes power has a resistance.

If you have a total length of 1 meter between your power supply and the device (so 50cm from positive of power supply to device, and 50 cm from device back to the power supply), then the two cables are for all intents and purposes two resistors because each piece of wire has some resistance.

If the wire is of good quality and has same diameter and same density and same copper purity over the whole length, then the resistance of the wire will be consistent over the whole length of the wire, so you can easily say that 10 cm of wire will have a 10th of the resistance of a whole meter of wire.

 

So, if you know the total length of the wire between the power supply and device is exactly 1 meter, then you can say the resistance is 84.22 mOhm. Provided the wire is as I described above, then if you create two connections between two points on the wire, you will be able to measure the resistance of the wire between those two points.

 

So yes, between two wires spaced 5cm apart on an AWG24 wire, you would have a resistance of  5 cm x  (84.22 mOhm / 100 cm) = 4.211 mOhm

 

Using Ohm's law, Voltage = Current x Resistance  ... if you have a current of 0.1A (100mA), then between those two wires you would have a voltage drop of V = 0.1 x 4.211  = 0.4211 mV

 

If you measure 0.25mV, then you can put the values in the formula :  0.25mV = Current x 4.211  => Current = 0.00025 V / 0.004211 ohm = 0.059368 A

 

So yeah, you got it right. Similar numbers.

The problem you're gonna have is that it's super hard to measure 0.25mV ... that's where you need a precision opamp to amplify the tiny signal and transform that 0.25mV in 2.5mV or 25mV, or like it's done on uCurrent where there's two high quality opamps that each multiplies by 10 the small voltage drop on the 0.01 ohm resistor.

 

You can then use a microcontroller with an external voltage reference or an ADC with internal voltage reference to measure this low voltage - cheap microcontrollers typically have 2v.. 2.5v references, some PICs may do 1.024mV so the smallest step on a 10bit ADC would be 1mV or something like that.

You can use a decent reference like let's say ADR510 and a 16+bit ADC with internal or external voltage reference to read the very low voltage and convert it to something usable.

For example, AD7793 is 24 bit (23bit effective) and has an internal 1.17v reference, so you could measure in theory a lot less than 1mV  
 

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 9/14/2019 at 5:35 PM, mariushm said:

There's no 2.54 cm diameter.

Sorry, I was being an idiot when I typed that. The wire is actually a grounding wire and it is 1/2 inches in diameter, or roughly 1.25cm. Sorry for the confusion. 

 

Thanks for the added clarification, that is making more sense now. Unfortunately, I have been told that I can actually make no contact whatsoever with the wire, that it can only be measured using an open loop clamp sensor. I apologize for the waste of time, but I did learn a lot, Thanks.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×