|
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...
- Arduino Rotary encoder combination lock (Arduino door lock system with Rotary Encoder) Rotary dial safes typically use a mechanical combination lock. They are valued for their simplicity...
- DIY DRSSTC Music Tesla coil with Interrupter using cheap Driver Module DRSSTC (Dual resonant solid state tesla coil) is a type of Tesla coil that uses solid-state compone...
- Arduino HPDL1414 Retro Clock with Set and Alarm Functions The HPDL-1414 is a 16-segment LED display with four printable fields that is over twenty years old....
- How to turn a 7 inch Elecrow pi terminal into a standalone SDR Radio Today I received the Pi Terminal-7” IPS HMI CM4 Panel All-In-One Module Raspberry Pi Computer from E...
- DIY Simple Functional Lakhovsky MWO (Multiwave Oscillator) Therapy Device The Lakhovsky Multiwave Oscillator (LMO) is a device that was developed by Georges Lakhovsky in the...
- DIY simple Advanced Weather station (5day forecast) and Internet Radio ELECROW crow panel 2.8 inch esp32 display module is ideal for making simple but also relatively com...
- How to turn a Mouse into a Wireless Tuning Knob for SDR Radio A software defined radio basically consists of an RF front-end hardware part and specialized softwa...
- Arduino Car Paint Thickness Indicator - Meter A paint thickness indicator is useful in industries like automotive, aerospace, marine, and constru...
- Simple Arduino Solar Radiation Meter for Solar Panels The sun provides more than enough energy to meet the whole world’s energy needs, and unlike fossil f...
- Simple ESP32 CAM Object detection using Open CV Object detection is a computer vision technique that involves identifying and locating objects with...
- Arduino OPLA IoT Kit blink_ Example and Symon Says Game The Arduino Opla IoT Kit is a versatile kit designed for creating and managing Internet of Things ...
- How to make Simplest and Cheapest compact Internet Radio - Yoradio Internet radio is a digital audio service that streams music, news, and other forms of audio conten...
- DIY Simple STM32 Virtual Electronic Finderscope (Stellarium Compatible) A finderscope is a small auxiliary telescope mounted on the main telescope to help locate and cente...
- Simple TEF6686 DSP AM FM tuner with ESP32 microcontroller The TEF6686 radio module is intended for AM/FM receivers for cars. This miniature module has amazin...
- ELECROW Crow Panel 2.8-ESP32 HMI Display - simple TFT_eSPI examples These days I received a shipment from Elecrow that contains several components that I ordered a wee...
- DIY Advanced Theremino Sonar Theremino is an open-source platform designed for hobbyists and makers, providing a versatile framew...
- Single Mosfet - Class E - Solid State Tesla Coil A Solid State Tesla Coil (SSTC) is a type of Tesla coil that uses solid-state components such as tr...
-
-
-
-
-
-
3D printed Enclosure Backplate for Riden RD60xx power supplies
156 1 1 -
-