Reports
XBee 突発的に生じる温度上昇誤差の解消
XBee のエンドデバイスに温度センサを取り付け温度を測定しているが,たまに
1.5度以上高く spontaneous 瞬間的に測定される。最初,AC/DC 電源からノイズが回り込んでいると思い,バッテリ駆動に
変えたら起きなくなるだろうと思っていた。
電源回路をかなり強化しても同じように観測される。パケットを1にしても同様だ。検索したら,「CMOSデバイスのアナログ入力
ピンは,非常に高い入力抵抗をもっていますが,サンプル&ホールド回路が動作すると瞬間的にインピーダンスが低下します」と
ある。XBee のマニュアルではインピーダンスは 1MΩ とされるが,サンプル&ホールド時はやはり2008年でのマニュアルにある
ように10kΩではないかと思う。一瞬,電源電圧もしくは ADC の参照電圧まで昇圧するのではないか。温度センサのノイズを
低減するため高抵抗のローパスフィルタを構成したが良くなかったのかもしれない。電源を改善したのでローパスフィルタの抵抗を
下げても問題は生じないと判断し,抵抗値を下げて実験してみた。
下図はエンドデバイス電源を変更後の温度センサ出力変化である。Rec 番号 1000 と 1500 の間にあるステップ状の温度変化以降は
電源を自製 AC/DC スイッチ電源からバッテリ駆動に変えた。図では連続しているが時刻は不連続である。Rec 番号 1000 と 1500
にある段差はエンドデバイスの電源回路を見直したためである。不定期に生じる瞬間的な温度上昇はあり得ない誤差というか
外れ値である。
App: Slip21
FileName: 1B1TApr16.dat
Sampling period: 1 min
たまに起きる異常値の出現がアプリのバグの可能性も考慮して,平均化処理を行うパケット数4から処理なしのパケット数1に
変更して同様に測定してみた。下図に示すように,400回を超えるサンプリングに対してやはり突発的にパケット数が4のとき
よりも大きい6℃に近い外れ値が2回測定された。どうもアプリの問題ではなさそうだ。抵抗値を 1/9.1 にしてみて,同様の条件で
測定を行うとxx間の間,異常値は測定されなかった。Rec000445 1305021335 022.1℃ が変更後の測定開始である。 急峻な
温度上昇は半田付け直後のサーマルストレスによるものである。その後の減衰波形が一次遅れと同じ形状をしており伝熱現象で
あると推測される。最終Rec 000917 までの 473 サンプル数の間(472分),突発的温度上昇の外れ値は測定されなかった。ADC の
インピーダンスは 10kΩ かどうかは不明だが,やはりサンプル&ホールド時には同程度にまで低下していそうだ。
App: Slip21
FileName: 1B1T1P.dat
Sampling period: 1 min
大きな外れ値は生じなくなったが,インピーダンスを下げたせいかフィルタリング効果が少なくなり,ノイズが増えたような気が
する。先の 1B1TApr16.dat に低インピーダンス回路ではどのように変化するのか追加して測定してみた。Rec 2000-3000 の間に
ある15℃程度から急激に増加しているところから低インピーダンス回路である。時間的な継続はない。チャートをみると
高インピーダンス回路ではサグが頻繁に観測されやはり,低インピーダンス回路の方が安定してよさそうだ。
App: Slip21
FileName: 1B1TApr16.dat
Sampling period: 1 min
Biwa Lake JAPAN aboutMe
© 2013 Enoki