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

投稿

2月, 2012の投稿を表示しています

ライフログ

FemtoCubeを移動時に鞄に放り込み、移動時間の間ずっと記録してみたものを、GoogleDocsのグラフ作成機能でトレンドとして表示してみた。 上から、バッテリ、カラーセンサのRGB値(12bit)、SCP1000の温度と気圧の順となっている。3秒間隔でだいたい1時間半程度のスパンを持つ。 シリアルSDロガーの消費電力分が加わっているので、本来の運用ではもっと緩やかに電圧降下するだろう。今のままでも一日は持ちこたえそう。 カラーセンサは今回WayPointの記録用に使った。ピークは乗り込んだ駅と降りた駅で鞄から取り出して明かりに当てた様子を表す。 温度はだいたい鞄の中の温度となる。 最後は外に出し、部屋に置いたのでだんだん低下していく。  気圧は高度を表す。途中地下を経由するので、その高度変化が高くなる方へ現れている。 これに加速度とか加えると楽しそうだ。そしてディテールを増やしすぎて生活が駄々漏れに・・・  記録をこうしたグラフにするだけでなく、一日のログから消灯時間が勝手に決まるスマート住宅とか(やや迷惑だが)、蓄積したデータから何か現実や行動者自身にフィードバックがかかるものも面白いだろう。生活リズムから健康診断するとかそういう用途は、今あるスマートフォンとかでも十分できそうではある。ライフターゲティング広告ビジネスとかとか。人がアフィリエイトを稼ぐために運動し外出する時代はもう来ていたのだ・・・(完) ********** オムロンのPC連携できる歩数計 上を書いた後で、新古品として見つけた歩数計。 最近の歩数計は加速度センサで歩行リズムの周期だけを取り出してカウントするらしい。 オムロンの製品はRFIDによる非接触データ通信に対応していて、一日ごとのデータを会員制サイトにアップロードできる。同じ仕組み(WirelessLink)に対応した体重計と血圧計もあるようだ。 ライフログに重点を置いたヘルスケア製品はどんどん増えていくだろう。 通信端末もNFCやBT4LE規格などによってより柔軟な機器連携をするようになりつつあるので、体重計や血圧計の管理画面がスマートフォンアプリ、という形態は容易に想像できる。 ライフログの悪用の危険性についてはどうなのだろう。 歩数も体重も心拍も、日付以外にGPS...

FemtoCubeの外装とA/D周り

12月と比べると見た目はあまり変わってないけど、中身のほうがだいぶ完成したFemtoCubeプロトタイプ機。この機体は最初から宇宙志向では無いので(考え方は流用したが)、気圧センサや地上仕様の照度センサなどを実装して、ワイヤレス気象センサとしての作り込みをすすめている。 過去作のローバーなどは、ひとつのマシンの制作にはそれほど時間をかけて来なかったけれど、それに比べると今回は回路的にだいぶ充実した構成になった。 プロトタイピング病を回避するために、ATmega328Pでできること(I/Oピン)という制限を課し、外形を制限してたけど、結構うまくいったと思う。 50mm角のキューブケースに収めるという制約は健在。 観測センサが一段落ついたので、タイムスタンプ用RTCと照度計、回路電圧などの計測chを実装した。RTCは秋月のものを基板の端っこに立てて取り付けている。 ブロック図 電源周りなどがまだ未完成だけれど、だいぶ完成形に近づいてきた。 A/D周り 照度、回路電圧、太陽電池発電電圧はAVRのA/Dを使う。内蔵Ref1.1Vに設定したので、測定電圧は抵抗分圧で電圧変換した。手持ちの1MΩ台の1608抵抗などを動員する。 電源電圧については、現在はバッテリから直に取り出しているため非安定化バスとなっている。電子系はDCDCも搭載していない状態だが、4.2V~3.0V程度でなら回路の動作範囲なので、回路電圧(=バッテリ電圧)を監視しておき、照度センサなどの電圧依存なセンサのために補正値を提供するという対応でよさそうだと判断した。(4.2V側が若干高めなので、3VくらいのLDOを挟んでもいいかもしれない・・・) 照度はS9706の電源端子と共用だが、明るさによっては電流がポートの許容範囲を超えそうで怖い。 とりあえずセンサ電源OFFでクロックダウン中の消費電流は実装前とあまり変わらずに済んでいる。 奥に立ってるのがRTC カオス配線 電源系と電子系あわせて 電源についてはバッテリを大容量Li-ion生セル(880mA)にした。そうなるともともと小容量バッテリ向けのLTC4071では負荷がキツくなったため、FETなどのディスクリート部品で充放電回路を実装することにする。 生セルなどは扱いを...

物語駆動開発

