First, I'm still fairly new to the world of ADC's.
BACKGROUND:
I have an ADS1247 I'm using with a 3-wire Pt100; following the same setup as the numerous examples titled "Hardware Compensated...". I'm using an Arduino Uno with the 3 SPI connections and CS of the ads1247 hooked up to a digital pin.
Connections i've made on the ADS are as follows:
AVDD--> +5V AVSS-->0V DVDD--> +5V AVSS-->0V START--> +5V RESET--> +5V VREFOUT--> 6.8 uF to VREFCOM--> 0V
Pt100 (2 red wires and one white, not that it matters): red1-->AIN0 red2-->110 ohm resistor (Rcomp) which is then connected to AIN1 white-->REFP0 with an 820 ohm resistor (Rbias) connecting to REFN0
Hopefully someone has bothered to keep on reading. I've basically just copied the example but I'm having difficulty getting and sensible temp readings. Where i think the likely problem is in handling the adc output. My gain is 128 and 20sps so the formula I'm using to get Rrtd is:
Rrtd = [ (ADCoutput * 4 * Rbias) / (Gain * 2^N) ] + Rcomp where: N=24???
Below are my Register settings:
CS_LOW;
SPI.transfer(RESET); //Reset command
delay(10); //Allow time for device to come back
//Stop continuous data conversion
SPI.transfer(SDATAC);
//Set MUX1 Register (02h) Write 60h - Select internal reference always on,
//internal ref connected to REF0 pins.
SPI.transfer(WRITE|MULTIPLEX_1);
SPI.transfer(0x00);
SPI.transfer(0x60);
//Set MUX0 Register (00h) Write 01h
SPI.transfer(WRITE|MULTIPLEX_0);
SPI.transfer(0x00);
SPI.transfer(0x01);
//Set IDAC1 Register (0Bh) Write 01h - Output reference current on ANIN0,1
SPI.transfer(WRITE|IDAC_1);
SPI.transfer(0x00);
SPI.transfer(0x01);
//Set IDAC0 Register (0Ah) Write 07h - Select 1.5mA reference current for RTD
SPI.transfer(WRITE|IDAC_0);
SPI.transfer(0x00);
SPI.transfer(0x07);
//Set SYS0 Register (03h) Write 72h - PGA:128, Sample at 20sps
SPI.transfer(WRITE|SYS_CONTROL);
SPI.transfer(0x00);
SPI.transfer(0x72);
CS_HIGH;
In the loop portion of my code all I'm currently doing is calling RDATA and then sending 3 NOP in order to retrieve data in the conversion buffer. I'd greatly appreciate any input into what may be the problem. Again I believe the problem lay in how I'm handling the output data but I can't be 100% sure.
Thank You