2017年3月15日水曜日

Samsung microSDHC EVO+を買ってみた

Raspberry Pi 3B用に高速なSDカードが欲しかったので32GBのEvo+を買ってみた。

なんかエコそうなパッケージで届いた。


中身はこんな感じ。一応変換アダプタもついてくる。


早速MobileLite G4にセットして速度を測ってみた。


最近のmicroSDHCは速いなぁ

このぐらい速いとイメージの書き込みも結構短時間で出来ちゃう。

今まで使ってたSDカードは書き込み速度最大6MB/sぐらいだからなぁ。書き込みにかかる時間がだいたい1/4ぐらいかも。

ただしRaspberry Pi自体のカードリーダーがそこまで高速ではないっぽい。
でもカードリーダーのOverclockができる模様。
How to overclock the microSD card reader on a Raspberry Pi 3
こちらのサイトを参考にしてOCしてみた。

やり方は
/boot/config.txt

dtoverlay=sdhost,overclock_50=100
を追記するだけっぽい。

microSDカードによって動かなかったり、値を買えてクロックを調整しないとだめなものもあるみたいだけど、今回購入したEvo+は問題ないようだった。
もともとこのオーバークロックはmicroSDHCを100Mhzで動かせるようにするものみたいなので、もともと高クロック対応なUHS-I対応のカードだと結構な確率で成功するかも。

しかしこれをやるとWifiに繋がらなくなった…
先程のサイトを良く読んでみたら、対処法も乗っていた

sdtweak-overlay.dtbというファイルをダウンロードしてきて、/boot/overlays/の中に突っ込む。
先程編集したconfig.txtのところを
dtoverlay=sdhost,overclock_50=100
から
dtoverlay=sdtweak,overclock_50=100
に変更する。

これでうまくWiFiにつながるようになったー
肝心の速度の方は…
もともと3B速いので体感的にはあまりわからないかも。ローカルでのファイル書き込み速度とかには影響してるかも。

2017年3月10日金曜日

Raspberry Pi 3 Model Bを買ってみた。

RSコンポーネンツで3月末までセールをやっているということでついポチってしまった。実際は500円引きぐらいなんだけど、まぁACアダプタとかついてるしいいかなーと。

ついでにケースもポチった。
ちなみにこのRaspberry Pi 3は日本製っぽい。
RSが工業用に使えるようにするために日本で生産できるようにしたとかで?

とりあえずケースに組み込んでみた。

このケースはネジ不要ではめるだけ。とりあえず全部バラバラにした後にボードを滑り込ませて周りのパーツをはめていくだけという簡単仕様だった。
IOピン使うときもサイドかトップカバーを外せば良いので楽かも。

熱がどんなもんかわからなかったのでとりあえず上の蓋を開けたまま使ってみることに

ヒートシンクはとりあえず無しで。


純正ACアダプタは5.1V 2.5Aという仕様だった。無線LANとBluetoothがついたりして、2Aの充電器とかでは不安定になることもあるとかで。

動作確認用にとりあえずNOOBS Liteを適当なmicroSDカードに突っ込んでRaspbianのGUI付きを入れてみた。
初代はCUIのみで使ってたのでどれだけ進化したのかの確認も兼ねてw

無線LAN経由でダウンロードしたからなのかわからないけど1時間30分ぐらいかかった。


起動は意外と速いぞ。
Youtubeも普通に見れる。はやいSDカードにしたらもうちょっとロード早くなるかな?
なんにせよちょっと使ってみた限りでは普通にネット用マシンとして使えそうなレベルになってた。
一緒にポチったSumsungのEVO+がまだ届いてないので届いたらそっちにOS入れ直していろいろ試してみようかと思う。

2017年3月5日日曜日

PHM2-512GBの熱対策してみた。

昨年12月に導入したM.2 SSDのPHM2-512GBなんだけど、最近暖かくなってきたのでいよいよ熱対策をしてみた。
発熱でサーマルスロットリングが働いて性能下がるのも嫌だし。

マザーボードはZ170I Pro GamingなのでM.2スロットは裏面にある。ということはヒートシンクつけるにもスペースがない…
ということで銅板を使用することにした。

準備したのは0.5mm厚の銅板と熱伝導両面テープの0.5mm厚と1.0mm厚。
なぜ2種類なのかというと、NANDチップとコントローラーで高さがちがうのよね。
本当は0.8mm厚あたりが欲しかったけど、結構柔らかいので潰せばいけるかなと…


まずは銅板をいい感じのサイズにカット。幅はSSDとおなじ22mmとして、長さはネジやスロットに干渉しない68mm程度にしてみた。

この前ケースを切ったダイソーの金ノコ使ったんだけど切れ味悪くて結局金属ハサミ使ってしまった。
ハサミだと曲がるのよねぇ

まぁちょっと歪んだけど熱伝導両面テープで止めるんだし良しとしよう…


ショートすると嫌なので熱伝導両面テープはびっしりと貼った。
青いところはコントローラ用で1mm厚、灰色は0.5mm厚。


密着するように軽く押す。押し過ぎは怖い。
一応剥がれたら困るのでカプトンテープを貼って止めた。


ちょっと厚みが増すので、ケースによっては干渉に注意かも。今使っているケースだと大丈夫だった。

