Strain Gauge/Load Cell based Endstops

Lets talk about AD converters:

I had not considered how profoundly the sample rate of the ADC would impact its usefulness for homing. So here are some numbers:

Type Samples Per Second Resolution @ 5mm/s Bits Differential Inputs Interface Data Sheet Sample Board
Digital Endstop Pin 66,666* 0.0003mm - - - - -
XH711 80 0.0625mm 16 2 SPI datasheet :arrow_upper_right:
ADS1115 80 0.0625mm 16 2 I2C datasheet :arrow_upper_right:
ADS1232 80 0.0625mm 24 2 SPI datasheet :arrow_upper_right:
ADS1256 30,000 0.00017mm 24 4 SPI datasheet :arrow_upper_right:
ADS1263 38,000 0.00013mm 32 5 SPI datasheet :arrow_upper_right:
  • Note 1: the digital endstop pins are sampled at 66.6k but they use 4 consecutive readings to trigger an event. So the effective triggering rate is ~16.6k leading to the lower than expected resolution.
  • Note 2: the effective resolution @ 5mm/s with multi-mcu homing is 0.125mm but timing based compensation is applied to improve that.
  • Note 3: The resolution for the ADC chips is theoretical and doesn’t include oversampling, which we may well need to do.

From this chart, only the ADS1256 and ADS1263 have a data rate that approaches the digital endstop pin. The sensors with an 80 SPS speed would only allow for 2 samples before they moved farther than the multi-mcu homing distance. That is a very narrow margin for success.

I’m going to develop for the ADS1263 because:

  • it supports the highest sample rate
  • Its available on a relatively cheap board that can be connected to a Pi or an MCU via SPI
  • It supports standard SPI (supposedly)
  • It has 5 differential inputs, I have a tool changer with 4 tools so that’s “enough” inputs
  • The ADS1256 board is more expensive for no obvious advantage to us

There probably is an ideal chip for this application but finding it on a ready made board is going to be tough.

1 Like