さくらのVPS乗り換え(1)

これまで「さくらのVPS 512」を契約して、Ubuntu10.04のリモートデスクトップとして使っていたのですが、3/29にさくらのVPSがリニューアルされて、その乗り換えキャンペーンの案内が来ました。

旧契約は、

  • さくらのVPS 512 : 月額980円、メモリ512MB、HDD20GB

だったのですが、新しい契約メニューは、

  • さくらのVPS 1G : 月額980円、メモリ1GB、HDD100GB
  • さくらのVPS 2G : 月額1480円、メモリ2GB、HDD200GB
  • さくらのVPS 4G : 月額3980円、メモリ4GB、HDD400GB
  • さくらのVPS 8G : 月額7980円、メモリ8GB、HDD800GB

になっています。しかも4/20までに解約手続きと次の契約を完了すると、乗り換えキャンペーンで1ヶ月分の料金が割引されるようです。いわば、ちょっと乗り換え期間分の費用は出るけど、旧契約での上位契約相当に月額費用は変わらずに乗り換えできるイメージです。

なので、ちょっと面倒ですが、乗り換えてみることにして、素直に新しい「さくらのVPS 1G」の契約をしました。クレジットカードで決済しているので、例によって2週間のお試し期間があります。

・・・・が、ここでふと、HDDの容量に着目すると、非常に大容量になっています。

DropBoxと比較すると、

  • DropBox Pro 50 : 月額US$9.99(約800円)で50GB
  • DropBox Pro 100 : 月額US$19.99(約1600円)で100GB

と(DropBoxの使い勝手の部分はあるのですが)容量単価ではDropBoxを上回っています。そこで、障害の対策や災害の対策を兼ねて、ローカルの重要なファイル(といっても写真とか趣味のプログラムなどの成果物ですが)を暗号化+DokanSSHFSを使って預けてしまうことを考えました。そこで必要なHDD容量を見積もると100GBでは少し足りないことがわかりましたので、「さくらのVPS 1G」を速攻でキャンセルして、「さくらのVPS 2G」に変更しました。

早速改めて申し込みなおすと15分くらいで使えるようになりました。

Core2Quadマシン静音化(ガーバー生成編)

いよいよガーバーファイルを生成する。

このあたりは、FusionPCBのページからもリンクされている「A guide to SeeedStudio’s Fusion PCB Service」というページを参考(というかそのまんま)にした。下記は自分用のメモ。

(1)ガーバー生成用CAMファイルを入手する。

FusionPCBのWebページからDRCファイルをダウンロードした際に、「Seeed_Gerber_Generater_v0r95_DrillAlign.cam」というファイルがあるので、これをコントロールパネルの「CAM Jobs」というところにドラッグ&ドロップする。

この状態で、レイアウトエディタの左上のCAM(水色の紙テープっぽいボタン)を押す。

別のウインドウが開くので、「File」→「Open」→「Job」とすると、ファイル選択ダイアログが出るので先の「Seeed_Gerber_Generater_v0r95_DrillAlign.cam」を開く。

すると、ウインドウにタブがたくさん表示されるので、その状態で「Process Job」を押すと、プロジェクトディレクトリにGerberデータが出力される。

(2)ガーバーデータのチェック

ガーバービューアを使って内容をチェックする。

オープンソースのものではGerbvというソフトウェアが使える。これをインストールして、「File」→「Open layers」で、先ほど生成されたGerberデータを開く。必要なものは、

  • <pbname>.GTL  (top layer)
  • <pcbname>.GBL (bottom layer)
  • <pcbname>.GTS (solder stop mask top)
  • <pcbname>.GBS (solder stop mask bottom)
  • <pcbname>.GTO (silk top)
  • <pcbname>.GBO (silk bottom)
  • <pcbname>.TXT (drill sizes and positions)

の7つのみ。なお、ファイルを開く際はパス名に日本語が含まれているとエラーが出て動かないので要注意。

開くとこんな感じ。

