2013/11/30(土) Zigbee送受信

バイクの中に仕込んであるZigbeeと通信してバイクからの受信強度を取得しようと何回かリトライしていたら、XBeeに密着している温度センサーの温度が急上昇を始めた(笑
送信すると温度上昇することも考慮しつつ送信させないとだめですね(笑


2013/11/08(金) XBee死亡

防水パッキンがずれていた為、水が溜まり腐り壊れました。(-人-)ナムー


2013/05/07(火) センサネットワークWeb

センサネットワークを活用したWebです。本人しかわかりません(笑

簡易版 http://www.fns.expressweb.jp/snsdata/

詳細版 http://fns.expressweb.jp/snsdata/default2.aspx


2013/05/07(火) Python用XBeeライブラリ

python-xbee


2013/04/29(月) XBeeコーディネーター未検出

コーディネーターが未検出の場合、どのような状況になるんだろう!?
バイクに組み込んだモジュールがしばらく電波を出していなかったので開けてみたら黒コゲになっている分けでもなく、電源を入れなおしたら普通に認識した。
多分コーディネーターが見つからず、リトライし続けたときにスリープになるんだろうな!?
調べて見るか。


2013/03/24(日) 照度センサ NJL7502L

グラフからLight Source Aを読み取る
  0.9[uA]    2[lx]
    4[uA]    9[lx]
    9[uA]  20[lx]
 400[uA] 900[lx]

照度[lx]->電流[A]の換算式
 [lx]=2.25E-6*[A]
 [A]=[lx]/2.25E6

電圧[V]->照度[lx]の換算式(ここではRLを1kΩとする)
 E=RIより
 [V]=1000[Ω]*[lx]/2.25E6
 [lx]=2.25E6/1000*[V]
 [lx]=2.25E3*[V]

(例)0.8[V]の場合
 [lx]=0.8*2.25E3 →1800[lx]


2013/03/13(水) ガーデンライト 問題

ガーデンライトの中に電池が入っていました。
購入直後は電圧減少のグラフも良い感じだったのですが、ソーラー発電モードになった途端に電池が持たなくなりました。
ソーラーはサイズ的にオーバースペックですので充電機構に問題があると思われます。
他のガーデンライトのスペックを見ると5時間しか持たないと書いてあるので、初めから5時間程度の設計かもしれません。

使用されている電池は
 リン酸鉄 3.2V 400mAh(単3電池サイズ)
と思われます。

充電機構を見直せば夜間消えずにつきそうです。


2013/03/10(日) ガーデンライト 電圧

途中、データが抜けましたがデータが取れました。
ソーラーパネルがオーバースペックなので電池を容量UPすると良いかもしれません。
一週間くらいデータを取った後にさらに省エネ改造してデータをとる予定です。


2013/03/10(日) ガーデンライト

使い安い電圧のガーデンライトが売っていたので買ってきました。
早速ワイヤレス通信モジュールを組み込みました。
内部電圧などの情報を自宅の太陽光発電サーバに送ってくれます。
テスト運用してみようかと思います。

省エネな便利な装置を考えて、電力需要がない世の中に貢献したいところです。
いいアイデアが思い浮かばないかな〜。
毎日、ソフトかハードを作っていて時間が過ぎて行きます。良くないな〜。


2013/02/16(土) ワイヤレス温度計測システム

くまさんの中にワイヤレス温度計測システムを搭載しました。
筑波サーキットでテスト運用です。

結果はこのWebに掲載されています。ゼッケンを選択すると温度が出てきます。
http://fns.expressweb.jp/fmp/index2.aspx?date=2013-02-16


2013/02/12(火) センサネットワーク

試験中のセンサネットワークをケースに組み込みました。
これで怪しまれません。脳天の2.4GHzアンテナがちょっと不気味ですが・・・。


2013/02/12(火) 温度センサ LM60BIZ

LM60BIZの換算式

温度[℃]=(mV-424)/6.25

3.3[V] 10bit A/Dの場合
 温度[℃]=(((ad値*3300)/1023)-424)/6.25

1.2[V] 10bit A/Dの場合
 温度[℃]=(((ad値*1200)/1023)-424)/6.25


2013/02/01(金) MPL115A2 気圧センサ

MPL115A2に再チャレンジ。
このチップは本当に計算がめんどくさい。
補正値が浮動小数点形式で6種類も用意されている。
計算式もかなり複雑

I2Cより各変数を取得する(省略 資料を見てください)

Pcompを求めて
 Pcomp = a0 + (b1 + c11*Padc + c12*Tadc) * Padc + (b2 + c22*Tadc) * Tadc

次に気圧を求めます。
 気圧[hPa]= (1150 - 500) / 1023 * Pcomp + 500

ネットや資料などをいろいろ調べるといろいな情報が載っていますが、その前に
 Freescale Application Note How to Inplement the Freescale MPL115A Digital Barometer
を理解することを勧めます。特に
 I2C COMMUNICATION AND EXAMPLE(P13-P16)
を理解することにより、確実に理解できると思います。

理解に時間が掛かったわりに値が適当だったりします。
下記は1秒ごとにセンサから値を取得してみました。
バラツキが大きすぎる。本当だとしたら鼓膜が破けそうです。


2013/01/30(水) 温度センサ S-8120C

秋月で販売されているS-8120C CMOS温度モジュールをH8に接続したが読取り値がかなり不安定。
そこでVSSとVOUTの間に0.1uFのセラミックコンデンサを追加したところ安定してデータが取れるようになった。基板上に予め100pFのチップコンデンサが載っていますが・・・

基準電圧3.3Vの場合
 スペック(-30℃〜100℃ 近似直線)から求めると
  温度=(1704-(3300*wAd/1023))*100/822;
 秋月資料の'各温度差の誤差範囲'の式から求めると
  温度=(1705-(3300*wAd/1023))*10/82;

こんな感じでしょうか。


2013/01/29(火) XBee APIモード

XBee APIモードでかなり悩んだ。

下記2つを接続した場合の設定
D1に温度センサLM61CIZ
D2にスイッチ

・COORDINATOR側
 Show Defaultボタンを押してパラメータを初期値にする。
 Function Set:ZIGBEE COORDINATOR API
 ID:2(ROUTER側と一致していればなんでも良い)
 この2項目を設定し、Writeボタンで書き換える。

・Router側
 Show Defaultボタンを押してパラメータを初期値にする。
 Function Set:ZIGBEE ROUTER API
 ID:2(COORDINATOR側と一致していればなんでも良い)
 D1:2-ADC
 D2:3-DIGITAL INPUT
 IR:400(約1秒毎に状況を送信)
 この4項目を設定し、Writeボタンで書き換える。

受信データをみる。黒枠が1パケット。赤枠がADCのデータ。

LM61CIZの温度変換式
[℃]=([mV]-600)/10

かなり悩んでしまった。
 ad電圧[mV]=0x29d/0x3ff*3300[mV]≒2158[mV]
 [℃]=(2158-600)/10=155.8[℃] !?!?!

ADC基準電圧に3300[mV]を用いたのが誤り。XBeeは1200[mV]の電圧となっている。
 ad電圧[mV]=0x29d/0x3ff*1200[mV]≒785[mV]
 [℃]=(785-600)/10=18.5[℃]

答えは18.5度でした。 かなり悩んだな・・・。

式をまとめると

 温度=(120/1023)*[ad値]-60

プログラム的にシンプルにまとめると

 温度=40*[ad値]/341-60

基準電圧の件はXBeeマニュアルにもかいてあった(泣

「AD(mV)= (ADIO reading/0x3FF)*1200mV」

頭の中で基準電圧を5Vや3.3Vと決め付けてしまっている・・・。
XBeeモジュールは高性能すぎて学ぶのが大変(泣


2013/01/25(金) MPL115A2 気圧センサ

秋月にMPL115A2というI2C気圧センサがあったのでライブラリを作成してみたが、計算が大変。
計算する前に通信が出来ない(笑
回路を見直して余裕があるときにテストしてみよう。