2012年04月14日一覧

ブレッドボード工作 RS485編

 RS485ドライバチップが届いたら即テスト出来るようにブレッドボードで工作。

.

エーハイム純正ケーブル互換回路


.
 【注意】上の画像はLTC485CN8へのVCCとGNDが逆です。8番(緑のワイヤ)VCC、5番(グレイのワイヤ)GNDが正解。
1点目は、ばらしたエーハイムの純正USBケーブルの互換回路。USBシリアルは秋月のAE-UM232Rなので楽チン。LTC485CN8がささるべき場所にはNE555を差してみたw。サイズ一緒だし、1個20円だし。本番では忘れずに入れ替えますが。

.

Arduino水槽フィルターセンサーwithXBeeのプロトタイプ


.
2点目は、本題となるArduinoによるエーハイムの水槽外部フィルターのモニターおよび制御です。主に流速モニターを予定。mbedのマスターコントローラから呼ばれたら現在の流速を返す感じ。Arduinoのソフトはまだ何も作ってません。コマンドとレスポンスの解析と上記1点目の動作確認ができてからですかね。1点懸念点があって、ArduinoのハードウエアUARTをXbeeにつないでるので、RS485はソフトウエアシリアルになります。115200bps(エーハイム通信の速度)に耐えられるだろうか?駄目ならmbedに繋ぐか、ATmegaを2つで分業してi2cかSPIかソフトシリアルで会話させるって手かな?ATmega複数間のコラボはやったこと無いからやってみたいかも。

.

20120414改


【追記】動作のモニターが出来るように、SoftwareSerialをもう一つ増設して秋月USBシリアル変換基板に接続しました。RS485のテスト用プログラムは右下にいるArduino promini 5V版に書き込み済みです。LTC485CN8は大阪から移動中です。秋葉に行けばあったかもしれんが、もう、今の秋葉は勝手がわからないから探すのが面倒。


4020740-EHEIM Interfaceケーブル 解析中

 エーハイムの外部フィルターとPCをUSB接続するケーブルを解析してます。
 PC側でCOMポートのモニターソフトを使ってコマンド送ったら、レスポンスが来るのはわかっていた。ただ、送ったコマンドもそのまま返ってくるのでエコーバックがあるのかなぁ?なんて考えてました。
 外部フィルター2074側の接続を確認するべく、

エーハイムケーブル通信モニター


こんなんを作成して通信モニター。しかし、なーんか妙。USB側からコマンド文字列を送ってもなんか化ける。フィルター側からのレスポンスはUSB側で受信出来るデータと違うし。何か暗号化ちっくな回路でも挟まってるのかな?とか思いつつ。
.
 で、手詰まってしまったので、思い切って純正ケーブルを開腹しました。

開腹後のガワ


 ネジとかで止まってないので、カッターで切り目をつけて無理やり開けると、中に白いケースが。こいつの中に肝心の基板があるんだが、樹脂で貼り付けられてて取るのに苦労した。

やっと出てきた基板


.
 取り出したものの、真ん中のチップはUSBシリアル変換として右上の8pinはなんだべ?USB-シリアル変換はドライバがFTDI製なので、FTDIのツールを使うとFT232BMらしい事は分かった。導通を調べたら、USBのD+ D-は正しくFT232BMにつながってる。謎の8pinチップの1番と4番にFT232BMのRX/TXが繋がって、反対側の6番と7番はフィルターへのステレオピンプラグにつながっている。FT232BMのデータシートを見ていると、基板にのってる抵抗とか値がおなじだなぁと思いつつ一つの回路図に目が止まった。これかも?それは「USB <=> RS485 Converter Configuration」。実基板上のフィルター側のデータ2線も回路図通り120Ωでターミネートしてるし。そっかRS485かぁ。ってRS485の事を知らなかったのでグーグル先生でいろいろ調べました。最初のブレッドボード製通信モニターで上手く取れなかった理由がわかった気がする。差動信号で半二重だったのか。
 で、パーツ屋さんにRS485ドライバICを発注中です。届くまではPC側でコマンド解析してよう。エーハイムの専用ソフトをdiscompileした似非ソースは去年作成してほっぽってあるのだった。