Andego

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Hjsjsjh

Electronicshub Logo

Search

Search...

Home

Arduino

Digital Arduino Voltmeter

September 22, 2016

By Administrator

A Voltmeter or a Voltage Meter is a measuring instrument that is used for measuring voltage or
potential difference between two points in a circuit. Voltmeters are an important piece of equipment
which are associated with any kind of electronics project. They are used in measurement of both AC and
DC voltages.

Voltmeters are again classified in to two types namely Analog Voltmeter and Digital Voltmeter. Analog
Voltmeter consists of pointer that moves across a scale and the movement is proportional to the voltage
measured.

Arduino Digital Voltmeter

Analog Voltmeters are further classified based on their principle of construction. Some of the commonly
known analog voltmeters are Permanent Magnet Moving Coil Voltmeter, Rectifier Type Voltmeter,
Electrostatic Type Voltmeter, Moving Iron Type Voltmeter etc.

Select the Next Set of Arduino Projects You Want to Learn in Electronicshub: Arduino Projects»

Analog Voltmeters generally have an error percentage of 5% and the parallax error is often an issue. But
analog voltmeters can be used to measure ranging from few volts to several thousand volts.
To overcome the defects of analog voltmeters, Digital Voltmeters are introduced. Unlike analog
voltmeters, which scale and a pointer to show the measured voltage, digital voltmeters directly display
the measured voltage numerical on a digital display.

The percentage of error in digital voltmeters is usually less than 1% and the accuracy can be increased in
precision digital voltmeters with high speed measurement and option of storing the values in a memory.

In this project, an Arduino based Digital Voltmeter which can measure voltages up to 50V is designed.

Outline

Circuit Diagram

Components

Component Description

Circuit Design

Working

Applications

Code 1

Code 2

Circuit Diagram

Figure 1 – Arduino Digital Voltmeter Circuit Diagram

Arduino Digital Voltmeter

Figure 2 – Arduino Digital Voltmeter Circuit Diagram

Components

Arduino UNO [Buy Here]


16 x 2 LCD Display [Buy Here]

10KΩ POT

100KΩ

10KΩ

Connecting Wires

Component Description

Arduino UNO

Arduino UNO is one of the most popular electronics prototyping board based on ATmega328P
Microcontroller. ATmega328P is an AVR architecture based 8-bit microcontroller.

16 x 2 LCD Display

A 16 x 2 LCD display is the most commonly used display unit for microcontroller based applications.

It supports 16 characters in a row with two such rows. It also supports special characters and even
custom characters.

Arduino Digital Voltmeter

Circuit Design

For measuring voltages less than or equal to 5V, first circuit can be used. For measuring voltages up to
50V, second circuit can be used. The LCD part in both the circuits are same.

Pin 1 and 2 (Vss and Vdd) of the LCD power supply pins for display. They are connected to ground and
+5V supply respectively. Pin 3 (Vee) of the LCD is the contrast adjust pin of the display. It is connected to
the wiper terminal of the 10KΩ POT while the other terminals of the POT are connected to +5V supply
and ground respectively.
The next three pins of the LCD are control pins. Pins 4 and 6 (RS and E) of the LCD are connected to
digital input/output pins 2 and 3 of Arduino respectively. Pin 5 (RW) of the LCD is connected to ground.

The next connections are with respect to data pins. The LCD is used in 4-bit data mode and hence data
pins D4 to D7 are used. Connect pins 11 to 14 (D4 to D7) of the LCD are connected to digital
input/output pins 4 to 7 of the Arduino. Pins 15 and 16 are the supply pins of the backlight LEDs. Pin 15
(LED+) of the LCD is connected to +5V supply through a current limiting resistor of 220Ω. Pin 16 (LED-) of
the LCD is connected to ground.

In the first circuit, which is used to measure voltages up to 5V, there are no additional connections and
the voltage to be measured is connected directly to the analog input A0 of the Arduino UNO.

In the second circuit, which is used to measure voltages up to 50V, we need to connect a voltage circuit
additionally. The output of the voltage divider circuit consisting of 100KΩ resistor and 10KΩ resistor is
connected to the analog input pin A0 of the Arduino UNO with other end of the 100KΩ resistor
connected to the voltage to be measured and the other end of the 10KΩ resistor connected to the
ground.

The ground terminal of the input voltage to be measured and Arduino UNO must be common.

Arduino Digital Voltmeter

Working

The aim of the project is to build a digital voltmeter using Arduino UNO. The components required and
the construction of the project is very simple. The working of the project is explained here.

