このブログを検索

2012/04/30

エーハイム2074モニターXBeeプロトタイプ版

RS485トランシーバを足した程度。

流量とモーター回転数取得

 ArduinoのSoftwareSerialでAPIモードのxbee-arduinoライブラリによるXBee通信ができたので、エーハイムの外部フィルターと無線接続を試してみた。
4/28の実験ブレッドボードにRS485の回路を設置。ハードUARTのRX,TXはRS485に使ってしまうので、USBから電源は取れない。sparkfunのブレッドボード用電源を追加。
ソフトは、ArduinoEthernetで動かしてたヤツのネット部分を外してXBee部分を追加。動作確認用のmbed側はリターンデータの解釈の部分の変更のみ。
で、相変わらずtxとrxを逆に繋いでたりといった凡ミスを経てすぐに動作しました。大したことしてないしね。自分の使い方みたいな少量データならばSoftwareSerialでXBeeを使うのもありですね。UARTでやるのと消費電力的にどれくらい違うですかね?まぁ、Ethernetを使うと消費電力は(マイコン的には)超増えるからどっちがお得かわからんです。
 連休後半の雨の時に、秋月C基板かスイッチサイエンスのXBee対応C基板でハードウエア固定化しますかね。

 で、ATmega644P。こいつで同じ事をする(シリアルは、2つあるUARTを使いますけど)テストもしてみますよ。どうやらArduinoのご先祖のWiringが644Pだったりするのですので情報調査します。

2012/04/29

エアロバイクに乗ろう

もう、お腹が出てみっともない状態になっている自分。
ロードに乗りたくてもジャージはパツンパツンになってしまうし、レーパンはどうだろう?
日が長くなってきているけども、平日に走る事は出来ないので、平日用にエアロバイクを活用しようと思ってます。
できればツレも一緒にダイエットしてくれるといいね。

それを実現するには、PCとキーボード&マウスをエアロバイクの前に設置することだな。iPadとかのタブレット端末で試してみたけど、動画観賞などの受け身の作業なら良いけども、アクションをする作業には向いていない。なので、PC設置するかなあ。

ツレの金魚

 ユーモラスな顔つきの通称「おじさん」です。元々は真っ黒な「青文魚」だったのですが、みるみる黒が抜けてこんな状態に。春なのでマックスくんと入れ替えてみました。自分の水槽はほぼメスのみになりました。ツレの卵から育てた小さい金魚はまだオスメスわからんので。
 自分の金魚は「さくら」と「ウルトラ」の二匹だけになってます。

2012/04/28

2012年の第2三半期の計画

2012年も第1三半期が終わりです。第1三半期でできたことは、

・家庭内電力メータを基板固定化
・金魚水槽カメラ作成&設置
・ベランダ用カメラ作成&設置
・ベランダ用土壌温度&水分系作成&設置
・水槽フィルターモニター作成&設置
・mbedマスターコントローラ作成

と、結構多いですねw。自分が施主なので判断が早いからですね。

で、第2三半期はというと、

・水槽フィルターモニターブラッシュアップ
 モニターだけでなくコントローラも賄う。ATmega328でやるかATmega644にするか決めかねている。前者で抑えておいて、時間があれば後者に移行かな。
・家電コントローラ
  基本IRリモコンや商用電源管理ですね。
・家庭内温度モニター設置
・ベランダ気象台に風センサーと雨センサーを作成&設置。

かな。昨年から検討しているベランダ水やりのマイコン制御はちょっとおいておく。うちの植物博士のツレが言うには水やりのタイミングは微妙みたいなので。
第2三半期は基本的に電気工事士試験の勉強もしないと行けないのでゆるめで行きます。

xbee-arduinoをSoftwareSerialでテスト

 UARTが1つしか無い、ATmega168/328シリーズ。水槽フィルターモニターをXBee経由でコントロールしたいので試してみた。水槽フィルターとの接続は115200bps(フィルター側のファームで固定。いつかバラしたいw。)と高速なのでハードウエアUARTが必要。かたや,xbeeの定番Arduino用ライブラリxbee-arduinoもHardwareSerialが基本。r22の時はNSSに対応してたみたいですが最新は公式対応してない。ので、SoftwareSerial専用にライブラリを書き換えた。書き換えたってもシリアルのオブジェクトを変えただけで、両対応はしてません。
 画像のように親機のmbedからコマンドを送って、それをArduino側で受け取って、何らかのデータを返すパターンでテスト。どうも、コマンドは送られてきて、Arduino本体でも受信できているのだが、返却データがタイムアウトしている。それも親機子機双方で。なんとなく親機のアドレスが上手くとれてなくて、変な相手に返信しようとして双方タイムアウトかなとおもいつつ。プロアナで流れてるXBeeAPIフレームをみてみたら・・・。ビンゴでした。アドレスの最上位16ビットがへんてこな値でした。 何のことはないXBeeのAPIモードのAPIモードの設定が一部違っとるがな。XBeeの設定をX-CTUで直して無事動作。
 さて、UARTが2つあるATmega644も買ってみたのだが、どうしますかね。いわゆるsanguinoをお手製でやるわけですが。ライブラリの改築とか面倒かも。ATmega644はArduinoのデフォルト想定CPUファミリーとはちと違うのでねぇ。

