2012/03/16

LSM303の動作確認

手前のコンパスはビクセンの製品

LSM303はデジタル出力3軸磁気/3軸加速度センサ。 I2Cバス接続となる。
(コンパスを実現するにはMCUでの計算が必要)


ブレイクアウトボードがSparkfunから出ている。センサ自体が2電源(1.8V、3.3V)必要だったりするので買ったほうが簡単だろうか。レベルシフタも付いているので5V系マイコンでも使えそう。

気象センサとしては必要ないセンサではある。
しかし設置時に方位と傾きが人の手で設定されるとは限らないとしたらどうだろう。
空中散布を考えるならば必要な機能だ。

FemtoCubeはもともと衛星のハードウェアを市販部品で置き換えたらどうなるかという実験台なので、既にワイヤレスでセンサ値を取得する評価環境として完成しつつある。I2Cにぶら下げるセンサの追加は想定していたので、実装もそれほど手がかからなかった。

…場所だけは手こずった。 結局XBee基板に吊り下げることにした。 電子系基板の密集率がすごいことになっている。
真ん中の赤い基板がLEM303 奥の気圧センサと並ぶ形で
これで現在、この5cm角の基板が取得する情報は…
・光の強さ(ルクス)
・焦点範囲の色(RGB)
・温度
・気圧
・バッテリ電圧、太陽電池電圧
・3軸磁気
・3軸加速度
となった。 衛星の機能模擬としてはだいぶ充実した。


最近は9自由度センサ(加速度、ジャイロ、磁気)を備えたワンチップなセンサICが出始めているので、こうした機能を組み込むものがありふれてきた。
例えば、ArduIMU v3 http://www.sparkfun.com/products/11055 これなどはCANSATやローバーに必要なIMU機能を提供してくれるし、基板もとても小さい。

キャリブレーション、方位算出

LSM303については、データシートに色々なレジスタ設定が書いてある。結構設定作業がありそうだ。
傾き補正コンパスの数式や計算方法については、STmicroのアプリケーションノートに丁寧な説明があるので、それを参考にするといいかも。

見つけたサンプルコードを試してみた。(arduino-022環境) 
Sparkfunのセンサは傾き補正コード入りだが、キャリブレーションしないからか、値が怪しい。

pololuも同じセンサを採用しているみたいなので、Arduino向けライブラリを公開している。 
https://github.com/pololu/LSM303

こちらはライブラリ化されていた。
磁気キャリブレーションを行い、補正値を書き込んだコードを実行すると、、コンパスはちゃんと360度の値を返してくれる。 そして傾き補正も動作した。 向けたい方角と表示される方位が正反対なので何かと思ったら、Y軸の設定が逆なだけなようだ…。 そうだといいけど。

※あとでライブラリコードの中に設定箇所を見つけた。

改変後
int heading = compass.heading((LSM303DLH::vector){0,1,0});  //初期値: {0,-1,0}
今度はちゃんと向きが合っている。

1, タイムスタンプ,電源電圧,気温,気圧,R,G,B,露出設定,照度生データ,換算ルクス
2,タイムスタンプ、電源電圧、LSM303の生データ(磁気/加速度),方位角


流れとしては、
・キャリブレーションをモード化して、各軸の磁界強度の最大値、最小値を取得
・その結果を使って、コンパス(傾き補正付き)として使う

という流れのコードを組み込めば良さそげ。いまはキャリブレーションは手動。

Cube本体は手に持てる大きさでワイヤレスなので、数値を垂れ流しての検証作業が楽だった。

何か本体だけで人間向きなフィードバックを返せると魅力的かもしれない。 残念ながらATmega328のままではI/Oが足りない。 受け取ったデータで何か動くものを作りたいなあ。

このセンサをつかった実験計画としては
・ローバーで方位角を加えた誘導制御
・TLEを読み込んで計算する組み込みAR八木アンテナ
この2つを試したい。

2012/03/14

FemtoCube 照度センサ実装


遮光した気圧センサ、白いキャップをつけたのが照度センサ
今回は屋外計測の第一歩として、いろいろ対策してみた。FemtoCubeではデモという面もあるので、実用機の設計では場所を優先したセンサ配置を心がけたい。

センサの屋外対策

SCP1000
・遮光(光で値がずれる問題の回避) 
これはアルミ箔で代用している。空気穴を忘れずに。 本当はガスケットがあるらしい。
SCP1000自体は最近秋月以外では売っておらず、ハンダ付けしにくいので、基板設計するときはBMP085を採用したい。

照度センサ
・部品交換と実装
照度センサは当初使おうとしたものが高感度だったため、数千ルクスで飽和してしまった。
今回はフォトトランジスタNJL7502Lを代わりに搭載した。
今度はLEDライトの直下数万ルクスでも値が飽和しなくなった。減光させるためにLED光拡散キャップを取り付けている。

その後直射日光下で校正係数をかけてルクス値になるか試してみた。手持ちの照度計はデジタルマルチメーターMS8209の照度計機能を使っている。

回路
回路図
フォトトランジスタの電流を電圧変換している。 AVRのA/Dコンバーターを1.1Vリファレンス電圧で読み取るため、最大電圧を1Vに制限するための 分圧抵抗を後ろにつけた。

測定結果


縦がルクス、横は時間。お昼に2時間ほど外へ出してみた。 正午過ぎると太陽が当たらなくなる北側なので、途中から2~1万ルクスとなり、日陰の明るさの目安とだいたい合致する。
途中大きく減光しているのは、雲がかかっていたためだ。