※脈略のない話です。 組立中の本物の人工衛星を見る機会に恵まれていたこともあり、時々、「陸にあるときの衛星ってなんて呼べばいいんだろう」というロクでもない思考を始めることがあった。  人工衛星という単語自体は、まず天文学的な定義がある。惑星をまわる物体を衛星といい、中でも人が打ち上げたものが該当する。 速度的には第一宇宙速度に達したものとなる。(速度を得るのはロケットの仕事だけれど)  冒頭のどうでもいい疑問については、宇宙機(SpaceCraft)という上位の言葉が用意されている。手のひらサイズのキューブサットから、大型衛星、惑星探査機まで含まれる。人工衛星の制作現場では、単に「衛星」と略されるため、はじめは混乱する。地上でいえば、携帯電話とその携帯基地局くらい規模の違うシステムが含まれている。  衛星って一般的にどう理解されているのか。その思いはMAKE会場で展示に興味を持ってくれた人の衛星観を見聞きしてきた中でだんだん育っていった。 普段衛星技術そのものを考えたことのない人が衛星について抱くイメージを知るチャンスってなかなか無い。 大学衛星も時折ニュースにはなるが、それほど数は多くないので、まったく知らない人が多いだろう。  軌道には決して投入されない模擬衛星実験や高層気球でも衛星と混同するような説明の文章をたまに見かける。(これは英語でも見かける)、広報媒体で採用される言葉には公報用語的な飛躍が見え隠れすることも多いので、さらに混乱を招いているかもしれない。  話を交わした中で、特徴的な誤解には以下のようなものがあった。 ・ロケットが打ちあがった姿でそのまま回っている ・地上から昇っていく ・静止衛星の一種 衛星の立場から見て、上の誤解の中でやや懸念したのが、「地上から昇っていく」という認識だった。 実際には第一宇宙速度を稼ぐロケットがあってはじめて、衛星は軌道を巡ることができる。 ウェブではしばしば高高度気球がバルーンサットと紹介され、そこに載せた搭載カメラのHD映像が大手ブログサイトなどでも取り上げられて結構有名になった。 メディアの書き方をみると、気球と衛星を混同している人は結構いるらしい。 ということで、低軌道衛星というものはどうもスルーされている気がする。(その事実...

続、FemtoCube電力管理 (SCP1000とプリスケーラ編)

お散歩デバッグ 引き続き、SCP1000の制御とATmega328p自体の電力を下げる方法を探る。SCP1000はArduinoIDEのSPIライブラリでサンプルスケッチとして載っているので、それを使った。 バグ情報などを参考にして、若干修正している。このソースではDREDYピンをタイミング監視用に使っているようだ。 SCP1000-D01の読み出し SCP1000は通常でも25μAと省電力だが、垂れ流し状態の連続取得モードではなくトリガ読み出しを行う。使わないときは待機していてもらえると助かるので。 このモードを使うためには, ・オペレーションレジスタ(0x03)に0x0cを書き込む               or ・TRIGピンにパルス入力を入れる (from SCP1000データシート 2.2.2 Measurment mode selection) という2通りがあるようなので、オペレーションレジスタの方を試した。オリジナルがすでにメインループの先頭で高速読み出しモードに設定しているので、設定値を0c に書き換える。あとは一連の処理を関数化しておいた。ちゃんと動いている様子。 他のセンサと読み出しタイミングを揃えなくて良ければ、TRIGピンは省略できそうだ。 (空きIOピンが1本増えた!)  この状態で電池駆動し、動作テストを試みた。 電車に乗って移動していたときの気圧変化が以下となる。(5秒周期のパワーセーブ) 気圧が下がれば高度は上がる。1000秒あたりで列車が地下に潜って、地下鉄を乗り継いで都心に出たので、いい感じに大深度地下を経由してる気がするような・・・  標準大気で「hPa]から高度[m]を出し、出発地の高度補正をかけてみた。 路線は途中から高架を走り、新宿あたりで地下に入って、それからどんどん潜って最後に似たような高度の目的地に出てくる。という感じだろうか。 時刻管理と他のセンサによる地点を推定する情報と自分の活動を示す情報が欲しい。 (歩数計かな・・・) もともとライフログ用途では作ってなかったから、これはまた別に検討したい。 プリスケーラ 消費電流削減のためにもともと8MHz駆動だが、さらにクロック分周比を変えてみる。ライ...

S9706の電源制御とFemtoCube電子系

 独立して動く回路では、周辺回路の電源を必要な時以外はOFFにすることで無駄な消費電力を削減することができる。  既にFMトランスミッタはコマンドで電波発信を止められるようにしている。 S9706はデータシートを読むと消費電流が10mAとある。 http://jp.hamamatsu.com/resources/products/ssd/pdf/s9706_kpic1060j10.pdf   これならAVRのポートでも駆動できそうなので、VccはATmega328のピンから取ることにした。 FemtoSatの回路は周辺機能全OFFで定常6mA程度(クロック8MHz) ここで期待通りON/OFFができているかどうか確認するため、回路の消費電流を測定することにした。 まずは、単純にソースの上端下端で電源ピンをHIGH/LOWしてみた。 FemtoCubeの回路自体はLチカだけさせている状態で6mA以下なのだが、そこでS9706が一旦ONになったタイミングから、突然データシートの4倍くらいの電流が流れ続けた。異常な数値だ。これに送信中のFMトランスミッタが加わると回路の消費電流は80mAを超える。 ・異常電流でもS9706の動作は問題ない。 前記事 ・S9706の電源OFFをやめると10mA程度で一定に。  消費電流は嘘をつかない。ということで、電源ピンをONにしないで起動してみたところ、データは届かず、やっぱり4倍の電流が現れた。どうも電源OFFにした時、データラインはそのまま放置してるのが問題だった様子。 とりあえず電源OFF時にS9706の全てのピンをLOWに落とすようにしたら、こんどこそはデータシート通りの消費電流が再現できた。単純なことだったね・・・ 読み出し時だけONなので、連続取得以外では消費電流はピーク値として扱えそう。 電子系の作り込み デモ用プロトタイプ の頃からすると、少し思想を変える。FMトランスミッタは乗っけておくけど、データ通信はXBeeに譲る。太陽電池で運用することを視野に入れたEM設計を進める。 現在の電流モード (3.3v時) ・待機 6mA ~20mW ・計測 10mA  ・電波送信 41mA 135mW...