ヒートシンクをつけた温度を測定してみる。
起動1時間後にHWMonitorを立ち上げて、Youtubeを10分見たときの温度を測定した。

左がノーマル、右が銅板あり。
最大で20℃近く温度が下がっているのがわかる。

ちなみにベンチマークをしてみた

購入時より使用容量が増えたせいか、リードの最大速度がオチてるにも関わらずシーケンシャルライトが200MB/sも向上している。
前回ベンチマーク中に90℃超えていたけど今回は最大温度が70℃ぐらいだった。

今回使用したのはホームセンターで購入した銅板と、eBayで買った安い熱伝導両面テープなんだけど、予想以上の効果があった。(材料費500円)
まだ温度は高いように感じるけど、これだけで高負荷時に20度下がるのは大きいかもしれない。

2017年3月1日水曜日

Blue PillでSTM32duinoを試してみた。

ArduinoでSTM32を使えるようにする、STM32duinoというプロジェクトを見かけて試してみたくなったのでBlue Pillと呼ばれているSTM32F103C8T6搭載マイコンボードをポチってみた。
今回はAliexpressを使ってみたんだけど春節とかぶってしまって結構届くまで時間がかかってしまった。このボードで1.7ドル…

Red Pillと呼ばれるボードも存在しているみたいだけどこちらのBlue Pillと呼ばれているボードは全体的に安い気がする。
利点や欠点はフォーラムのRed Pill or Blue Pill?を参照するといいかも。
これで72MHz駆動の32Bitマイコンが手に入るというから結構驚き。

3.3V駆動なので後ろにはレギュレータが

ネイティブでUSB Full Speedにも対応しているっぽい。
なのでマイコン以外のICは乗っていない

ライタとしてはST-Linkっていうライタが必要なんだけど、このSTM32F103C8T6にはシリアルブートローダが搭載されているのでBootジャンパを変更することによってシリアル通信でプログラムを書き込めるっぽい。


USBシリアル変換基板と繋いでみた。今回使った変換基板には3.3V出力があったのでこんな感じに接続。
PA9はTX、PA10はRXになってるっぽい。
そしてシリアルブートローダを使う場合はBoot1をGNDに落とさないといけないので写真の通りにジャンパを変更する必要がある。

これでPCに繋いで、stm32flashでFlashの容量を確認してみた。

今回はUSBシリアル変換基板がCOM7だったので
stm32flash.exe COM7でこんな情報が見れた。
Blue Pillは128kbフラッシュのものが多いみたいだけど、今回購入したBule Pillも128kbのFLASH搭載だった。

Flashの容量が確認できたところでUSB Bootloaderを書き込んでみた。やはりUSBから書き込めると便利そうだし。

Blue PillはPC13にLEDがつながっているのでそれ用のBootloaderをダウンロードしてくる。
generic_boot20_pc13.binを使用した。
書き込みツールはFlash Loader Demonstratorを使用した。

GUIを起動し、シリアルポートをボードがつながっているCOM番号に変更する。

Nextを押すとマイコンボードを読みに行く。ここで設定が間違っていたり、マイコンボードのジャンパがおかしかったりすると応答なしになったりエラーが出るっぽい。


うまく認識されるとこんな画面に。さっき確認したときFlashは128kbだったのになぜか64kbってでてる。
とりあえずNext


128kbを選択して下の方を見ると一応認識してるみたい。
とりあえずNext


ダウンロードしておいたBootloaderを書き込む。


これで書き込み完了。

これでUSB接続でプログラムが書き込めるようになるはずなんだけど、Blue PillのUSB接続用の抵抗が間違っているみたいで、PCによっては認識しない模様。
こちらの環境では問題なく認識したけど、一応抵抗を適切な値のものに変更しておいた。

交換したのはR10の抵抗で、もともと10kΩがついてたんだけど、本来は1.5kΩである必要があるみたい。2012サイズのチップ抵抗しか持っていなかったんだけど一応装着できた。


ピンヘッダをつけて完成。ついでにUSBコネクタのハウジングにもハンダを盛っておいた。USB Bootloaderを書き込んだあとはBoot1のジャンパをもとに戻すのを忘れずに。
プログラムを何も書き込んでない状態だとずっとDFUモードになるみたいでLEDが点滅した状態になる。

ドライバはこちらからArduino_STM32をダウンロードする。driverフォルダを辿っていくとinstall_driver.batがあるのでこれを実行するとドライバがインストールされるみたい。

デバイスマネージャーを見るとMaple_DFUとして認識する模様。

あとはArduinoの環境設定で
http://dan.drown.org/stm32duino/package_STM32duino_index.json
をボードマネージャURLに追加して
ボードマネージャからSTM32F1xx/GD32F1xx boardsを追加するだけ。


Blue Pillの場合はBlinkをこんな感じで編集して書き込むとLEDが点滅するはず。
一番最初書き込むときはプログラムが入ってないので常時DFUモードだったんだけど、2回め以降はSearching for DFU deviceって出たときにリセットボタンを自分で押してやらないと書き込めなかった。
とりあえずこれでだいぶお安いSTM32開発環境が整ってしまった。

追記:いつの間にかリセットボタンを押さなくても書き込めるようになっていた…