10ビットA/Dのため、分解能は200ルクス程度となる。減光フィルターもつけたため、低照度の1000ルクス以下はあまり参考にならない。 OPアンプ回路にして、レンジ切り替えを実装すれば改善できそう。
快晴の青空で12万ルクスと出た。換算が怪しいので、もっとちゃんとした校正をしてみないといけない。 とにかく必要なレンジは手に入れたのでよしとする。
 こちらは温度。 直射日光でアクリルケース内が温室状態になり、さらに基板自体も直射日光から熱をうけてとっていた。照度変化で雲がかかったのと同期して温度も下がっているので、太陽光から受け取るエネルギーの対策が必要そうだなあ。

 気圧はそれほど影響をうけてなさそうだ。
これでだいたいの機能実装ができてきた。

電源周りの回路は、SPICEシミュレーションで決定中。

エアカウンターS

 エステーから発売されている簡易放射線計。 目的もあって導入。 中身はPINフォトダイオード方式のようだ。 空間線量を測定することに特化している。はじめの2分で予測値を、その後は計測値を更新し続けるようだ。 

 去年、ポータブルに改造した借り物のSparkfun製ガイガーカウンタは高電圧回路が設計ミスだったり、多湿な日本では故障しまくるなどであまり良い指標にならなかった。 秋月でPINフォトが発売されてからはそちらの半導体式を2つほど試作したが、ノイズの除去が難しく実用には程遠かった。 

 線源を買うほど入れ込んでいなかったのもあるが… 今回市販で低コストな検出器ということで簡単に使ってみた。
 
 半導体式の弱点として、電磁波や衝撃ノイズで誤検出するというものがある。(ガイガー管も粗雑な扱いができるわけではないが)
ためしにノイズをまき散らしているACアダプタに近づけると誤検知して検出限界を突破した。
携帯も動作によって誤検知の原因になる。
持って歩いていても衝撃で数値が上がってしまうので、静かに持ったり置いて測るのが正しいやり方だ。


身の回りの線量はほとんど検出限界以下で、水たまりや側溝などでちょっと上昇する程度だった。
公園での数値を測ってみたが、公表されている線量とだいたい同じといえた。 そもそも検出限界付近だと捉えられるガンマ線が少ないので、短時間の測定だとかなり表示線量には幅がでてしまう。 

一般的な使い方としては、無駄に線量の高いところが無いかだけを確認することに特化しているといえる。とある土地の線量がそれほど無いことを証明するための簡易検査用途とかとか。ちょっとしたリスク回避材料として使うことになりそう。 
 
 運動公園の干からびた調整池を見に行って、よく見たら土を入れ替えた形跡が見えたりして、もしかすると対策されてるんだなあということに気づいたりした。 

2012/03/12

IKEAのLEDライト

IKEAの店内空間はCGに入り込んだような不思議な雰囲気がある。 

家具から小物に目を移すと、電子工作視点でみてもおもしろいものがたくさんある。 ケースになりそうな容器もいろいろだ。 単純な形や、素材の色をそのまま出した製品が多いので、創造性に訴えかけてくるものがある。

照明用LEDを使った電池式ライトがいくつかあるが、その中でも太陽電池式だったり手回し発電だったりするものを選んでみた。

デスクライト
ソーラーデスクライト
まずはデスクライトから。 土台に太陽電池とバッテリが内蔵されていて、このユニット部を日向においておけば夜は3時間ほど明かりを取れる。 結構実用的だ。
多結晶を11直しているのでおよそ6V位出ていた

太陽電池と電池パック部は取り外せる。充電時はモジュールだけ外に出せる
中の充電回路は太陽電池と逆流防止ダイオード一つ、ニッケル水素電池3セルという呆気無いものだった。 リチウム電池よりは完全放電に神経を尖らせなくてよいので、電池を使い切ったらまた充電に回すという割り切った運用を想定している。読書灯としてもかなり実用的だといえる。 

次はフォルムからして怪しいムードライト? これも太陽電池がついている。
太陽電池&バッテリ部はカートリッジのように分離可能。 
ライト部はフルカラーLEDで、電源スイッチを押すたびに白色モードとイルミネーションモードの2種類が切り替わる。 ニッケル水素は1セルなので、昇圧してるらしい。 これはそんなに明るくはない。
謎のフォルム
最後に手回し発電ライト。 これもしっかりした作り。フォルムが気に入った。
おそらく電気二重層キャパシタとモーターを組み合わせている。LEDは3つ搭載されているようだ。
30回まわすと2分半程度明るく点灯する。
手回しLEDライト 非常時って感じ
3つに共通するのは、設計に防滴加工があること、作りがしっかりしてること、そして安いこと。 IKEAの脅威の製品としては便利な多機能置き時計があるのだが、これも500円以下で売られているし、全体的に大量生産のスケールメリットを活かしまくっている感じ。

充電してみた。(デスクライトのモジュールが取り外せると気づく前の写真)


COTS ?
 
デスクライトの構造をみてピンと来たのは、屋外放置型センサの筐体にぴったりそうだということ。
部品を取り外してイメージを追求してみた。 

気象センサ完成予想図
地上型センサなので、太陽電池は上面だけでいいし、風雨に耐える重さと構造を突き詰めるとこんな感じになると思う。 実はお弁当用のタッパとかを候補として買ってきてはいたのだが、いつの間にか部品入れとして使ってしまうので、真面目な検討が進んでいなかった。
アンテナはXBeeの純正外付けアンテナ。 さぼてん計画は2年の月日を超えてようやく収束しつつあった・・・。

いずれテトラポットのほうも何か別な機構を仕込みたいところ。 手回しライトは常備品なのでこのまま使いますが。

(ちなみにデスクライトの取り外されたLEDライト部は秋月のACアダプタ(3V)につないでちゃんと活用しています)