
前回と前々回の記事ではアナログ温度センサMCP9701(Microchip社製)をリモートXBeeに接続してローカルXBeeに結果を送信する方法を解説しました。特に前回はリモートXBeeが電池動作することを想定して省電力を実現するCyclic Sleep Modeについて説明しました。しかし、前回の設定ではアナログ温度センサのVccはXBeeの電源電圧である1番ピンから供給しているため、XBeeがスリープ状態でもアナログ温度センサには常に給電されています。そこで今回はこの給電方法を見直してさらなる省電力化を試みる方法を解説します。
(センサとリモートXBeeの配線:前回と同様です。)
・MCP9701の1番ピン(Vdd)をXBeeの1番ピンに接続する場合とDIO2の18番ピンに接続する場合を比較します。
・MCP9701の2番ピン(Vout)をXBeeの19番ピンに接続
・MCP9701の3番ピン(GND)をXBeeの10番ピンに接続
(XBee設定条件)
デフォルト状態から以下の設定を実施します。
・リモートXBeeとローカルXBeeのIDを一致させる。
・リモートXBeeとローカルXBeeのAPをAPI Mode Without Escape [1]に設定する。
・リモートXBeeのD1をADC[2]に設定する。
・リモートXBeeのD2をDigital Out, High[5]に設定する。
・リモートXBeeのIRをデフォルトの0msに設定する。
・リモートXBeeのAV:Analog Voltage Referenceがデフォルトの1.25Vを使用します。
・リモートXBeeのSPを10000msに設定する。
・リモートXBeeのSTを500msに設定する。
・上記の設定が全て完了したらリモートXBeeのSMをCyclic Sleep[4]に設定する。
以下にMCP9701の1番ピン(Vdd)をXBeeの1番ピン(電源電圧)に接続した場合の結果を示します。

以下にMCP9701の1番ピン(Vdd)をXBeeのDIO2の18番ピン(Digital Out, High)に接続した場合の結果を示します。

これらの結果から温度を求めて比較すると、
MCP9701のVddをXBeeの1番ピン(電源電圧)に接続した場合:739→25.79[℃]
MCP9701のVddをXBeeの18番ピン(Digital Out, High) に接続した場合:743→26.04[℃]
MCP9701の精度が25[℃]で±1[℃]であることを考慮するとMCP9701のVddをXBeeの18番ピン(Digital Out, High) に接続した場合でも問題なく計測可能であることが分かります。