2014年10月7日火曜日

Raspberry Pi 用冷却ファンのための試作 (第3段 多分最終)

今回の課題は次の3点.

  1. ファンを中に収める.
  2. ファンにカバーをかぶせる.
  3. ファンの音を少しでも小さくする.



追加で使った部品

以下の部品を千石電商で買ってきた.(しかし,毎週土曜の午前の千石と秋月は混んでいる)


防振シリコンシート

防振シリコンシートを使おうと思った理由は以下の2つ


  1. ファンとファンをつける蓋の間に挟んで蓋の振動を抑える
  2. ファンと蓋の間に隙間を作らないと,ファンが回らない (笑)


2番目の理由

ファンの羽になにかが軽く触っただけで,羽が回らないため,羽のむき出しの側を蓋に向けて取り付けるためには何かでファンと蓋の間に隙間をつくらなくてはいけない.

試した3つの付け方


(1) 最初はボルトについてる金属のワッシャを入れてみたが,ワッシャが羽に当たって (T^T)


(2) 防振シートをそのまま挟んでみると,ネジ穴の位置が微妙にずれているのか(完全手作りだから),蓋が立体だからか,シリコンシートが少しあまり,その端かファンの羽にあたる.  (T^T)


(3) 仕方がないので,防振シリコンシートを切ることにした.





ファンの取付

ナットが金属の場合,どこかに触って電気が流れる嫌なので,ボルトをプラスチックのものにした.




完成図(写真だけど)

前回のと違って,ファンに蓋もついて,ファンも中に収まっているので,多少見栄えも良くなった.
(でも,穴の形が多少いびつなのがやはり悲しい)

ファンの右下のユニバーサル基板を見たらわかるように,L字型にユニバーサル基板を切ってます.



宿題


ファンの制御プログラムは次の宿題

Raspberry Pi 用冷却ファンのための試作 (第2段)

Raspberry Pi用のユニバーサル基板では,あまり外に出る部分が大きいので,CPUの上に基板があまりかぶらないように小型のユニバーサル基板で作ってみた.

実機の写真

ケースを加工する工具を持っていないので,無理やりヤスリとはんだごて,カッターナイフで穴を開けてみた.

CPUの上に基板が重なるといやなので,USBシリアル部分はケースの外に,ファンの回路は左端に寄せて作ってみた.





USBシリアルの接続

今回使ったのは,スイッチサイエンスから販売されているArduino用のUSBシリアル.


上の実機の写真を見てもらうとわかるように,今回は回路全体が裏向きになるようにしている.
その理由は,Raspberry Piのシリアルのピン割り当てが8番ピンと10番ピンでUSBシリアル回路を表向きにつけると,配線がクロスしてしまうため,反対向き(裏向き)にしている.

下は,前回の回路の配線図.USBシリアル回路は今回も同じ.



するとうまい具合に,下の写真のようにUSBシリアルとRaspberry PiのGPIOのピンの接続はストレートが2本と斜め横につながるGNDが1本で済む.

今回は,小型とユニバーサル基板とシール基板で作成.






ファンの接続


上の回路図では,ファンの回路は5V以外は20と22番ピンからとっていたが,今回の試作では,なるべくCPUから離すために,32~40番ピンで作成.USBシリアル回路と同じく,シール基板を活用.






部品が着いた側の写真 抵抗とトランジスタとショットキーダイオード.



蓋と合わせてみると,ファンの穴がファン用の回路の基板とかぶるため,ファンはやむなく箱の外側に.


蓋を閉じて,動作させてみると下の写真のように動く.(ファンが回ってる状態の写真)



ファンの羽がむき出しの上,少しうるさいし,ファンが飛び出しているのも悲しいので,もう一回試作することにする.


2014年10月6日月曜日

Raspberry Pi 用冷却ファンのための試作 (Raspberry Pi 用ユニバーサル基板)


サンハヤトのRaspberry Pi用ユニバーサル基板で作ってみた. 

回路図

回路図は前回のブレッドボードでの回路と同じ





実機の写真

でかい(笑)

