PhyLink uses an Analogy to Digital Converter (ADC) chip ADS1118 to convert analogy voltages to digital.
ADS1118 provides 16-bit resolution which is higher resolution that the Arduino UNO’s inbuilt ADC.
The 10-bit inbuilt ADC on Arduino UNO can map input voltages between 0 and 5 Volts into integer values between 0 and 1023. Unfortunately, this isn’t sensitive enough (without signal amplification) to accurately measure the electrical signals generated by slime. The PhySense team have tried several techniques (such as oversampling) to increase resolution but this is problematical. Details of enhancing ADC resolution are available via Microchip’s Application Note on “Oversampling and Decimation” available here.
What measurement resolution is required?
The required measurement resolution depends on your application (and secondary factors such as level of background noise). By way of example, typical signal generated by slime (recorded with high resolution 24-bit instrumentation) shown below:
Therefore the ability to determine the fundamental frequency of oscillations of signals down to amplitude of c. 0.1 mV is desirable.
How does Arduino sketch affect measurement resolution?
ADS1118 has five input voltage ranges which can be selected by Arduino sketch, see below:
|Input voltage range (FSD)||Arduino sketch||Comment|
|±2.048 V||V10 (9600 baud)||Default input range|
|±0.256 V||V18 (1200 baud)||Maximum sensitivity|
If you would like additional details please review ADS1118 datasheet via link below:
What measurement resolution can be achieved
For examples of signals of different amplitude and frequency measured with PhyLink under real conditions click here.
Why not increase resolution of ADC?
PhySense wants to maximize accessible to as many people as possibly. Using more expensive electronics is an unnecessary barrier if 16-bit resolution is accurate enough for most measurements.
PhySense team are evaluating a 24-bit version of PhyLink based on Texas Instruments ADS1220 see here for details.