塗りつぶしに筋が入っているのは表示の際の影響だと思う。(倍率を変えたり再表示したりすると消えたり出たりする)

さて、PayPalのアカウント作らなきゃ。

<追伸>
こちらのページこちらのページも参考にさせていただきました。

Core2Quadマシン静音化(レイアウト設計編)

回路図を入力したら、レイアウト設計を行う。

(1)外形線の修正

(20)Dimensionレイヤーに1.95inch×1.95inchの外形線を引いた。これで49.53mm四方のサイズになるはず。

(2)部品配置

ラッツネットを参考にしながら部品配置を決める。部品を移動する。移動するとラッツネットがこんがらがるので再度ラッツネットの引き直しをさせる。時々、オートルータを動かして、配線の具合をチェックしながら進める。配線をラッツネット状態に戻すには、コマンド手打ちで、「rip up;」で行える。

今回はほぼ全てをDIP品にしたので意外に大きくなってしまった。表面実装品にしたほうが小さくまとまるのだけど、手持ち部品の関係もあるのでこのまま進めることにします。

(3)シルクの調整

個々の部品IDのシルク位置はSmash状態にした上で、移動させることができるのだけど、部品ごと移動する場合と、シルクだけ移動する場合があって、今ひとつ法則がよくわからない。追加のシルクを(21)のtPLACE面に配置した。(よく考えたら、裏は何もないので、bPLACEに配置してもよかったかも)

※発注の際にオーダーをシルクで入れないといけないようだ。

(4)べたパターンの生成

ポリゴンを書くボタンで、部品面のベタは(1)TOPレイヤーに、半田面のベタは(16)BOTTOMレイヤーに多角形を書く(四角を描くコマンドではだめっぽい)。多角形は点線で表されるので、そこにNameコマンドでベタ信号にしたい信号名(例えばGND)を記載する。この状態でラッツネットコマンドを実行すると、ベタパターンが見えるようになる。

(5)DRCの実行

FusionPCBのWebページからDRCファイルをダウンロードする。(下のほうにある「Eagle Design Rule: click to download」と書いてある)

ダウンロードすると、「Fusion_eagle_rule_v1.1.dru」というファイルが入手できるので、Eagleのコントロールパネルの「Design Rules」のところにドラッグ&ドロップで入れる。

その後、DRCコマンドを実行すると、「Load」というボタンが表示されるので、「Fusion_eagle_rule_v1.1.dru」を開いて、「Check」を押す。

自分の場合は、なぜかベタパターンの外形線が線幅のエラーで引っかかってしまった。線幅を変えてもエラーが出続ける。が、あくまでベタ領域を指定する線がエラーを出しているだけなので、この際無視することにした。

<追伸>
ベタパターンの外形線の線幅とネットクラス(net class)を比較してエラーを出すようです。
『net classの線幅(width) < ベタパターンのPolygonの外形線の線幅』
を満たしていればエラーは出ないようです。

Core2Quadマシン静音化(回路図作成編)

実験で確認した回路をベースに、基板発注のためにEagleで回路図入力します。細かいところは端折って、自分のメモ中心です。

(1)図面準備

  1. 新規作成
  2. グリッドの表示
    「View」→「Grid」で「Display」をonにして表示させる。StyleはDotsにした。
  3. フレームの配置
    framesライブラリからA4L-LOCを使う。左下を原点に合わせた。

(2)回路図入力

前回とほぼ同じ回路を入力。ただ、パターンのライブラリがまともなピン互換品・類似品を選んで入力を実施。完全に基板作成用の回路図。なので、類似品を使った箇所はパターンで回路が正しいかを確認しないと危ない。

また、今回、FETはチップ品をパラ接続することにした。TO-251のPch PowerMOS FETは絶滅寸前のようなので。

(3)Net Classの設定

「Edit」→「Net classes…」で配線の条件付けを設定する。
例えば、電源のパターンは0.5mm以上、GNDやFANモータの電流が流れるパターンは1mm以上、など。
この設定をしてから、該当する配線を右クリックして、Net Classを設定する。

