Go Down

Topic: Hall effect module jitter. (Read 3126 times) previous topic - next topic

jimford

I'm using this hall effect module to measure current:

http://www.ebay.co.uk/itm/5A-Range-ACS712-Module-Current-Sensor-Module-Special-Price-Sale-/160681653594?pt=LH_DefaultDomain_0&hash=item25695f755a#ht_3056wt_1061

I'm getting quite a lot of jitter in the readings - 10 digits or more. Is this normal?

Assuming it is normal, what do those more experienced in hall effect devices do about it? I'm considering taking 20 (say) readings, storing them in an array and finding the average to obtain the measurement.

Any ideas, please?

Jim

dc42

This is hard to answer without knowing:

- What you mean by '10 digits or more' - that the raw reading on the analog pin varies by +/- 5, or something else?

- What device is drawing the current, and what is the power supply to that device?

Unless the power supply to the load whose current you are measuring is smoothed and regulated DC and the load is constant, you can expect fluctuations.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

pavelp

#2
Dec 27, 2011, 06:35 pm Last Edit: Dec 27, 2011, 06:52 pm by pavelp Reason: 1
Hello jimford

I use the Arduino with Pololu Current Hall sensors (Pololu 1186) for remote network current measurement.
http://www.pololu.com/catalog/product/1186

I see your sensor has 5V operating voltage:

Try this:

be sure the sensor-arduino cables are as short as possible
connect the sensor Vcc to the Arduino Analog Reference pin (NOT to other 5V pins or external source!!)
connect the sensor OUT with a shielded cable (shield to GND)
try several GND Arduino pins for sensor GND pin connection to minimize the jitter, it should be the GND pin with physically shortest connection to the A/D converter IC
try to more stabilize the arduino main voltage, the usb connection only may not be sufficient


The digital A/D output ripple should be in WORST CASE not over +-1, for example 511,512,513

Hope this helps
Regards
Pavel

jimford

Thanks for the helpful replies.

Jim

mr23

Pavel, hopefully you are still active on this forum. I just began using the Pololu sensor, in my case the +-5A unit. I find that the sensor is affected by the earth's magnetic field, as rotating the sensor is causing a very repeatable drift of about 10 counts over the orientation range. I've relocated the sensor and processor (about 1 foot apart) from various sources of EMF (laptop, desk lamps, etc), and the A/D output is identical other than the orientation effect and the typical +-1 count of jitter.

Do you have any experience with this effect (earth's magnetic field), or with shielding for these boards?

Thanks,
-Chris


Hello jimford

I use the Arduino with Pololu Current Hall sensors (Pololu 1186) for remote network current measurement.
http://www.pololu.com/catalog/product/1186

I see your sensor has 5V operating voltage:

Try this:

be sure the sensor-arduino cables are as short as possible
connect the sensor Vcc to the Arduino Analog Reference pin (NOT to other 5V pins or external source!!)
connect the sensor OUT with a shielded cable (shield to GND)
try several GND Arduino pins for sensor GND pin connection to minimize the jitter, it should be the GND pin with physically shortest connection to the A/D converter IC
try to more stabilize the arduino main voltage, the usb connection only may not be sufficient


The digital A/D output ripple should be in WORST CASE not over +-1, for example 511,512,513

Hope this helps
Regards
Pavel

dc42

If your system controls the device whose current you are measuring, then when you initialize the sytem you can take a reading with the device off (no current) and use that to establish the zero-current reading. Then you can subtract this from future current readings to correct for the earth's magnetic field - unless the orientation is changed while the unit is running, or large chunks of steel (vehicles etc.) move in the vicinity.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

mr23

DC42, thank you, I understand I can calibrate out in one position. Here is more information from a post I made over at Pololu.

Is there any type of shielding product available or that can be described to magnetically shield the ACS series of current sensors?
I've read online that the toroid style sensors (with the feed through sensed wire) can be shielded via adding a coil, to eliminate external magnetic fields.
(see 2/3rds of the way down this page http://www.answers.com/topic/hall-effect where it shows adding a ferrite ring;
excerpt:
For example, a Hall sensor integrated into a ferrite ring (as shown) can reduce the detection of stray fields by a factor of 100 or better
(as the external magnetic fields cancel across the ring, giving no residualmagnetic flux). This configuration also provides an improvement
in signal-to-noise ratio and drift effects of over 20 times that of a bare Hall device.
).
What can be done to shield this Pololu board style sensor?

Does anyone know if these are used in any significant volume by any manufacturer? Who I might be able to contact for information on how they shielded the sensor?

The only feedback I've had on the internet so far is just to calibrate it out at one position. While that can work for the bench, I have other concerns described below.

My testing shows that the orientation of the part as delivered by Pololu appears to be sensitive (affected by) the earth's magnetic field. I believe I've ruled out any other source except perhaps body capacitance, but even for that I varied the orientation of the part to my body.
However it was moved the values read vary consistently (ie, 100% reproducible) with orientation to the earth.

The connecting cable, the processor board, and the surrounding environment (ie positional aspects about each) were varied and have no effect on the values read.

The value drifts about 14 counts when the board is rotated with respect to earth/ground in the following manner. board is level, chip side up. rotate on an axis through the center of the chip along its length (ie, raise VGO connector end while lowering sense wire end), or more loosely in a larger arc/loop. Or rotate about the orthogonal axis in the board plane. When the chip is facing down the counts are the lowest, when facing up, the highest. Rotating the board in the board plane varies the output by only a few counts.

My intended application is in an electric snowblower, and of course there is a relatively large rotating mass about 2 feet away, with small variation in speed when in operation, and a motor controller and motor nearby. I haven't yet tested it in that environment. I will be using a 30A unit in that application, I'm currently testing with the 5A on the bench.

Thank you in advance for any advice.
-Chris

dc42

If my reading of the ACS712 datasheet is correct, the amount of variation you get due to the earth's magnetic field should be no greater than +/- 0.6/12 = +/- 0.05A. Is this what you observe? Is that an acceptable error?

To cancel most of the error, you could use 2 sensors close together in opposite orientations, and take the average of the two readings.

I found this application note on shielding: https://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&sqi=2&ved=0CGgQFjAG&url=http%3A%2F%2Fwww.melexis.com%2FAsset%2FShielding-for-Triaxis-Current-Sensors-DownloadLink-5617.aspx&ei=frT3UMqTFs6M0wW1_YDQDA&usg=AFQjCNEHLPP_C3FhYZeiONa88aS5GjjaqA&bvm=bv.41018144,d.d2k.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

mr23

#8
Jan 18, 2013, 05:51 am Last Edit: Jan 19, 2013, 01:50 am by mr23 Reason: 1
Thank you, the datasheet is helpful.
The measurement is similar to what you describe.
12 counts, about .08A full range.
Std jitter on top of that.
The local earth field is probably affected also by the building.

A discussion is unfolding at Pololu forum at http://forum.pololu.com/viewtopic.php?t=6416

pavelp

Hello, I see this thread is dead since January.

I just want to note here, that I changed all Pololu current sensors to Amploc 25 (linear to +-60A) recently. They are virtually undestructible by accidental short circuit in the sensed section (The Pololu usually dies, when the short circuit current exceeds 100A). Also the jitter seems to be ok even when the sensor Vcc is connected to +5V Arduino pin, because connecting anything to the Vref pin, as I suggested above, is not recommended.

Go Up