2017/10/04

独立電源の実験#3 動作テスト

ガーデンプローブ
 秋は深まり、日に日に昼が短くなっていく。 ひまわり8号リアルタイムウェブをサブモニタに映し、自動更新で地球の変化を眺めながら作業している。
 静止軌道から眺めていると実感するが、電力収支を維持する上で、地上での太陽光発電は宇宙空間よりも不安定だ。
 秋分を過ぎ、もうじき冬至に向かってまた地球の影が傾いていく様子が見えるだろう。 地軸の傾きと気象により地上の日射量は大幅に変動し、 昼と夜のサイクルは12時間前後と長い。
 今年は曇ってばかりだった・・・。
 地上での平均的な発電量は、地球の公転軌道上の1割ちょっとまで落ちてしまう。
 もうちょっと太陽系視点で見てみると、太陽定数が1割ちょっとまで落ちるというのは、火星以遠の小惑星帯の公転軌道まで遠ざかるのと同じだ。

 さて、デジタルサボテンこと独立電源システムもある程度インターフェースが生えそろってきた。 近距離のハウスキーピングデータとコマンドの送受信のために、TWE-Liteを内蔵し、GPS、長距離ビーコン用とあわせて、3種類のアンテナが搭載されている。
単3電池駆動タイプも用意
 地上で連続して安定稼働させる場合、1日分の充電で数日間稼働できる要求仕様がベースラインになる。 その観点からしたら、このサイズでは高負荷のタスクは昼間だけという中途半端な位置付けになる。  試験機としては、蓄電系が小さくシンプルなほうがやりやすい。

 ソフトウェアによる電力管理の試運転で、2日ほど透明な保存容器に入れて密封し、窓の外に放置してみた。
太陽電池は300mW出力のものを1枚だけ取り付けている。
下記のグラフは受信したデータから電圧履歴と動作モード遷移を抜き出したもの。

 天候は1日目の昼間は曇り。 夜は雨だった。 二日目の昼は快晴。
建物の北西側に設置しているため、午後までは直射日光が当たらない。

 小容量のほうは日照状態で電圧がかなり左右される。 副作用として2つのキャパシタ間の電圧比較だけで太陽光発電中かどうか判断できる。

 動作モードは4つ用意した。
  1. 大容量キャパシタの充放電系統切り離し、小容量キャパシタ駆動モード。 (完全放電からの復活)
  2. 大容量キャパシタ初期充電モード、放電なし(HK送信開始)
  3. 大容量キャパシタ駆動開始、省電力モード。 
  4. 通常運用(規定電圧以上で、 測位などを許可)
 動作モードは始動と通常運用の2つの段階がある。 ブートストラップ用の小容量キャパシタは大容量キャパシタの放電を開始した段階で状態遷移フラグから無視する。
 大容量キャパシタの電力がマイコンの下限電圧を下回るまでは、3と4を行き来している。

 省電力モードなら、曇り空程度でも電力収支が成り立っている。 余裕を考えると、パネルは2枚にして、0.5W以上あるほうがよさそうだ。

 夜間の電圧カーブを見ると、平均500μA程度で動作しているように見える。
OBC-644基板上の周辺機器の省電力をまだ極めていないので、最終的に100μA程度までは減らせると思う。

 モード4の間は10分おきにGPSの電源を入れ、測位を行っている。コールドスタートでは測位に40秒ほどかかるけど、バックアップ電源端子には常時給電しているので、次回以降はホットスタートを行い、測位時間を数秒まで短縮できる。  

 ATmegaを1.8Vまで駆動できるようにしたので、だいぶ稼働時間を伸ばせた。
 キャパシタを5.5Vから1.8Vまで使うと、静電容量180クーロンになり、約50mAhの電池で動いているのに等しい。  4V止まりだと6割どまりで、せっかくの容量を活かせない。

容量を稼ぐには、快晴時は簡易的にMPPT動作を行い、昇圧させてキャパシタをフル充電まで持っていく仕組みが必要になるだろう。  さらにオンボードで電圧履歴をもたせ、もっと動的な動作モード配分も・・・。


2017/09/05

