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

投稿

人工網膜LSIで星を撮る

ちょっと変わった製品もみつけた。 右:ポケットカメラ(M64282FP入り)  : 左 コナミ製PS2用のモーションセンサ(センサの型番不明) 中古屋でみつかる ポケットカメラ(任天堂) 。この"ゲーム用ソフト"の人工網膜LSIは128x123の解像度を持つモノクロイメージセンサで、低速マイコンでもインターフェース可能だ。  製品自体も登場して14年くらい経つため、だいぶ話題から周回遅れだが…  今回このセンサを使ってみて、普通ならロボットの視覚として高フレームレートを目指すところだけど、シャッター速度をかなり遅くできたので、逆の方向、長時間露光をテーマに撮影実験を行った。  はたして、105円(税込)の視覚センサとArduinoで星は写せるのか。 M64282FP 自作の C基板Arduino互換機 にシールドをつけて、カメラを配線している。 コードは、このサイトのものを参考にしている。   http://www.bot-thoughts.com/2010/04/gameboy-camera-prototyping.html シリアルで出てきた8ビットのグレースケール画像をBMP変換するという流れ。 人工網膜チップのPDF資料で、レジスタ設定などをひと通り確認できる。 レジスタ一覧 (Excel) 作って3年くらい経つ基板 普通に撮影した画像 露光時間を延ばす  データシートには設定可能な露光時間が記載されていて、 C1レジスタを操作することで、最大1秒まで露光できるとある。  ただし、これはクロックに500kHzを入力した場合の秒数らしいので、供給するクロックを下げると延びてゆく。 まだ50秒程(18kHz程度?)までしかテストしていないけど、もっと伸ばせるらしい。 一つ問題として、先ほどのコードでは逆に直射日光下での撮影は厳しい。 レジスタの設定も、露光時間を減らすと、ある時点で同期が取れていないような絵が撮れる。 ロジアナで測定してみた。 A/D変換にかかる遅延により、読み出し時はクロックがかなり間延びしているが、これ自体はあまり問題ないらしい。 てっきりどこも同じクロックを入力す...

LANケーブルを外に引く

USBデバイスサーバ+FunCubeDonglePro+ をタッパに収めたお手軽受信局を作り、現在運用実験中。 屋外に設置して3日目だが、雨天続きでもトラブルもなく使用できている。 アンテナは秋月の130/430Mモービルアンテナ(モノポール)だが、いろいろな周波数を聞く には調度良かった。 見晴らしの聞くベランダの金属の台の上に設置。北と東側に高さ15度くらいの障害物があるほかは、地平線が見わたせるロケーション。  屋外のUSBデバイスサーバまでLANケーブルを延ばすのは、それほど困難を伴わなかった。 使ったケーブルはフラットタイプのケーブル。自宅に関しては、窓サッシに沿って折り曲げることができて、かつ窓が閉まる選択肢だった。室内を5m、屋外へは15mのケーブルを伸ばしている。 避雷針があるので直撃はしないけど、雷対策として、窓のすぐ下で中継コネクタを挟んで切り離せるようにしてある。  むしろ電源の確保が難しいかもしれない。 たまたま屋外コンセントがいくつかあって、それを使うことができた。 モノポールでAPTを受信してみたのデコード結果。 パスによってはこのくらいデコードできる。 これでFMを聴いたり、ACARSパケットをデコードしたり、NOAA衛星の気象画像(APT)をデコードしたりしている。モノポールながら、衛星も仰角と偏波で感度が落ちるけど聞くことは可能。  使い勝手としては、ネットワーク内のどのマシンからでもアクセスできるので、受信時を逃しにくくなって便利になった。 なにより自分の机のデスクトップで運用しつつ、受信機自体は屋上におけるというのが便利。 あとは小型ローテータとマシなアンテナのみ…

Arduino Pocket Geiger Radio

