RS232C-RS485変換機

仕事でRS485のコントロールをする必要があったのでRS232C-RS485変換機を製作しました。
市販のものはRS232CのRTS信号で受信と送信を切り替えているのがあり、コントロールする装置の本体側で受信から送信へに切り替えに遅延を持たせないとうまくいかないものがあります。
製作したものは、遅延は最小限になっており、38400のボーレートでも本体側に意識的に遅延を持たせなくともうまく動作することができました。ただし、データは8bitの固定になっています。

●RS232C-RS485変換機の回路図

●回路の説明

RS232Cの信号は専用のドライバ(MAX232または同等品)で受けTTLレベルに変換しています。RS485側の信号は同様に専用ドライバ(MAX485または同等品)でTTLレベルに変換しています。
RS232Cからの信号がないときは、RS485のドライバは受信状態になっており、RS232Cが送信状態になると、PICが送信信号を検出して一定期間ハイレベルの信号を出し、MAX485の状態を送信状態にします。(PICが出力するハイレベル信号の期間はボーレートによって異なります。)
高いボーレート時でも遅れを少なくするためPICの発信として水晶の20Mhzを使用しています。
電源は、外部から入力し3端子レギュレータで+5Vを供給しています。(入力は+8Vから+15V程度はOKです。使用する3端子レギュレータと使用するコンデンサの耐圧によっても変わります。)
(*3端子レギュレータに低ドロップタイプを使用すれば+6V程度からOKと思います。)

●PIC12F675のファームの説明

ファームの動作としては、特にこれといって、特別なことはしていません。
電源が入ったときにショートピン(SW1,SW2)をチェックしボーレートを決定します。
MAX232の送信レベルを検出すると一定期間ハイレベルの信号を出します。
タイミング波形
(ボーレートを変更する場合は、電源をいったんOFFにしショートピンを切り変えてその後、電源を入れてください。)

*注意: 製作したものは、実験室レベルでの近距離の通信で確認しています。RS485の特長の遠距離での通信をする場合は、絶縁タイプの変換機を使用し、また、線路には、サージアブソーバー等のノイズ対策をしたほうがいいと思います。

PIC12F675ファーム


戻る