miniVNA tinyでアンテナ特性を測定

  いろいろなアンテナを自作していくうえで知りたかったのがVSWRやリターンロスといった特性。校正済みの測定器を使える環境に出入りさせてもらっているけれど、やはり手元で実験しながらエレメント長の調節などをしたい。特にサブGHz以上になってくると調整は測定が前提になってしまう。

 USB接続のVNAを探してみたところ、miniVNAシリーズというものがあった。

キャリブレーションキット(オープン、ショート、50Ω)
 反射特性と伝達特性計測のほか、信号発生やケーブル損失の測定などもできる。 miniVNA tinyでは3GHzまで計測できるので、自分の利用目的に合致していた。 アッテネータを付けてもらい、代理店から購入。マニュアルも充実しているので、特に迷うことはなかった。 (Aliで見つかるものはコピー品らしい)

 自作アンテナ測定(反射特性の計測)


自作の430M帯のターンスタイルの特性を見てみる。 いつも屋上のSDR受信局につけていたものを再整備を兼ねて外した。




MMANAでのシミュレーションをもとに無調整で作ったけれど、それなりに特性が出ていた。 ちゃんと円偏波になってる様子。


 アンテナ測定は周囲の金属や人体でかなり特性が変化するので、できるだけ何もないところで測定する。

 スキャン速度を高速にして、荒い解像度でフリーランさせて手や金属を近づけたりすると、特性が変動する様子が観察できる。

伝達特性の計測





アッテネータの特性を見てみた。10dBと20dBのアッテネータを組み合わせてみてみたが、ちゃんと30dBの通過損失が測定できている。

 なんといっても持ち運びやすいので、出先の実験などでアンテナやRFケーブルのチェックに役立ちそうだ。

2017/08/31

独立電源の実験#2 

 夏といえば、統合試験と環境試験が立て続けに始まる季節。発生する怪奇現象(不具合)を退治し、スケジュールで肝試しを行っていたら、いつのまにか夏は終わってしまった…

その脇で、前回手配線した独立電源試作機の実験結果をもとに基板のアートワークを行い、新型OBC基板と電源基板、化粧板をelecrowに発注。
KiCADのボードをVRMLで出力すると、Windows10の3Dビューアで簡単に表示することができる。

 5㎝角以下だと最安値になるので、試作にかかるコストはどんどん下がっている。 もう手配線はよっぽどのことがないとやらなくなってきた。

OBC644-10D rev:E

OBC基板もバグ修正と端子増設でバージョンアップしている。
・SPIとFTDI配列を統合し、GPIO2つとシステム電源電圧(3.3V)出力端子を追加。
外部基板のIC(デジタルセンサやレベル変換、バススイッチ)にもシステム電圧が必要だったのと、UARTとSPI用の制御用端子として新たにGPIOを引き出した。
ATmega644のGPIOピンをすべて利用できるようになった。



拡張基板スタック

OBC644用の拡張基板だけど、ピンヘッダ継ぎ足し地獄は無駄に階層が増えてしまうので、2層基板を2枚重ね合わせてみた。疑似的に4層基板となる。貼り合わせる面にクロストークが心配な配線は避けよう。
 

 裏面はSPI-ROMが2つ乗るので、そのエリアを避けて基板外形を設定。 OBC644基板は1mm厚、拡張基板は0.6mm厚で発注していて、張り合わせれば1.6mmの標準の厚みとなる。
 2つ重ねてピンヘッダにはんだ付けするので、貼り合わせでシビアな工程は特に無い。
今回は試しにu-bloxのMAX-M8Qと、マイコンの書き込み用に基板対電線コネクタ(GH5ピン)を搭載した。 単体でGPSロギングにも使えるだろう。
  アンテナはU.FLコネクタを設けて、外部から引き込む形にした。

電源系統&構造体

 

 手配線プロトタイプとほぼ同じ構成の電源系統とした。太陽電池は2系統入力可能。 キャパシタバンクの上流/下流のスイッチは逆流防止機能付きのロードスイッチにしている(ただし、ON時の逆流は阻止できないので理想ダイオード動作にはならない)
