2012年3月16日金曜日

XBee WiFi テスト中


ついにXBee WiFi がやってきました。

XBee WiFi は、その名の通り XBee シリーズのWiFi モジュールです。従来のXBee モジュールとピン互換になっています。サイズはXBee Pro と同サイズなので、少し長め。ちゃんと日本の技適も取得済みです。

出ているピンは 2mm ピッチなので、ブレッドボードでは使えません。これまで XBee Series 1 で使っていた USB Explorer や、5V マイコン用ボードArduino 用シールドといった資産があったので、モジュール単体で購入しました。PCBアンテナ版が欲しかったのですが、まだ販売されていなかったので、ワイヤーアンテナ(ホイップアンテナ)版を選択。

、、、いろいろとハマりました。現在もテスト中です。XBee が初めての方は開発キットの購入を強くお勧めします。(こっちは在庫あり?)

まず、USB Explorer はモジュールのシールドケースの厚さがあるため、きちんと刺さりませんでした。(一応使えます)



ハマり箇所
1) 電源が入らない。 うんともすんとも言わない、、、というか、ジ〜〜 っという音がする。
 →この記事を参考に、電源部にコンデンサを追加してみました。(とりあえず手持ちの 100+100 =200uF) 容量不足なのか、原因が別にあるのか、たまに起動しない時があります。

2) X-CTU (Digi 純正設定ツール) で 認識しない。
 →X-CTU の最新版をインストールした上で、さらにソフトのメニューからアップデートをかける必要がありました。(モデムの定義ファイルをダウンロードしてる?)

3) 設定方法がわからない。
 →この記事が大変参考になりました。私もSSID が小文字だったので、AT コマンドで設定しました。(私はXP でXCT 5.2.7.5 使いましたが、特に問題はないと思います。なんで 5.1.0.0 指定なんだろう?)

 →AT コマンドはこの記事を参考にしました。
 →AT コマンドで設定できるので、2) のX-CTU は不要です。

そんなこんなで、やっと動いた、という所です。
初期状態では、UDP とUART(シリアル通信) の相互変換器として使えます。設定を変えれば TCP も使える様です。

IP の設定等は予めモジュールに記憶(DHCP 対応) させておくので、WiFi の設定など正しくできていれば、電源をいれてしばらくすると、Ping 応答するようになります。
設定はシリアル通信(AT コマンド) で簡単にできるので、Arduino 側から設定する事も可能です。Arduino のEthernet 関連スケッチは、純正Ethernet Shield (WIZnet W5100)用なので使えません。


Mac のQuartz Comoser を使って簡単な文字列受信のテストをしてみました。

動画:


XBee WiFi をArduino Fio に差したところ
(こちらもコンデンサを追加しないと動作しませんでした。)




Arduino のスケッチは「H を受けると、LED 点灯、L を受けるとLED 消灯」
Examples > 4. Communication > PhysicalPixel のサンプルです。



もう少し検証した後、コンデンサの追加やプログラムなどを解説できればなと思います。
折角の技適が NG になってしまいますので、間違ってもモジュールに直接ハンダづけはしないでください。

2012年3月8日木曜日

テトラコントローラー修理





最近テトラコントローラーを、いろいろなところに持ち歩いていたのですが、ロータリーエンコーダがポッキリ折れてしまいました。
演奏・展示中ではなく、運搬中での事故です。

まあ、形有るものはいつか壊れる訳ですが、解せないのがこれ。


Arduino Fio の充電中のLED が(充電用の外部電源なしでも)点灯しっぱなしになってしまう現象。
手持ちのFio 6台中3台がこうなってしまいました。

電流を測ってみると、充電コントロールも出来ておらず、どうやらMAX1555 が死んでいる模様。
Arduino Fio には旧版 (Max1555 使用) と新版 (MCP73831T 使用) で充電制御IC が2種類あります。
IC がディスコンになったわけでもなく、入手性なのか、コストなのか(その両方か?)理由はわかりません。

ネットで調べる限りはとくにIC の不具合ではなさそうなので、(このIC は携帯などで大量につかわれているはず)
自分が変な電圧をかけたか、どこかショートさせたかで、壊してしまったようです。

幸い、スイッチサイエンスさんでIC のみ購入できたので、ちょっと高いですが交換してみました。いまのところ、正常に動いているようです。





折角なので MCP73831T に載せ変えようかとも思いましたが、周辺の回路が少し違うので、IC だけ変えるのではだめそうでした。