アクアリウム一覧

Arduino-2074通信成功

 扱いやすいように、台付きのブレッドボードに組み替えて、Arduinoもnanoにして作り直し。昨日までは、コマンドの送信ができても受信が上手く行かず、プロアナ見ながらタイミングを調整していた。
 で、本日なんとか、流速とモータ回転数が取得できるようになりましたとさ。次はXBeeとの接続だが、ハードウェアUARTが1個しか無いのでArduinoMegaで行こうと思います。


追加のLTC485が届いたので

 今日は夕方雨の天気予報だったので公共交通機関にて出社。4月だからか人がいっぱいで嫌になる。ので、社バスは使わずに歩いた。
 そして3時間残業した帰宅時間には雨は降っていない状態。遅くなると、電車の駅から自宅までバスが少なくなる。終バスは22:05という路線だ。腹立たしい。
 で、それでも悔しいので帰宅後ちょっと半田付け。オーディオジャック。そして本日追加で届いたLTC485の回路をミニブレッドボードに起こしてArduinoと繋ぐ。(日中に受け取ってくれたツレに感謝)。遅く帰る事が多いとツレの精神状態への影響が気になる。

.
 今日はこのあたりで時間切れ。ソフトを作る暇も気力もなし。プロトタイプとしてpachubeに流速とモータ回転数をアップしようと思っていたのだが・・・。この時間のなさのやるせなさが腹立たしくて厳しい。早起きしかないかな?


2074とRS485接続成功

 朝、LTC485が届いたので、早速ブレッドボードに挿してUSBを接続。あれ?PC側にcomポートが出てこない。と思ったら、LTC485がアッチッチ。即座に電源落として回路をみたら、VCCとGNDが逆じゃん。正しく直して再挑戦。あれ?また駄目?実は純正品では485チップのRE#とFT232のPWREN#が繋がってる。参考回路だと485のRE#はDEと一緒にFT232のTXDENに接続されてるのでそうしてたのだった。
 純正品と同じように接続したら、純正品と同じように動作しました。ふぅ、一安心。

安価なロジックアナライザも手に入れたので、観てみました。

ZEROPLUS LAP-C 16064

 良い感じ。でも、メーカーサイトに落ちてる様で、「今なら20個無料」のプロトコル追加ができない。UARTとI2CとSPIは標準装備だから使えてるけど。USB1.1, SPI Plus, LCD12864, LCD1602, IRDA, JTAG 2.0, 1-WIRE, 3-WIRE,CAN 2.0Bあたりは追加しておきたいかな。


ブレッドボード工作 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した似非ソースは去年作成してほっぽってあるのだった。


金魚水槽の外部フィルター掃除

 やらないといかんなーと思いつつ早半年。都合、このフィルターを設置から1年くらい。本日やっと掃除しました。今回掃除のきっかけは、水流が落ちてたから。このEHEIMの外部フィルタPro3E2074はPCと接続して水流を見たり変更をしたりができるのです。
 で、最初は粗めフィルタだけ洗って戻してみたのだが、入りの流れが良くなった所為か水槽にゴミが吹き出した(苦笑)。さらに、エーハイム君はエラーを表示してるし。どうも水循環の経路に負荷が掛かっているようで。このフィルターはこういうのまでセンサーで感知してくれるので助かる。すったもんだした挙句、やっぱフィルターを全検査してみたら、ウールフィルターが泥ででろんでろんになってました。これを新品に取り替えて再セットアップしたらエラーも解除。水流の量も作業前の倍に戻りました。
 で、こりゃ水流量をモニター出来る仕組みをつくらんとイカンなと。PCと接続すれば見られますが、都度確認するのも面倒。FTDIのUSBシリアルチップを使ってる様なので、これから「4020740-EHEIM Interface」のケーブルを解析します。エーハイム外部フィルター<->ATmega&XBee<->mbed<->Pachubeを目指します。
そういえばこのケーブル、45ユーロもしたのだった。