Digital Capacitance Meter Circuit Gamit ang Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa post na ito magtatayo kami ng isang digital capacitance meter circuit gamit ang Arduino na maaaring masukat ang capacitance ng mga capacitor mula sa 1 microfarad hanggang 4000 microfarad na may makatwirang kawastuhan.



Panimula

Sinusukat namin ang halaga ng mga capacitor kapag ang mga halagang nakasulat sa katawan ng capacitor ay hindi nababasa, o upang mahanap ang halaga ng tumatandang capacitor sa aming circuit na kailangang mapalitan sa lalong madaling panahon o sa paglaon at maraming iba pang mga kadahilanan upang masukat ang capacitance.

Upang mahanap ang capacitance madali naming masusukat ang paggamit ng isang digital multimeter, ngunit hindi lahat ng mga multimeter ay may tampok na pagsukat ng capacitance at tanging ang mamahaling multimeter ang may ganitong pagpapaandar.



Kaya narito ang isang circuit na maaaring maitayo at magamit nang madali.

Nakatuon kami sa mga capacitor na may mas malaking halaga mula sa 1 microfarad hanggang 4000 microfarad na madaling mawala ang kapasidad nito dahil sa pagtanda lalo na ang mga electrolytic capacitor, na binubuo ng likidong electrolyte.

Bago tayo magpunta sa mga detalye ng circuit, tingnan natin kung paano natin masusukat ang capacitance sa Arduino.

Karamihan sa Arduino capacitance meter ay umaasa sa RC time pare-pareho ang pag-aari. Kaya't ano ang pare-pareho sa oras ng RC?

Ang oras na pare-pareho ng RC circuit ay maaaring tukuyin bilang oras na kinuha para sa capacitor na maabot ang 63.2% ng buong singil. Ang zero volt ay 0% na singil at 100% ang buong singil ng boltahe ng capacitor.

Ang produkto ng halaga ng risistor sa ohm at halaga ng kapasitor sa farad ay nagbibigay ng Oras na pare-pareho.

T = R x C

Ang T ay pare-pareho ang Oras

Sa pamamagitan ng muling pag-aayos ng equation sa itaas nakukuha namin:

C = T / R

Ang C ay hindi kilalang halaga ng capacitance.

Ang T ay ang oras na pare-pareho ng RC circuit na kung saan ay 63.2% ng buong capacitor ng singil.

Ang R ay isang kilalang paglaban.

Maaaring madama ng Arduino ang boltahe sa pamamagitan ng analog pin at ang kilalang halaga ng resistor ay maaaring ipasok nang manu-mano sa programa.

Sa pamamagitan ng paglalapat ng equation C = T / R sa programa mahahanap natin ang hindi kilalang halaga ng capacitance.

Sa ngayon magkakaroon ka ng ideya kung paano namin mahahanap ang halaga ng hindi kilalang kapasidad.

Sa post na ito iminungkahi ko ang dalawang uri ng capacitance meter, isa na may LCD display at isa pa gamit ang serial monitor.

Kung ikaw ay madalas na gumagamit ng capacitance meter na ito mas mahusay na pumunta sa disenyo ng display ng LCD at kung hindi ka madalas na gumagamit mas mahusay na pumunta sa disenyo ng serial monitor sapagkat nakakatipid ka ng ilang pera sa display ng LCD.

Ngayon, magpatuloy tayo sa circuit diagram.

Serial Monitor batay sa capacitance meter:



