素子:RS-485(LTC1485)

リニアテクノロジーのRS-485ドライバー「LTC1485」

・長距離データ転送用のドライバー
・2つの機器や機器<->センサー間のケーブル長が長いときに使う
・典型的な接続は
  MPU<->LTC1485<-長いケーブルー>LTC1485<->MPU
・入出力信号レベルは0V<->5V
・ケーブルを流れる信号レベルは電源電圧と同じ
・2つの機器間の電源は共通でなくて良い
 それぞれ別電源が使える。もちろん同じ電源でも良い。
・秋月電子で1個¥300
  低速版の1個¥150のドライバーもある
  2個セットで必要になるので高速動作の必要がなければ安い方を買った方がよい
・ブレッドボード上でも数MHzで安定動作する
・15m程度の電線長では短すぎてテストにならない
 もっと長くないと限界性能はわからない


2009-12-26

実験に使用したRS-485ドライバーはリニアテクノロジーのLTC1485。MAXIMのセカンドソースか?ピン互換性がある。電圧変換機能はないのでRS-232CドライバーICの用に外付けコンデンサは必要ない。

PICT1325.jpg

LTC1485 秋月電子で1個¥300

消費電力は信号の周波数が高ければ大きくなります。

PICT1302.jpg

ドライバーの消費電力。20mA程度流れる。通信用のドライバーは比較的大食い。

デジタル回転計のセンサーが遠距離にある場合を想定して実験。先ずはドライバー無しで。ケーブル長は16m。電線はシールド線だがシールドは宙ぶらりん。ツイストペア線では無い。ドリルの最大回転数1万rpm程度までは問題になりそうもない綺麗な波形。

PICT1314.jpg

ドライバー無しでも動作してしまった。この写真の状態ではブレッドボードに載っている回路は使用されていない。左側が16mの電線。

PICT1318.jpg

3400rpmでの波形は少しなまっているが問題ないレベル

ドライバー無しでも余裕で動作するのであまり意味がないがドライバーを使用して動作確認。当たり前のように動く。

PICT1310.jpg

ドライバー経由で動作確認。中央のPICはこの実験では使用されていない。

回転計動作確認用のドライバー回路図。左側+マークの部品はホールIC「DN6851」。

1番ピン:受信信号出力 MPUに繋ぐ
2番ピン:LOWで受信可、HIGHで受信不可
3番ピン:HIGHで送信可、LOWで送信不可
     送信/受信を2,3番端子で切り替える。
     同時に送受信は出来ないので通常2,3番ピンを接続しMPUに繋ぐ。この回路は一方通行なので電源に直接繋いでしまっている。
4番ピン:送信信号入力 MPUに繋ぐ
5番ピン:電源マイナス
6番ピン:ケーブルへ
7番ピン:ケーブルへ
8番ピン:電源5V

rs485.PNG

120Ωの抵抗を取り去ってしまうと発信してしまいます。

PICT1301.jpg

ドリルの回転数程度では遅すぎるのでPICに方形波を出力するプログラムを書き込んで実験。プログラムは以下の通りシンプルな物。

'---------------------------------
program tenmetsu

symbol PORT_OUTPUT = 0

main:
 TRISB = PORT_OUTPUT

 while( TRUE )
  PORTB.1 = 0
  PORTB.1 = 1
  PORTB.1 = 0
  PORTB.1 = 1
  PORTB.1 = 0
  PORTB.1 = 1
  PORTB.1 = 0
  PORTB.1 = 1
  PORTB.1 = 0
  PORTB.1 = 1
 wend
end.
'---------------------------------

PICT1327.jpg

ドライバーの入力波形。つまりPICのPORTB1の出力波形。2つ有るが上は下の一部を拡大した物。約2.5MHz。

もう少し周波数を高くできそうだ。

PICT1334.jpg

ケーブルの受信端の波形。つまり受信側ドライバーの6,7番ピン間の波形。

PICT1336.jpg

ドライバー受信端1番ピンの波形。当たり前だが入力波形と同じ。

2010-02-14

ケーブルを100m購入したので実験してみた。

PICT1969.jpg

今回は使用していないがシールドの抵抗値は3.27Ω

PICT1972.jpg

電線は100mで12.79Ω

ドライバー受信端の信号。入力信号は以前と全く同じ物。波形を見る限り2.5MHzでは100mが限界と見て良さそうだ。LTC485とLTC1485はケーブルが長いときには性能が同じで、ケーブルが短いときに伝送速度を速くできるのがLTC1485ってことらしい。

PICT1976.jpg

LTC1485の波形。上下の波形は同じ物。下の波形の明るくなっている部分を拡大したのが上の波形。

PICT1977.jpg

LTC485の波形 両者に違いは殆ど見られない。価格差は2倍。

実験風景。基板はOLIMEXで作った。自前のプロトコルならクロックとデータの2本線の方が楽なのでICは片側に2個搭載してある。合計4個。電線も4芯が必要。

PICT1990.jpg

電源は共通。

PICT1982.jpg

受信端の波形、デューティーも狂っていない。ケーブルを流れる信号がノコギリ波でもデジタルに変換すれば元のきれいな波形に戻ってくれる。

電源電圧は5V。負荷が軽ければ(=ケーブルが短ければ)電圧は落ちないが、さすがに100mにもなると信号の振幅は3V程度になる。

PICT1984.jpg

LTC485の波形

PICT1989.jpg

LTC1485の波形。若干振幅(=電圧)が大きいようだ。

ケーブルが長くなると消費電力も大きくなる。信号の有無による消費電力の変化は数mA。電流計の針の振れの差はよく見ていないと判らない。周波数を下げることによって消費電力を抑えようとしてもあまり効果が望めない。

PICT1993.jpg

約40mA

PICT1979.jpg

4個使えば...当然約80mA

今度は2つの信号がシールドケーブル内で相互にどのような影響を受けるのかの実験。使用したケーブルはオヤイデ電気の軟質横巻シールドケーブル。横巻きというのはシールドが網目状になっているのではなく螺旋状に巻いてあるという意味。

PICT1997.jpg

長さは60m。巻いてある影響も受けているはず。

プログラムを書いて信号を送り込む。

PICT2007.jpg

送信側の信号。つまりPICのデジタル信号。これは上下が別々の信号。上がクロックで下がデータのイメージ。上がPORTB.2、下がPORTB.1の出力。

PICT2005.jpg

受信端の信号。LT458の出力信号

ケーブル上の信号波形

PICT2004.jpg

互いに影響を受けているがデジタル変換されると問題ないレベルだが。300kHz程度が安全圏内だろう。1MHzはちょっと速すぎる感じ。

PICT2003.jpg

下側の信号を切ってみた。上側の信号の影響を受けている。

実験回路の回路図。これを2個使用。

scholmx.PNG