Avatar
ARDUINO BASED MULTIMETER
Nov 01st, 2023 | by: ELECTRONOOBS | Views 7199
Views 7199
In this tutorial we will merge all the parts seen in these past tutorials here. In those tutorials we have seen how to measure resistance, current, indcutnace and capacitance. Measure voltage is very easy. In this tutorial we make a 5 in 1 multimeter based on an Arduino, an ADC module and an LC tank circuit. The case is 3D printed. You have the schematic, code and all you need to amke this project . 
Schematic

You have the schematic for this project below. You need the Arduino, the ADS1115 ADC module, the OLED display, the ACS712 current module, the TP4056 based charger and a few more components. You have all the values below. After you make the connections, you can downlaod the code and upload it to the Arduino and give it a test.

We need: 

The schematic
Measure voltage

Below you have the full code for this project. Download it and read it line by line in order to understand it better. You will also need the OLED library and the library for the ADS1115 module so downlaod those and install them on your Arduino IDE.

 

Download Adafruit_ADS1015 library: LINK

Download Adafruit_GFX.h library: LINK

Download Adafruit_SSD1306.h library: LINK

 

 

But first, let's go step by step and see how we measure each value: voltage then resistance, then capaciance, inductance and current. Let's start with volage since that is very easy. Below you have an example code for the ADS1115 module using the library. We read and print the values to the serial monitor. The ADS1115 has its own refference so it doesn't matter if the voltage battery is 3.7 or 4.2 or any other value, the output will always be precise.

 

So, make the connections and uplaot it to the Arduino. It will measure voltage with high precision. But!, you need the voltage divider at input in order to measure up to 20V. Otherwise the ADS1115 module will burn out. See schematic for voltage divider values and how to integrate that in the code measurement.

The case
Measure resitance

For more details see the RESISTANCE METER TUTORIAL. But we will use a basic voltage divider to calculate the resistence. As we know, a voltage divider is made of two resistences (R1 and R2) in series. The output voltage in the middle point is [R2/(R1+R2)]Vin. Using this formula and knowing the value of one of the two resistors and measuring the Vout it is very easy to calculate the resistence of the seacond resistor. 

On our schematic, the resistance measurement is made with the 2k, 20K and 470K resistors connected on pins D6, D7 and D8. By that we have 3 different scales. If we set D6 as OUPTUT and set to LOW, that will our GND for the voltage divider. The other pins, D7 and D8 are set to INPUT so they have high impedance. So our volage divider is amde out of the 2K resistor and the unknown resistor. We measure the voltage on the ADC1 pin and using the formula we get the resistance. We do that for all the scales.

 

Make sure that you measure the vlues of the 2k, 20K and 470K resistors so you know the exact value and put that later in the full code. Put the multimeter into resistance mode and try different values. Tune your values in the code till you get good results.

Voltage dividers



Measure capacitance

See the past tutorial about this for more. But it is quite basic. We charge the capacitor using one of the Arduino pins. Then we discharge it through a resistor. The formula tells us that the capacitance value is equal to the time it took to reach 63.2% of the fully charged voltage divided by the resistor value.

So, in the code, when capacitance mode is selected, we charge the capacitor, discharge it and count time. When the capacitor reaches 63.2% of Vcc, we stop the time counter and calculate the capacitance value using the formula.

Capacitor charge time
Measure inductance

For more details see the INDUCTANCE METER TUTORIAL. But an inductor in parallel with a capacitor is called an LC circuit, and it will electronically "ring" like a bell. Well regardless of the frequency or how hard a bell is struck, it will ring at it’s resonating frequency. We will electronically strike the LC bell, wait a bit to let things resonate, then take a measurement. There is some internal resistance so this is really an RLC circuit.

Resonance oscillation

When the multimeter is into inductance mode, we count the time between each pulse of the resonancy frequency. If we know the frequency value and also the used capacitance, in this case 2uF, we can get the inductance value adn print that to the OLED screen.

Measure indcutor
Measure current

This part is also simple. We use the ACS712 module to measure current. The ACS712 current sensor is an economical solution for measuring current, it works internally with a Hall effect sensor that detects the magnetic field produced by induction of the current flowing through the line being measured. The sensor gives us a voltage output proportional to the current, depending on the application we can use the ACS712-05A, ACS712-20A or the ACS712-30A, for ranges of 5, 20 or 30 amps respectively.

We know the mV / A value for each range so all we haev to do is to measure the voltage drop from the current sensro and divide that by the mV value and we get the current value. Is that easy. But, the sensor gives us a value of 2.5 volts for a current of 0A and thereafter increases proportionally according to the sensitivity, having a linear relationship between the voltage output of the sensor and the current. This relationship is a straight line in a graph Voltage vs Current where the slope is the sensitivity and the intersection in the Y axis is 2.5 volts. The equation of the line would be the following

