○ シリアル通信をフォトカプラで絶縁する

パソコンのUSBをシリアル通信(TTLレベル)に変換するモジュールを使用します。
シリアル変換モジュール 低価格ですがちゃんとした作りで気に入っています。
まずは、シリアル通信モジュールと、USB端子を持たない Arduino Pro-Mini を直接接続します。
Arduino デジタルピンNo.0 の RXD を シリアル通信モジュールの TXD に接続
Arduino デジタルピンNo.1 の TXD を シリアル通信モジュールの RXD に接続
これによりArduinoとパソコンでシリアル通信ができます。
ただしプログラムの書き換えは出来ません。プログラムの書き換えはこちら

ProMiniでは左から1番0番となっており、他とは順番が違うようです。
■ フォトカプラを間に入れる
フォトカプラーはこちらで調べた物を使用します。
まず、このシリアル通信のTTL出力ではデータが反転されていて何もデータが無い時は+が出力されて、データが来ると-が出力されます。
フォトカプラの寿命の観点から出力側とVCC側で接続して送信以外では点灯しないようにします。
▼ TXD → RXD へ接続する回路図

この回路図を元に ArduinoのTXD → 通信モジュールのRXD を改造しました。
直接接続した場合と同様に9600bpsでは通信できました。

同様に RXD → TXD 側も接続しました。
電源を別に用意することによりArduinoとパソコンを絶縁できます。

▼機器の後付け絶縁
同様の方法でArduinoNanoを絶縁しました。
強引に表側の端子にフォトカプラをとりつけました。

デジタルピン0、1番とGND 5V にアクセスできればフォトカプラを取り付けられます。
それにより、USB側でも通信出来て、フォトカプラ側でも通信できるようになります。
改造したArduinoNanoを絶縁したい機器に接続し、電源を別に用意してUSBから給電しました。
フォトカプラ側からパソコンと通信すれば機器とパソコンを絶縁できます。

▼IR LEDとIRレシーバーを使った絶縁
フォトカプラの絶縁性能では足りない事態が起きたため、もっと距離を稼げる絶縁をします。
まずは、赤外線IR LEDダイオード と IRレシーバーダイオード を購入しました。
黒い方がレシーバーで透明がLEDダイオードです。

細かい詳細がわからない部品ですが、
LEDダイオードはこのように記載されていました。
波長:940 nm。 放射距離:7 M
電圧:DC 1.2 - 1.3 V。
レシーバーは情報が少なく、他の部品から推測すると、
放射角30度30度のフォトダイオードを有する赤外線940nm(950nm)受信機
パラメータ:DC 20mA に近い物だと思います。
レシーバーはダイオードと記載されていますが、フォトトランジスタのような気がします。

端子はこのようになっており、送信 → 受信 の回路を作成するとこのようになります。

Arduinoとシリアル変換モジュールを絶縁してみました。

LEDとレシーバーは 4.5cm ほど離しても 9600bpi で通信できるようで、アクリルの透明なロッドや光ファイバを利用すればもっと強力な絶縁ができそうです。

しかし、アクリルの2mmの透明なロッドをLEDの先端に接着して試してみましたが4cmの壁が超えられず距離を離す事が出来ませんでした。
増幅回路を取り付ければいけるのでしょうけれど試していません。
▼ レーザーとフォトダイオードを使った絶縁
もっと距離を稼ぐ為に、 5Vで動作する赤色レーザーモジュール を使う事にしました。
フォトダイオードは、可視光で動作する物ならどれでも良いと思いますが、 シリンダーヘッド フォトダイオード を使用しました。
回路図はこのようになります。

フォトダイオードにレーザー光の赤いドットを正確に当てると、距離を離しても通信できました(9600bpsでしか試していません)

しかし、シリアル変換モジュールに直接レーザーダイオードを接続して使用していた所、1週間ほどでシリアル変換モジュールのCH340が壊れました(Arduinoは無事なようです)
たぶん、レーザーダイオードの駆動電流が大きすぎたのでしょう、トランジスタを使った駆動回路が必要なようです。
▲トップページ
>
マイコンなど