Introduction: Inductance Meter Using Arduino

About: Electrical engineering student. UET, Pakistan. Hobiest; Passionate; Electronics; Renewable energy; Code it hard; Python is just snake. Believed on practice rather then theory. In short just #practical.

Well here we are going to build an inductance meter using the Arduino microcontroller. Using this method we are able to calculate inductance about 80uH to 15,000uH, but it should work for inductors a bit smaller or much larger.

Step 1: Materials Required

Ø Arduino uno/nano x 1

Ø LM393 Comparator x 1

Ø 1n5819/1n4001 diode x 1

Ø 150 ohm resistor x 1

Ø 1k ohm resistor x 2

Ø 1uF non-polar Capacitor x 1

Ø Unknown inductors

Ø Lcd (16 x 2) x 1

Ø Lcd I2C module x 1

Ø Jumper wires & Headers

Step 2: Apparatus Required

Ø Cutter

Ø Soldering iron

Ø Glue gun

Step 3: Background

An inductor in parallel with a capacitor is called an LC

circuit .A typical inductance meter is nothing but a wide range LC oscillator. When measuring an inductor, the added inductance changes the oscillator’s output frequency. And by calculating this frequency change, we can deduce the inductance depending on the measurement.

Micro-controllers are terrible at analyzing analog signals. The ATMEGA328 ADC is capable of sampling analog signals at 9600Hz or .1ms, which is fast but nowhere near what this project requires. Let’s go ahead and use a chip specially designed for turning real world signals into basic digital signals: The LM393 comparator which switches faster than a normal LM741 op amp. As soon as the voltage on the LC circuit becomes positive, the LM393 will be floating, which can be pulled high with a pull up resistor. When the voltage on the LC circuit becomes negative, the LM393 will pull its output to ground. I’ve noticed that the LM393 has a high capacitance on its output, which is why I used a low resistance pull up.

So what we will do is applying a pulse signal to the LC circuit. In this case it will be 5 volts from the arduino. We charge the circuit for some time. Then we change the voltage from 5 volts directly to 0. That pulse will make the circuit to resonate creating a cushioned sinusoidal signal oscillating at the resonant frequency. What we need to do is to measure that frequency and later using the formulas obtain the inductance value.

Step 4: Formulas

As we know that the frequency of LC ckt is:

f = 1/2*pi*(LC)^0.5

So we modified the above equation in that way to find unknown inductance from the circuit. Then the final version of the equation is:

L = 1/4*pi^2*f^2*C

In above equations where F is the resonating frequency, C is capacitance, and L is inductance.

Step 5: The Circuit (schematic & Actual)

Step 6: Significance of PulseIn() Function

Reads a pulse (either HIGH or LOW) on a pin. For example, if value is HIGH, pulseIn() waits for the pin to go from LOW to HIGH, starts timing, then waits for the pin to go LOW and stops timing. Returns the length of the pulse in microseconds

or gives up and returns 0 if no complete pulse was received within the timeout.

The timing of this function has been determined empirically and will probably show errors in longer pulses. Works on pulses from 10 microseconds to 3 minutes in length.


pulseIn(pin, value)

pulseIn(pin, value, timeout)

Step 7: Serial Output

In that project I use serial communication at the baud rate of 9600 to watch result on Serial monitor.

Step 8: Significance of the Project

Ø Do it yourself project (DIY project) to find unknown inductance up-to some range of 100uH to some thousands uH.

Ø If you increase the capacitance in circuit as well as its respective value in Arduino code then the range to find unknown Inductance also increase to some extent.

Ø This project is designed to give rough idea in order to find unknown inductance.

Step 9: Serial I2C LCD Display Adapter

Serial I2C LCD display adapter converts parallel based 16 x 2 character LCD display into a serial i2C LCD that can be controlled through just 2 wires. Adapter uses PCF8574 chip that serves as I/O expander that communicates with Arduino or any other microcontroller by using I2C protocol. A total of 8 LCD displays can be connected to the same two wire I2C bus with each board having a different address.

Arduino lcd I2C library attached.

Step 10: Snapshorts of the Project

Final output on the lcd of project with or without Inductors

Step 11: Arduino Code

the Arduino code is attached.

Step 12: The Docx