Arduino用の絶縁アナログ入力
コンポーネントと消耗品
> | | × | 2 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 4 | |
| | × | 1 | |
アプリとオンラインサービス
> | | |
このプロジェクトについて
フィールドセンサーからの信号は、電力サージ、落雷、またはその他のEMI(電磁干渉)ソースによって生成されるノイズ、および接地電位差の影響を受ける可能性があります。これらの問題のほとんどを回避する1つの方法は、フィールドから完全に分離することです。
入力センサーを絶縁するには、フィールドデバイスと絶縁自体を実現する回路に電力を供給するための別個の電源が必要になります。
詳細については、私のブログに公開されている投稿をご覧ください:http://ardupiclab.blogspot.it/。
コード
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の変換係数が得られるように調整する必要があります。