キャパシタバンクに使ったパナのゴールドキャパシタは18650セルとほぼおなじサイズになっていて、競合他社の製品よりスリムで細長いタイプ。 
 小容量の起動用コンデンサはいつもどおり単純化のためにショットキーダイオードORだが、順方向電流が100mA以下のものに交換した。1Aクラスにしてしまうと漏れ電流により、他の系統から逆流が起きてゆっくりと充電されてしまう。
 太陽光が常時あれば、大容量キャパシタを使わなくても、間欠駆動状態でテレメトリを送信可能。

 構造的には、電源基板が各基板のハブとなっている。キャパシタバンクの左右の空間に、FTDI配列対応の無線モジュール基板や、GPIO、UART、I2Cのセンサを挿して設置できるようにした。
 拡張要素はOBC基板の電源管理下にあり、OFF時にバス配線などを切り離せるようにしている。

 日照がない場合、外付けで電池を搭載することで安定して稼働させることができる。
下記は拡張ベイに単4電池をCRD経由で接続したもの。 大電流を取り出せない大容量の1次電池との組み合わせも考えられる。


電源基板自体にPIC12F用のパターンを用意したので、基板単独でも電源管理やOBC系統のリセット介入ができる。 



薄曇りの日没時に試験運用したときのデータ。 曇りなのでフル充電にはならず、テストのため1分毎に無線送信、3Vで送信停止なので、日没後1時間ほどで停止した。
 試作機ではデフォルトで2.7V以下になるとでマイコンのBORが働くが、 システム的には1.8Vまで動作可能なので、ヒューズビットの設定でBORを1.8Vに設定しなおした。

PCBアンテナ(おまけ)

 化粧板として発注する基板に、GPS L1用のPCBアンテナパターンを作ってみた。これでも測位できたが、あまり性能はよくなかった。VNAで測定してもらった結果、2.4G帯に感度があることが判明。思ったより短縮効果が無かった…。

 もともとパッシブアンテナを付ける場合、配線長は100mm以下で近接配置が推奨されている。 素子の特性が悪いと結構厳しい。
  
 とりあえずMAX-M8QのRF入力に同軸給電のための受動部品を追加して、市販のアクティブアンテナを取り付けて解決とした。
同軸給電に改造
AliexpressでGNSS対応のアクティブアンテナを入手して取り付け

過去に入手してあったアクティブアンテナ。 これはGPS L1のみ

2017/08/20

UMPCもどきの製作1


修正7度目の検討図
10年ほど前、UMPCが登場した。
 iPhone登場前夜、抵抗皮膜タッチスクリーンの時代。ハンドヘルドコンピュータの領域で、ガラケーのように様々なハードウェアが登場しては消えていくカテゴリに、x86アーキテクチャが本格的に降りてきた時期。
 ネットを漁り、登場当時Origami PCと呼ばれていたのを思い出す。 
 http://www.itmedia.co.jp/pcupdate/articles/0603/11/news015.html
 
この頃登場した静電容量タッチパネルとソフトウェアキーボード、スワイプ動作が、ここ10年でデファクトとなった。
 最近はタブレットのコモディティ化が一周して、GPD winのようなキーボードを備えたモバイルPCがちらほら再登場し始めていておもしろそうだ。

RaspberryPiも無線LANやBluetoothを備えていて、とっつきやすくなった。 今、安価に入手できる部品を揃えると、UMPCと同じくらいのスペックの端末が自作できる。
多感な時期をデバイスの小型化とともに過ごしてきたからか、時折発作的におそいかかるビンテージ端末を集めたい衝動を昇華させるべく、自分で1台作ってみることにする。

おおまかな仕様
1,  Elecrowの5インチHDMI液晶(800x480)をベースにハンドヘルド端末を作る。可動部は無しとする。
2,電源はモバイルバッテリ
3,   Raspi3を前提とする
4,   ハードウェアキーボードをつけ、HID接続する

検討しているキーボードでぴったりな既製品が無いので迷走し始めた。いつの間にか片手に収まるミニキーボードが絶滅しかけていて、時代の変化を感じる。

