Electronic – How to amplify small voltage from hall effect sensor

hall-effectoperational-amplifier

I have an analog hall effect sensor, and the difference I am trying to sense in mT is quite low. The voltage output goes from 1.0V (no magnet) to 1.1V (magnet) on the hall effect sensor. This was the most sensitive hall effect I could find.

I want to amplify this signal such that 1.0V = 0V and 1.1V is 5V. Is there a common Op-Amp configuration that works well for something like this?
I know using a non-inverting amplifier I can change the gain to 50, but this just gives me 1.1×50 = 55V. It seems to me I need to subtract 1v from the output first, then amplify this. Am I on the right track?

EDIT:
Thanks for the suggestions below. I have tried to build the circuit using an LM324 op-amp, and a voltage divider to create the 1v offset. Long story short I am not skilled enough to figure out why it is not working. I am able to sense a strong magnet quite reliably, but not the very small magnetic field I had hoped to sense.
Some of the comments below mentioned that there may be a chip that is already suited to this application. I have looked on digikey but am overwhelmed by the qty of options and specs. Can anyone provide a suggestion?
Thanks so much!

Best Answer

It's no surprise an LM324 didn't work. Even if you found a way to configure it as a reliable differential or instrumentation amplifier, it's nowhere near accurate enough. What follows are some solutions that should work.

Solution 1: Differential or Instrumentation Amplifier

An instrumentation amplifier can easily obtain high gains with a surprising level of accuracy. You will need an accurate 1V reference in order for this solution to be viable. Unfortunately, 1V precision references are pretty rare (the ADR510 is the only one I could find readily available), though 1.024V references are more common. This could work, but you will end up with a small offset voltage at your output.

The main constraint of instrumentation amplifiers is the common-mode range. You will never be able to get an output of exactly 0-5V (i.e. gain of 25). However, you can get close: a gain of 20 will give you an output range of 0.5-4.5V. If you want to get even closer, a gain of 22.5 would also work. If you really want to go to the extremes of your power supply, take a look at indirect current feedback instrumentation amplifiers, such as the MAX4460 or AD8237.

Analog Devices has this calculator, which I found really helpful.

In addition to the common-mode range issues discussed above, I wouldn't recommend this solution in your case for several other reasons:

  • It will probably be somewhat expensive. Instrumentation amplifiers are precision devices, and they are priced accordingly. You will also need two precision voltage references: 1V for the input and a 2.5V for the output.
  • The 1V nominal output of the hall effect sensor may change based on position/orientation due to the Earth's magnetic field or other external factors.
  • Since the DRV5053 has an output amplifier already, the high input impedance provided by an instrumentation amplifier is not necessary.

Solution 2: External ADC

An alternate and most likely better solution in your case would be to use an external ADC. Something from the ADS101x (12-bit, 3.3kSPS) or ADS111x (16-bit, 860SPS) family would be ideal. These are Sigma-Delta ADCs optimized for low-frequency precision measurements; they even differential inputs and an integrated PGA (Programmable Gain Amplifier).

While it may be possible to do a configuration similar to Solution 1, I would recommend taking a different approach: ground one of the differential inputs, and change the reference voltage of the ADC. This is easy with the ADCs suggested above, since they have internal references that can be selected using an I2C register. I would suggest using the ±2.048V FSR (Full-Scale Range) setting. Just note that you will effectively be dropping a bit, since it will be operating in single-ended mode. That still gives you a 1mV or 62.5μV resolution over the full 0-2V output range of the sensor.

Since it appears you are prototyping, I'll leave you with one last note: Adafruit has breakouts (and a library) for both the ADS1015 and ADS1115.