Hi
I have and ADS1248 connected to two 4 wire PT100 interfaces, Se attached schematic
i am successfully switching between the two PT100 resistors when both resistors are connected but as soon as one of the resistors is removed the other ADC value starts to drift. I do have a lot of capacitance on my lines due to transorbs and ESD protection so it may be that but i am unsure
My setup is as follows:
Temp_Data[0] = 0x4A; //[01][00 1][010] Burnout current 0.5uA, Positive input channel AIN1, Negative input channel AIN2 Temp_Data[1] = 0x00; //[xxxx][0000] Bias voltage register: No bias voltages Temp_Data[2] = 0x20; //[0][01][0 0][000] Internal oscillator ON, Internal reference ON, Ref0 selected, Normal operation Temp_Data[3] = 0x33; //[0][011] [0011] Always 0, Gain of the PGA, Output data rate 40(SPS) Temp_Data[4] = 0x00;//SYSOCAL - OFFSET calculator Temp_Data[5] = 0x00; Temp_Data[6] = 0x00; Temp_Data[7] = 0x00;//SYSGCAL - GAIN calculator Temp_Data[8] = 0x00; Temp_Data[9] = 0x40; Temp_Data[10] = 0x07; //[0000] [0][111] Dout only, current = 1.5mA Temp_Data[11] = 0x03; //[0000] [0011] Output pin for 1st IDAC: AIN0, output pin for 2nd IDAC AIN3 Temp_Data[12] = 0x00; //GPIO Temp_Data[13] = 0x00; Temp_Data[14] = 0x00;
START = 1;//Set start pin and keep it on
my servicing of the ADS1248 looks like this:
if(TEMP_READY == 0) { if(ADS.Which == 0) { Temp_Data[0] = 0x65; //[01][10 0][101] Burnout current 0.5uA, Positive input channel AIN4, Negative input channel AIN5, No bias Temp_Data[11] = 0xC3; //[0011] [1100] Output pin for 1st IDAC: AIN0, output pin for 2nd IDAC AIN3 } else { Temp_Data[0] = 0x4A; //[01][00 1][010] Burnout current 0.5uA, Positive input channel AIN1, Negative input channel AIN2, No bias Temp_Data[11] = 0xC0; //[0011] [0000] Output pin for 1st IDAC: AIN0, output pin for 2nd IDAC AIN0 } ADC_Reading = ADS1248_Write_Command(0, 12, (char *)&Temp_Data);//Write the data and return the ADC reading }
The basics around the operation are as follows:
- initialize ADS1248
- wait for DRDY to go low
- if low, save reading for active channel
- Switch IDAC and analogue inputs to "other" channel
- go to step 2
With this operation i have stable results when both PT100 resistors are connected but as soon as i remove one of the resistors the other starts to drift
I have managed to overcome this by adding a 100mS delay between step 5 and step 2 but i do not understand why this helps the situation
My understanding is that once the DRDY line goes low the data sampled should be stable
Any and all help is appreciated
Richard