# Bidirectional Hall current sensor signal conditioning (shift and scale sensor output voltage)

I am using a Hall current sensor in circuitry where I need to implement signal conditioning in order to improve accuracy of measurement. The Hall sensor outputs 1 volt when measuring maximum current in negative direction and 4 V when measuring in positive direction. At the center point when no current flows it outputs 2.5 V. The sensor operates on a 5 V unipolar supply.

What I want to do is scale this 1-4 V output range to 0-5 V output while still maintaining that center point at 2.5 V.

What are your suggestions on this?

• It sounds like you are using a unidirectional version of the ACS730 range when a bidirectional version is what you should consider. Sep 7, 2021 at 11:29
• I am using bidirectional current sensor and it output 1v when I sense -600amps and 4volts when I sense +600amps. I just want to that when I sense -600amps it outputs close to 0v and when I sense +600 it outputs close to 5volt so my 12bit adc can sense it more accurately. While still maintaining its center point of 2.5volt when no current is flowing Sep 7, 2021 at 11:38
• What device is it if you don't mind revealing @arduino guy? It sounds like you need different gains depending on the current being positive or negative. Sep 7, 2021 at 13:57
• It's custom made current sensor the flux concentrator is directly mounted on PCB with some kind of rivets and hall sensor is placed in the air-gap. The sensor is from Melexis and is user programmable. It can measure up-to 1100-amps peaks in both direction. Sep 8, 2021 at 3:16
• @Arduino - thanks. Sep 8, 2021 at 7:09

You need to do two things:

1. Shift output down by a volt so that it's 0V-3V.
2. Scale the output from 0V-3V by multiplying the thing by 5/3.

For that we can use op amp as differential amplifier. Here is the article I used, you don't really need anything else: link

Schematic:

From the same article, we'll simplify the thing a bit. If R1=R2 (because we are lazy and why the hell not),

Where you want V2 to be your sensor output and V1 is your 1V voltage reference. That is your difference, that is where you subtract 1V. Then you need to multiply it by 5/3, which is just a relation between the resistors in the very same formula.

P.S. you may want to have sensor output buffered with op amp voltage follower, because the subtractor circuit will pull current directly from the sensor, which is not good for accuracy if the current is large enough, check sensor specs for how much current it can source, if it sources enough, you can get away without buffer - given correct magnitude of resistors; same for 1V reference. Resistors should be in kiloohms or dozens kiloohms in my opinion, then you probably will do ok without buffers.

EDIT Circuitlab simulation confirmed my circuit for sensor values of 1V, 2.5V and 4V (output 0V, 2.5V and 5V). Can't share it because I'm a freeloader, but you're welcome to replicate my circuit there and see for yourself.

• partsim.com/simulator/#403267 Sep 7, 2021 at 12:41
• i tired to simulate the same here but i think it is not working as intended. can you have a look Sep 7, 2021 at 12:42
• yeah I just need to figure out how that thing works, I'm almost positive you messed something up there, but let me try to see
– Ilya
Sep 7, 2021 at 12:46
• I created a normal circuit without ground traces all over the place (ground is unde "ports"), but I still can't make it work. tbh this is one of the worst simulators I've ever seen. Try something else like circuitlab
– Ilya
Sep 7, 2021 at 12:53
• I tried the circuit in circuit lab, it worked with sensor output of 4V, 2.5V and 1V (output 5V, 2.5V and 0V respectively)
– Ilya
Sep 7, 2021 at 13:01