|
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;
}
}
![schematic JPG.jpg](https://pcbwayfile.s3.us-west-2.amazonaws.com/web/24/05/25/0031530002705.jpg)
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
-
DIY Arduino Morse code Decoder and Trainer The Morse Code is a language that people use to communicate with each other through telegraph, radi...
-
Dual MOT (microwave oven transformer) Tesla Coil Tesla coils are known for their ability to generate visually impressive electrical arcs or sparks, ...
-
ESP2866 controlled 8x32 matrix WS2812 Leds (Awtrix project) The WS2812B is a individually addressable RGB LED that allows you to control each LED's color and b...
-
How to make simplest possible autorange Capacitance meter The capacity measurement option is usually only available in more expensive multimeters, so it is d...
-
How to turn mini Tesla Coil from Aliexpress into a Real Powerful SSTC with big spark Some time ago I bought a mini tesla coil kit from an online store that cost less than $4. It's a ve...
-
DIY Arduino ultrasonic Sonar - Radar on TFT display Ultrasonic sonar is devices that use sound waves with frequencies higher than the upper audible lim...
-
Simple ESP32 Internet radio on VFD Display Internet radio, also known as online radio or streaming radio, refers to the broadcasting of audio ...
-
Short review of small music Tesla Coil with Bluetooth A Solid State Tesla Coil (SSTC) is a type of Tesla coil that uses solid-state electronic components...
-
Testing 2500W Large Induction Heater An induction heater is a device that uses electromagnetic induction to heat objects. It consists of...
-
Arduino FFT Audio Spectrum analyzer on 8x32 color matrix WS2812B The spectrum analyzer displays the amplitude of signals as a function of frequency, allowing engine...
-
Unusual Led Ring Arduino Clock, Temperature, and Humidity meter There are many arduino clock projects with temperature and humidity readings where the results are ...
-
How to make simple portable PEMF Magnetic Pulser PEMF (Pulsed Electromagnetic Field Therapy), which is also known as magnetic pulse therapy uses ele...
-
Single Mosfet Mini SSTC Tesla coil with 10 + cm Spark A Solid State Tesla Coil (SSTC) is a type of Tesla coil that uses solid-state components such as tr...
-
How to Make EM84 (6E2) Vacuum Tube Stereo VU Meter A VU meter, also known as a Volume Unit meter, is a device used to display the audio signal level ...
-
Universal Arduino Staccato controller for SSTC and VTCC Tesla Coils The VTTC Staccato Controller was developed in the attempt to create longer sparks from VTTCs while ...
-
DIY extremly Sensitive and cheap Arduino Seismometer A seismometer, is an instrument used to detect and record ground motion caused by seismic waves, su...
-
DIY Extremly Sensitive and cheap Geophone sensor for Earthquakes detecting A geophone is a device used in geophysics to detect ground movement. It is specifically designed to...
-
Arduino FFT Spectrum analyzer on VFD display GP1287 An audio spectrum analyzer is a device that visualizes the frequency content of an audio signal. It...
-
Robot with WiFi control and servos driven by ESP32
15 0 1 -
Commodore 1551 Drive Cartridge Replacement
165 0 2 -
RCMHardwareByte-v2.3
114 0 0 -
Terminal Curiosity PCB Ruler
333 0 1 -
(DIY) COMMODORE 64 DEAD-TEST (781220) DIAGNOSTIC CARTRIDGE
374 0 2 -
Creative Micro Designs Inc. CMD FD-2000 / FD-4000 3D Printable Case
409 0 0 -
Creative Micro Designs Inc. CMD FD-2000 / FD-4000 Metal Case
584 0 0 -