パワーメーター動的校正をしたいので、XBEEを使って、右クランクのひずみゲージ値をPCへシリアル転送できるかいじってみました。半日でなんとかセ接続できましたが、例によって、わかりにくいしバージョンアップの解説が不足していて丁寧な解説がどこにも無いというハマルパターンでしたが単純なシリアル接続なのでなんとか接続できて良かったです。
- 結果
ルーター側:ATモードでNUCLEO L432KCと115200bps接続
Cordinator側:ATモードでPCへ接続(秋月AE-XBEE-USB経由)
115200bpsでNUCLEOから転送OKでした。
秋月のピッチ変換基板にXBEE ZB S2Cを載せて、ブレッドボードで配線、注意するのは、ピッチ変換基板の1番ピンは、5V入力であって、XBEEの1番ピンとはつながってません。XBEEの1番ピンは、3.3V専用なので、間違って5Vをいれたら壊れるので、5Vがまわらないように、外にはださないようになってました。
ピッチ変換基板の2番ピンがDOUT(TX)3番ピンがDIN(RX)となってますので、NUCLEOのTXとDIN、RXとDOUTを接続しました。日本語ブログでは、S2Cの最新解説が無かったので、海外ブログで下記が一番役立ちました。
NUCLEO側は、簡単なシリアル転送プログラムだけでOKでした。
- 新モード TH-REGって何だ?
XBEE S2BからS2Cになって大幅にバージョンアップされていてXCTUで従来のモード選定画面が現れなくなりました。2016年以前のXCTUの使い方のブログが全て活用できなくて、困ってしまいました。th-regというモード1本しかでてこないし、XBEEのUSER GUIDEにもth-regという単語が一個も出てこないという不思議なことになってました。DIGIもユーザーサポートしたくないのか解説も無く、放置状態という感じです。WEB上で検索しても1個しかなかったのでDIY電子工作では、過去のデバイスだと思います。メジャーでないと価格も下がらないし、WEB情報も少ないので、XBEEは、買いではないと思います。
とりあえず、DIGIのFAQで回答がありました。
https://www.digi.com/support/forum/61620/zigbee-th-reg-what-to-do””>https://www.digi.com/support/forum/61620/zigbee-th-reg-what-to-do
=>従来,モードを選んでファームウェアを書き換えていた方法だったが、CPUが大規模になったため、全モードが既に書き込まれているので、ATコマンドを送るだけでモード設定ができるらしいです。Router ATモードは、デフォルトになっている。APIモードは、今回は、使わないので割愛します。
- 最低限XCTUで設定したこと
全て、秋月で調達しました。
XBee USBインターフェースボードキット これは2個買っておいたほうがいいです。
XBee ZB S2Cモジュール ワイヤーアンテナタイプ
XBee用2.54mmピッチ変換基板 実装するときにつかいますが
2mmピッチと2.54ピッチなので片足タイプの基板セットが便利です。
スイッチサイエンスにあります、これと2mm10ピンコネクタです。
https://www.switch-science.com/catalog/1508/
①準備
個別IDをメモしておく
2個のXBEEの背面にIDがあるので、メモをとっておきます。
どちらをCordinatorにして、ルーターをどちらにするか印をつけておかないと抜き差しが頻繁にありますので、間違って設定してしまいそうです。
②XCTUのインストール
これは、解説記事がたくさんあります。旧バージョンでも同じです。「琵琶湖のほとりの人」というブログが丁寧に解説していただいております。
http://hikone.info/blog/?cat=12″”>http://hikone.info/blog/?cat=12
③XCTUの最低限設定
1)PAN ID:通信相手同士同じ番号を任意に決めておく
2)CE:Coodinate設定で enable[1]にした場合はXBEEが
Coordinatorになります。しかし、ATモードにしておくと
Cマークがつかなくて、Coordinatorとして認められません。
ルーターは、デフォルトでルーターですのでいじらなくていいです。Coordinatorをデフォルトに戻したければ上のアイコンに
Defaltがありますので、DefaultにしあとWRITEしてしまえば出荷時のルーターATモードに戻ります。
3)APIモードとATモード
ATとAPIモードの変更は、Serial Interfacing項目の
AP:API enableモードがTransparent modeならATです。
API enable modeなら APIになります。
APIモードにすると初めて、Cマークがつくのですが、
ATモードだけで、単純なシリアル通信できるので、
私は、APIモードにして子機と接続確認した後、
ATモードに戻してしまいました。
- XCTUで接続試験は、できるのですが、分りにくいのでXCTUが閉じて、ブレッドボードのUSBシリアルとCoordinator側USBシリアルとTERATERMだけで、通信チェックしたほうが分りやすいです。
- 以後
- 急いで、クランクのひずみゲージ出力をXBEE送信できる基板を作ります。スペースがないのでどのCPUを使うかが問題ですので、手持ちで選んでみますが、手間もあるし電源である電池をどうするかが問題です。今週中に作って、動的校正をやります。
※この記事が2017年7月の記事ですが1年たって現時点(2018年9月)にXbeeで電池駆動をトライしてますが課題があってつまずいてます。スリープを使えば電池寿命は伸ばせるのですが、スリープのタイミングが400msec以上かかりますので400msec以下のタイミングで毎回測定する用途だとスリープが使えません。
そこで、電池を大きくするか本数を増やす対策が必要となるのがXbeeの欠点です。