当然ではあるが,ユニバーサル基板はケースの外に全部出すしか無い.



2014年9月29日月曜日

Raspberry Pi 用冷却ファンのための試作 (ブレッドボード)


設計


参考URLの回路より強力なファンにしようと最初思っていたんだけど,秋月のwebを見ながらより強力なファンをつけるためにトランジスタを別のにしようとして,あまりいい物を見つけることができず,ファンを電力があまりかわらないで,少しサイズが大きく,多少厚さが薄いものにしただけで他は参考の2番と同じのにしてしまった.

ファンと同時にシリアルコンソールを常設にするため,USBシリアルコンソールも同時にユニバーサル基板にハンダ付けすることにした.

参考URL


  1. https://sites.google.com/site/gpsnmeajp/raspberrypi/fancon
  2. http://suihan74.ddo.jp/blog/raspberry-pi-cool-down-2/
  3. http://suihan74.ddo.jp/blog/raspberry-pi-cool-down/


回路図


試作

ブレッドボードにUSBシリアルとファンの関係回路を作り,本体にヒートシンクを貼り付け.ファンの動作確認は,参考URLのスクリプトを見て,ファンをONするshellスクリプトとOFFするshellスクリプトを作成して,制御できることを確認.



次の計画

次はRaspberry Pi用のユニバーサル基板にブレッドボードで試作した回路を載せることだけど,ユニバーサル基板に部品を載せたら,箱のふたは閉まらないかも.

2014年9月27日土曜日

Raspberry Piの空冷ファン関係のお買い物@秋葉

前回までに記述したRaspberry Piをファンで冷却するための回路の試作のため,秋葉原に出かけてお買い物.今回回った店は以下の3店舗.




千石電商

買ったもの


上のスイッチサイエンスのFTDIのアダプタはarduinoで使ったことがあって,使っているPC(Windows)で確実に動作することがわかっているんだけど,ユニバーサル基板にハンダ付けできないから,最終的にブレッドボードに接続するときはこっちの方がいいかもと思って,予備で買ってみた.

















門田無線

買ったもの


  • ブレッドボード
  • ハンダ付けしないでケーブルを接続するクランプ
  • ジュンフロン線









買えなかったもの




9/27(土)に買いに行ったら,9/29(月)(約2日後)の昼に入荷と言われた (T^T)
千石や秋月にもまだ売ってないんだよね.

月曜日は出張で定時後まで御茶ノ水で会議だから,帰りに秋葉に寄るかなぁ.

秋月電子通商


  • 330Ωのカーボン抵抗
  • 3kΩのカーボン抵抗
  • ショットキーダイオード
  • トランジスタ
  • ピン







お昼ごはん

かんだ食堂(食べログのリンク)で生姜焼き定食650円(今日は生姜焼きとカツカレーがサービスデーだった)


Raspberry Piにおける冷却ファンの駆動方式


Raspberry Piの来年夏に向けての対策として,ファンをつけようと考えていました.
大きく分けて,以下の3種類程度かと思います.

  • ON/OFF制御
  • 電圧制御
  • PWM制御

いろいろ調べて考えた結果,一番古典的なON/OFF制御にしようと思っていますが,それぞれの方法の特徴をきちんと比較した資料は発見できなかったので,Raspberry Piのプラットフォームに適用する前提でなぜ,ON/OFF制御を選んだか比較しながら説明します.


ON/OFF制御

ON/OFF制御とは,冷却対象の回路の温度が一定以上にならないように,冷却ファンをON/OFFするだけで制御する方法.ファンに専用の電源を使わないとすると,Raspberry PiのGPIO端子の5Vをファンの電源として利用する必要があり,ON/OFF制御するスイッチの代わりとなる回路はGPIOで制御可能である必要がある.(詳細な回路図の例などは別途説明)

冷却効率としては一番最悪となるかわり,一番回路等は単純になる.



電圧制御

ファンと直列に負荷になる回路を接続することで,ファンにかかる電圧を調整し,ファンの回転数を制御する方法.ファンの回転数を下げる際に,負荷を大きくした時の消費電力の無駄が大きいのが問題.



