Круг дигиталног мерача капацитета помоћу Ардуина

Испробајте Наш Инструмент За Елиминисање Проблема





У овом посту ћемо конструисати коло дигиталног мерила капацитивности користећи Ардуино који може мерити капацитивност кондензатора у распону од 1 микрофарад до 4000 микрофарад са разумном тачношћу.



Увод

Меримо вредност кондензатора када вредности записане на телу кондензатора нису читљиве или да бисмо пронашли вредност старења кондензатора у нашем колу која треба ускоро или касније да се замени, а постоји и неколико других разлога за мерење капацитивности.

Да бисмо пронашли капацитет, можемо лако да меримо помоћу дигиталног мултиметра, али немају сви мултиметри функцију мерења капацитивности, а само скупи мултиметри имају ову функцију.



Дакле, овде је склоп који се може лако конструисати и користити.

Фокусирамо се на кондензаторе веће вредности од 1 микрофарада до 4000 микрофарада који су склони да изгубе капацитет због старења, посебно електролитских кондензатора, који се састоје од течног електролита.

Пре него што пређемо на детаље кола, погледајмо како можемо да меримо капацитивност помоћу Ардуина.

Већина Ардуино мерача капацитивности ослања се на својство РЦ временске константе. Па шта је РЦ временска константа?

Временска константа РЦ кола може се дефинисати као време потребно да кондензатор достигне 63,2% пуног наелектрисања. Нулти волт је 0% пуњења, а 100% пуног напона кондензатора.

Производ вредности отпорника у охима и вредности кондензатора у фараду даје временску константу.

Т = Р к Ц.

Т је временска константа

Преуређивањем горње једначине добијамо:

Ц = Т / Р

Ц је непозната вредност капацитивности.

Т је временска константа РЦ кола која чини 63,2% кондензатора са пуним пуњењем.

Р је познати отпор.

Ардуино може осјетити напон путем аналогног пина, а позната вриједност отпорника може се ручно унијети у програм.

Применом једначине Ц = Т / Р у програму можемо пронаћи непознату вредност капацитивности.

До сада бисте имали идеју како можемо пронаћи вредност непознатог капацитета.

У овом посту предложио сам две врсте мерача капацитивности, једну са ЛЦД екраном, а другу помоћу серијског монитора.

Ако сте чести корисник овог мерача капацитивности, боље је да се одлучите за дизајн ЛЦД екрана, а ако нисте чести корисник, боље је да се обратите дизајну серијског монитора јер ће вам тако уштедети новац на ЛЦД екрану.

Сада пређимо на дијаграм кола.

Мерач капацитивности заснован на серијском монитору:



Као што видите, коло је врло једноставно, потребно је само неколико отпорника да би се пронашао непознати капацитет. 1К охм је позната вредност отпорника и отпор од 220 охма који се користи за пражњење кондензатора током процеса мерења. Ардуино осећа како растући и опадајући напон на пину А0 који је повезан између отпорника од 1К охма и 220 охма. Водите рачуна о поларитету ако користите поларизоване кондензаторе као што су електролитски. Програм:
//-----------------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------------------//

Отпремите горњи код у Ардуино са завршеним хардверским подешавањем, у почетку не повезујте кондензатор. Отворите серијски монитор на којем пише „Молимо повежите кондензатор“.

Сада спојите кондензатор, његов капацитет ће бити приказан као што је приказано доле.

Такође показује време потребно да се достигне 63,2% напона пуног пуњења кондензатора, што је приказано као протекло време.

Дигитални мерач капацитета помоћу Ардуина

Шема кола за мерач капацитивности заснован на ЛЦД-у:

Горња шема је веза између ЛЦД екрана и Ардуина. Потенциометар 10К је предвиђен за подешавање контраста екрана. Остале везе су саме по себи разумљиве.

Горњи склоп је потпуно исти као и дизајн серијског монитора, само треба да повежете ЛЦД екран.

Програм за ЛЦД мерач капацитивности:

//-----------------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------------------//

По завршеном постављању хардвера отпремите горњи код. У почетку не повезујте кондензатор. На екрану се приказује „Прикључите кондензатор !!!“ сад спајаш кондензатор. На екрану ће се приказати вредност кондензатора и протекло време потребно да достигне 63,2% кондензатора са пуним пуњењем.

Ауторски прототип:




Претходно: Ардуино тахометар за прецизно очитавање Следеће: Како управљати серво мотором помоћу џојстика