(4)ERCの実行

電気的エラーチェックを行う。部品定数などが入ってない箇所がある、ということだが、シルク印刷する気もないので無視することにした。

LinuxでOpenHardwareMonitorにトライ

Linuxでハードウェアのモニタをしたいと思っていたところ、OpenHardwareMonitorがLinuxに対応している・・・・ということで挑戦してみました。実際には.NETをLinuxで動かすMonoでの対応となっているようです。

1.MonoDevelopのインストール

Synapticパッケージマネージャで「MonoDevelop」を検索すると見つかりますのでインストールします。(実行環境でもいいと思うのですが、よくわからないので開発環境ごとインストールしてしまいました。実際はWinFormとかいうのに関連するライブラリだけでよかったみたい。)

2.OpenHardwareMonitor.exe の実行

ダウンロードしたパッケージを展開して実行します。

$ mono ./OpenHardwareMonitor.exe

でWarningが出るもののウインドウが開きます。しかし、表示される項目はごく限られてしまっています。gksudo でも root shell でも同じです。実質、CPUのクロックだけ。

Googleさんにちょっと聞いてみましたが、どうも解決できそうな答えは見つかりそうにありません・・・。

PICkit2でPIC12F1822に書き込む

秋月に行ったついでにPIC12F1822(単価¥80)を買ってみました。

目的は「なるべく小ピンかつ外付け部品なしで115.2kbpsのシリアル送受信をしたい」ということからです。

で、調べていたら、PICkit2でPIC12F1822に書き込むには一工夫必要なようです。

PICkit2(書き込みソフトの方)を立ち上げた後、「Help」→「About」としたときに、ダイアログの右上に表示される「Device File Version」が1.62以降でなければならいようです。

Microchip社のPICkit2のページの右のほうに「Device File 1.62.xx」というリンクがあるので、リンク先のZIPファイルを保存します。保存したZIPファイルの中の「PK2DeviceFile.dat」で「C:\Program Files\Microchip\PICkit 2 v2」フォルダの中の同じファイル名のものを上書きすると、認識するようになりました。

Core2Quadマシン静音化(失敗編)

前回、実験に使ったFANは7V 0.04Aのもので、これを9V電源でテストしていました。

そこで、12VのパワーのあるFANをちゃんと回せる回路なのかが気になって、秋月電子で適当に12V電源の3線タイプのFANを2個買ってきました。

で、さっそく2個のうちの1個の山洋電機製のFANをブレッドボードの回路につないで、電源を12Vに変更してみると、爆音を立てて回り始めます。(電源投入直後は全力で回るようプログラムを組んである)

・・・・・・・が、爆音を立てて回り続けるだけで、回転数が下がる気配がありません。オシロで波形をみると、センサからパルスが出ておらず、Lのままになっているように見えます。

もうひとつのミネベア製のFANも同様につないでみましたが、こちらもやはり爆音を立てて回り続けるばかりでまったく回転数が落ちる気配がありません。

で、山洋の型番を頼りにGoogleさんに聞いてみたところ、行き着いたのが、この技術資料です。

こちらによると、センサつきFANは以下の3種類があるようです。

  • パルスセンサ(回転信号出力型)
    モータ1回転につき、2周期の矩形波を出力する
  •  ロックセンサ(回転停止検出型)
    モータが回転しているか、停止しているかを検出して出力する
  •  ロースピードセンサ(回転速度検出型)
    モータの回転速度が設定回転速度より低下したときに出力する

ということで、FANの羽根を無理やり押さえつけて止めてみたら、信号が出力されました。これでは速度パルスを期待して速度制御しようとしても全開で回り続けるのは当たり前です・・・・orz

FreeNASアップデート

嫁さんが「(FreeNASに保存してある)写真にアクセスできない」というので、そんな馬鹿な・・・・と思いながら、管理コンソールにアクセスしてみたら、確かに応答がありません。直接コンソールをみても反応なしです。仕方がないので、強制電源OFF/ONしたら復帰しました。

