TOP  >  なーお'nぶろぐ  >  なーお  >  マイコン  >  mbed LPC1114 x 3台 RS485 PLC通信テスト

なーお さんの日記

 
2014
7月 13
(日)
19:28
mbed LPC1114 x 3台 RS485 PLC通信テスト
本文

mbedで色んなことが簡単に出来るだろうことはわかったけど、遊びと勉強ばかりでは面白くないので、仕事に何か応用できないかと考えた。

そこでこの時にVB.netで作ったRS485通信のPC内シミュレータを、mbed LPC1114に移植できれば複数台の通信確認が取れるなと考えて、RS485通信トランシーバIC (TE)SN75176BP とブレッドボードその他を購入しやってみました。 :-)

今回は、3台分の機器側に成りすますシミュレータをブレッドボード上に配線します。 ブレッドボード上に1台ずつ、計3枚の普通のブレッドボードが必要。

  • 購入部品 (LED、抵抗、配線材などは手持ち品を流用)
    名称型番購入先数量単価(税抜)
    普通のブレッドボードEIC-801スイッチサイエンス3枚257円(税込)
    mbed対応マイコンLPC1114-FN28
    生産中止(?)品
    秋月電子通商3個120円
    RS485/RS422トランシーバIC(TE)SN75176BP秋月電子通商3個80円
    ディップSW5P秋月電子通商3個60円
    タクトSW各色秋月電子通商3個10円
  • 配線図
    • 電源はトラ技ライタ経由USBから取る。
    • ディップSWで局番(今回は1~3)設定可能とする。
    • SN75176BPのDE端子は、機器1台なら3.3V印加しておくだけでOKだが、機器2台以上マルチドロップの場合は、マスタからのコマンドに返信するとき以外はバスを解放する必要があるため、マイコンのdp4を返信直前にHigh、返信後20msec後にLowとするソフト処理を行う。
      • マイコン側は3.3Vなのでこのままで良いか不安もあったけど動いてるから大丈夫?
      • マスタ側ソフトは、このディレイ時間20ms分の待ちが必要。
      • この信号のHighの時に赤LEDを点灯させる。
    • RS485バスラインのプルアップ抵抗(R5)、プルダウン抵抗(R6)の抵抗値は、実際の路線長で決める必要があると思うのだけど、今回はテストなので小さ目の抵抗を入れてみた。
    • 生存確認用にLED1を点滅。 UARTポートと共に割り込みプログラムとする。
t_0009cd62ac2a8703e7120df606673547f5.jpg
  • プログラム
    • 今回は、仕事の秘匿義務の兼ね合いもあるので非公開です。すみません。
    • コーディング・デバグは、ある程度の段階でmbedオンラインコンパイラからエクスポートして、μVision4にて行いました
  • 配線状況
    テストなのでヒドイ状態ですね。(汗)
    t_01caef4c3292453d4463c7fe409610ba41.jpg
    下記動画の際には少しだけ整理しました。
  • 動画
    PLC側のテスト画面と共に映してみました。ボーレートは38,800bps。
    機器1→機器2→機器3と通信先を切り替えてサイクリックに通信します。 機器側が受信し送信中に赤LEDが点灯します。 1回のコマンドで1点灯で、点滅回数分のコマンドを処理しています。


 今後も仕事で通信案件が来た時には、こんな感じでシミュレータを作って事前テストするですね。 部品単価が安いので、USB/RS485コンバーターを買うよりずっと安価にできますし。 :-D

 ここまでテストばっかりやってきたけど、そろそろ実際に動かす何かを作るかなあ。。 :roll:

閲覧(20890)

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