ADS1100 Help !!!

marky26uk

New Member
Hi all, i got an ads1100 AD1 chip delivered today, i copied the code from a post about this chip:-

i2cslave %10010000, i2cslow, i2cbyte
i2cwrite(%10001100)

do
i2cread(b0,b1,b2)
w5=b0*255+b1
debug
loop

Now my chip is an AD1 which states the i2c address for it is 1001001x.
x - what goes here, in the datasheet it only list seven nubers, not eight as used for example on the 24lc512 eprom ic.
I tried i2cslave %1001001 & i2cslave %10010010 to no avail.
Please help would really like to get this thing working.
The above code does nothing, it just says waiting in the debug window.

Thanks,
Mark
 

marky26uk

New Member
ads1100

It's ok chaps i got it to work, turns out the darn ads1100 was faulty, good job i ordered 2 of em.

Yours,
Mark
 

hippy

Technical Support
Staff member
Copied from that thread ... "w5=b0*255+b1", that 255 should be 256, but your code can be improved even further by -

- i2cread(b1,b0,b2)
- debug

The word variable 'w0' is 'b1:b0' so you can simply use 'w0' as the 16-bit ADC result.
 

marky26uk

New Member
ads1100

Hi all, should the max value from this 16 bit adc be 65535, i'm only getting 32767, is this right ?

Cheers,
Mark
 

Dippy

Moderator
Just guessing here as I've never used one, but as it's a diferential type doens't that mean -32k to +32k ??

PS. Is it any good as I'm interested in it.
 

marky26uk

New Member
ads1100

Oh i see, not sure, but yes it's working good for me, it's made my magnetometer very sensitive now.
Thing is you know you can tell it to amplify itself, upto 8 times gain, if i make it 8 times gain it maxes out to 32767.

Mark
 

sghioto

Senior Member
Setting the gain control does not effect the resolution. The data rate or samples per second control the bit resolution. Spec sheet shows a 16 bit resolution at 8 samples/sec. and as Dippy suggested refers to a plus/minus input signal. I have been testing this chip recently and and can verify a 15 bit or +32K readings used in the single ended mode at 8sps. Input signal range from ground to +Vdd and gain set at 1 the factory default. At max sample rate of 128 sps resolution is 11 bit used in the single ended mode. The chip works OK but am actually using the MCP3221. My application requires 12 bit resolution, single ended input, but at a data rate of 200sps which the MCP3221 handles easily.

Steve Ghioto
 

marky26uk

New Member
ads1100

So you only get the full 16 bit resolution if using say a +v 0v -v situation if you know what i mean.
I'm usng it as single ended mode, max reading of 32767 which is way more than the mcp3202 12-bit adc which went to 4096 max i was using.

Cheers,
Mark
 

hax

New Member
I wonder how a negative number is displayed. I can't see in the datasheet where it says how a negative number is shown.

Obviously the debug window will just show positive numbers but surely somewhere the ADS1100 tells the processor whether it is measuring a negative number or not?
 

hippy

Technical Support
Staff member
@ Haxby : Page 7 in the datasheet I have. Standard two's complement, so $FFFF is -1 bit, $FFFE is -2, down to $8000, $C000, $E000, $F800 for 8/16/32/128 SPS.

Code:
If reading >= $8000 Then
  reading = -reading
  SerTxd("-",#reading")
Else
  SerTxd("+",#reading)
End If
 
Top