ということで、普通のプッシュスイッチを並べてキーボードを自作してみる。USBマイコンが増えてきたので、HID機器の自作はかなり敷居が低くなった。

 画面が5インチ程度の端末しかなかったころは、UMPCもキーボードを備えた物が多かったように思う。
 タッチパネルが使いやすく、画面が広いなら、大抵の操作はパネル上で完結できる。ハンドヘルド機の復活であれば、公式の7インチ液晶に無線キーボードをつけるのが正統派だ。Origamiのコンセプトモデルもその系統だったなぁ、と思い出す。
 多ボタンに憧れるのは単なるノスタルジーなのだろうか。


 この液晶、HDMI端子のある面を手前にしないと、斜めから見たときの視野角が極端に狭くなるんだなぁ。
 仮組みしてドライバを入れて動かしていると、画面解像度が狭すぎて、プリインストールされたソフトが表示できない問題に直面してしまった。

キーバインド試行錯誤地獄
モバイル機で面積が限られる。ということで独自配列を検討する。 拘束条件は、両手で持って親指で打つスタイル。
液晶の両脇にボタン等を置きたいので、横幅は16cmを超えると親指が中央に届かなくなる。

Windows10のソフトウェアキーボード 分割モード
先達のデザインを思い起こし、それらが採用したキーボード配置を一通り調べてみる。
キー配列も、本体の大きさを決めないことには始まらない。 今手元にある部品から寸法をCADのボード設計に放り込んで、おおまかに外形を決定した。


ガワの製作は、化粧板も含めて基板設計で検討してみた。

フロントパネル基板はスイッチの軸が頭を出すようにして、シルクで印字を施すというイメージで始めてみた。その下に回路基板があり、プッシュスイッチ本体と液晶の厚みを吸収する予定。いちおう、ジョイスティックも搭載できるようにしてみたけど、ボタン操作UIはまだ配置検討の要素が残っている。

プッシュスイッチを並べるマージンを考え、キーピッチは横9mm、縦10mmとした。実際はかなり余裕があるけど、狭くしすぎると印字エリアがなくなってしまう。

 英字配列のキーをそのまま再配置し、テンキー配列風の数字キーを中央に持ってくることにした。
 KiCADでPCB設計画面を使って配置検討しつつ、キーバインドを決定していく。
今のところ、61キー+画面横の方向キーで65キーをひとまず割り当てた。

CADと並行して、キーボード図の生成には、ブラウザで自由にキーボード配列を作成できるサイトを利用している。とても便利。
http://www.keyboard-layout-editor.com/#/



使用頻度の多いキーはできるだけ親指の可動範囲である扇状のエリアに配置している。
変遷

見た目が9割
紙で箱を作り、そこに印刷したデータを貼り付けて検証しながら数時間、だいたい固まってきた。 
 Fキーが必要であれば、液晶の上に配置しても良さそうな気がしてきた。Chromiumの画面拡大(F11)など、ホットキーとして一部を配置すると結構便利。狭小画面ではホットキーが便利な点がたくさんある。
 画面の周囲にスイッチを並べ、フライトコンピューターの操作画面みたいにするのも面白そうだ。
 まだ忙しくて製造に着手する時間が無いので、続きはだいぶあとになりそう。


2017/07/25

独立電源の実験


リトープスという多肉植物を昨年から育てている。基本放置なのでよく世話を忘れてしまい、枯死寸前になっていることが度々あった。なんとか徒長(日照が足りず背が伸びる現象)だけは防げている。

 話は変わって、OBC644基板用の独立電源を試作してみた。これも基本放置を目指したい。
蓄電はスーパーキャパシタのみの簡素な構成にした。圧倒的にエネルギー密度が低く、リーク電流も多めと、蓄電系として見た場合のデメリットは多い。しかし代わりに過放電による永久故障はなく、温度条件なども緩めだ。
 便利なエナジーハーベスト用電源ICを使ってもいいけれど、今回は自由度の高いディスクリート構成にした。 といっても、ソーラー目覚ましキーホルダー(2012)に毛が生えた程度だ。

容量違いで2種類のキャパシタ系統を組み合わせた。
基本的なモードとして、
(初期充電)完全放電からの復帰
・コンデンサバンクの充電判断
・コンデンサバンクの電源系統への接続
・過充電抑制
がある。マイコン側では2つのコンデンサの電圧を監視している。 電圧のみで残量推定ができるので、エネルギー管理はとても簡単だ。

 太陽電池はダイオードORで小容量(0.22F)のEDLCを充電する。光が当たれば、数分後にマイコンが起動する。
 大容量EDLCは電圧上昇に時間がかかるので、上流、下流ともデフォルトでは切り離されている。主系統への接続と充放電管理はソフトウェアで行う。