2012/04/26

中華パッドGET


 流行?の中華パッドを手に入れました。ICS4.03のonda vi10 eliteです。ほぼ諭吉1枚。まずはフォントがいわゆる「中華フォント」だったので入れ替えました。あとantivirusはavast!をお試しで。その他ソフトはGooglePlayからN06Cで使っているものを投入。でもICSの為か、端末名の為か和製ソフトは入らないのが多いです。

2012/04/22

エーハイム2074シールド

 ArduinoEthernetでプログラム調整をした。無事にPachubeへのポストまでは完了。RS485の通信安定化対策も効いている。安定化対策ってもコマンドに対するレスポンスにタイムアウトを設定できるようにしただけだ。

 回路が安定してるので、ブレッドーボードから基板へ写しこみをした。とりあえずこの状態で運用しつつ、次なるエーハイム2074シールドmk2を目指す。mk2はATmega644(ATmega1284は秋月で長期売り切れなのだ)でXBee対応の予定です。(あ、『シールド』じゃなく単体基板ですね)

スナップエンドウの花 4/22

 花が沢山咲いてきています。収穫は開花から3週間~4週間程度みたいなので、ゴールデンウイーク開けの頃でしょうか。幾サヤ収穫できるか楽しみです。それが終わったらミニトマトを植えます。ツレが買ってくれてたアイコのタネがあるのです。

2012/04/20

Arduino-2074通信成功

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

2012/04/17

追加のLTC485が届いたので

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

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

2012/04/15

チューリップと豆とデータ解析


 豆のおとなりのプランターで、ツレが植えたチューリップが綺麗に咲いています。去年は八重を植えたらからいまいち咲かなかったけど、今年はバッチリ。

.

 そして、豆はエライ成長ぶりです。丈1メートル程度まできました。そして念願の、
.

 豆の花!。

 今日の午後はひたすら通信データを解析してて疲れました。プログラムの通信部分はDLLになっちゃってて、逆コンパイルしたソースではデータフォーマットとかはワカランチンでした。一応一番簡単な時間データ部分と固定パラメータ部分はわかりました。流量やポンプモータの回転数らしき値は見つけたものの、そのらしきものが複数ある&そっくりそのままの値ではないっぽくて、もう少し掛かりそうです。リトルエンディアンHEXと10進のコンバートもつかれた。大体やり方がわかってきたので、ひたすらデータ取りして表計算ソフトに任せることにします。

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あたりは追加しておきたいかな。

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

2012/04/08

ツレとくにたちお花めぐり(桜もあり)

ツレと花見に行って来ました。花は桜だけなく色々。オオイヌノフグリからヒメオドリコソウもろもろでした。大学通りの桜は八分くらいですかね。国立駅前から南下して、ミルクポットの桜アイスを食べて、さくら通りのイベント会場に寄って戻る感じで。8Kmくらいのコースでした。途中でツレがいろいろとお店に寄るので、わし的には行動不足な感じでした。夕方には冷えた風が吹いてきてて、外で待ってたら微妙に体調を崩しましたよ。

2012/04/07

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

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

モール設置

 このところ帰りが遅くて平日作業ができてません。

 で、本日午前中、豆カメラの位置を移動してArduino制御機との間にモールを仮設置。あと、壁にホットボンドでくっつけておいたArduino制御器ボックス(フードコンテナとも言う)が剥がれてきてたので、貼りつけ直した。

外側にカメラ移動。部屋側とのケーブルはモール処理

.
 肝心の豆は。こんな感じ。背丈は50cm~60cmになっています。

2012/04/02

雨降りセンサー

原始的な方法で

 雨降りセンサーを検討中。超原始的な感じで。ブレッドボードタイプのユニバーサル基板で、互い違いに連結してくし形のセンサーにしますよ。例によって2SC1815あたりで感知してマイコンへつなぐという感じ。こないだ秋月でかったロームのデジトラでもいいかな。まぁやってみよう。

これからの季節は朝

 本日帰宅後、ベランダのモール貼りを考えていたのだが、夕日があるうちに帰れなかったので延期。
でも、朝は日の出が5:30より早いくらいになってきてるので、早起きしてひと仕事が良いかなと。
問題は起きられるかだな。
 土壌湿度pachubeは土壌温度で差し引きする際の係数をちょっと変更。今の計算式だと土壌温度があがるとガツン!と差し引きされてしまうので。

2012/04/01

豆 2012/04/01

豆が急成長中。

スナップエンドウ 2012/04/01

もう、今の豆カメラ設置位置では入りきらなくなってきた。ケーブル引き回し用にモールを買ってきて、カメラをベランダ端へ移動するか。すると洗濯物干しの低さで洗濯物の陰が出来てしまうので、物干しを改良しようかと。物干しは川口技研のホスクリーンHBの650mmが備え付けなので、これに同社のUDPポールをつければよいかと。
 なんて連鎖的な事を検討中。