で、調べてみると、いまインストールしてあるFreeNASは8.0.2なのですが、最新は8.0.4のようですので、アップデートしてみることにしました。

・・・が、その前に、別のHDDに中身をバックアップします。

いつものようにBunBackupを使って、Windows7マシンにつけてある外付けHDDに中身をバックアップします。やはり誤操作ですべてを失うリスクがありますからね。

8.0以降からのアップグレードの手順はこちらにあるようです。基本的な手順は、

  1. 設定ファイルの保存
  2. CDからフルインストール
  3. 設定ファイルの復元

のようですが、WebGUIからもアップデートできるようです。ただ、この場合は設定ファイル保存後に、一旦サービスを停止して、アップデート、再起動・・・という手順を踏むようです。(結構めんどくさい感じ)

で、CD-ROMからアップデートしようかと思ったのですが、結局WebGUIからアップデートをかけてみることにしました。

思ったほど手順は難しくありません。

  1. アップデート用のファイルのダウンロード
    こちらからアップデートに必要なファイルをダウンロードします。 WebGUIでのアップデートに必要なファイルは拡張子がxzになっているものです。あわせて、sha256のチェックサムファイルもダウンロードしておきます。
  2. ファイルの正当性チェック
    「$ sha256sum FreeNAS-8.0.4-RELEASE-x64.GUI_Upgrade.xz」
    として、チェックサムが一致するか確認します。(GUIの中でもチェックされるようです)
  3.  設定ファイルのバックアップ
    一応、設定ファイルをバックアップします。万が一WebGUIでアップデートするのに失敗した際に必要になるのでしょう。(自分は必要ありませんでした)
    Webの管理コンソール画面で、「システム」→「設定」→「一般的な設定」の中に、「設定のダウンロード」というボタンがあるので、これを押すと設定ファイルを保存できます。
  4.  サービスの停止
    「サービス」→「サービスの制御」でONになっているサービスをすべてOFFに変更します。
  5.  コンソール表示の設定
    「システム」→「設定」→「高度な設定」 で「フッタへのコンソールメッセージの表示(UIのリロードが必要)」にチェックを入れて、「Save」を押します。その後、ブラウザでリロードボタンを押すと、下の方にコンソールメッセージが表示されるようになります。
  6. ファームウェアのアップデート(一時保存場所の設定)
    同じ画面(「システム」→「設定」→「高度な設定」)で、「ファームウェアアップデート」を押すと、アップデートファイルを一時保存する場所を聞いてくるので、適当に設定します。(自分はデフォルトのままにしました)
  7. アップデートするファイルの指定
    アップデートするファイルがどこにあるか聞いてくるので、1でダウンロードしたファイルを指定します。併せて、sha256のチェックサムの結果もコピー&ペーストで入力します。
  8. あとはひたすら待つ
    途中、勝手に2回リブートがかかります。再起動の途中でブートメニューが一瞬表示されますが、触る必要はないようです。(自分は触りませんでした)
    コンソール画面を見ていると、2回リブート後に通常の「Console setup」の画面になり、アップデートが終了します。
  9. 停止したサービスを再開
    4で停止したサービスを再開します。

で、意外に簡単に終わりました。

 

Core2Quadマシン静音化(メモ)

マシン静音化工作に関連するものをメモっておきます。随時内容を追加していきます。

1.FANに使われるコネクタの品番(2012/03/23記載)

シリコンハウス共立さんのブログに情報がありました。

  • MOLEX 5051-3 (3Pレセプタクルハウジング=メス側)
    51191-0300を使っている場合があるみたい(3/31追記)
    マルツではケーブル付きで 売っているみたい
  • MOLEX 5159TL (専用コンタクトピン)
    →50802-8000を使っている場合があるみたい(3/31追記)
  • MOLEX 5045-3A (直型ポスト:マザーボードについているやつ)
    →5045-3Aは旧番号で、 22-04-1031が新しい製品番号みたい(3/31追記)
    図面を見ると、2.5mmピッチのみたい。Eagleのライブラリcon-molexの中に、
    22-?-03 として登録されているので、そのまま使える!
  • MOLEX 5046-3A (曲型ポスト:上記のアングルタイプ)
  • MOLEX 5240-31 (3Pプラグハウジング=オス側、ケーブル取付用)
  • MOLEX 5241TL (専用コンタクトピン)

 2.PCB製造メーカーの調査(2012/03/24記載)

