這是個MAX485晶片所組成的RS-485模組,方便我們使用。
RS485是一種優秀的通訊機制,可以進行長距離傳送、穩定可靠,
據說波音飛機上就使用這種機制當作控制用的通訊。
根據 MAX485 的 datasheet,可以看到基本的點對點通訊是這樣連接的。
其中的控制接腳 RE 與 DE 分別代表 接收 與 發送 的信號方向切換。
我們在實際操作的時候,會將 RE 與 DE 相連在一起由一個 IO 信號去切換通訊。
也就是像這樣連接:
旁邊那顆 limit switch 是用來手動切換電位的。
如果多機通訊,可以有這樣的連接方式
如圖所示可以做成多機通訊模式。
為了簡化系統,我們設定某一台為主機,其他為從機。
主機的 RE 與 DE 預設電位為 High ,發完訊號後切為 Low 等待從機回應。
從機的 RE 與 DE 預設電位為 Low ,
收到信號後與機碼核對是不是給自己的訊息,確認後切為 High 後發送。
根據這樣的方式,將模組和線路布置在麵包板上
然後每一個 MAX485 的模組都接上 CP2102 來讀取訊號或發送。
通訊實驗的結果如下:
主機發送了 "Host" 這個字串,三隻從機都有收到。
把主機按鈕壓下,使得RE和DE電位成為Low,成為接收模式。
同時從機第一號按鈕也壓著,使得RE和DE電位成為High,成為發送模式。
從機一號發送字串 " Slave1" 使得所有通訊端都能收到。
同理,控制主機和從機的發送與接受切換,就可以像這樣自由的互相通訊。
之後正式的多機通訊,則必須使用單晶片做通訊切換。
0 意見:
張貼留言