DIYシンプルオートレンジ静電容量計(10pF-10000microF)
コンポーネントと消耗品
> | | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
アプリとオンラインサービス
> | | |
このプロジェクトについて
Simple Digital Multimeters(DMM)は静電容量を測定できないため、静電容量を見つけるには、高度で高価なDMMを使用するか、専用の静電容量モジュールを見つける必要があります。
このプロジェクトでは、自動測距機能を備えたシンプルなArduino静電容量計を作成します。 10pFから10,000μFまでの静電容量を測定できます。測定は自動モードで行われるため、コンデンサを測定接点に接続するだけで十分です。デバイスには、「nF」と「μF」の2つの範囲があります。コンデンサを測定する場合、最初に「nF」範囲がオンになります。静電容量が大きすぎると、「μF」範囲への遷移が発生します。
各静電容量計には、既知の抵抗値と未知のコンデンサ値を持つRC回路があります。 Arduinoはコンデンサの電圧を測定し、完全に充電されたときにコンデンサの電圧の特定のパーセンテージに達するまでにかかる時間を記録します(時定数)。抵抗値はすでにわかっているので、未知の静電容量を計算するプログラムでこの式を使用できます。テスト対象のコンデンサは、抵抗の1つを使用して充電されます。 Arduinoは、容量に応じて抵抗を介してコンデンサの充電を開始します。静電容量計は、電源を入れるたびにゼロ校正を行いますので、電源を入れたときは、測定接点にコンデンサを接続しないでください。また、すべてのコンデンサは事前に放電する必要があります。
<図>
精度は+/-数パーセントで、主に使用する抵抗の許容誤差と電源電圧の安定性に依存します。
最後に、デバイス全体が適切なボックスに収納されており、ラボのもう1つの便利なツールです。
コード
Arduinoコード C / C ++
#include LiquidCrystal lcd(12、11、5、4、3、2); // RS、E、D4、D5、D6、D7void setup(){lcd.begin(16、2 ); // LCD 16X2 pinMode(A0、INPUT);} unsigned long time0、time1、time2; float c、null0; byte kn、mk、i; void loop(){lcd.setCursor(15,0); lcd.print( "*"); if(mk ==0){pinMode(8、OUTPUT); pinMode(7、INPUT); digitalWrite(8、HIGH); } if(mk ==1){pinMode(7、OUTPUT); pinMode(8、INPUT); digitalWrite(7、HIGH); } time0 =micros(); while(analogRead(A0)<644){time2 =micros()-time0; if(time2> =1000000 &&mk ==0){mk =1; time0 =100000000;壊す; }} time1 =micros()-time0; while(analogRead(A0)> 0){pinMode(7、OUTPUT); pinMode(8、OUTPUT); digitalWrite(7、LOW); digitalWrite(8、LOW); } if(mk ==1 &&time1 <1000){mk =0; } lcd.setCursor(1,0); c =time1; c =c / 1000-null0; c =abs(c); if(time1> =10000000){lcd.setCursor(1,0); lcd.print( "TEST uF"); } else {lcd.print(c); if(mk ==0){lcd.print( "nF"); } if(mk ==1){lcd.print( "uF"); }} if(i ==0){i ++; null0 =c + 0.02; } delay(100);}
回路図