調べてみると、こんな感じ。

  • OLIMEX
    定番ですね。160mm×100mmの両面で30ユーロ+送料8.5ユーロ。
    これまではこのサイズに収まれば複数のデザインを面付けしてくれたみたいだけど、2012/03/15からは複数デザインの面付けが有料(5ユーロ/ファイル?)になったようです。なんでも拙い設計の細かい基板をたくさん送ってくる初心者がいて、面付けにかかる時間が無駄だから、とのこと。ちなみに自分で面付けする分には無料とのこと。
  • FusionPCB
    5cm×5cm両面だと10枚で$9.90みたい。送料込みで$13.42だった、なんて話も。
    今回のものは5cm角なんて余裕で収まってしまうだろうから、問題無し。
    パターン幅やドリルの制限も緩いようだし、Eagle用のDRCファイルもあるようだ。
    しかもルーター切り出しもできるので、好きな形の基板が作れるようだ。板厚も選べるらしい。
  • CustomPCB(=SILVER CIRCUITS?)
    6.3inch×4inch(約15cm×10cmくらい?)の2層基板で$18/1枚のようです。
    パターン幅やクリアランスは最小7mil、最小穴は12mil(=0.3mm?)、最小シルク幅6miilみたい(ここを参照)。
  •  Advanced Circuits
    アメリカの会社のようです。 60平方インチの2層基板で$33/pcsのようですが、最小発注数量4pcsなので、最低でも$132かかります。設計ルールは line/space =6mil/6mil。最小穴は15milのようです。
  • ハッピーPCB
    検索で引っかかりました。日本でサービスをしているようですが、製造は韓国のようです。
  • P板.com
    言わずと知れたP板.com。

やっぱりFusionPCBですかね。もうちょっと調べてみましょう。

Core2Quadマシン静音化(実験編)

時間があいてしまいましたが、Core2Quadマシンを静音化するための実験をしてみました。

ブレッドボードに以下の回路を組み立てました。回路図作成にはBSch3Vを使わせていただきました。

回路自体はオーソドックスな降圧型のDCDCコンバータです。PIC12F683のCCP機能を使ってPWMの波形を生成し、それでPch-FETを駆動しています。最初は直接回転数をデューティー比にフィードバックしようかと思ったのですが、うまくいかないのでコンバータの出力電圧を分圧してADコンバータで取り込んでPWM信号のOFF/ONにより電圧を制御してフィードバックしています。そして電圧制御の目標をFANの回転数に応じて変化させています。回転数の目標はもちろんLM35で取得した温度に基づいて決定しています。ただ、ソフトウェア処理になっている関係で追従はかなり遅くなります。・・・が、ケースFANなので問題はないでしょう。

FANの回転数センサの信号はかなりノイズがのるので、PICのソフトウェア処理でノイズ除去をかけて、ポートに再出力してマザーボードに返します。これでFANの回転数がマザーボードからも見えるようになります。

ソフトウェアは1ms周期のタイマ割り込みを基準に動作させています。割り込み処理ルーチン内で以下の処理を行っています。

  • 1ms刻時
  • 温度と電圧を交互にAD変換
  • FANのセンサのノイズ除去と回転量検出(積算)

メインループでは以下の処理を行っています。

  • モニタLEDの表示(1ms周期)
  • 出力電圧の安定化制御(PWM信号のOFF/ON) (1ms周期)
  • 回転速度の計算と、目標出力電圧の決定 (2秒周期)
  • 温度に基づく目標回転速度の決定 (2秒周期)

後半の処理は実機にあわせてチューニングが必要なので、現時点ではいい加減なものになっています。