|
|
Arduino Nano R3 |
x 1 | |
|
|
LCD 128x64 dots with ST7565 driver chip |
x 1 |
|
arduino IDEArduino
|
|
|
Soldering Iron Kit |
How to make simplest possible autorange Capacitance meter
The capacity measurement option is usually only available in more expensive multimeters, so it is desirable to make such an instrument ourselves, especially if it is very simple to make and inexpensive.
Exactly these conditions are fulfilled in the instrument described below. The measured value is displayed on a large readable display, and its measuring range is from 1 pF to 99 µF which are actually the most frequently used values.
The fact that only two components are needed to make this capacitance meter is almost unbelievable, namely an Microcontroller board and an LCD display.

I specifically in this case use an Arduino Nano microcontroller board, and LCD Dispaly 128x64 dots with ST7565 driver chip.

This project is sponsored by PCBWay. They has all the services you need to create your project at the best price, whether is a scool project, or complex professional project. On PCBWay you can share your experiences, or get inspiration for your next project. They also provide completed Surface mount SMT PCB assemblY service at a best price, and ISO9001 quality control. Visit pcbway.com for more services.

The measurement is performed in such a way that the measured capacitor is charged with current from the PULLUP resistor from the microprocessor input, and the required charging time is measured. The capacitor whose value we need to measure is connected to one analog and one digital pin of the microcontroller, and if it is a polarized capacitor, the positive pole is connected to the first defined pin in the code. The simplicity of this device is due to the excellent "capacitor" Arduino library that is made specifically, for this purpose and you can download it directly from the author's GitHub page.

Now let's see how this useful instrument works in real conditions. For this purpose I will use capacitors of different types and with different values. At first, the display shows a capacitance of about 1 pF which is actually the capacitance between the wires and the connectors, which is minimal and does not affect measurements

As you can see from the presentation, the accuracy and speed of measurement are satisfactory. As you can see from the presentation, the accuracy and speed of measurement are satisfactory.
And finally a short conclusion. This is the simplest possible stand-alone capacitance meter that you can make using only two electronic components. Even simpler, if you use the device on your desktop, you only need the microcontroller, and you can read the results on the serial monitor from the Arduino IDE application on the PC. Of course, it is advisable to embed the device in a suitable box with plugins, so that you can make measurements more easily.

