Arduinoを使用したデジタル静電容量計回路

問題を排除するために楽器を試してください





この投稿では、Arduinoを使用して、1マイクロファラッドから4000マイクロファラッドの範囲のコンデンサの静電容量を妥当な精度で測定できるデジタル静電容量計回路を構築します。



前書き

コンデンサの本体に書かれている値が判読できない場合、または遅かれ早かれ交換する必要がある回路内の経年劣化したコンデンサの値を見つけるためにコンデンサの値を測定します。静電容量を測定する理由は他にもいくつかあります。

静電容量を見つけるには、デジタルマルチメータを使用して簡単に測定できますが、すべてのマルチメータに静電容量測定機能があるわけではなく、高価なマルチメータだけがこの機能を備えています。



だからここに簡単に構築して使用できる回路があります。

特に液体電解質からなる電解コンデンサは、経年劣化により静電容量が低下しやすい1マイクロファラドから4000マイクロファラドまでの大きな値のコンデンサに注目しています。

回路の詳細に入る前に、Arduinoで静電容量を測定する方法を見てみましょう。

ほとんどのArduino静電容量計はRC時定数特性に依存しています。では、RC時定数とは何ですか?

RC回路の時定数は、コンデンサがフル充電の63.2%に達するまでにかかる時間として定義できます。ゼロボルトは0%の充電で、100%はコンデンサの全電圧充電です。

オーム単位の抵抗値とファラッド単位のコンデンサ値の積が時定数を与えます。

T = R x C

Tは時定数です

上記の式を並べ替えると、次のようになります。

C = T / R

Cは未知の静電容量値です。

TはRC回路の時定数で、フル充電コンデンサの63.2%です。

Rは既知の抵抗です。

Arduinoはアナログピンを介して電圧を感知でき、既知の抵抗値をプログラムに手動で入力できます。

プログラムで式C = T / Rを適用することにより、未知の静電容量値を見つけることができます。

これで、未知の静電容量の値をどのように見つけることができるかがわかります。

この記事では、LCDディスプレイ付きとシリアルモニター付きの2種類の静電容量計を提案しました。

この静電容量計を頻繁に使用する場合は、LCDディスプレイの設計を使用することをお勧めします。頻繁に使用しない場合は、LCDディスプレイのコストを節約できるため、シリアルモニターの設計を使用することをお勧めします。

それでは、回路図に移りましょう。

シリアルモニターベースの静電容量計:



ご覧のとおり、回路は非常に単純です。未知の静電容量を見つけるために必要な抵抗は2、3個です。1Kオームは既知の抵抗値であり、測定プロセス中にコンデンサを放電するために使用される220オームの抵抗です。Arduinoは1Kオームと220オームの抵抗の間に接続されているピンA0の電圧の上昇と下降。電解などの分極コンデンサを使用している場合は、極性に注意してください。 プログラム:
//-----------------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------------------//

上記のコードをハードウェアのセットアップが完了した状態でArduinoにアップロードします。最初は、コンデンサを接続しないでください。 「コンデンサを接続してください」と表示されているシリアルモニターを開きます。

コンデンサを接続すると、その静電容量が次のように表示されます。

また、コンデンサのフル充電電圧の63.2%に達するまでにかかった時間も表示されます。これは、経過時間として表示されます。

Arduinoを使用したデジタル静電容量計

LCDベースの静電容量計の回路図:

上の回路図は、LCDディスプレイとArduinoの間の接続です。ディスプレイのコントラストを調整するために、10Kポテンショメータが用意されています。残りの接続は自明です。

上記の回路は、LCDディスプレイを接続するだけでよいシリアルモニターベースの設計とまったく同じです。

LCDベースの静電容量計のプログラム:

//-----------------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%に達するまでにかかった経過時間が表示されます。

著者のプロトタイプ:




前:正確な読み取りのためのArduinoタコメーター回路 次へ:ジョイスティックを使用してサーボモーターを制御する方法