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

Arduino用絶縁アナログ入力回路の設計:LM331 V-F変換+フォトカプラでノイズ耐性を確保

プロジェクト背景

産業現場や屋外センサーでは、サージ・雷サージ・EMI・アース電位差などにより、Arduinoのアナログ入力が破損したり誤読み取りしたりするリスクがあります。本プロジェクトでは、電圧-周波数変換 (V-F変換) IC「LM331」とフォトカプラ「4N25」で完全絶縁し、周波数信号としてArduinoへ安全に取り込む回路を設計・実装しました。

必要な部品

部品数量仕様・備考
LM331 (V-Fコンバーター)1TI製、精度良好
4N25 (フォトカプラ)1出力側オープンコレクタ
LM7808 (8Vレギュレーター)1フィールド側電源生成
マルチターンポテンショメーター 5kΩ1スケール調整用
ダイオード 1N40014整流・保護
各種抵抗・コンデンサ1式精密抵抗(±1% 金属皮膜)推奨
Arduino UNO1周波数カウント用

回路構成と動作原理

入力段

V-F変換部 (LM331)

入力電圧に比例した周波数(約 1kHz/V に調整)のパルス列を出力。LM331の出力はオープンコレクタで、プルアップ抵抗を介してフォトカプラLED側へ駆動。

絶縁部 (4N25)

電源分離

トランスT1の2次側から LM7808 で 8V 生成し、LM331・センサー駆動・フォトカプラLED側に供給。Arduino側はUSBまたは別電源で完全分離。

Arduino用絶縁アナログ入力回路の設計:LM331 V-F変換+フォトカプラでノイズ耐性を確保
絶縁アナログ入力回路図(クリックで拡大)

Arduino側周波数測定

Martin Nawrath氏の FreqCounter ライブラリを使用。Timer1でパルスカウント、Timer2でゲートタイム生成(1ms割り込み)。ゲートタイム 1000ms (1秒) とすることで、商用電源50/60Hzノイズを平均化し、実効分解能をUno標準の5倍(約0.2Hz相当)に向上。

#include <FreqCounter.h>

void setup() {
  Serial.begin(9600);
  Serial.println("Optoisolated analog input");
}

long int frq;

void loop() {
  FreqCounter::f_comp = 0;          // 補正なし
  FreqCounter::start(1000);         // 1000msゲート
  while (FreqCounter::f_ready == 0); // 完了待ち
  frq = FreqCounter::f_freq;        // 周波数取得
  Serial.println(frq);              // 出力
  delay(100);
}

測定方式の比較

方式分解能測定速度ノイズ耐性備考
パルス幅測定 (pulseIn)低 (μs単位)高速 (~周期)低 (50/60Hzに敏感)HIGH/LOW幅を足して周期算出
周波数カウント (FreqCounter)高 (1秒で1カウント)低速 (ゲートタイム依存)高 (ゲート=商用周期整数倍で除去)精密測定向け、本採用方式

調整手順

  1. 既知の電圧源(例: 1.000V)を入力
  2. ポテンショメーターP1を調整し、周波数カウントが 1000Hz 付近になるよう合わせる(1kHz/V)
  3. 複数点(0.5V, 2.5V, 5.0V)で直線性確認
  4. 電流入力モード時は、4mA→1kHz, 20mA→5kHz となるよう確認

拡張・応用

参考資料

詳細な設計ノート・実装記録はブログ記事 ardupiclab.blogspot.it に掲載。

製造プロセス

  1. スマート渇きアラート植物アラーム – 最適な水やりタイミングを知らせるDIYセンサー
  2. Arduino Nanoで20kHzオシロスコープを自作:Nokia 5110 LCD搭載・簡易DIYガイド
  3. スマートブラインド:Arduinoとソーラー電源で実現する自動光制御
  4. イタリア語ワードクロック自作:Arduino Nano、NeoPixel、LCD、RTCで時刻を文字で表示
  5. アナログ3ピンで4×3キーパッドを接続 - Arduinoピン節約テクニック
  6. Arduino MKR Fox 1200で作る信頼性の高いSigfox kWhメーター
  7. Bluetooth対応温度モニター:Arduino NanoとHC-06でスマホ監視
  8. 非接触ジェスチャー錠: APDS-9960とArduinoでセキュアアクセス
  9. Arduino Nanoコンパニオンキット – 電子工作に必須の部品とツールを搭載した多機能IC型デバイス
  10. Arduino Micro/Leonardo用 USB-MIDIアダプタキット – 完全パーツリストと実装ガイド
  11. クレジットカードサイズのArduboyクローンをArduino NanoとI2C OLEDで自作する