|
|
| パソコン用PWMファンコントローラ |
- 3pinファン用コントローラ回路図 pwmfan3pin.pdf
- 4pin CPUファン用コントローラ回路図 pwmfan4pin.pdf
- Cソースコード pwmfan.c
- HEXファイル pwmfan.hex
| 3pinファン用基板製作例 |
基板上面
PICの上にプッシュボタン・スイッチを重ねて実装しています
基板裏面
パワーMOS FETの陰になって見えませんが,抵抗R2(1kΩ)にはチップ抵抗を使っています
接着剤で固めた後にブチルゴムテープを巻いた基板
スイッチの押しボタンだけが見えています
さらに絶縁テープを巻けば,パソコンのマザーボードの上にころがしておいても大丈夫です
| 4pin CPUファン用基板製作例 |
| PWM制御出力波形 |
変数
speed=0 の時のPICのGP1出力波形
duty比最大(約90%),ファン速度最高
変数
speed=9 の時のPICのGP1出力波形
duty比最小(約20%),ファン速度最低
| 設定値とファン回転数の関係 |
左図はケースファンについて,スピード設定値(変数
speed
の値)とファン回転数の関係を測定してグラフにしたものです. もう少し回転数を落とせるように,プログラムを改良した方が良いかもしれません.
このグラフはあくまでも測定例の一つで,ファンによって特性はかなり異なることにご注意下さい.
| ファンの回転数センサ出力波形 |
ファンの回転数センサ(速度センサ)の出力はオープン・ドレインになっているので,出力波形を観測するにはプルアップ抵抗が必要です.
PWMファンコントローラを使った場合の回転数センサ出力波形
センサ出力波形にもPWM変調がかかっています.
このような変調のかかったセンサ出力波形では正常に回転数検出が出来ないマザーボードもあります.(変調周波数がやや低い影響があるのかもしれません) そのためもあって製作したファンコントローラではPICで生成した周波数約70Hzの方形波をマザーボードのセンサ入力信号として与えています.(マザーボード/BIOSで実際のファン回転数をモニタすることは出来なくなります)
| 山洋電気製}CPUファンの仕様 |
設計の参考にするために山洋電気のPentium4プロセッサ対応CPUクーラー(4pin
CPUファン)の資料を見たところ,なかなか面白い仕様であることに気づきました. 例えばPWM制御入力信号のduty比が0%でも,ファンの回転速度は0になりません.(フェールセーフを考えた仕様のようです) また制御信号のduty比が一定でも,CPUクーラー側に内蔵した温度センサでヒートシンク温度あるいは周囲温度を検出して,一定範囲内でファン回転数の自動制御かかかります.(これもワーストケースを考慮した堅実設計?)
ご紹介した4pin CPUファン用PWMファンコントローラ基板と山洋電気製のCPUクーラーを組み合わせて使用した場合,周囲温度やCPUの負荷によりファンの回転数が変動する場合があります.
左図は山洋電気のCPUクーラー SAN ACE MC
のデータシートのコントロール端子入力デューティー回転速度特性例のグラフを一部簡略化して書き直したものです.
パソコン2台をリプレースした際,ファンの音が非常にうるさかったのでファンの回転数を落とすためにこのファンコントローラを製作しました. 購入したマザーボードのBIOSのファン速度自動制御機能は単純なON/OFF制御のようなもので騒音低減には役にたたず,フリーのファン制御ソフトを使うとマザーボードや他のアプリケーションとの相性の問題があるのかマシンがハングアップしまい使い物になりませんでした. 単に回転数を落とすだけなら抵抗を1本使えばすむ話ですが,設定を簡単に変えられるようにこのような基板を作った次第です. 作りやすいように出来る限り簡単な回路にして,パソコン2台分のCPUファンとケースファンの制御用に合計4枚の基板を作成しました.
最初はタイマーIC 555を使ったアナログ制御回路を試してみたのですが,duty比の可変範囲が狭い等の問題があり満足出来るものにはなりませんでした. マイコンを使うのは少々大袈裟のような気がしますが,音響実験などにも使うパソコンを静音化するためなので致し方ありません. 8pin PICマイコンにとってはこのようなアプリケーションがちょうど似合っているでしょう.
このファンコントローラを製作してから,トランジスタ技術(CQ出版)2004年8・9月号に同じPIC12F675とサーミスタを用いたPWM制御ファン・コントローラの製作記事が掲載されていたことを知りました. 温度センサを用いた本格的な制御をおこなう場合の参考になると思います. 自作される場合は温度検出にサーミスタよりも入手しやすいLM35等の半導体温度センサを用いると良いでしょう.
|
|