Reading negative voltage from sensor using 24 bit ADC

I have a sensor with Specs: input voltage 15-34 VDC, output ripple is <3 millivolt peak to peak @2nd harmonic, output impedance is <-332ohms, the frequency response is 3DB@>500Hz.
Connector pins are
1)+power In
2) Signal ground
3) Power ground
4) Case ground
5) output1
6) output 2
I am using 1 24 bit ADC (datasheet is attached) and arduino MEGA2560. The AVss, AVDD pins of ADC are left unconnected.
The signal ground, case ground, power ground of the sensor and DVDD, Arduino ground are connected to one node.I am using a dc battery of 24 V as power source to the sensor and a USB power source (or separate 5V battery) to Arduino and ADC.

Please suggest me how to feed negative analog output from the sensor to ADC, suggest me circuit diagram.
6.1 Absolute Maximum Ratings(1) of ADC are as:
MIN MAX UNIT
Power-supply voltage
AVDD to AVSS –0.3 7 V
DVDD to DGND –0.3 7 V
AVSS to DGND –2.8 0.3 V
Analog input voltage AIN0/REFP1, AIN1, AIN2, AIN3/REFN1, REFP0, REFN0 AVSS – 0.3 AVDD + 0.3 V
Digital input voltage CS, SCLK, DIN, DOUT/DRDY, DRDY, CLK DGND – 0.3 DVDD + 0.3 V
Input current Continuous, any pin except power supply pins –10 10 mA
Temperature
Junction, TJ –40 150 °C

Please post data sheet of your sensor (no attachments to your post), or state the actual output the sensor produces. I don't think it'll produce negative voltage, as you don't provide any negative voltage.

Otherwise, use a three resistor voltage divider to offset the negative voltage to the positive range, and bring the whole thing in range for your ADC's input.

To make any use of the 6-8 LSBs of your 24-bit signal you have to do quite some shielding on your output signal, and make sure you have a very clean power supply.

Basically, my sensor produces information about magnetic field in the form of voltage. the output voltage can be negative depending on the magnetic field direction. The output range from my sensor is from -2V to +2V. I get 3 values (X, Y, Z)
I feed these 3 output voltage signals to 3 analog channels of ADC. Whenever there is a negative voltage from my sensor is fed to one of the channels of ADC, the other channels are getting affected. After I gone through some google pages, I found I need to use op-amps or resistor divider circuit. I don't have any idea which one to use.
As I mentioned, I feed my Arduino with +5v battery and my sensor with +24V battery power supply.
I am connecting Arduino GND, ADC DGND, sensor's Signal GROUND, battery -Ve terminals are shorted, does that look fine?

Please post complete circuit diagram (no spaghetti aka Fritzing mess, but real circuit diagram). And data sheet of the sensor is still missing.

I still don't understand how you can get a negative voltage when you don't have a dual voltage supply (such as +5, GND, -5) as you seem to have all negative poles and grounds connected together.

I don't have circuit diagrams of my sensor as it is very old one. I have only block diagram which I have attached. The ADC which I am using is ADS1220.
The negative voltage output from the sensor could be because of the polarity change of external magnetic field.
Please find the attachment.

Doc1.doc (227 KB)

Figure 3 shows +V and -V rails which suggests the sensor has built in negative rail generation
(probably using the oscillator).

So that's going to need either a bipolar ADC or level shifting with a differential amp stage perhaps?

Offsetting and scaling a signal can be done with three resistors. Could be an appropriate solution for this particular sensor.

peacemaker:
I have only block diagram which I have attached./quote]

It's much easier for everyone involved if you'd just taken the images and posted those, instead of first wrapping them in a word document.

Thanks a lot for your quick replies.
Am I doing correct with the hardware grounds and Is it ok leaving analog supply and analog ground Not connected on ADC side?

I tried earlier with 2 resistor voltage divider circuit to shift the voltage to positive but the values were not same as with multimeter measured values of the sensor outputs.
I used 20SPS on my ADC side, that could be another issue. Do I need to sample 2000 SPS for this sensor in ADC which is only possible in turbo mode of my ADC?

What is the best way to check floating ground issues?

I tried to post the images directly instead of pasting in the word doc, I could not do so because of some error

