土壌水分計の自作 その2 コンデンサ容量測定
Arduinoによるコンデンサ容量測定
最終的には土壌の誘電率を測定するのですが、その前にコンデンサの容量を測定して理論値との比較を行いたいと思います。
並行板コンデンサ容量Cは誘電率ε、電極間距離d、電極面積Sを用いてと表されるため、コンデンサの容量がわかれば誘電率が分かるのです。
まずはステップ入力を切り替え(5V→0V→5V→0V→)て行うこと考えていきたいと思います。
RCローパスフィルタにステップ入力を入れたときのコンデンサ容量
下記のような回路について、Arduino 2PINにVで周期60秒のステップ入力をかけ、Arduino A5PINの電圧を測定します。この回路に関して下記の式が成り立ちます。
この式をコンデンサ容量Cについて解くと時間tを用いて下記の式が成り立ちます。
ただし、交流のような挙動を再現するには回路図のGNDを0,5Vに入れ替える必要があるので気を付けて下さい。
次の記事では交流のような挙動を再現しています。
gypsophilarupi.hatenablog.com
Arduinoのソースコード
シリアルモニタに測定した電圧と時間を表示するソースコードは下記の通りです。
コンデンサ容量はexcelを用いて計算しました。
const int PIN_ANALOG_INPUT = 5; const int PIN_DIGITAL_OUTPUT = 2; int t = 1; int Capacitor = 0; void setup() { Serial.begin(115200); } void loop() { int i = analogRead( PIN_ANALOG_INPUT ); float CapacitorVolt = i * 5.0 / 1023.0; Serial.print( CapacitorVolt); Serial.print(","); Serial.print( millis()); Serial.println(); pinMode(PIN_DIGITAL_OUTPUT, OUTPUT); if(millis()/60000==t){ if(t%2==1){ digitalWrite(PIN_DIGITAL_OUTPUT,HIGH); }else{ digitalWrite(PIN_DIGITAL_OUTPUT,LOW); } t=t+1; } delay( 100 ); }