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

投稿

独立電源の実験#2 

 夏といえば、統合試験と環境試験が立て続けに始まる季節。発生する怪奇現象(不具合)を退治し、スケジュールで肝試しを行っていたら、いつのまにか夏は終わってしまった… その脇で、 前回 手配線した独立電源試作機の実験結果をもとに基板のアートワークを行い、新型OBC基板と電源基板、化粧板をelecrowに発注。 KiCADのボードをVRMLで出力すると、Windows10の3Dビューアで簡単に表示することができる。  5㎝角以下だと最安値になるので、試作にかかるコストはどんどん下がっている。 もう手配線はよっぽどのことがないとやらなくなってきた。 OBC644-10D rev:E OBC基板もバグ修正と端子増設でバージョンアップしている。 ・SPIとFTDI配列を統合し、GPIO2つとシステム電源電圧(3.3V)出力端子を追加。 外部基板のIC(デジタルセンサやレベル変換、バススイッチ)にもシステム電圧が必要だったのと、UARTとSPI用の制御用端子として新たにGPIOを引き出した。 ATmega644のGPIOピンをすべて利用できるようになった。 https://github.com/kentN/OBC644-10D 拡張基板スタック OBC644用の拡張基板だけど、ピンヘッダ継ぎ足し地獄は無駄に階層が増えてしまうので、2層基板を2枚重ね合わせてみた。疑似的に4層基板となる。貼り合わせる面にクロストークが心配な配線は避けよう。    裏面はSPI-ROMが2つ乗るので、そのエリアを避けて基板外形を設定。 OBC644基板は1mm厚、拡張基板は0.6mm厚で発注していて、張り合わせれば1.6mmの標準の厚みとなる。  2つ重ねてピンヘッダにはんだ付けするので、貼り合わせでシビアな工程は特に無い。 今回は試しにu-bloxのMAX-M8Qと、マイコンの書き込み用に基板対電線コネクタ(GH5ピン)を搭載した。 単体でGPSロギングにも使えるだろう。   アンテナはU.FLコネクタを設けて、外部から引き込む形にした。 電源系統&構造体    手配線プロトタイプとほぼ同じ構成の電源系統とした。太陽電池は2系統入力可能。 キャパシタバ...

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のコンセプトモデルも...

独立電源の実験

リトープスという多肉植物を昨年から育てている。基本放置なのでよく世話を忘れてしまい、枯死寸前になっていることが度々あった。なんとか徒長(日照が足りず背が伸びる現象)だけは防げている。  話は変わって、OBC644基板用の独立電源を試作してみた。これも基本放置を目指したい。 蓄電はスーパーキャパシタのみの簡素な構成にした。圧倒的にエネルギー密度が低く、リーク電流も多めと、蓄電系として見た場合のデメリットは多い。しかし代わりに過放電による永久故障はなく、温度条件なども緩めだ。  便利なエナジーハーベスト用電源ICを使ってもいいけれど、今回は自由度の高いディスクリート構成にした。 といっても、 ソーラー目覚ましキーホルダー(2012) に毛が生えた程度だ。 容量違いで2種類のキャパシタ系統を組み合わせた。 基本的なモードとして、 (初期充電)完全放電からの復帰 ・コンデンサバンクの充電判断 ・コンデンサバンクの電源系統への接続 ・過充電抑制 がある。マイコン側では2つのコンデンサの電圧を監視している。 電圧のみで残量推定ができるので、エネルギー管理はとても簡単だ。  太陽電池はダイオードORで小容量(0.22F)のEDLCを充電する。光が当たれば、数分後にマイコンが起動する。  大容量EDLCは電圧上昇に時間がかかるので、上流、下流ともデフォルトでは切り離されている。主系統への接続と充放電管理はソフトウェアで行う。 下流側は電圧降下を抑えたいため、あえてダイオードORしていない。 簡素化のためにレギュレータの降圧モードのみなので、マイコンのBOR電圧を下限として、コンデンサバンクから使える電位差分の静電容量は約150クーロンほど。だいたいコイン電池くらいになる。  とりあえず日照がある間は、時折GPSを作動させたり、カメラ撮影するといったミッションをこなせる規模になる(はず) 蓄電が小規模なので、小さい穴の空いたバケツをやりくりするイメージ。 無線モジュールで定期的にテレメトリを送信するところまでは実装して、日中は屋外に放置してみた。快晴では満充電に到達するが、曇った日でもテレメトリ送信に支障がないレベルの発電ができている(下グラフは薄曇りの日のテレメトリより)小型筐体なので日照を浴びると50℃付近まで上がってしまう。 ...

デスクトップの更新(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)はノイズも...

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

4年目のArduino互換データロガー基板。第三世代ということで、今までのプロジェクトで載せたことのある機能を盛り込んで、独立動作する汎用的なオンボードコンピューターとして使えるようにしてみた。 スリープ機能を重視し、目標消費電流は平均3mW以下。 https://github.com/kentN/OBC644-10D システムブロック図  今回は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程度にまで落ち...

PIC32ブレイクアウト#2

以前試作したPIC32MM用ボードの修正板を実装してみた。 ・SOSC用に32.768kHzの水晶をシリンダタイプに変更。 ・ICSP端子を追加 ・コンデンサの外形見直し。(10μFを1608へ) ・32MX1xxに対応。(2xxだとICSP端子のデータ、クロック線が使えないけど使うことはできる。) PIC32MM 32MX1xx  ピンヘッダつけてしまうと意外とめんどくさいので、いつか端面スルーホール処理にしてみたい。  プロジェクトファイル置き場 https://github.com/kentN/PIC32-28P-Breakout

簡易無電源環境光センサ

太陽電池を簡易的な環境光センサとして使ってみた。 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倍の電流が計測できている。 そういうものなのかな…。   雲間の太陽光で計測した結果は、雲の動きが激しすぎて、プロット精度がとても落ちてしまった。快晴下で透過率を調節するのが理想かなぁ。直射日光下では発電電流が10倍くらいに増加しているようだ。  曇りのプロットと陽光下のプロットの傾きはやや異なる。セル自体はフィルタもないので、赤外線などの影響をかなり受けている。照度を測るなら、可視光帯...