ARTSATのブースの店番の合間を縫って、MFT2012の会場で組み込み版ポケットガイガーType5を入手。 http://www.radiation-watch.org/2012/11/type5.html    単純にガンマ線を検出したらパルスが出てきて、さらに3V~9Vの単電源で動作するのでとても使いやすい。 これなら小型のブザーと電池のみで動かす最小構成を試したり、いろいろな物に組み込むことが簡単になりそうだ。 ということで、1日目の夜に早速音声テレメトリ基板に組み込んでみた。 組み込み先の音声テレメトリ基板 以前作った 音声テレメトリ基板 にバッテリの過放電保護回路をつけたもので、18650セルを使う。電池には発火しないとされるLiFePO4( リン酸鉄リチウム )電池を使っている。 管理しやすく交換しやすいので、最近制作物の電源には乾電池タイプの生セルを使っている。 充電は外部の充電器で行うため、過放電対策のみを施した。 信号を見てみたところ(線源にはランタンのマントルを使用) 組み込みポケガからは、パルス検出ピンとノイズ検出ピンの2つが出ていて、ある程度ノイズと思われる信号はフィルタ可能になっている。 オープンコレクタ出力なので、プルアップする。 検出信号は負論理、ノイズ検知出力は正論理。   サンプルコードを参考に、信号を検出したらTone関数で短い音を出し、FMトランスミッタ経由で出力させる。 雰囲気はガイガーカウンターと一緒になった。  せっかく音声合成ICがついているので、1分毎のカウント値(CPM)をしゃべってくれるようにした。1分毎にノイズ値を引いたシグナル検出回数(CPM)を読み上げるようにしている。  これにはAquesTalk Picoのライブラリ http://blog-yama.a-quest.com/  を使わせてもらっている。 数値読み上げも簡単にできてわかりやすい。 FMトランスミッタは微弱な電波で模擬実験に使うためについているので、半径30cm~1m程度しか飛ばない。実用性を追求するならスピーカーなどへ出力すると良いだろう。  あえてガンマ線のカウントをブザー回路を経由せず、MCUで計数させること...

FunCube Dongle Pro+

FunCubeDongle Pro+ が届きました。  技術詳細は本家 http://www.funcubedongle.com/ で。 FunCube-1もフライトモデルが振動試験をパスして、打ち上げ準備が整ってきてるようです。 http://www.funcubedongle.com/?p=1323 使い勝手向上 先代と見かけは変わらず。  FunCubeDongle Proの改良版で、帯域が192kHzになり、受信できる周波数が広がった(150kHz~240MHz、  420MHz to 1.9GHz ) SDR#でも、すでにプルダウンメニューから選ぶ事ができるようになっていた。 I/Q信号のSwapとCprrect IQにチェックを入れた。 81MHzのFM放送 ACARSパケット (131MHz) 帯域幅が広がったので、WFMを綺麗に復調できるようになった。   I・O・データのnet.USBデバイスサーバーにつなげて、問題なく動作することを確認。 先代同様、アンテナタワーの防水ボックスに組み込むことができそうだ。 先代の記事 http://blog.kemushicomputer.com/2012/11/usbsdr.html

USBデバイスサーバーとSDR

SDRのためにUSBデバイスサーバーを導入してみた。 すでに試している人がいるので、いま設置中の地上局に応用できると便利だと思い実験してみた。 今回導入したのは、Amazonで取り扱っていたI-O DATAのTRG-DS/US-HSという機種。安定してそうということで選択。 http://www.iodata.jp/product/lan/option/etg-dsus-hs/ これにFunCubeを接続し、何の問題もなく受信できることを確認した。 残念ながら、密かに期待していたRTLSDRはそのままでは使えなかった。 ドライバレベルでは認識しているのに、ソフトからは認識できない状態。 サーバ自体は、USB機器の設置の自由度を増すので、応用例はたくさん考えられる。 USBシリアル系(Arduino等)も普通に動作した。 受信機をアンテナから離す必要がなくなるので、同軸ケーブル延長に伴うロスを減らせるだろう。  大学などでは、運用のための立派なアンテナは建物の屋上に設置されることが多いので、そこから無線機まで伸ばすケーブルは部屋の場所によってはかなり長くなる。 このシステムなら、直接アンテナ直下にくくりつけて、LANだけ伸ばすか、Wifiコンバータを経由するだけで良くなる。  サーバー、ドングル、カメラ一式をセットで防水ケースに納め、アンテナ付近に設置すれば、重たいケーブルを引かずとも稼働する受信設備が完成する。  自宅は屋外に防水コンセントがあるけど、アンテナ引き込みの隙間が無いので、余っていた無線LANルーターを使おうと思う。 追記 無線LAN経由で接続してみた結果。 ひとまず屋外設置用の装備をこしらえて実験してみた。  ・Wifiコンバータとして動かす無線LANルーター ・監視用カメラ(QCAM orbit AF) ・FUNCube Dongle Pro & QFH(430MHz) ・密閉型ケースとヒューズをつけた電気コード 実際のところ、この構成だとFunCubeのストリーミングすら止まるので実用的ではなかった。 最初に使ったルーターがFonelaにDD-WRTを入れたものだったので、次にBuffaloの新...

