The previous voltage divider design is suitable for only measurement of higher values of resistance (50 Ohm to 1 MOhm) to measure very small value resistance we have built this circuit, it consists of constant current source of 100mAmp. Measuring voltage drop across a resistor having constant current gives us resistance value (R = V / I).
Calculations
V = I x R
R = V / I
Where:
I = 100mAmp as we are using constant current source of 100mAmp
V = Measured by Arduino
Constant current source is built using LM317
Iconst = Vref / R where: Vref of LM317 is 1.25V
Iconst = 1.25 / R
Iconst = 104mAmp
Circuit connection for low value resistance measurement
Low Resistance (0.1 to 50 Ohm) Measurement Arduino Code
/* Resistance Measurement (0.1 to 50 Ohm)- www.circuits4you.com Reads an analog input on pin 0, converts it to resistance, and prints the result to the serial monitor. */ // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V): float voltage = sensorValue * (5.0 / 1024.0); float Rx = voltage / 0.104; // print out the value you read: Serial.print("Resistance:"); Serial.print(Rx); Serial.println(" Ohms"); delay(1000); }
Result of Resistance Measurement
Open the serial terminal and see the resistance value. This code and circuit will not work for values more than 50 Ohm as 50 * 100mA = greater than 5V.
Hello
Is it possible to reduce constant courant source to 10mA ?
Manu
When we reduce current voltage drop across resistance becomes small, you can reduce it.. Use differential amplifier to amplify voltage across resistor. Read more on bridge circuit for resistance measurement.