下流側は電圧降下を抑えたいため、あえてダイオードORしていない。
簡素化のためにレギュレータの降圧モードのみなので、マイコンのBOR電圧を下限として、コンデンサバンクから使える電位差分の静電容量は約150クーロンほど。だいたいコイン電池くらいになる。
 とりあえず日照がある間は、時折GPSを作動させたり、カメラ撮影するといったミッションをこなせる規模になる(はず) 蓄電が小規模なので、小さい穴の空いたバケツをやりくりするイメージ。

無線モジュールで定期的にテレメトリを送信するところまでは実装して、日中は屋外に放置してみた。快晴では満充電に到達するが、曇った日でもテレメトリ送信に支障がないレベルの発電ができている(下グラフは薄曇りの日のテレメトリより)小型筐体なので日照を浴びると50℃付近まで上がってしまう。
テレメトリ(午後から開始)
ほぼ直結のCC充電のため、発電量が落ちると太陽電池の発電電圧が降下してしまい、満充電まで充電されない様子が見えている。(快晴時は過充電防止電圧まで充電される)日照に左右されずに充電するなら、蓄電系は途中から昇圧に切り替え、CVモードで充電させるとよさそうだ。

電圧トレンドを判断させれば、放電抑制を行って夜を超えたり、数日間動く設定もできるだろう。完全放電しても、光が当たれば生き返るわけなので、宵越しの電力は持たないというのも潔いかもしれない。

2017/07/03

デスクトップの更新(Ryzen5)

そろそろメインマシンの更新時期だったので、今回はコストパフォーマンスで話題のRyzenで組んでみた。
 ZenにするならAPUが出るまで待とうと思っていたけど、グラボは最初から外付けだったと思い直し…。

AMD Ryzen5 1600
ASRock AB350M Pro4
CORSAIR DDR4-2666 16GB (8GB x2)
Crucial MX300  1TB
GTX960 4GB(使いまわし)
ケース、電源 (Antec EA-380 Green 使いまわし)


 前のCPUはIvyBridgeな i5-3470だった。Ryzen5 1600とクロック定格/ターボブースト値も一致しているけれど、PassMark値で見ると、ちょうど倍のスコアになる。これがコアとスレッド数の差なのかな。
 TDPは77Wから65Wへ低下しており、入れ替えにあたって冷却系と電力系統はそのまま使えると判断した。EA-380は8ピンCPU電源も備えているし、12Vデュアルレーンで強い。

  SSDはCドライブに重たい開発環境とDropboxフォルダを置くことを想定して1TBにした。 残り領域が少ないとSSDの寿命にも影響してくるので、あまりケチらない方向で。

 ポリタンクMacの改造ケースなのでCPUクーラーの背丈に制限があり、かっこいいリテールクーラーは悲しいことに高さオーバーで使えない。
 昔の自作機に使っていた サイズの手裏剣(リビジョンB)がギリギリ使えることがわかり、同時に購入した。 Socket AM4が新しいこともあって対応製品が少ないのが懸念だったが、爪で引っ掛けるタイプならそのままAM4にも対応している様子。


気づいたこと
・メモリの差し方は指定があるので従う。数字の大きいスロットから埋めるようだ。
・UEFIでの設定中はCPU温度が60℃まで上昇していて焦った。OSインストール後はほぼマザボ温度付近まで下がったのでヒヤヒヤした。アイドル中はおよそ室温+7~10℃台をキープ。
・最近のマザボはLED設定まであって面白いなぁ…
・AB350M Pro4の蟹サウンド(ALC892)はノイズも乗っておらずなかなか良い感じだ。
GNDプレーンの分離帯が当たり前になっている

