工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

自動レンジ切替対応 静電容量メーター (10pF〜10µF) - Arduino Nano で簡単自作

必要な部品

部品名 数量
Arduino Nano R3 1
抵抗 10kΩ 1
抵抗 1kΩ 1
抵抗 1MΩ 1
英数字 LCD 16x2 1
単回転ポテンショメータ 10kΩ (LCD コントラスト用) 1

必要な工具

使用ソフトウェア

プロジェクト概要

一般的な安価なデジタルマルチメーター (DMM) では静電容量を測れません。高価な上位機種や専用モジュールを買う代わりに、Arduino でオートレンジ機能付き静電容量メーターを自作します。測定範囲は 10pF 〜 10,000µF (10mF)。

測定原理

既知の抵抗 (R) と未知のコンデンサ (C) で RC 回路を構成し、コンデンサ電圧が満充電電圧の一定割合 (時定数 τ = R×C) に達するまでの時間を測定。R が既知なので C を算出。充電用抵抗を容量に応じて切り替え (1kΩ/10kΩ/1MΩ 等)、オートレンジを実現。

動作フロー

  1. 起動時ゼロ校正: 電源投入時に測定端子をオープンにし、寄生容量をオフセットとして記憶
  2. 測定開始: 対象コンデンサを接続 (事前に放電必須)
  3. 内部でレンジ判定: まず nF レンジ (高抵抗) で充電時間測定。時間が長すぎれば µF レンジ (低抵抗) に切り替え再測定
  4. 結果表示: LCD に「XXX nF」または「XXX µF」で表示

精度と注意点

自動レンジ切替対応 静電容量メーター (10pF〜10µF) - Arduino Nano で簡単自作

ソースコード

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7

void setup() {
  lcd.begin(16, 2);
  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) {        // nF レンジ (高抵抗側充電)
    pinMode(8, OUTPUT);
    pinMode(7, INPUT);
    digitalWrite(8, HIGH);
  }
  if (mk == 1) {        // µF レンジ (低抵抗側充電)
    pinMode(7, OUTPUT);
    pinMode(8, INPUT);
    digitalWrite(7, HIGH);
  }

  time0 = micros();
  while (analogRead(A0) < 644) {  // 約 3.14V (5V の 63.2% ≈ 1τ)
    time2 = micros() - time0;
    if (time2 >= 1000000 && mk == 0) { // 1秒超なら µF レンジへ
      mk = 1;
      time0 = 100000000;
      break;
    }
  }
  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; // 短ければ nF レンジに戻す

  lcd.setCursor(1, 0);
  c = time1;
  c = c / 1000 - null0; // µs→ms 変換 & ゼロ校正
  c = abs(c);

  if (time1 >= 10000000) {
    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);
}

回路図

自動レンジ切替対応 静電容量メーター (10pF〜10µF) - Arduino Nano で簡単自作

シンプルな構成: Arduino ピン 7,8 で充電抵抗を切り替え、A0 で電圧監視。LCD は 4bit モード接続。

製造プロセス

  1. スマート渇きアラート植物アラーム – 最適な水やりタイミングを知らせるDIYセンサー
  2. Arduino Nanoで20kHzオシロスコープを自作:Nokia 5110 LCD搭載・簡易DIYガイド
  3. DIY ADXL335地震検知器 - 低消費電力3軸加速度センサープロジェクト
  4. イタリア語ワードクロック自作:Arduino Nano、NeoPixel、LCD、RTCで時刻を文字で表示
  5. Arduinoでシンプルな障害物センサーを自作 – IR LEDとフォトダイオード入門
  6. Arduino MKR Fox 1200で作る信頼性の高いSigfox kWhメーター
  7. Arduino Nanoで作る高周波対応周波数カウンター – 6.5MHzまで測定可能
  8. Bluetooth対応温度モニター:Arduino NanoとHC-06でスマホ監視
  9. 非接触ジェスチャー錠: APDS-9960とArduinoでセキュアアクセス
  10. Arduino用絶縁アナログ入力回路の設計:LM331 V-F変換+フォトカプラでノイズ耐性を確保
  11. Arduino UNOで作る精密反応速度テスター