ADC PCF8591 – change range for measuring

adcanalogdigital-logic

I'm doing my first project on my Raspberry pi with analogue signals, using the PCF8591 ADC.

I managed very easily to measure 0 – 5 V with the chip, connecting the Reference Voltage (VREF, pin 14) to VDD (5V).

How can I change the range to some mV? Can I just apply, let's say, 20mV to VREF, and 20mV on my analogue input will be digitised as 256 (8 bit)?

Best Answer

In theory, you can set a VREF of 20mV. To get this, you can use a voltage divider:

schematic

simulate this circuit – Schematic created using CircuitLab

However, from the datasheet you gave us, page 16, you can find that the minimum VREF is VSS+1.6. Since 2.5 < VDD < 6.0, and the maximum VREF is VDD, this gives you a range for VREF of 1.6 to 6.0 volts. With this chip, you're not going to measure 0 to 20mV with the significance you want.

You can add other elements, like an op-amp, to amplify the input signal. You would get a higher input voltage, so that the actual 20mV gets into the range you can use.