Virtualboxで構築してあったVMを引っ越して実行させたり、3DCADを開いてレンダリングさせたり、ソースをコンパイルしてみると、当然ながら早くなっている。
コア数が多いと並行していろいろ開いても重くならない。
 軽いと思っていたマイクラをやってみても、以前の構成でラグが発生していたらしいということを気づかされる。


 このG4ポリタンクケース、幼い頃にナショジオの広告で見て以来、かっこいいと刷り込まれ今に至っている。曲線的なポリカーボネートで覆われたblobject時代の形状を伝える一品だ。
 改造した汎用ケースとしては、電源ユニットが背面ファン方式しか取り付けられないという点が足かせとなり、今後の延命は高くつくだろう。

 最初の自作機も高校時代にソケットAのSempronで作ったもので、ケース代をケチるためベニヤ製の自作ケースに入れて動かしていた。技術系サイトを巡りつつ、出来たばかりのGoogleEarthやYoutubeに入り浸っていた記憶がある。久しぶりにAMD機を組んで、今も昔も基本行動はあまり変わってないことに気づく。コンピュータ支援を受けた人生はこれからも続いていく…のかな。

2017/06/06

Arduino互換汎用データロガー 2017



4年目のArduino互換データロガー基板。第三世代ということで、今までのプロジェクトで載せたことのある機能を盛り込んで、独立動作する汎用的なオンボードコンピューターとして使えるようにしてみた。
スリープ機能を重視し、目標消費電流は平均3mW以下。


システムブロック図



 今回はATmega644PA/1284Pを8MHzで動作させて、3.3V単電源とした。
オンボードの機器として、MPU-9250とRTCに加えて、気圧センサ(MS5611)とシャントモニタ(INA226)を追加。

 外部電源出力は、この基板では主にGPSやUART接続の通信モジュール等の接続を想定している。
基板の電源と独立した2つのレギュレータを載せ、マイコンから個別に出力をONOFFできるようにした。 EN出力付きのレギュレータは、ロードスイッチとしても使うことができる。レギュレータの各種保護機能により、下流での電源異常時の波及故障を分離できるのも良い。 とショートモードばかり気にするお仕事の癖が出てしまった…。 いろいろな故障モードを発生させることで、システムは強くなっていく。

 また、SPI接続の各種ROMに対応。SO-8サイズのFlashROMやFRAMを搭載できる。
microSDカードでも、ブランド製品は初期化後アクセスしない期間の待機電流は100μA程度まで下がるが、大容量のデータを貯める必要が無ければ、オンボードのメモリは電力的に有利だ。


 初めて素子を45°配置してみたが、なかなかかっこいい。
基板はelecrowにいくつかの基板を一緒に発注している。発注して6日で届くので便利だ。(輸送はShenzenDHL)年々品質が上がっているような気がする。

 実装が一通り終わったところで、スリープモードに移行した場合の消費電流を調べた。
MPU-9250やINA226はデフォルトだと電源投入後すぐに動作を始めるため、何もしなくても数mA消費してしまう。こうしたセンサはパワーダウンを有効化するためにコマンド送信が必要だ。センサをシャットダウンすることで、基板全体での待機電流値は200μA程度にまで落ちた。

消費電流の調査(デバッグ)

200μAは小さいほうだけど、想定よりかなり多い。
ためしに設計的には共通な第二世代のロガー基板を使って同じコードを走らせたところ、こちらは79μAだった。実装途中のマイコンとレギュレーターだけ載せた基板でも200μAとなる。原因を探ると実装したレギュレーターの消費電力にあった。 試作で安く手に入る型番を使っていたけれど、これがかなり自己消費していた様子だ。

いつも使うLT1761に交換してみると、待機時の電流は72μAまで落ちた。一個で安いレギュレータが10個買える値段なのだけれど、逆電流防止機能もあるので使っている。
とりあえず、常時通電するマイコンの系統だけは自己消費の少ないものにするのがよさそうだ。TIのTPSシリーズでは500nAレベルのものもある。効率を目指すのであれば、昇降圧DC/DCも視野に入ってくる。

せっかくなので段階的に部品を実装しながら調べてみた。
マイコンは端子の初期化とデジタルICのスリープコマンドを送った後、WDTで指定時間経過で間欠駆動するコードを入れたもの。(RAMが保持されているので、完全なディープスリープではない)