In a digital voltmeter, the voltages to be measured, which are in analog form, are converted to digital
form with the help of Analog to Digital Converters (ADC). Hence, the ADC feature of the Arduino UNO is
utilized in this project.
In the first circuit, which is used to measure a maximum voltage of 5V, the input voltage is given to the
analog input pin of the Arduino. The reference voltage of the ADC is 5V. The ADC in Arduino UNO is of
10-bit resolution. Hence, the input voltage is calculated by multiplying the analog value at the analog pin
with 5 and dividing the value with 210 i.e. 1024.

The range of voltages for Arduino UNOs analog input is 0V to 5V. Hence, in order to increase this range,
a voltage divider circuit must be used.

In the second circuit, the range of the analog input of Arduino UNO is increased up to 50V by using a
voltage divider consisting of 100KΩ resistor and 10KΩ resistor. With the help of the voltage divider
circuit, the input voltage being measured is brought down to the range of Arduino UNOs analog input.

The rest of the calculations are made in the programming part of the Arduino UNO.

NOTE

The disadvantage of using voltage divider based voltmeter is the error of measurement. Hence, we need
multiple ranges of voltmeter.

In order to reduce the error, the ratio of R1 and R2 in the voltage divider must be minimum.

For example, to measure an input voltage of 50V, the ratio of R1 and R2 must be greater than ((50/5) –
1) i.e.

R1/R2 > ((50/5) – 1)

R1/R2 > 9

Hence, if we choose R1 as 100KΩ and R2 as 10KΩ, then it is possible to measure the voltages up to 50V.

Applications
An Arduino based Digital Voltmeter is designed in this project which can be used to measure different
ranges of DC voltages.

The circuit can be extended to measure even AC voltages with slight modification in circuit and code.

Code 1

#include "LiquidCrystal.h"

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

float voltage = 0.0;

float temp=0.0;

int analog_value;

void setup()

lcd.begin(16, 2);

lcd.setCursor (0,0);

lcd.print(" Arduino based ");

lcd.setCursor(0,1);

lcd.print("Digital Voltmeter");

delay(2000);

void loop()

analog_value = analogRead(A0);
temp = (analog_value * 5.0) / 1024.0;

voltage = temp/(0.0909);

if (voltage < 0.1)

voltage=0.0;

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Voltage= ");

lcd.print(voltage);

lcd.setCursor(13,1);

lcd.print("V");

delay(30);

view rawArduino Digital Voltmeter Code 1 hosted with ❤ by GitHub

Code 2

#include "LiquidCrystal.h"

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

float voltage = 0.0;

float temp=0.0;

int analog_value;
void setup()

lcd.begin(16, 2);

lcd.setCursor (0,0);

lcd.print(" Arduino based ");

lcd.setCursor(0,1);

lcd.print("Digital Voltmeter");

delay(2000);

void loop()

analog_value = analogRead(A0);

voltage = (analog_value * 5.0) / 1024.0;

if (voltage < 0.1)

voltage=0.0;

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Voltage= ");

lcd.print(voltage);

lcd.setCursor(13,1);
lcd.print("V");

delay(30);

view rawArduino Digital Voltmeter Code 2 hosted with ❤ by GitHub

Related Posts:

Digital Voltmeter using 8051 Microcontroller

Interfacing Voltage Sensor with Arduino - Measure up…

Arduino Wattmeter - Voltage, Current and Power Measurement

How to Test a Capacitor?

How to Use a Multimeter? A Complete Beginner's Guide to DMM

Wheatstone Bridge | Working, Examples, Applications

4 Responses

Nileshwari Prabhakar zod says:

March 2, 2017 at 2:35 pm

Excellent job

Reply

Rob Ginsburg says:

December 21, 2017 at 11:47 am

Thank you. Very instructive project. My only comment centres on the use of the ‘temp’ variable in Code
1. I puzzled over this a bit and realised that this was used to correct for voltages measured using the
voltage divider circuit.

It might be more helpful to transpose the two blocks of code, so that Code 1 refers to the circuit in
Figure 1, etc.. At present, in order to make the circuit in Figure 2 work correctly, you need to use Code 1
– not Code 2 – and vice-versa

Reply
Kotresh says:

September 15, 2018 at 9:55 am

Y two codes

Reply

imroxia says:

October 20, 2018 at 1:17 am

how to take input voltage during simulation in proteus?

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment

Name *

Email *

Website

Electronicshub Footer Logo

Facebook

Twitter

Youtube
Instagram

Get Our Latest Newletters

Get Great Content That You Love.

No Ads Or Spams, We Promise.

Enter your email

Enter your email

Your Privacy Is Important To Us

General

Projects

Projects

Tutorials

About

Advertise with us

Contact

Affiliate Disclosure

Disclaimer

Terms and Conditions

Privacy Policy

Copyright © 2021 Electronicshub.org

You might also like