Presentation 1

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

97pF 97pF

11pF 11pF
11pF 21pF
11pF 21pF

11pF 21pF
11pF 11pF
97pF 97pF

C=

C=
requirements
14pF , 12 sheets 170pF , Area 4x4.
14pF , 17 sheets 240pF , Area 4x4.

More than 220pF.


Minimum distance 0.2cm between the plates.
5cmx5cm
Water droplet size is 0.005cm.
Oil droplet size is 0.2mm = 0.02cm
7.4pF
7.4pF
7.4pF
37pF
7.4pF
7.4pF
const int OUT_PIN = A2;
const int IN_PIN = A3;
const float IN_STRAY_CAP_TO_GND = 24.48;
const float IN_CAP_TO_GND = IN_STRAY_CAP_TO_GND;
CAPACITANCE METER FOR 470 UF TO 18 PF CAPACITORS
const float R_PULLUP = 34.8;
const int MAX_ADC_VALUE = 1023;

void setup(){

https://www.circuitbasics.com/how-to-make-an-arduino-capacitance-meter/
pinMode(OUT_PIN, OUTPUT);
pinMode(IN_PIN, OUTPUT);
Serial.begin(9600);
}

void loop(){
pinMode(IN_PIN, INPUT);
digitalWrite(OUT_PIN, HIGH);
int val = analogRead(IN_PIN);
digitalWrite(OUT_PIN, LOW);

if (val < 1000){


pinMode(IN_PIN, OUTPUT);

float capacitance = (float)val * IN_CAP_TO_GND / (float)(MAX_ADC_VALUE - val);

Serial.print(F("Capacitance Value = "));


Serial.print(capacitance, 3);
Serial.print(F(" pF ("));
Serial.print(val);
Serial.println(F(") "));
}

else{
pinMode(IN_PIN, OUTPUT);
delay(1);
pinMode(OUT_PIN, INPUT_PULLUP);
unsigned long u1 = micros();
unsigned long t;
int digVal;

do{
digVal = digitalRead(OUT_PIN);
unsigned long u2 = micros();
t = u2 > u1 ? u2 - u1 : u1 - u2;
} while ((digVal < 1) && (t < 400000L));

pinMode(OUT_PIN, INPUT);
val = analogRead(OUT_PIN);
digitalWrite(IN_PIN, HIGH);
int dischargeTime = (int)(t / 1000L) * 5;
delay(dischargeTime);
pinMode(OUT_PIN, OUTPUT);
digitalWrite(OUT_PIN, LOW);
digitalWrite(IN_PIN, LOW);

float capacitance = -(float)t / R_PULLUP / log(1.0 - (float)val / (float)MAX_ADC_VALUE);

Serial.print(F("Capacitance Value = "));


if (capacitance > 1000.0){
Serial.print(capacitance / 1000.0, 2);
Serial.print(F(" uF"));
}
else{
Serial.print(capacitance, 2);
Serial.print(F(" nF"));
}

Serial.print(F(" ("));
Serial.print(digVal == 1 ? F("Normal") : F("HighVal"));
Serial.print(F(", t= "));
Serial.print(t);
Serial.print(F(" us, ADC= "));
Serial.print(val);
Serial.println(F(")"));
}
while (millis() % 1000 != 0);
}
/Measuring from 0.000pF to 1000uF

https://www.jameco.com/Jameco/Products/ProdDS/2261010KitInstructions.pdf
Range 1 pF to 1 nF
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f,20,4); //sometimes the adress is not 0x3f. Change to 0x27 if it dosn't
work.

const int OUT_PIN = A2;


