RS-485というのは複数のスレーブ機器を接続するときには「マルチドロップ接続」といって1つの信号ラインにぶら下げていきます。
これが便利な場合も確かにあるのですが、いわゆるスター型みたいな別のネットワーク構成にしたいことが多々あります。
結線をそのままスター型に変えてしまうと、不具合が出かねないので一般的には推奨されません。
ただ、リピータというものがあればそれが実現できてしまうというので、実際に作ってみました。
RS-485は送信距離も多いですし2本の電線があればノイズに強い通信できるので今でもよく使われています。
特にFA関係ではまだまだ現役の通信方式です。
私もモジュールを作るときにマイコンで外と通信するときはよく採用していますが、最近作ったモジュールでうまく動かないことがありましたので、備忘録として残しておこうと思います。
ESP32を搭載したモジュールはいくらでも見かけますが、基本的には単にI/Oを引き出したものが多いです。
通信もUARTが直接出ているくらいです。
個人的には通信インターフェースを色々と使いたいのですが、見つかりませんでしたので自作してみました。
以前に絶縁RS-485モジュールを作ったのですが、使っているうちに欠点に気づきました。
「動作確認をするときの電源供給が面倒」ということです。
RS-485で通信するデバイスは12-24Vを供給することが多いのですが、別の電源を繋げないといけないというのがとても不便です。
だったら容量は小さくてもいいから電源供給機能を追加しようということで実際に作ってみました。
RS-485のModbusを仕事でもプライベートでもよく使うようになってきましたが、確認用のフリーソフトは少ない気がします。
なぜか有料が多いんですよね、業界が狭いのでそういうものかもしれませんが。
Modbus/ASCIIであれば、あらゆるシリアルモニタで確認できるのですが、Modbus/RTUはバイナリデータなのでちょっと大変です。
ただの生データを見るだけなら、シリアルモニタでも十分ですが、アドレスやらファンクションコードなどを確認しながら...となってくると面倒くさくなってきますよね。
そこで個人的に直感的で使いやすいModbusのモニタリング用のソフトを紹介したいと思います。(少ないですが...)
マイコン同士の通信にはSPIやI2Cなどいろいろありますが、やっぱりUARTが単純で使いやすい印象です。
それにRS-232CやRS-485が使えるので、ある程度の長距離通信もできます。
RS-485は結構古い通信規格ですが、仕事で産業用ネットワークに触れる機会が多いのでよくRS-485も使います。
それを電子工作でも使えたら面白くね?ってことでいろいろモジュールを試しました。
使ってると、「やっぱり絶縁のがいいよね」ってことで絶縁型のモジュールを自作してしまいました。