1

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?

JRE
  • 67,678
  • 8
  • 104
  • 179
  • It sounds like you are using a unidirectional version of the ACS730 range when a bidirectional version is what you should consider. – Andy aka Sep 07 '21 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 – The Arduino Guy Sep 07 '21 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. – Andy aka Sep 07 '21 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. – The Arduino Guy Sep 08 '21 at 03:16
  • @Arduino - thanks. – Andy aka Sep 08 '21 at 07:09

1 Answers1

1

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:

enter image description here

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

enter image description here

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.

enter image description here

Ilya
  • 3,478
  • 7
  • 33
  • https://www.partsim.com/simulator/#403267 – The Arduino Guy Sep 07 '21 at 12:41
  • i tired to simulate the same here but i think it is not working as intended. can you have a look – The Arduino Guy Sep 07 '21 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 07 '21 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 07 '21 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 07 '21 at 13:01
  • Thanks for that i wasted my whole day to that simulator. – The Arduino Guy Sep 07 '21 at 13:14
  • free version sometimes locks you out after some time, but you can click on the address bar of chrome (if you're on chrome) and delete cookies, refresh the page and your trial is reset – Ilya Sep 07 '21 at 13:16