const int IN_PIN = A0;
const float IN_STRAY_CAP_TO_GND = 24.48;
const float IN_CAP_TO_GND = IN_STRAY_CAP_TO_GND;
const float R_PULLUP = 34.8;
const int MAX_ADC_VALUE = 1023; while ((digVal < 1) && (t < 400000L));
void setup()
pinMode(OUT_PIN, INPUT);
{
pinMode(OUT_PIN, OUTPUT);
val = analogRead(OUT_PIN);
pinMode(IN_PIN, OUTPUT); digitalWrite(IN_PIN, HIGH);
lcd.init(); int dischargeTime = (int)(t / 1000L) * 5;
lcd.backlight(); delay(dischargeTime);
} pinMode(OUT_PIN, OUTPUT);
digitalWrite(OUT_PIN, LOW);
void loop()
digitalWrite(IN_PIN, LOW);
{
pinMode(IN_PIN, INPUT);
digitalWrite(OUT_PIN, HIGH); float capacitance = -(float)t / R_PULLUP / log(1.0 - (float)val / (float)MAX_ADC_VALUE);
int val = analogRead(IN_PIN);
digitalWrite(OUT_PIN, LOW); lcd.setCursor(0,0);
lcd.print("Scale: 1pF-1nF");
if (val < 1000)
{
if (capacitance > 1000.0)
pinMode(IN_PIN, OUTPUT);
{
float capacitance = (float)val * IN_CAP_TO_GND / (float)(MAX_ADC_VALUE - lcd.setCursor(0,1);
lcd.print(capacitance / 1000.0, 2);
val); lcd.setCursor(14,1);
lcd.print("uF ");
lcd.setCursor(0,0);
lcd.print("Scale: 1pF-1nF"); }
lcd.setCursor(0,1);
lcd.print(capacitance,3);
lcd.setCursor(14,1); else
lcd.print("pF"); {
} lcd.setCursor(0,1);
lcd.print(capacitance);
else lcd.setCursor(14,1);
{ lcd.print("nF");
pinMode(IN_PIN, OUTPUT);
delay(1);
pinMode(OUT_PIN, INPUT_PULLUP); }
unsigned long u1 = micros(); }
unsigned long t; while (micros() % 1000 != 0);
int digVal; }
do
{
digVal = digitalRead(OUT_PIN);
unsigned long u2 = micros();
t = u2 > u1 ? u2 - u1 : u1 - u2;
https://electronoobs.com/eng_arduino_tut10_1.php
}
Effect of Temperature on Capacitance of Transformer Oil

Temperature (°C) Capacitance (pF)


89 103.92
87 103.94
85 103.98
82 104.12
81 104.16
79 104.19
75 104.28
67 104.43
63 104.41
48 104.47
42 104.52
36 104.78
Temperature 24°C
Serial No. Capacitance (pF)
0.1ml
1 105.79
2 105.85
3 105.83
4 105.85
5 105.85

Temperature 60°C

Serial No. Capacitance (pF)


0.1ml
1 102.87
2 102.84
3 102.79
4 102.86
5 102.83
Temperature 24°C
Serial No. Capacitance (pF)
0.2ml
1 106.75
2 106.76
3 106.77
4 106.75
5 106.82

Temperature 60°C

Serial No. Capacitance (pF)


0.2ml
1 105.1
2 105.12
3 105.39
4 105.4
5 105.35
Temperature 24°C
Serial No. Capacitance (pF)
0.3ml
1 107.62
2 107.62
3 107.69
4 107.66
5 107.66

Temperature 60°C

Serial No. Capacitance (pF)


0.3ml
1 106.32
2 106.33
3 106.34
4 106.33
5 106.33
Temperature 24°C
Serial No. Capacitance (pF)
0.5ml
1 109.2
2 109.2
3 109.21
4 109.21
5 109.21

Temperature 60°C

Serial No. Capacitance (pF)


0.5ml
1 107.85
2 107.86
3 107.87
4 107.86
5 107.82
Temperature 24°C
Serial No. Capacitance (pF)
1ml
1 111.48
2 111.5
3 111.49
4 111.49
5 111.48

Temperature 60°C

Serial No. Capacitance (pF)


1ml
1 108.85
2 108.85
3 108.86
4 108.85
5 108.85
User Interface
Sensor Node Control Module IoT Platform
Module

Capacitive Server/
Sensor Display Cloud
Storage

Microcontroller
Temperature
Sensor
Alarm

GPS Web or
Mobile
Application
Pressure Gateway
Sensor
(optional)
Type 1 Calculated

Simulated

Capacitance

Air Water Oil


OLED Pins

Atmega328P

Programmer Pins

GPS Module

LoRa Module

Voltage Regulator

You might also like