2012年12月9日日曜日

JPEGカメラを使ってみた


ストリナやスイッチサイエンスで売っているJPEGカメラモジュールを試してみた
上の画像はSTMを自撮りしたものだ


5k3kのような高解像度で非常に綺麗な画像に見慣れてしまうと
VGA程度で高圧縮されたJPEGはお世辞にも綺麗とは言えない画像だが
このモジュールは非常に簡単に扱うことができる

といってもまだすべてが上手く動いているわけではない
計算上ではVGAを標準画質で読み出せば20秒もかからない
だがまだ2分以上かかっている

PCにつないでC#で試したときは問題なかったからプログラムの問題だろう

また、画質の変更はC#でもうまくいっていない
画質を下げる方の設定はできるが
画質を上げる設定ができない

なお、画像解像度は標準がQVGAだが
VGAに変更することも可能だ
スイッチサイエンスには不可能と書いてあるし
Arduinoで試した限りは変更ができなかった
だがC#からコマンドを送信した結果解像度を変更することができた


基本的にこのモジュールはリセットコマンドを送信してほとんどの変更をリセットすることができる
例えば画像の圧縮率やビットレートだ
もしもビットレートを間違えて設定しても電源ケーブルを挿し直せばリセットされる
これが意味することは リセットした後は必ず38400bpsで通信する必要があるということだ
9600bpsで通信しようとしても最初のリセット時は必ず38400bpsで転送しなくてはいけない

ただし画面解像度だけは基盤に実装されているEEPROMに記録されるため
リセットをしても変更は維持される

保存される値と保存されない値の違いがよくわからない
ビットレート等をリセットするなら解像度もリセットすればいいのに

ココらへんは10ページ程度のPDFには書かれないコマンドがあるのかもしれない


まだまだ缶サットに組み込むには問題があるが
一応の目処は立った


でも、前にロガーを作ったときは すべての部品を組み合わせた時に不具合が出たんだよなぁ…

2012年12月4日火曜日

電力モジュール

ストリナの電力モジュールを試してみた
コレ

TIのINA226というICが乗っていて
I2Cで電圧と電流 それに電力が読み出せるというモノ
電流センスのために2mΩ1%というシャント抵抗が実装済みで
アナログ的な部分はほとんど扱わなくてイイ という優れもの
のはずだったんだが…


手前にあるモジュールが電力モジュール
いくつかの抵抗やパスコン それに1個のICが乗っている

実はこのモジュール
缶サットのソーラーパネル用に買ったものだ
本来であればキャパシタの電圧と電流を計測するはずだったのだが
このモジュールでは電流は分解能1.25mAで計測することになる
小型のソーラーパネル1枚程度だと充電電流は0.2mAから0.01mAととてもこのモジュールで読めるような電流ではない

ということでシャント抵抗の外付けを考えてみたのだが…
RSで6500円で売ってる電流センス用の抵抗というのがあって
それは外部に専用ADCを載せればこのモジュールを使わなくてもいいんじゃないか?
ということになって悩んでいるところだ

充電電流を考えると0.05mAくらいの分解能は欲しい
放電を考えるなら+25mAから-500mAくらい欲しいのだ
いったいどうやって実現するか...

なお、このモジュールの名誉のために言っておくと
負荷として小型のモータを接続した場合
直列に入れたテスターの電流値と3%ほどしか違わなかった
この時の電流は50mA程だったが
数十mAから数Aであれば正常に計測できるだろう


/* *** */

それと
ついに本格的に缶サットを考え始めた
というか、上記のモジュールも缶サットの機能の一部だったのだが

現状では
STBeeMini X1
LIS331HH X1
L3G4200D X1
HMC5883L X1
他...
という構成だが
STBeeMiniを2枚使ってみようか と思い始めた

1枚はメインのデータ処理に専念し
ピンの操作やデータの送受信は2枚目のSTBeeMiniが担当
という感じだ
こうすればマルチスレッドの用な感じで処理ができるし
だいぶ楽になるはずだが
すべてのデータをSPIなりで通信するから
そのデータをどうやって送受信しようか
というところでつまずいてる

どうせ2枚重ねにしようにも部品が無いから
しばらくは1枚でやれるところまでやってみるつもりだが