レギュレータ無しで電源装置から3Vを与えたとき、
・ATmega1284P 8MHz 23uA
・ATmega644AP 8MHz 23uA

LT1761ES5を実装し、3.7Vで動作させたとき
・ATmega1284P 8MHz +LT1761ES5    45uA
・第三世代 フル実装基板     72uA

参考 第二世代基板(ATmega644AP 16MHz)
3.7V時 79uA
5V時    110μA

20μAほどは、RTCの動作電流、FlashROMやセンサの待機電流などが現れているようだ。
・ATmega1284P 8MHz +LT1761ES5    45uA
+MPU-9250                                       55μA (データシートでは8μA)
+MS5611                                          55μA

第二世代は5V系なので、第三世代で追加した機能以上に増えてしまっているようだ。第二世代まではArduino互換であることを重視していたので、電源系統は単純な常時供給としていた。

 RTCの割り込み出力はATmegaのINT2に接続されており、外部割込みをつかうことで、長期間にわたり正確なタイミングで動作させられる。
時折、GPSから時刻情報を得てRTCを補正するという運用なら、かなりの省電力化になる。
実験用に特小長距離無線機とGPSを組み込んだ例

2017/05/30

PIC32ブレイクアウト#2

以前試作したPIC32MM用ボードの修正板を実装してみた。

・SOSC用に32.768kHzの水晶をシリンダタイプに変更。
・ICSP端子を追加
・コンデンサの外形見直し。(10μFを1608へ)
・32MX1xxに対応。(2xxだとICSP端子のデータ、クロック線が使えないけど使うことはできる。)

PIC32MM

32MX1xx


 ピンヘッダつけてしまうと意外とめんどくさいので、いつか端面スルーホール処理にしてみたい。

 プロジェクトファイル置き場 https://github.com/kentN/PIC32-28P-Breakout

2017/05/15

簡易無電源環境光センサ

太陽電池を簡易的な環境光センサとして使ってみた。

CPC1822はとても小さな太陽電池セル。
透明なSO8パッケージに封入されたアレイで構成され、4V 50μA(6000Lux時)の発電能力を持つとデータシートにはある。残念ながらすでに生産中止品なので、部品屋に流通している分で販売終了のようだ。部品箱から発掘されたので、供養と称して特性を調べてみた。

  50μAで何ができるかといえば、アプリケーションとしては光検出、トリクル充電の電源といった用途になる。μAレベルの平均消費電力であれば、コンデンサを充電することでPIC12Fあたりを間欠駆動することもできそう。

光量センサとしては、無電源でADCに直結する簡易的な環境光センサとして使う事もできそうなので、簡単に実験してみた。


CPC1822のパッケージは向きが分かりにくいが、結線されている足は二つだけ。
シャント抵抗を取り付けて、I-V変換された電圧を読み取る。
(写真では100kΩを取り付けたときのもの)
Arduino(AVR系列)なら、基準電圧に1.1Vが使えるので、10kΩでシャントすれば直射日光下で余裕のあるレンジになりそうだ。

10kΩの抵抗を接続し、照度計と一緒に窓辺に置いて、端子間電圧を測定した結果が下記のグラフになる。曇り空のため、あるていど均一な光量が得られていた。

薄曇りの窓辺での計測結果 < 4000Luxまで


その後、雲間を通して直射日光が得られたので、変動の激しい中ではあるけど、プロットしてみた。


 34401Aにつないでシャント電圧を測定してみると、本来のデータシートの発電特性よりも4倍ほど高い電流値を示していた。負荷抵抗を外して直接電流計測しても4倍の電流が計測できている。 そういうものなのかな…。  6万ルクスで50μAが得られることになる。

 雲間の太陽光で計測した結果は、雲の動きが激しすぎて、プロット精度がとても落ちてしまった。快晴下で透過率を調節するのが理想かなぁ。
曇りのプロットと陽光下のプロットの傾きはやや異なる。セル自体はフィルタもないので、赤外線などの影響をかなり受けている。照度で測るなら、可視光帯域に調整された専用のフォトダイオードを使うのが良だろう。

照度計としては怪しいけど、光量センサとしては使える。発電量を刻々とモニタするという意味では役目を果たすので、機械が生き抜く感覚としては十分そうだ。