Arduino DUEを使う

Arduino DUEを早めに入手できたのでいろいろ触ってみた。 ("DUE"って伊語でいう"2"ってことで合ってるのかな…) 本家のページ http://arduino.cc/en/Main/ArduinoBoardDue   Atmel社のCortex-M3(AT91SAM8X3E)を搭載している。20mm角の144ピンパッケージなので、MEGA互換の基板の中でけっこう存在感がある。   I/O ADC、GPIOのほか、UARTが4ch、SPI1つ、I2Cバスが2ch、DACが2ch、CAN(まだライブラリなし)と、MEGAと比べてもだいぶ増えた。  注意として、I/Oは3.3レベルなので、従来のシールド資産とはあまり互換性が無いらしい。 個人的にはほとんどシールドを持っていないのと、使う部品の多くが3.3V系なのであまり影響ないけれど…。  将来出るシールドでは、Leonardあたりから追加された IOREFピンを使うことで、シールド側で電圧を自動的に切替えられるようにする計画のようだ。 2電源レベルシフタを使うんだろうな。 消費電力 クロックが最初から84MHzなので、気になる消費電流を測ってみると、0.67Wほどだった。 結構大喰い。   とある計画でMEGA互換機を製作しているので、その代替候補になるか見る目的もあって購入した。電力的にはそのまま載せるにはちと厳しいので、ダウンクロックできるかどうか、ちょっと遊んでみよう…。 USBまわり  2つあるMicroUSBポートのうち、片方は従来と同じUSBシリアル変換ポート、もう片方はSAM3X8Eが持つホスト機能もあるUSBポート。どちらからもスケッチの書き込みは可能。  スケッチをアップロードするために一旦ROMが完全に消去される必要があるらしく、そのためのEraseという信号線がある。  プログラム専用のUSBシリアル変換用IC(AVR 16U4)につながっている。おそらく過去の8U4とはまた違うのだろう。  このErase信号線にはハードウェアスイッチも用意されていて、電源投入時に長押しでROMを消去することが可能。 マイコン自体のUSBポートで書き込む場合は、...

初代iPodのレストアで、CF化の夢を見た

初代iPodをジャンク品として見つけたので遊んでみた。  今はタブレットデバイスがめまぐるしく発表されているけれど、何が生き残るのかは時間が教えてくれるだろう。 ただ、Appleの製品はジャンク箱でもよく目立つ。  初代iPodはFireWire接続のみで、Macでしか使えなかった。 私がまだ中学生の頃に登場したデバイスなんだなあとしみじみ。  古いけどGigabitなPowerBookG4があるので、つないでみたら普通に動いた。 ただしバッテリは寿命が来ていて、数分で動かなくなる。    分解して、バッテリを交換し、 ついでにHDDをCFカード化してみようとしたが、結論としてはうまく行かなかった。 初期型iPodは、HDDをLinuxマシンで覗いてみると、先頭に不可視領域がある。フォーマットしても消えないファームウェア領域らしく、これをまるごとCFにddコマンドで移せば行けそうだと思い、試してみたが…  動作はするけれど、Macにつないでも認識されない。 運良く認識しても、修復しますかと問われるので、選択するとファームウェア領域も含めて初期化されてしまうため、だめだった。 仕方ないので、どれくらい消費電流が変わるのか、電流値を調べてみた。 傾向として、起動時と読み込み時は倍近く電流を消費するが、再生中は先読みしてバッファに貯められるため、CFもHDDも同じ電流値だった。 仮に交換しても劇的な変化ではなさそうだ。 Clone to CF card  can't connet iTunes  とりあえず、バッテリが交換されたことで普通に動作してくれるようになったので、HDDを戻して使っている。(CFはiPod miniに入れた) 外装はアクリサンデーの研磨剤を使い、細かい傷を消した。 初代iPodだけが持つ、ぐるぐる回る機械式スクロールホイールを堪能できる。 この機構は直感的なのだけれど、やっぱりベアリングを挟むので結構な厚みが必要になってしまう。後継機がタッチ式になったのも自然な流れだなと思ったり。