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機を組んで、今も昔も基本行動はあまり変わってないことに気づく。コンピュータ支援を受けた人生はこれからも続いていく…のかな。