太陽電池をセンサだけにつかうのはもったいないので、普段は発電していて、時々電流値を測定できると、マイコンのADCのみで太陽電池の健全性確認ができる。
発電電流の大きな太陽電池だと、シャント抵抗に低抵抗が必要なので熱損失がかなり増える。一時的に負荷からセルを切り離し、FETで測定時のみ一時的にシャントする経路を設けておくとよさそう。

2017/04/22

Nexus5X(と寄り道)

いまさらだが、Androidアプリの作成をしてみたくなって、開発機としてNexus5Xを調達した。
 端末のセンサ値をテレメトリみたいに長時間ロギングしてみたいとおもったが、手元にはセンサを積んだ新しめの機種がなく…。

 Nexus5xには製造不良が原因とされるbootloopといった有名な不具合があり、保証切れの個体がオークションで放流されているため、最初は取り寄せてあそんでみることにした。 結局、安定しなかったので 開発機は新品を購入して運用中。

 起動不良を抱えた個体を分解してみた。
分解についてはiFixitに詳細なレポートがある。分解はプラスチックの爪を外すだけなので容易く、基板は数か所のねじを外すだけでアクセスできる。 裏蓋などの分離する筐体にケーブルは伸びておらず、フレキシブルアンテナや指紋センサ、オーディオジャックは基板に配置された金属端子の接触のみで接続されている。基板につながるフレキ端子はLCD、バッテリ、二つのカメラモジュールのみだ。
今どきの端末はかなり設計の合理化が進んでいて、バラしやすい。

 背面カメラはIMX377で、1200万画素、1/2.3型CMOS。 手持ちのTG-4と比較すると、オートホワイトバランスがちょっと頼りないけれど、画素サイズとレンズのおかげか、細部ははかなりシャープに映る。 5Xだと手振れ補正が無く、シャッターボタンを押してから動きの少ない瞬間を狙ってキャプチャしているっぽいので、光量がある場面ではかなり強い。
全球撮影やパノラマモードみたいな撮影についてはAndroidのほうが気に入っている。

 話を基板に戻すと、SoCを覆う金属シールドもツメになっていて、簡単に開く。
放熱シートを介して、DRAMがPoP実装されたCPUが出てくる。 素子を放射温度計でモニタしながら、ヒートガンであぶってはんだクラックの対処をしてみると、たしかにある程度起動しつづけるようになった。
 ただ、2日目に急速充電をテストした際に発熱が増え、bootloopが再発。 常用は難しそうだと見限ることにした。 あとから買った新品と比べると、負荷をかけたときの発熱が多いのも気になった。 バッテリ端子を外して絶縁し、保管中。


 SoCの裏側に、スマートフォン全体の電力管理パッケージが実装されている。
統合チップのデータシートのブロック図を読むと、
・バッテリ管理
・各種電源用DCDC回路
・ハウスキーピング(各部温度、電流電圧モニタリング)
・LEDドライバ
・振動モータードライバ
・待機系

といったものがワンチップになっている。 コンデンサいっぱい。 あとところどころにエミフィルがある。
 仕事で作っている基板の機能図とかぶっていて、個人的にこの部分の仕様を追うのが楽しかった。ここまで統合はされてないものの、太陽電池を電源に、バッテリで動く無線局ということで結果的に同じシステムブロック図が出来上がるのだった…。

 センサまわり。気圧センサと地磁気センサ?が見える。 LEDライト/フラッシュの隣には、レーザーフォーカス用のToFレンジファインダがある。 時期的に以前、単体で動作実験していたものと同じ型番だろうか。

はじめてのUSB-Cな端末で、接続についてはいろいろと参考になった…。机の上にPCにつながったUSB系コネクタが勢ぞろいしていて面倒になりつつある。
試しに4つ全部違うコネクタの端末をつないでみた。
AppleのLightning, USB-typeC(Nexus5X), microUSB(Xperia Ray), mini-B(HTC-03A)


MVNOのデータSIMのサイズ変更(micro→nano)するために、再契約までしばらくはiPhoneをルーターにして、省エネなBluetoothテザリングをすることにした。 この機種はバッテリの容量が少ないため、Wifiオフが結構効いてくる。