4 pin hall effect current sensor

I could really use some help wiring a project for work. It’s probably a really obvious mistake I am make here but I cannot seem to get this sensor to work.

Here is the sensor I’m using to sense amperage from a mig welder ground -

Can someone suggest a solution to wire this so that it is supplied by 15v and the output voltage is read by an analogue pin on my uno?

Thanks!

From the "electrical connection" diagram in the pdf, it requires a split 15v dc power supply within 5%(regulated)

i.e. 15V dc positive to terminal 1, ground to terminal 4, 15V dc negative to terminal 2, a 10K resistor between terminal 3 and 4 with your signal coming from terminals 3 and 4( i.e. 3 signal and 4 ground to your arduino) .

That will work if the welding current is DC, and you mount the sensor the right way. Add a second 10k resistor between sensor output and analogue in for pin protection.

If the welding current is some form of AC (no experience there), you will need a resistor network between sensor and Arduino pin, to pull the sensor output to mid-voltage when idle. Leo..

bluejets: From the "electrical connection" diagram in the pdf, it requires a split 15v dc power supply within 5%(regulated)

i.e. 15V dc positive to terminal 1, ground to terminal 4, 15V dc negative to terminal 2, a 10K resistor between terminal 3 and 4 with your signal coming from terminals 3 and 4( i.e. 3 signal and 4 ground to your arduino) .

That's what I was thinking I did wrong. Makes sense now. Will this work or will I need to somehow add a regulating circuit? - http://www.digikey.ca/product-detail/en/PYB10-Q24-D15-T/102-3136-ND/4477394

Small modules like this one turn 5volt into +/- 15volt http://www.ebay.com/itm/DC-DC-converter-2W-isolated-5V-IN-15V-dual-out-1pcs-/151781137428?hash=item2356dc5c14 Leo..

Wawa: Small modules like this one turn 5volt into +/- 15volt http://www.ebay.com/itm/DC-DC-converter-2W-isolated-5V-IN-15V-dual-out-1pcs-/151781137428?hash=item2356dc5c14 Leo..

Yup this would work good. Would you need to regulate the outputs with capacitors?

Info says it's already regulated.

You may need to look further into this device as it may require a seperate power supply to drive it. i.e. one supply for your Arduino and one supply for your converter. Reason being, you need common ground between the converter output, your Arduino and your signal.

Should work then, it’s all hooked to a 24v powersupply. The project uses an amp sensor on the welders ground and the arduino compares the amp reading to a set point and then moves the torch with a stepper driven slide either up or down to maintain that amperage throughout the seam. Steady amperage = exact same torch from metal distance = consistent automated weld.

So all that to say I have one 24 v supply that sends 24 to the stepper driver, converted down to 10 for the arduino and then will have a third line that is converted to 15± for the amp sensor.

Was thinking it was finished today and then my sensor wouldn’t work. Stupid brain fart on the dual polarity power supply.

Thanks for the help!

converted to 15± +/- 15V for the amp sensor.

It may not be that simple. The pin labeled “0V” on the sensor is the Ground, which will need to be connected to the arduino ground in order for the arduino to communicate with the sensor. This means that whatever you use to supply the +/- 15V to the sensor, must have a ground that is common to both the sensor and the arduino. You may be overthinking this. Try looking at it from a different perspective.
Right now you are trying to treat this bipolar +/- 15v supply as a single entity (device) . Electronics is not that picky. There is absolutely no difference between a single +/- 15V supply and two floating 2 port in/2 port out 15V dc supplies connected with the “+” of the negative 15V supply connected to the “-” of the positive 15v supply. As long as they are wall warts with 2-prong AC plugs and 2-wire dc output, you can put two of them together to make a bipolar supply.

