スキップしてメイン コンテンツに移動

投稿

3月, 2013の投稿を表示しています

OV7670で取得したRAW画像をPCで表示する

CMOSカメラのOV7670を使って、RAW画像を取得し、PCで現像してみた。 電源の3.3V化改造を行ったArduino MEGA(1280)にビデオFIFO付きOV7670モジュールをとりつけて画像取得の実験をしている。 製造時期により、若干設計が違う製品がAliexpressでは入り乱れている。 トラ技のOV7670特集より以前に買っていたので、リビジョンが一つ古く、回路図が変更されていることに気づかず結構時間を取られた。 (古いモジュールはFIFOのWRSTが引き出されていて、VSYNCと繋がっていない)  画像データ自体はビデオFIFO(AL422B)によって、カメラ側のクロックを気にせず好きなタイミングで読み出し可能だ。なので、あとはどういった解像度やフォーマットを選ぶかとなる。目的によって様々なサイズやフォーマットを使い分けることになるが、今回はVGAサイズの静止画を撮ることだけを考えてみたい。  ということで、CMOSセンサの出力フォーマットの生の値である、BayerRAWで撮ってみた。 このFIFOつきカメラモジュールでVGA解像度を取得するなら、これが一番簡単だ。 OV7670の主な画像出力形式は次に示すものとなる。 ・YUV  : 16bit/pixcek(4:2:2) ビデオ機器の色空間 ・RGB  : 16bit/pixcel(565) ビットマップ ・RAW  : 8bit/pixcel センサの画素の生出力。 YUVとRGBはOV7670の内蔵DSPがエンコードした色空間フォーマットで、本来1画素1色しか表現できない一般的な撮像素子で、隣接する画素から色情報を補完したもの。 対してRAWは、画素毎のアナログ処理を経た生データ。 受け取った側では、画素上のベイヤーパターン(カラーフィルタの配列)と、縦横解像度の情報を元に色情報を補完(現像)する必要がある。 単純にデータサイズで見れば、RAWで出力するとデータ量は1バイト/Pixcelで済むため半分になり、384kBのFIFO付きモジュールでVGAサイズ1枚の画像を取得することができる。  (YUV、RGBでもウインドウ機能を使って、FIFOの容量に収まるウインドウサイズ設定での取得は可能) デ

Arduino Mini v5

Arduinoは様々な形態の互換機が売られているが、公式ボードだけでもかなりのバリエーションが存在する。 下は日本ではあまりお目にかからない、公式の最小ボード。Arduino mini v5 わけあってプロジェクトに組み込まれようとしているところ。 小さな箱はピンヘッダ付きの物を頼むとついてくる。 v5というリビジョンが示すように、実際は以前からラインナップされているのだが、Pro miniのほうが流通しているので知らない人も多いのでは。 公式のボードはどれも若干所有欲をくすぐるパッケージングがされている。 一見Arduino Pro mini(Sparkfun製)に似ているが、Pro miniよりもピンヘッダ1列分短い。ピン配列の他に、 ・5Vのみ ・FTDI配列の書き込み器用のピンヘッダは付いてない。 ・シリアル書き込みに必要な、DTRリセット用のコンデンサは付いてない という点には注意が必要。 試作というより、Arduino UNO等で試作した回路を、基板に組み込むためのソリューションとして用意されていると考えると良いみたい。

小さな太陽電池パネルを作る

2センチ角程度で、開放電圧5V程度の太陽電池パネルが見つからないので自作してみた。 出来たもののスペックは、22x22mmで 4.5V 10mA。単結晶シリコンのモジュールとなった。 ・・・・ 100mW以下の太陽電池を選ぶときは、開放電圧におおよその最適動作点となる0.8を掛けた電圧が、負荷となる回路の動作電圧に近いものを選ぶと、自然とインピーダンスが合うので無理が無い。 お手本になったソーラーLEDライトの太陽電池の開放は4.5~5V付近で、8割だと3.6~4V付近となる。LEDに3.5V程度必要なので、その充電池を充電するのにちょうどよい値となっている。  キーライト用途のほとんどはアモルファスシリコン。取り出してしまうと、ガラス基板なので結構デリケートだ。  安いけれど効率はそれなり。写真のパネルで直射日光下で1~3mA程度。  電池を1Fの電気二重層コンデンサに置き換え、 PICを動かしてみたり (過去記事)しているけど、もう少し効率的なものが欲しい。 大きさに制限のあるものに組み込もうとすると、効率が低いことをカバーしようとすれば、負荷を軽減するしかない。  ある程度の高効率を求めて、次に手を出してみたのが多結晶シリコンのパネル 中国の業者から輸入してみたもの。 モーター付きおもちゃなどに使われているもの。  パネルは多結晶シリコンを基板に乗せて、エポキシ樹脂で封入したタイプ。  ただ、小さいパネルは開放電圧が0.5Vだったり、1.5V程度のパネルしか見つからず失敗。  いくつか直列につなげるしかなくて、せっかく正方形でも単体では生かしにくい。  足りない電圧は昇圧という手段もあるけれど、実用的なのは数Wレベルのパネルでの話で、100mW以下だと変換効率によるロスが大きくなるという。 昇圧前提で真面目に考えるなら(若干観点がおかしいが)、家庭用ソーラパネルの単結晶セル(120x120mm)を買って、1枚をMPPT回路内蔵の昇圧ICで昇圧するのがちょうど良さそうだ。 ……… ということでセルを買ってパネルを作ることにする。無いなら作るしかないじゃない! アメリカの業者(SolarMade)から購入したのが、単結晶シリコンのセル。単セルで0.5V 10mA。 いくつかある中