wvmarle:
Offsetting and scaling a signal can be done with three resistors. Could be an appropriate solution for this particular sensor.

I think that won't work if the internal Aref is not externally available (ADS1220).

Resistors opamps and speed will degrade A/D resolution.
Is 24(20)-bit really needed?
Leo..

I don't see why you need the internal reference voltage, as long as you scale the input to an appropriate level.

Indeed you need a very clean power source (the +5V in the linked schematic) as changes in that voltage will be reflected on the output, and resistors and other components will introduce at least some noise.

Another possibility could be to use a differential input. Sensor ground offset to +2.5V (connect this to a 2.5V reference voltage or so), and you can read -2.5V as 0V, and +2.5V as +5V on the sensor. It seems that's the range of output of the sensor, if I understand the manual correctly.

wvmarle:
I don't see why you need the internal reference voltage, as long as you scale the input to an appropriate level.

True, you can use a second reference voltage for the pull up resistor.
But that's adding another source of inaccuracy.
Everything could degrade that 20-bit resolution.
Leo..

wvmarle:
I don't see why you need the internal reference voltage, as long as you scale the input to an appropriate level.

Indeed you need a very clean power source (the +5V in the linked schematic) as changes in that voltage will be reflected on the output, and resistors and other components will introduce at least some noise.

Another possibility could be to use a differential input. Sensor ground offset to +2.5V (connect this to a 2.5V reference voltage or so), and you can read -2.5V as 0V, and +2.5V as +5V on the sensor. It seems that's the range of output of the sensor, if I understand the manual correctly.

Can I use 1 output of the sensor (-VE sensor output) as differential input and remaining 2 outputs as single ended to the ADC, as there are only 4 channels available in this ADC. I can make anyone of the outputs from the sensor negative and fix its position.
or
Shall I try the 3 resistor voltage divider circuit to all the 3 inputs of ADC?

IMHO, you should level-shift this -2volt/+2volt signal with an opamp to +2.024volt@0volt input.
That would require a rail2rail opamp, with the sensor connected to the +input, and two equal precision resistors,
one from opamp output to -input, and one from -input to a -2.024volt reference voltage.
Parts/build quality/reference/supply have to match the 24-bit A/D (not easy).
Leo..

Wawa:
IMHO, you should level-shift this -2volt/+2volt signal with an opamp to +2.024volt@0volt input.
That would require a rail2rail opamp, with the sensor connected to the +input, and two equal precision resistors,
one from opamp output to -input, and one from -input to a -2.024volt reference voltage.
Parts/build quality/reference/supply have to match the 24-bit A/D (not easy).
Leo..

Can I use my MEGA board 3.3V output voltage and use a potentiometer to convert it +2.048 and I need to find a regulator that converts it to negative voltage?
OR any other solution to make it simple because getting +2.048V and -2.048V requires another circuit I guess

For the three signals you would need three differential inputs so get a second ADC. Or do the level shifting. No matter, you need a very clean power supply (the ADC needs this already, or you can't get to this level of precision), and breakout boards with connectors and a rats nest of wiring is not going to do you any good.

I think the best way to achieve that is to use a separate linear regulator for this, which is fed by a thoroughly filtered power supply (so capacitors and an inductor on the input side of the regulator), and has good filtering on the output side as well. That should give you a nice and clean power supply. Keep copper traces short, avoid sharp corners and vias, keep components close together on the PCB with large ground plane - a ground plane that does not see any currents from the rest of the circuit. Precision reference or two precision resistors as voltage divider to provide the offset voltage. Low noise rail-to-rail OpAmp to offset the signal, ADC on the same PCB with the same clean power supply.

That should get you a stable 24-bit resolution output. Now the question is: does the sensor produce a signal that's this stable, that it is actually worth the effort?

peacemaker:
Can I use my MEGA board 3.3V output voltage and use a potentiometer to convert it +2.048 and I need to find a regulator that converts it to negative voltage?
OR any other solution to make it simple because getting +2.048V and -2.048V requires another circuit I guess

If you care THAT little about noise, just produce an off-set and use your Mega's differential input option. With a circuit as you suggest you won't get much if any better than 10 bit resolution anyway.