V = mI + 2.5

Remember to downlaod the full code. Tune the values at the beginning of the code. Also install the adafruit libraries for the ADS1115 module and the OLED screen. Compile, make the connections and upload. Test the multimeter.

Current sensor table
3D case

Downlaod the 3D files from below. I've used 2 perimeters, 20% infill and a 0.4mm nozzle and PLA amterial. The case is made out of 2 parts and 3 plastic buttons. Cut your PCB to the case dimensions and place that inside. It has space for the OLED screen, sliding switch and the USB connectors for the Arduino and charging module.

The 3D case
Final Video

20 Comments

  • Noob 19129

    about 6 months ago

    Please try Google before asking about Top Rated Product Site aa023d9

    Noob 19129

    about 3 months ago

    Please try urlhttpswwwgooglecomGoogleurl before asking about urlhttpwwwydw2020comforumphpmodviewthreadtid2352pid24430page1extrapid24430Top Product Blogurl 7057981

    Noob 19129

    about 2 months ago

    Please try urlhttpswwwgooglecomGoogleurl before asking about urlhttpssoarboatingclubcoukforumviewtopicphpf21t495608p644871p644871Useful Product Siteurl 3595dd

    Noob 19129

    about 6 days ago

    Please try urlhttpswwwgooglecomGoogleurl before asking about urlhttps733721comviewthreadphptid24595pid80563page1extrapid80563Top Rated Product Infourl 7057980

  • Noob 22194

    about 5 months ago

    So smart! A suitable environment for your development and freedom to explore tiny games.

  • Noob 24242

    about 4 months ago

    Hello. I love playing all kinds of slot machines. So thanks to this casino https://slotscity.ua/ru/slots , I can do it seamlessly and at any time. This casino offers a wide range of games from top providers. That's why every slot I've played has cool graphics and effects, as well as high wins. That's why anyone can find a way to have fun here.

  • Noob 24242

    about 4 months ago

    [URL=ссылка]анкор[/URL] [url=ссылка]анкор[/url] [link=ссылка]анкор[/link] анкор анкор [анкор](силка)

  • Noob 24242

    about 4 months ago

    Hello. I love playing all kinds of slot machines. So thanks to this casino https://slotscity.ua/ru/slots , I can do it seamlessly and at any time. This casino offers a wide range of games from top providers. That's why every slot I've played has cool graphics and effects, as well as high wins. That's why anyone can find a way to have fun here.

  • Noob 26262

    about 3 months ago

    GST calculators are designed to be user-friendly and intuitive. They typically have a simple interface where you can enter the relevant figures, such as the taxable amount and the applicable GST rate, and instantly obtain the GST amount https://gstinfo.net/

  • Noob 26262

    about 3 months ago

    GST calculators are designed to be user-friendly and intuitive. They typically have a simple interface where you can enter the relevant figures, such as the taxable amount and the applicable GST rate, and instantly obtain the GST amount https://gstinfo.net/.

  • Noob 26262

    about 3 months ago

    GST calculators are designed to be user-friendly and intuitive. They typically have a simple interface where you can enter the relevant figures, such as the taxable amount and the applicable GST rate, and instantly obtain the GST amount [url=https://gstinfo.net/]https://gstinfo.net/[/url].

  • Noob 26262

    about 3 months ago

    GST calculators are designed to be user-friendly and intuitive. They typically have a simple interface where you can enter the relevant figures, such as the taxable amount and the applicable GST rate, and instantly obtain the GST amount https://gstinfo.net/.

  • Noob 13159

    about 3 months ago

    Thank. It has space for the OLED screen, sliding switch and the USB connectors for the Arduino and charging module. connect 4

  • Noob 13159

    about 3 months ago

    Thank. It has space for the OLED screen, sliding switch and the USB connectors for the Arduino and charging module. [gg](https://gg.com)

  • Noob 13159

    about 3 months ago

    Thank. It has space for the OLED screen, sliding switch and the USB connectors for the Arduino and charging module. [gg](https://gg.com)

    Noob 15123

    about 2 months ago

    a hrefhttpsabccomabcaurlhttpsabccomabcurl

    Noob 15123

    about 2 months ago

    Noob 15123

    about 2 months ago

    a hrefhttpsabccomabcaurlhttpsabccomabcurl

  • Noob 15123

    about 2 months ago

    abc

  • Noob 15123

    about 2 months ago

    [https://abc.com abc]

Login or Sign Up to post comments on this tutorial.