Digitális kapacitásmérő áramkör az Arduino használatával

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a bejegyzésben egy digitális kapacitásmérő áramkört fogunk létrehozni az Arduino segítségével, amely ésszerű pontossággal képes mérni a kondenzátorok kapacitását 1 és 4000 mikroszekvencia között.



Bevezetés

Mérjük a kondenzátorok értékét, ha a kondenzátor testére írt értékek nem olvashatók, vagy megtaláljuk az áramkörünkben lévő öregedő kondenzátor értékét, amelyet hamarosan vagy később ki kell cserélni, és számos más oka van a kapacitás mérésének.

A kapacitás megtalálásához könnyen mérhetünk digitális multiméterrel, de nem minden multiméter rendelkezik kapacitásmérő funkcióval, és csak a drága multiméterek rendelkeznek ezzel a funkcióval.



Tehát itt van egy áramkör, amely könnyedén felépíthető és használható.

Nagyobb kondenzátorokra összpontosítunk, 1 mikrofarad-tól 4000 mikrofaradig, amelyek hajlamosak elveszíteni kapacitását az öregedés miatt, különösen az elektrolit-kondenzátorok, amelyek folyékony elektrolitból állnak.

Mielőtt rátérnénk az áramkör részleteire, nézzük meg, hogyan mérhetjük meg a kapacitást az Arduinóval.

A legtöbb Arduino kapacitásmérő RC időállandó tulajdonságra támaszkodik. Tehát mi az RC időállandó?

Az RC áramkör időállandója meghatározható az az idő, amely alatt a kondenzátor eléri a teljes töltés 63,2% -át. A nulla volt 0% -os töltöttség, és 100% a kondenzátor teljes feszültségű töltése.

Az ellenállás ohmban kifejezett értéke és a kondenzátor értéke faradban megadja az időállandót.

T = R x C

T az időállandó

A fenti egyenlet átrendezésével kapjuk:

C = T / R

C az ismeretlen kapacitásérték.

T az RC áramkör időállandója, amely a teljes töltésű kondenzátor 63,2% -a.

R ismert ellenállás.

Az Arduino analóg csapon keresztül érzékeli a feszültséget, és az ismert ellenállási érték manuálisan beírható a programba.

A C = T / R egyenlet alkalmazásával megtalálhatjuk az ismeretlen kapacitási értéket.

Mostanra lenne egy ötlete, hogyan találhatnánk meg az ismeretlen kapacitás értékét.

Ebben a bejegyzésben kétféle kapacitásmérőt javasoltam, az egyik LCD kijelzővel, a másik pedig soros monitorral.

Ha Ön gyakran használja ezt a kapacitásmérőt, akkor jobb, ha az LCD kijelzőt tervezi, és ha nem gyakori, akkor inkább a soros monitort használja, mert ez megtakarít néhány dollárt az LCD kijelzőn.

Most térjünk át a kapcsolási rajzra.

Soros monitor alapú kapacitásmérő:



Amint láthatja, az áramkör nagyon egyszerű, csak néhány ellenállásra van szükség az ismeretlen kapacitás megtalálásához. Az 1K ohm az ismert ellenállás értéke és a 220 ohmos ellenállás, amelyet a kondenzátor kisütésére használnak, miközben a mérés folyik. Az Arduino érzékeli a növekvő és csökkenő feszültség az A0 érintkezőn, amely 1K ohm és 220 ohm ellenállások között van összekötve. Kérjük, ügyeljen a polaritásra, ha polarizált kondenzátorokat, például elektrolitot használ. Program:
//-----------------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------------------//

A fenti hardverbeállítással töltse fel a fenti kódot az Arduino programba, kezdetben ne csatlakoztassa a kondenzátort. Nyissa meg a „Kérjük, csatlakoztassa a kondenzátort” feliratú soros monitort.

Most csatlakoztasson egy kondenzátort, annak kapacitása az alábbiak szerint jelenik meg.

Ez azt is mutatja, hogy mennyi idő szükséges a kondenzátor teljes töltési feszültségének 63,2% -ához, amelyet eltelt időként mutatunk be.

Digitális kapacitásmérő az Arduino használatával

Kapcsolási rajz az LCD alapú kapacitásmérőhöz:

A fenti ábra az LCD kijelző és az Arduino közötti kapcsolat. A 10K potenciométer a kijelző kontrasztjának beállítására szolgál. A kapcsolatok többi része magától értetődő.

A fenti áramkör pontosan megegyezik a soros monitor alapú tervezéssel, csak csatlakoztatnia kell az LCD-kijelzőt.

Program LCD alapú kapacitásmérőhöz:

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

A hardver beállításának befejezésével töltse fel a fenti kódot. Kezdetben ne csatlakoztassa a kondenzátort. A kijelzőn a 'Kérjük, csatlakoztassa a kondenzátort !!!' most csatlakoztatja a kondenzátort. A kijelzőn megjelenik a kondenzátor értéke és a teljes töltésű kondenzátor 63,2% -ának eléréséhez eltelt idő.

A szerző prototípusa:




Előző: Arduino fordulatszámmérő áramkör a pontos leolvasásokhoz Következő: A szervomotor vezérlése a joystick használatával