dポイントプレゼントキャンペーン実施中!

ある機械にarduinoを接続し、機械の動作1サイクルごとにarduinoにプログラムを実行させたいと思っています。
その機械は1サイクルごとに直流24Vの電流が一定時間出力される(もちろん1サイクルよりは短い時間です)ようになっています。
その24Vの信号をarduinoに入力してその信号をきっかけにプログラムを実行させたいのですが、この場合は24Vを5Vに変換する必要がありますが、この変換は抵抗分圧で行えばよいのでしょうか?
ちなみに
24V→R1→R2→GNDとするとして、R1=1.8KΩ R2=470ΩとすればR1、R2の間から得られる電圧が4.96Vとなり約5Vとなります。

単に電圧を下げるという目的なら他にも
レギュレータを使う
ダイオードを使う
などの方法も考えられるのですが、今回のような場合には抵抗分圧がベストなのでしょうか?

A 回答 (2件)

機械側のGNDがノイズだらけなら回答NO.1のようなフォトカップラーを使った方が良いと思います。



① 機械側のGNDノイズがそんなに多くない場合は添付図のようにトランジスタでインターフェースするのが一般的です。
Arduino 側のVccの値が多少変動しても添付のような構成のI/Fにしておけば誤動作も防げます。
② 機械側とArduino側のGNDは電源近くで結線するようにしてGNDの共通インピーダンスが発生をしないようにすれば機械側のGND電流に大きな変動があってもArduino 側のGNDへの悪影響は防止できます。

尚、添付図で使用するNPNトランジスタはICmaxが200mA程度の小信号トランジスタであれば何でもOKです。
「マイコン(arduino)への入力信号の」の回答画像2
    • good
    • 1

抵抗分割でも可能ですがいくつか問題があります。


★まずコモンモードノイズの問題。24V回路のGND側がarduinoのGNDに接続されるのでノイズなどの迷走電流が流れる恐れがあります。これによる装置の誤作動や破壊の有無を検討しておく必要があります。
★一般に半導体回路は ON・OFFの遷移時間が急峻でないと誤作動します。またチャタリングがあっても誤作動します。そのためチャタリング防止回路と遷移を急峻にするためのシュミットトリガー回路を通すのですがarduino側にはこの対策がしてありますか?
★意外な盲点になるのがarduinoの電源がOFFの時です。この時に24Vが加わると最大で 24V÷1.8KΩ=13.3mA の電流が流れる可能性があります。またこの電流のためにarduinoの電源電圧が5V以上に高くなることがあります。arduinoにはこの対策がされていますか?

このような問題があるので一般的にはフォトカプラーを使います。回路例を添付しておきます。
フォトカプラーを使うと一次側(24V側)と二次側(arduino側)が絶縁されるのでコモンモードノイズや電源OFF時の問題は生じません。
33KΩと0.1μはチャタリングを軽減するためのものですがチャタリングが激しいならもっと時定数を長くします。後続のバッファは必ずシュミットトリガーを使ってください。シュミットでないとON・OFFの遷移時間がゆっくりになって誤作動することがあります。

インターフェイスは色々な条件を考えておかないと誤動作だけでなくデバイスを壊したり甚だしい場合は感電・漏電を生じるなどかなり難しいです。ご不明な点は補足をしてください。
「マイコン(arduino)への入力信号の」の回答画像1
    • good
    • 8

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!