Well it looks like the used signal generator I got on eBay doesn't work. It was worth a try.
Here is some info I found on Arduino ADC
Precise voltage measurements with the Arduino
These specifications tell us the Arduino is capable of measuring voltages to an accuracy
of ± 2 LSB - so the maximum error is 2 bits (4 decimal) in 10 bits (1024 decimal)
So the worst case accuracy of the converter is 4 / 1024 or 1 part in 256 i.e. 0.25%.
The Arduino has its own voltage references - but they are not very precise
The chip - depending on type - is provided with SOME of the following reference voltages
DEFAULT: the default analog reference of 5 volts (on 5V Arduino boards) or 3.3 volts (on 3.3V Arduino boards)
INTERNAL: a built-in reference, equal to 1.1 volts on the ATmega168 or ATmega328 and 2.56 volts on the ATmega8 (not available on the Arduino Mega)
INTERNAL1V1: Vint1 - a built-in 1.1V reference (Arduino Mega only)
INTERNAL2V56: Vint2 - a built-in 2.56V reference (Arduino Mega only)
EXTERNAL: the voltage applied to the AREF pin (0 to 5V only).
(3)
However the accuracy of these "reference" voltages is very limited. For example
DEFAULT: depends on your computer power supply
(4: 7.3.2) USB2 Vbus = 4.4V - 5.25V
(2: 31.8) Vint 1 = 1.10V actually 1.00 -- 1.20V
(2: 31.8) Vint 2 = 2.56V actually 2.40 -- 2.80V
The accuracy of the reference against which the voltage is measured - using any of the above references - is at best only 5.25 - 5.0/5.0 * 100 = 5% - much worse than the 0.25%. the ADC provides. Clearly if we wish to measure voltages to the accuracy provided by the Arduino the on-chip references are not good enough. The diagram below shows these errors as compared to a 4.096v reference described below.
Making accurate readings on the Arduino for analog input voltage
Quick recap...
Using 100 Ω resistor,
V = IR
2.048V = I *100 Ω → .02048A = 20.48 mA
V = .004A * 100 Ω = .4V
16 bit ADC → 216 = 65,536 → ±2.048V → +2.048V (32,768) →
2.048V/32,768 = .0625mV / bit = .0000625V / bit →
For 0-20 mA → 32,768 steps
For 4-20 mA → 16/20 * 32,768 steps = 26,214.4 steps (range of steps for 4-20 mA)
At 4 mA → 4/20 * 32,768 = 6553.6 steps (starting point of readings)
→.0000625V / bit * 6553.6 = **.4096V ** (voltage read out at 4 mA)
→.0000625V / bit * 32768 = **2.048V ** (voltage read out at 20 mA)
689.476 kPA (100 psi) max. pressure spec. of transducer →689.476kPa / 2.048 = 336.658203125 kPa/V
→ 336.658203125 kPa/V * .0000625V/bit = 0.0210411376953125 kPa/bit
→ 0.0210411376953125 kPa / 689.476 kPA = 0.000030517578125
→ 0.00305 % of pressure transducer rating (theoretical resolution)
Using 250 Ω resistor,
V = IR
5V = I *250 Ω = .020A = 20 mA
V = .004A * 250 Ω = 1V
10 bit ADC → 210 = 1,024 → 0-5V→ +5V (1,024) →
5V/1,024 = 4.88mV / bit = 0.0048828125V / bit →
For 0-20 mA → 1,024 steps
For 4-20 mA → 16/20 * 1,024 steps = 819.2 steps (range of steps for 4-20 mA)
At 4 mA → 4/20 * 1,024 = 204.8 steps (starting point of readings)
→0.0048828125V / bit * 204.8 = 1V (voltage read out at 4 mA)
→0.0048828125V / bit * 1,024 = 5V(voltage read out at 20 mA)
689.476 kPA (100 psi) max. pressure spec. of transducer →689.476kPa / 5 = 137.8952 kPa/V
→ 137.8952 kPa/V * 0.0048828125V / bit = .67331640625 kPa/bit
→ .67331640625 kPa / 689.476 kPA = .0009765625
→ 0.09765625 % of pressure transducer rating
Using 51 Ω resistor,
V = IR
1.02V = I *51 Ω → .020A = 20 mA
V = .004A * 51 Ω = .204V
With Aref 1.1
10 bit ADC → 210 = 1,024 → 0-1.1V→ +1.1V (1,024) →
1.1V/1,024 = 001.07421875mV / bit = .00107421875V / bit →
For 0-20 mA → 1,024 steps
For 4-20 mA → 16/20 * 1,024 steps = 819.2 steps (range of steps for 4-20 mA)
At 4 mA → 4/20 * 1,024 = 204.8 steps (starting point of readings)
→.00107421875V / bit * 204.8 = .22V (voltage read out at 4 mA)
→.00107421875V / bit * 1,024 = 1.1V(voltage read out at 20 mA)
689.476 kPA (100 psi) max. pressure spec. of transducer →689.476kPa / 5 = 137.8952 kPa/V
→ 137.8952 kPa/V * .00107421875V / bit = 0.148129609375 kPa/bit
→ 0.148129609375 kPa / 689.476 kPA = 0.00021484375
→ .021484375 % of pressure transducer rating