Hi.
Using the ADS1120 to measure 4 single ended inputs.
I am using an external 1.25V reference.
The code i'm using is based on the example RTD Temp Transmitter using the ADS1220.
I'm bit bashing the SPI connection, and at the moment I'm running it very slowly.
My config is
void ADS1120_setup(unsigned char inputMux)
{
unsigned char config[4];
config[0] = inputMux | ADS1120_GAIN_1 | ADS1120_PGA_BYPASS;
config[1] = ADS1120_DATA_RATE_20SPS | ADS1120_OP_MODE_NORMAL | ADS1120_CONVERSION_SINGLE_SHOT | ADS1120_TEMP_SENSOR_OFF | ADS1120_BURN_OUT_CURRENT_OFF;
config[2] = ADS1120_VREF_EXT_REF0_PINS | ADS1120_FIR_50_60 | ADS1120_LOW_SIDE_POWER_OPEN | ADS1120_IDAC_CURRENT_OFF;
config[3] = ADS1120_IDAC1_DISABLED | ADS1120_IDAC2_DISABLED | ADS1120_DRDY_ON_DOUT_DRDY;
ADS1120_Write_Regs (config, ADS1120_CONFIG_0_REG, 4);
return;
}
The first problem, if I set config register 2 to External Reference REFP0 and REFN0 (see above), The counts do not change with input, seems to sit at a few hundred counts.
If I select internal reference, the counts change (more like I expect), but I don't get a 2.5V FS, it is scaled to 1.25V.
One of the inputs has a pot down, R1 = 400k, R2 = 50k.
So 10V input = 1.111V (my reference should be 1.25V)
I have a mV source connected to the pot down. I've calibrated the adc output into voltage, calibrating it at 2 and 8V dc.
The signal becomes un-linear at (approx) 0.7V ( 0.07V after pot down) and 8.6V (0.95555)
I originally tested my circuit connected to the ADS1120 Dev board before layout my PCB, and everything worked great.
Any idea's what i'm doing wrong.
Regards
Nick Price