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

Arduino用の絶縁アナログ入力

コンポーネントと消耗品

>
抵抗100kオーム
±1%金属フィルム
× 2
Arduino UNO
× 1
Texas Instruments LM331
× 1
LM7808
× 1
抵抗3.3kオーム
±1%金属フィルム
× 1
抵抗器270オーム
±1%金属フィルム
× 1
抵抗47オーム
× 1
抵抗器12kオーム
±1%金属フィルム
× 1
抵抗6.8kオーム
±1%金属フィルム
× 1
抵抗10kオーム
× 1
抵抗330オーム
× 1
抵抗220オーム
× 1
マルチターン高精度ポテンショメータ5kオーム
× 1
コンデンサ100nF
マイラータイプ
× 1
コンデンサ10nF
マイラータイプ
× 1
コンデンサ1MF
マイラータイプ
× 1
コンデンサ100nF
× 1
コンデンサ4.7µF
× 1
コンデンサ220µF
× 1
ダイオード1N4001
× 4
4N25オプトアイソレーター
× 1

必要なツールとマシン

>
はんだごて(汎用)

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

フィールドセンサーからの信号は、電力サージ、落雷、またはその他のEMI(電磁干渉)ソースによって生成されるノイズ、および接地電位差の影響を受ける可能性があります。これらの問題のほとんどを回避する1つの方法は、フィールドから完全に分離することです。

入力センサーを絶縁するには、フィールドデバイスと絶縁自体を実現する回路に電力を供給するための別個の電源が必要になります。

詳細については、私のブログに公開されている投稿をご覧ください:http://ardupiclab.blogspot.it/。

コード

  • Arduinoのインターフェースとプログラム
Arduinoインターフェースとプログラム Arduino
Arduinoは2つの方法で周波数を測定できます:
•pulsein()関数を使用した周期測定。
•特別なライブラリを使用した、CPUタイマー/カウンターを使用した周波数測定。
最初のメソッドは、マイクロ秒の分解能で信号のHIGH時間とLOW時間を測定するために、関数pulsein()の2倍を使用します。 2つの測定値の合計が信号の周期です。 5kHz信号の場合、周期は200 µs =HIGH時間+ LOW時間=125 + 75 µsです。時間分解能は比較的低く、測定の精度はプログラム命令の時間にも影響されます。
この方法の良い面は、測定周期よりわずかに速い測定速度です。不利な点として、精度が低いことに加えて、電力網のノイズ(50または60Hz)に最も敏感です。
これらの理由から、私は周期に関して周波数測定を好みます。測定時間は長くなりますが、より高い精度と正確なサンプリング時間が得られます。また、電力網の倍数の測定周期を選択することで、優れた耐ノイズ性を発揮します。
Martin Nawrath KHMLAB3のFreqCounterライブラリを使用しています。
http://interface.khm.de/wp-content/uploads/2009/01/FreqCounter_1_12.zip
このライブラリは、T1 / PD5 / digitalPin5の立ち上がりエッジでパルスをカウントするためにTimer / Counter1を使用し、1msの割り込みでゲートタイムを生成するためにTimer / Counter2を使用します。
50または60メインサイクルの期間でカウントを仲介するために、1000ミリ秒に等しいゲート時間を選択しました。この場合、ArduinoUnoの5倍の解像度が得られます。
 #include  void setup(){Serial.begin(9600); //シリアルポートに接続しますSerial.println( "Optoisolated analog input");} long int frq; void loop(){FreqCounter ::f_comp =0; //補正を0に設定しますFreqCounter ::start(1000); //ゲートタイム1000msでカウントを開始しますwhile(FreqCounter ::f_ready ==0)//カウンターの準備ができるまで待ちますfrq =FreqCounter ::f_freq; //結果を読み取りますSerial.println(frq); //結果を出力delay(100);} 

回路図

この回路は、約20mV〜5Vの入力電圧または4〜20 mAの電流(ジャンパーW1が挿入されている場合)を受け入れます。並列の2つの抵抗R2とR3は、4mAから20mAの電流入力に対して1Vから5Vになるように、約250オームの値を与えます。
回路をArduinoUnoに接続するには、3本のワイヤーと抵抗が必要です。オプトカプラーの出力は、Arduinoの+ 5Vに接続されたプルアップ2.2k抵抗でデジタル入力D5に接続する必要があります。
10Vの入力範囲が必要な場合は、15Vの電源が必要なので、7808レギュレータを7815に変更する必要があります。トランスT1もセンサーに電力を供給する必要があるため、適切な電圧と電力が必要です。トリマーP1は、約1kHz / Vの変換係数が得られるように調整する必要があります。

製造プロセス

  1. 喉の渇き警報プラント警報
  2. Nokia 5110LCDのDIYシンプル20kHzArduinoオシロスコープ
  3. スマートブラインド
  4. イタリア語の単語時計
  5. 4x3キーパッドのピンは3つだけ
  6. SigfoxkWhメーター
  7. Bluetooth温度モニター
  8. ジェスチャー制御ロック
  9. コンパニオンIC
  10. USBMIDIアダプター
  11. ArduinoNanoおよびI2COLEDディスプレイを備えたArduboyクローン