Tulad ng nakikita mo ang circuit ay napaka-simple lamang ng isang pares ng mga resistors ang kinakailangan upang mahanap ang hindi kilalang kapasidad. Ang 1K ohm ay ang kilalang halaga ng risistor at ang 220 ohm risistor na ginamit para sa pagpapalabas ng capacitor habang nagaganap ang proseso ng pagsukat. tumataas at bumababang boltahe sa pin A0 na konektado sa pagitan ng 1K ohm at 220 ohm resistors. Mangyaring alagaan ang polarity kung gumagamit ka ng polarized capacitors tulad ng electrolytic. Programa:
//-----------------Program developed by R.Girish------------------//
const int analogPin = A0
const int chargePin = 7
const int dischargePin = 6
float resistorValue = 1000 // Value of known resistor in ohm
unsigned long startTime
unsigned long elapsedTime
float microFarads
void setup()
{
Serial.begin(9600)
pinMode(chargePin, OUTPUT)
digitalWrite(chargePin, LOW)
}
void loop()
{
digitalWrite(chargePin, HIGH)
startTime = millis()
while(analogRead(analogPin) <648){}
elapsedTime = millis() - startTime
microFarads = ((float)elapsedTime / resistorValue) * 1000
if (microFarads > 1)
{
Serial.print('Value = ')
Serial.print((long)microFarads)
Serial.println(' microFarads')
Serial.print('Elapsed Time = ')
Serial.print(elapsedTime)
Serial.println('mS')
Serial.println('--------------------------------')
}
else
{
Serial.println('Please connect Capacitor!')
delay(1000)
}
digitalWrite(chargePin, LOW)
pinMode(dischargePin, OUTPUT)
digitalWrite(dischargePin, LOW)
while(analogRead(analogPin) > 0) {}
pinMode(dischargePin, INPUT)
}
//-----------------Program developed by R.Girish------------------//

I-upload ang code sa itaas sa Arduino na may kumpletong pag-setup ng hardware, sa una ay hindi ikonekta ang capacitor. Buksan ang serial monitor na sinasabi nito na 'Mangyaring ikonekta ang capacitor'.

Ngayon ikonekta ang isang kapasitor, ang capacitance nito ay ipapakita tulad ng nakalarawan sa ibaba.

Ipinapakita rin nito ang oras na kinuha upang maabot ang 63.2% ng buong boltahe ng singil ng capacitor, na ipinapakita bilang lumipas na oras.

Digital Capacitance Meter Gamit ang Arduino

Circuit diagram para sa LCD based capacitance meter:

Ang iskemat sa itaas ay koneksyon sa pagitan ng LCD display at Arduino. Ang 10K potentiometer ay ibinibigay para sa pag-aayos ng kaibahan ng display. Ang natitirang mga koneksyon ay nagpapaliwanag sa sarili.

Ang circuit sa itaas ay eksaktong kapareho ng serial monitor based na disenyo kailangan mo lamang ikonekta ang LCD display.

Programa para sa LCD based capacitance meter:

//-----------------Program developed by R.Girish------------------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
const int analogPin = A0
const int chargePin = 7
const int dischargePin = 6
float resistorValue = 1000 // Value of known resistor in ohm
unsigned long startTime
unsigned long elapsedTime
float microFarads
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(chargePin, OUTPUT)
digitalWrite(chargePin, LOW)
lcd.clear()
lcd.setCursor(0,0)
lcd.print(' CAPACITANCE')
lcd.setCursor(0,1)
lcd.print(' METER')
delay(1000)
}
void loop()
{
digitalWrite(chargePin, HIGH)
startTime = millis()
while(analogRead(analogPin) <648){}
elapsedTime = millis() - startTime
microFarads = ((float)elapsedTime / resistorValue) * 1000
if (microFarads > 1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Value = ')
lcd.print((long)microFarads)
lcd.print(' uF')
lcd.setCursor(0,1)
lcd.print('Elapsed:')
lcd.print(elapsedTime)
lcd.print(' mS')
delay(100)
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Please connect')
lcd.setCursor(0,1)
lcd.print('capacitor !!!')
delay(500)
}
digitalWrite(chargePin, LOW)
pinMode(dischargePin, OUTPUT)
digitalWrite(dischargePin, LOW)
while(analogRead(analogPin) > 0) {}
pinMode(dischargePin, INPUT)
}
//-----------------Program developed by R.Girish------------------//

Gamit ang nakumpletong pag-setup ng hardware i-upload ang code sa itaas. Sa una ay huwag ikonekta ang capacitor. Ipinapakita ng display ang 'Mangyaring ikonekta ang capacitor !!!' ngayon ikinonekta mo ang capacitor. Ipapakita ng display ang halaga ng capacitor at lumipas na oras na kinuha upang maabot ang 63.2% ng buong capacitor ng singil.

Prototype ng May-akda:




Nakaraan: Arduino Tachometer Circuit para sa Tiyak na Pagbasa Susunod: Paano Makontrol ang Servo Motor Gamit ang Joystick