PWM制御

参考URL : http://mfn.blog.so-net.ne.jp/2012-08-06-1
PCのファン等で用いられる方式で,PCのマザボード等から周期と幅の異なるパルス信号を入れることで,ファンの回転数を制御するインターフェース.PWM対応のファンは,PC用ぐらいしか市販では入手困難.入手する場合は,PC用で4端子のコネクタのついたファンを選べばよい.

Raspberry Piは,PWM制御に対応しているため,PWM制御に対応したファンを使えば,回転数制御自体の電力効率も良く,回路の温度に適した回転数で冷却してやることで,冷却の効率そのものも良くなる.

ただし,Raspberry Piで用いるためにはひとつ問題があり,PWM制御対応の市販のファンは基本的に12V駆動ということ.そのため,ファンのために12Vの電源回路を別に用意するか,メーカーの保証範囲外の電圧である5Vで動作するPWM対応ファンを発見するため,多数購入してあたりを探す必要がある.

さすがに,個人宅のNASサーバにそこまで行う財布もなく,12Vの配線を余分につけるのも不許可範囲なので,PWM制御は今回はパス.

もちろん,5V対応のファンを使って,5V電源で動作するPWM対応ファン互換の回路を自作すれば別.しかし,今回はとりあえずパス.


方式の絞込み

電圧制御は,電気の無駄が多すぎるのでパス.PWM制御はやはり12V問題で今回はパス.
とりあえず,最初はON/OFF制御で行い.5V動作のPWM制御対応ファンの作成は将来課題にすることとしました.


ON/OFF制御回路


https://sites.google.com/site/gpsnmeajp/raspberrypi/fancon
http://suihan74.ddo.jp/blog/raspberry-pi-cool-down-2/
http://www2u.biglobe.ne.jp/~kazuchan/jikoyuu.html



2014年9月21日日曜日

WiringPiのインストールをやってみた

WiringPiのdebファイルなんかは存在しないようなので,オリジナルサイトの手順道理にやってみた.

環境の確認


以前に,環境の最新版への更新をやっていたので,不要なはずだけど,とりあえず,手順どおりにやってみる.

gitのインストール

root@pi:/sys/class/gpio# apt-get install git-core
Reading package lists... Done
Building dependency tree      
Reading state information... Done
git-core is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@pi:/sys/class/gpio#

やはり,入ってた.

次に,環境の更新

root@pi:/sys/class/gpio# apt-get update;apt-get upgrade
Hit http://raspberrypi.collabora.com wheezy Release.gpg
Hit http://archive.raspberrypi.org wheezy Release.gpg
Hit http://mirrordirector.raspbian.org wheezy Release.gpg

いろいろ中抜き

Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@pi:/sys/class/gpio#

というわけで,特に,更新なし.

ソースの入手

pi@pi /srv/src $ git clone git://git.drogon.net/wiringPi
Cloning into 'wiringPi'...
remote: Counting objects: 657, done.
remote: Compressing objects: 100% (599/599), done.
remote: Total 657 (delta 476), reused 95 (delta 58)
Receiving objects: 100% (657/657), 247.61 KiB | 79 KiB/s, done.
Resolving deltas: 100% (476/476), done.
pi@pi /srv/src $  cd wiringPi/
pi@pi /srv/src/wiringPi $ git pull origin
Already up-to-date.
pi@pi /srv/src/wiringPi $


ビルドとインストール

pi@pi cd wiringPi
pi@pi ./build

ビルドスクリプトでバイナリが/usr/localにインストールされてしまうのが嫌.

動作確認


pi@pi /srv/src/wiringPi $ which gpio
/usr/local/bin/gpio
pi@pi /srv/src/wiringPi $ gpio -v
gpio version: 2.20
Copyright (c) 2012-2014 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Model B+, Revision: 1.2, Memory: 512MB, Maker: Sony
pi @pi /srv/src/wiringPi $ gpio readall
 +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+
pi @pi /srv/src/wiringPi $