#include <U8g2lib.h>
#include <Capacitor.h>
U8G2_ST7565_ERC12864_1_4W_SW_SPI u8g2 ( U8G2_R0, /* scl=*/ 13 , /* si=*/ 11 , /* cs=*/ 10 , /* rs=*/ 9 , /* rse=*/ 8 ) ;
Capacitor cap1(7,A2);
int X1,C; //resistance value
byte f_ic, xp;
char R1_str[3];
char R_str[4];
float tau1;
unsigned long T1, T2, tau;
void setup() {
Serial.begin(9600);
u8g2.begin();
u8g2.setContrast(35);
}
void loop() {
// Serial.println(cap1.Measure()); // Measure the capacitance (in pF), print to Serial Monitor
// delay(1000); // Wait for 1 second, then repeat
Pomiar_C();
}
void Pomiar_C(){
Cyfry();
char C_str[4];
sprintf(C_str,"%d", X1);
u8g2.firstPage();
do {
u8g2.drawFrame(0,0,128,64);
u8g2.drawRFrame(2,2,124,60,3);
u8g2.setFont(u8g2_font_10x20_tr);
u8g2.drawStr(20, 18, "Capacity:");
if (f_ic > 6) {
u8g2.setFont(u8g2_font_fub25_t_symbol);
u8g2.drawGlyph(80,52,956); //symbol u
}
u8g2.setFont(u8g2_font_fub25_tr);
u8g2.drawStr(xp, 52, C_str);
if (f_ic < 7) {u8g2.drawStr(76, 52, "n");}
if (f_ic < 4) {u8g2.drawStr(76, 52, "p");}
u8g2.drawStr(100, 52, "F");
if (f_ic == 1 or f_ic == 4 or f_ic == 7) {
u8g2.drawStr(28, 52, ".");
u8g2.drawStr(40, 52, R1_str);
}
} while ( u8g2.nextPage() );
delay(500);
}
void Cyfry(){
// if (P1 == LOW) {tau1 = tau/2.329;}
// if (P2 == LOW) {tau1 = tau/350;}
// if (P3 == LOW) {tau1 = cap1.Measure();}
tau1 = cap1.Measure();
//obliczenie ilości cyfr wartości
if (tau1 >= 1 && tau1 <10) {
X1 = tau1;
int X2 = 10 * (tau1 - X1);
sprintf(R1_str,"%d", X2);
f_ic = 1;
xp = 10;
}
if (tau1 >= 10 && tau1 <100) {
X1 = tau1;
f_ic = 2;
xp = 32;
}
if (tau1 >= 100 && tau1 <1000) {
X1 = tau1;
f_ic = 3;
xp = 10;
}
if (tau1/1000 >= 1 && tau1/1000 <10) {
X1 = int(tau1/1000);
f_ic = 4;
xp = 10;
int X2 = 10 * (tau1/1000 - X1);
sprintf(R1_str,"%d", X2);
}
if (tau1/10000 >= 1 && tau1/10000 <10) {
X1 = int(tau1/1000);
f_ic = 5;
xp = 32;
}
if (tau1/100000 >= 1 && tau1/100000 <10) {
X1 = int(tau1/1000);
f_ic = 6;
xp = 10;
}
if (tau1/1000000 >= 1 && tau1/1000000 <10) {
X1 = int(tau1/1000000);
f_ic = 7;
xp = 10;
int X2 = 10 * (tau1/1000000 - X1);
sprintf(R1_str,"%d", X2);
}
if (tau1/10000000 >= 1 && tau1/10000000 <10) {
X1 = int(tau1/1000000);
f_ic = 8;
xp = 30;
}
}
How to make simplest possible autorange Capacitance meter
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Mirko Pavleski
-
Arduino 3D Printed self Balancing Cube
Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
Build simple Retro Style VFO (Variable frequency oscillator) with Crowoanel 1.28 inch Round Display
Today I received a shipment with a Small round LCD display from Elecrow. The device is packed in tw...
-
Human vs Robot – Rock Paper Scissors with MyCobot 280 M5Stack
Today I received a package containing the few Elephant Robotics products. The shipment is well pack...
-
How to Build a Simple Audio Spectrum Analyzer with Adjustable Settings
An audio spectrum analyzer is an electronic device or software tool that measures and visually disp...
-
How to Make a Digital Clock on a Vintage B&W TV using Arduino
These days I accidentally came across this small retro Black and White TV with a built-in Radio, so ...
-
Build a $10 Function Generator with Frequency Meter for Your Lab
A function generator is a piece of electronic test equipment used to generate various types of elec...
-
From Unboxing to Coding - Radar Clock on Elecrow’s 2.1 HMI Display
Today I received a shipment with a large round LCD display from Elecrow. The device is packed in two...
-
Making a Retro Analog NTP Clock with Unihiker K10 - Arduino IDE Tutorial
Some time ago I presented you a way to use standard Arduino libraries on the Unihiker k10 developme...
-
Build a Cheap & Easy HF Preselector - Antenna Tuner
HF antenna preselector is an electronic device connected between an HF radio antenna, and a radio r...
-
DIY Static Charge Monitor - Electrostatic Field Detector (Arduino & TL071)
A Static Charge Monitor also known as a Static Field Meter or Electrostatic Voltmeter is a device u...
-
XHDATA D-219 Radio Short Review with complete disassembly
Some time ago I received an offer from XHDATA to be one of the first test users of their new radio m...
-
How to make Simplest ever Oscilloscope Clock
An oscilloscope clock is a unique and creative way to display the time using an oscilloscope, which...
-
DIY Digital Barograph with BME280 and ESP32 - 24 Hour Pressure Trends
A barograph is a self-recording barometer that continuously measures and records atmospheric pressu...
-
Build a Raspberry Pi Pico SDR Radio with Waterfall Display
Software-defined radio (SDR) is a radio communication system where components that have traditional...
-
DIY Magnet Polarity Detector - How to Identify Poles with a Hall Sensor from a PC Fan
Recently, while working on a project, I needed to determine the polarity of several permanent magne...
-
Light Meter Project - Making Dfrobot Unihiker K10 Work with Standard Arduino Libraries
The other day I received a shipment with a UNIHIKER K10 development board from DFRobot, which I rec...
-
DIY Simple Arduino Whack-a-Mole Game
A "Whack-a-Mole" game is a classic arcade-style game where moles pop up randomly from holes, and th...
-
Wireless Power Transmission, Long-Distance and High-Efficiency with Class-E Tesla Coil
Wireless energy transfer also known as wireless power transmission is a method of getting useful el...
-
-
AEL-2011 Power Supply Module
330 0 1 -
AEL-2011 50W Power Amplifier
304 0 1 -
-
-
Custom Mechanical Keyboard
571 0 0 -
Tester for Touch Screen Digitizer without using microcontroller
235 2 2 -
Audio reactive glow LED wristband/bracelet with NFC / RFID-Tags
241 0 1 -
-
-







