• Skip to main content
  • Skip to primary sidebar

Homemade Circuit Projects

Get free circuit help 24/7

New Projects | Privacy Policy | About us | Contact | Disclaimer | Copyright | Videos 

You are here: Home / Meters and Testers / Arduino based DC Voltmeter Circuit – Construction Details and Testing

Arduino based DC Voltmeter Circuit – Construction Details and Testing

Last Updated on January 1, 2019 by Swagatam 10 Comments

In this post, we are going to construct a DC voltmeter using Arduino where the readings are displayed in 16x2 LCD.

 
 
The proposed voltmeter design can read up to 30V with tolerance of +/- 0.5 volt. We are going to see how this setup functions and explore other possibilities we can accomplish other than measuring voltage.

This project is fairly simple, even beginners can accomplish with ease, but care must be taken while prototyping the circuit as we are going to apply external voltage, any misconnection to Arduino can lead to fatal damage to your board.

Let the warning be a side, let’s explore how it functions.

Here, we are using analogue to digital conversion process. Voltage from any source is analogue function; the readings displayed on 16x2 LCD is a digital function.

The challenge is converting those analogue functions to digital function. Fortunately, Arduino has functionality to read analogue functions and convert them to discrete function.

Arduino microcontroller equipped with 10-bit analogue to digital converter (ADC). This means Arduino can read 2^10=1024 discrete voltage levels.

In other words, the voltage applied to analogue pin of Arduino is sampled 1024 discrete voltage levels with respect to a reference voltage; the sampled value gets displayed in the LCD. This is the principle behind this voltmeter or almost any digital voltmeter.

However, the applied external voltage is not directly measured by Arduino. The voltage is step down with help of voltage dividers and some math is done in the program in order to get actual voltage reading.

How it Works

The circuit consists of two resistors, one LCD display and an Arduino which is brain of the digital voltmeter. The two resistor acts as voltage divider, the node of the divider is connected to analogue pin # A0 of the Arduino, which reads the input voltage. Ground connection is established between Arduino and external voltage source.

The minimum voltage which can measure by this voltmeter is 0.1V, this threshold is set in the program, so that it reads 0.00 volt after disconnecting the voltage source and does not display readings due to static charge around the measuring probe.

Author’s prototype: 

Arduino based DC Voltmeter Test Results

caution electricity can be dangerous

Don’t reverse the polarity while measuring the voltage, it won’t harm the circuit but, it does not read any voltage and displays 0.00 V, until you correct the polarity. Adjust the contrast of LCD display to optimum level by rotating the potentiometer.

Make sure you don’t apply any voltage source which could spike higher than 30V; it may damage your Arduino board. Technically you can bump up the maximum measuring voltage of this circuit by changing resistor values and modifying the program, but for the illustrated setup 30V is limit.

For accurate reading, choose fixed resistors with minimum tolerance value, resistors play an important role in calibrating the voltage reading.

Circuit diagram:

 

Arduino based DC Voltmeter Circuit

The other possibility of this voltmeter is that we can modify the program to automate some tasks.

For instance, detect full battery voltage and disconnect the battery from its charger or disconnect battery if voltage goes below preset voltage level and so on, these task can be accomplished even without LCD display. However this is subject of another article.

Program:

//--------Program developed by R.Girish---------//
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000;
float R2 = 10000;
int value = 0;
void setup()
{
pinMode(analogInput, INPUT);
lcd.begin(16, 2);
lcd.print("DC VOLTMETER");
Serial.begin(9600);
}
void loop()
{
value = analogRead(analogInput);
vout = (value * 5.0) / 1024;
vin = vout / (R2/(R1+R2));
if (vin<0.10) {
vin=0.0;
}
lcd.setCursor(0, 1);
lcd.print("INPUT V= ");
lcd.print(vin);
delay(500);
}
//--------Program developed by R.Girish---------//

Please check the readings with a good voltmeter/multimeter.

You'll also like:

  • 1.  Grid Dip Meter Circuit
  • 2.  Making a Single Channel Oscilloscope using Arduino
  • 3.  10 Useful Function Generator Circuits Explained
  • 4.  Capacitor Leakage Tester Circuit – Find Leaky Capacitors Quickly
  • 5.  3 Frequency to Voltage Converter Circuits Explained
  • 6.  How to Make a Shunt Resistor

About Swagatam

I am an electronic engineer (dipIETE ), hobbyist, inventor, schematic/PCB designer, manufacturer. I am also the founder of the website: https://www.homemade-circuits.com/, where I love sharing my innovative circuit ideas and tutorials.
If you have any circuit related query, you may interact through comments, I'll be most happy to help!

Have Questions? Please Comment below to Solve your Queries! Comments must be Related to the above Topic!!

Subscribe
Notify of
10 Comments
Newest
Oldest
Inline Feedbacks
View all comments

Primary Sidebar

Categories

  • 3-Phase Power (15)
  • 324 IC Circuits (19)
  • 4017 IC Circuits (52)
  • 4060 IC Circuits (26)
  • 555 IC Circuits (99)
  • 741 IC Circuits (20)
  • Arduino Engineering Projects (83)
  • Audio and Amplifier Projects (115)
  • Battery Chargers (83)
  • Car and Motorcycle (95)
  • Datasheets (74)
  • Decorative Lighting (Diwali, Christmas) (33)
  • Electronic Components (101)
  • Electronic Devices and Circuit Theory (36)
  • Electronics Tutorial (120)
  • Fish Aquarium (5)
  • Free Energy (34)
  • Fun Projects (13)
  • GSM Projects (9)
  • Health Related (20)
  • Heater Controllers (29)
  • Home Electrical Circuits (104)
  • How to Articles (20)
  • Incubator Related (6)
  • Industrial Electronics (28)
  • Infrared (IR) (40)
  • Inverter Circuits (98)
  • Laser Projects (12)
  • LED and Light Effect (93)
  • LM317/LM338 (21)
  • LM3915 IC (25)
  • Meters and Testers (66)
  • Mini Projects (150)
  • Motor Controller (67)
  • MPPT (7)
  • Oscillator Circuits (26)
  • PIR (Passive Infrared) (8)
  • Power Electronics (34)
  • Power Supply Circuits (79)
  • Radio Circuits (10)
  • Remote Control (48)
  • Security and Alarm (62)
  • Sensors and Detectors (121)
  • SG3525 IC (5)
  • Simple Circuits (75)
  • SMPS (29)
  • Solar Controllers (61)
  • Timer and Delay Relay (53)
  • TL494 IC (5)
  • Transformerless Power Supply (8)
  • Transmitter Circuits (41)
  • Ultrasonic Projects (16)
  • Water Level Controller (45)

Calculators

  • AWG to Millimeter Converter
  • Battery Back up Time Calculator
  • Capacitance Reactance Calculator
  • IC 555 Astable Calculator
  • IC 555 Monostable Calculator
  • Inductance Calculator
  • LC Resonance Calculator
  • LM317, LM338, LM396 Calculator
  • Ohm’s Law Calculator
  • Phase Angle Phase Shift Calculator
  • Power Factor (PF) Calculator
  • Reactance Calculator
  • Small Signal Transistor(BJT) and Diode Quick Datasheet
  • Transistor Astable Calculator
  • Transistor base Resistor Calculator
  • Voltage Divider Calculator
  • Wire Current Calculator
  • Zener Diode Calculator

© 2023 · Swagatam Innovations

wpDiscuz