ac => |15v wall wart#1| ----------------------------------------- > + (BECOMES “+” OUTPUT)
| | --------> - <-----|
| (jumper from “-” of WW#1 to “+” of WW#2)===>(BECOMES GND)
ac => |15v wall wart#2| ----- >+<—|
| | --------------------------------------------> - (BECOMES “-” OUTPUT)

Cost ? 2 * $4 (plus shipping)

It is basically the same as if you took two 9V batteries and wired them together with the pos lead of one to the negative lead of the other and called that GND , leaving the pos lead of the first one as the “+” output and the negative lead of the second one as the “-” output.

I don’t know where you are but this is probably what you need.

(unless you want to build your own.

I did come across the solution of chaining two supplies together but seemed a bit hacky and the cost of a proper bipolar supply isn't really an issue.

Will it not work to us a supply like the one in your link and wire it as suggested -

bluejets: i.e. 15V dc positive to terminal 1, ground to terminal 4, 15V dc negative to terminal 2, a 10K resistor between terminal 3 and 4 with your signal coming from terminals 3 and 4( i.e. 3 signal and 4 ground to your arduino) .

I found this supply that I thought would work and they usually have next day delivery - http://www.digikey.ca/product-detail/en/PYB10-Q24-D15-T/102-3136-ND/4477394

The Murata supply from Newark is perfect for your application.

So I bought a supply very similar to the one suggested but having a 5v input so I could power it off the arduino. Wired it up and hooked the Vout and ground to my voltmeter to test before hooking into my arduino and it works great. I've got right around 2.40v which is right where it should be for the amperage going through the welder. But, when I hook it up to my arduino and use a simple sketch to print the value of the analog pin, the signal fluctuates from .75-3.75.

How do I smooth this output voltage out so I can get a constant reading? Obviously my voltmeter has circuitry to do this.

Posting a circuit of your connections and the code might be the place to start.

There is more than one type on the datasheet. We can't discuss your issue without the following:

1- A close up photo of the sensor showing exact part number 2- A link to the datasheet 3- The conversion factor (mV/A) 4-Your code 5-A schematic of your circuit , including any support circuitry (such as amplifiers) 6-You say you measured 2.4V as "SOME" current. This is too vague. If you don't know what current it is then we can trust your multimeter to give us the voltage if we know the sensor output function (mV/A) 7-A voltage reading from you multimeter at the point where the arduino measures the analog voltage 8-The analog counts measured when the multimeter reads 2.40V (or whatever V)

It is too soon to discuss "smoothing circuits". Answer the above questions and if we think it necessary we'll talk about adding an RC LPF.

Sorry for the lack of info and I appreciate the help with this. Hopefully this helps a bit more.

raschemmel: There is more than one type on the datasheet. We can't discuss your issue without the following: 1- A close up photo of the sensor showing exact part number

Part number = L03S400D15

raschemmel: 2- A link to the datasheet

http://www.tamuracorp.com/clientuploads/pdfs/engineeringdocs/L03SXXXD15.pdf

raschemmel: 3- The conversion factor (mV/A)

The conversion factor for this sensor seems to work out to 1V/100Amp

raschemmel: 4-Your code

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:

int ampRead = analogRead(A0);
ampRead = map(ampRead, 0, 1023, 0, 500);

Serial.print("Amps: ");
Serial.print(ampRead);
delay(300);

}

raschemmel: 5-A schematic of your circuit , including any support circuitry (such as amplifiers)

|500x249[/img]

raschemmel: 6-You say you measured 2.4V as "SOME" current. This is too vague. If you don't know what current it is then we can trust your multimeter to give us the voltage if we know the sensor output function (mV/A)

The welder displaying 240 +/- 10 Amps. My multimeter gives me a fairly consistent reading around 2.40 V.

raschemmel: 8-The analog counts measured when the multimeter reads 2.40V (or whatever V)

My analog values fluctuate from around 100 to just over 300 Amps after my sketch does the conversion.

Here is the data sheet for my power source. I am using part #RB-0515D http://www.recom-power.com/pdf/Econoline/RB.pdf

Maybe the connection should be “A” instead of “B”. (just a thought given split supply)

I agree. The arduino doesn't need to know the bipolar supply grounding. All it cares about is the signal to A0.

circuit "B" defeats the isolation in the splitrail supply.

My analog values fluctuate from around 100 to just over 300 Amps after my sketch does the conversion.

I specifically asked for "analog counts" NOT amps.

(before your math)

The technical name is " RAW DATA"

What is the raw data ?

RE: Reply#14

I would remove the connection from the splitrail ouput common to the arduino GROUND.

You should only have 3 wires into the sensor for the split rail supply and 2 wires out of the sensor to the arduino. Pin 4 of the sensor should go to the arduino GND but NOT to the split rail COMMON. Remove that.

If the analog doesn't stablize, add an RC LPF consisting of a 4.7k ohm resistor in between the sensor out and arduino analog In with a 1 uF cap from arduino A0 to GND.

This is is unnecessary:

 int ampRead = analogRead(A0);
ampRead = map(ampRead, 0, 1023, 0, 500);

FS (full scale ) is 4 V @ 400A for that sensor It's true that 1023/500=2.046 and 4V / (5V/1023) = 4 V/0.0048875 V = 818.4 cnts/per 400A= 2.046 cnts/A but I don't really see any benefit in using the MAP function. For this application you could just use a conversion constant 1_amp = 2.046. Read the analog and divide by the constant 1_amp:

float one_amp = 2.046;
int ampRead = analogRead(A0);
float amps = ampRead/one_amp;
Serial.print("Amps: ");
Serial.print(amps);
delay(300);

If you do the math, that's 4V / (5V/1023) = 4 V/0.0048875 V = 818.4 cnts/per 400A= 2.046 cnts/A

Your code should read the counts and divide by 2.046 to get Amps. That is pretty straight forward.