
4チャンネルのサーミスタ温度計で4チャンネルのファンを制御する、電圧制御方式のデジタルファンコンです。
Rev7.0はRev5.0とほぼ同サイズ・同機能ですが、違いは、
- 拡張性を考慮し、AVR(ATmega328p)の空き端子をピンヘッダに接続
- 電子工作キット専用機とし、組立てが容易なように部品点数を極力削減
- USBコネクタは、マザーボード内部接続用のみ(USB-Bコネクタ)
- Low Profile PCIには非対応
などです。
なお、これまで、コイルの定数を選ぶことにより定格電流の異なるFanに対応するように改造したいとの要望が多かったことから、コイル定数選択のための早見表を用意しました。定格電流が100mA~500mAのFanでは、標準のコイルで対応可能と思いますが、これ以外ではコイルの変更による改造により対応できるようになると思います。ただし、MOSFETの発熱の関係で1Aが上限です。(改造だけでなくいかなる場合も、当方では責任を負いかねます。自己責任でお使いください)
コイル選定用早見表はこちら(pdfです)
作者の自作PC用に製作しましたが、基板単価を下げるためPCBを余分に発注し、ご希望の方にキットとして実費相当でお分けしていました。現在は在庫がありません。
動作概要
マイクロコントローラICのAVR ATmega328pが温度を測定し、設定パラメータに従ってファン制御用パルスをPWMで出力します。このPWM信号を12Vに増幅後、平滑回路を通して直流化しファンへ供給します。出力電圧が温度によって4V程度から12Vまで変わることにより、ファンの回転を制御しています。また、ファンからの回転パルスにより回転数を計測します。
PCとUSBで接続することにより、温度、回転数などをPCに報告し、PC側のモニタソフトFanduinaV3でモニタすることができます。(モニタしないときは、FanduinaV3を起動しておく必要はありません)
AVR-Fanconの設定パラメータは温度と回転数(正確にはPWM出力のduty値)との関係を表すもので、必要に応じてFanduinaV3を使用して変更することができます。
Fanduino7キットの製作概要
工具類の準備![]() | 写真のように工具類を準備します。 左上から右に、 作業手袋(火傷防止のため)、ハンダ、 ピンセット、ニッパ、ラジオペンチ、フラックス、 マスキングテープ、ハンダ鏝 です。 フラックスは、USBチップFT232RLを取り付ける際に必要になります。フラックスを使った後は、写真にないですが、フラックスリムーバーで洗浄する必要があります。 |
パーツA![]() | 左上から、 集合抵抗、電源コネクタ、ファンコネクタ 下段左から、 基板、MOSFET、FETドライバIC です。 |
パーツB![]() | 比較的入手が容易な部品で、ほぼ秋月で揃います。 左上から右に、 L型ピンヘッダ、USB-Bメスコネクタ、コイル 2段目左から、 AVR、ICソケット、電解コンデンサ その下 左から、 USBチップ、ピンヘッダ、ジャンパ、ポリスイッチ、 LED、ショットキーバリアダイオード、 積層セラミックコンデンサ、カーボン抵抗 です。 ダイオードと電解コンデンサは、リード線タイプも 使えます。 |
![]() | 基板には、背の低い部品から順番にハンダ付けしていきます。 (1.USBチップの取り付け) FTDI社のUSB用LSIであるFT232RLを取り付けます。 FT232RLはピン間隔が0.65mmと狭いので、フラックスという液体を使用します。(初心者の方には難しいと思いますので、取付の代行もいたします。) ハンダ付け後は、フラックスリムーバーでフラックスを除去しておきます。 |
![]() | (2.チップ部品の取り付け) 積層セラミック・コンデンサ(0.1μF)およびショットキーバリア・ダイオードを取り付けます。 これらは、表面実装のチップ部品なので取付にコツがあって、基板上の片側の端子に予めハンダを盛っておき、盛った所をハンダ鏝で加熱しながら、ピンセットで部品をつまんで押し当てていきます。 また、ダイオードには極性がありますので、写真を参考に絶対に間違えないように取り付けてください。 |
![]() | (3.電解コンデンサの取り付け) 左の写真は、電解コンデンサまで取り付けたところです。 電解コンデンサも極性がありますので注意してください。 なお、電解コンデンサは表面実装タイプとリード線タイプのどちらでも取り付けられるように基板パターンを工夫してありますので、自分で部品を調達される方はお好きな方を選んでください。 |
![]() | (4.抵抗、FETドライバIC、LED、集合抵抗、ICソケット、ポリスイッチの取り付け) LED、FETドライバIC、集合抵抗にも極性がありますので、上の写真を参考に間違えないように取り付けます。 |
![]() | ![]() |
![]() | (5.MOSFETの取り付け) MOSFET(2SJ681)の極性は向かって左側からG,D,Sです。 |
![]() | (6.Fanコネクタの取り付け) 写真を参考にして、浮き上がらないように取り付けます。 |
![]() | (7.電源コネクタの取り付け) 爪を穴に引っ掛けるようにして取り付けます。 |
![]() | (8.USBコネクタの取り付け) USB-Bメスコネクタは端子類を基板に挿し込んでから、爪をラジオペンチで折り曲げ、爪もハンダ付けしておきます。 |
![]() | (9.ピンヘッダ、コイルの取り付け) 写真はピンヘッダとコイルを取り付けたところです。 これらも、Fanコネクタの取り付けと同じ要領で、浮き上がらないように取り付けます。 |
![]() | (10.ジャンパ、AVRの取り付け) ジャンパ3つとAVRマイコン(ATmega328p)を差し込みます。AVRには極性がありますので、切欠きを左向きにして差し込みます。 以上で製作完了です。お疲れさまでした。 |
使用方法
(1)ドライバとモニタソフトのダウンロード、インストール USBドライバは、FTDI社のホームページからダウンロードして解凍しておいてください。Rev7.0をUSBに接続するとドライバを要求されますので、インストールします。 正常にインストールされると、右のようにデバイスマネージャにUSB Serial Port (COM*)が現れます。 画面は2台接続したので、COM11・18の2つになっていますが、通常は1つです。 モニタソフトFanduinaV3は、こちらからダウンロードして解凍後、フォルダを適当な場所に置き、FanduinaV3CS.exe(実行ファイル本体)のショートカットを作成しておいてください。 | ![]() |
(2)ファームウエアの書き込み あらかじめ、こちらからRev7.0用のファームウェアをダウンロードし、解凍しておいてください。 まず、Rev7.0にはFanや温度センサなどを接続せずに、普通のUSBケーブル(標準A-B)でPCにつないでから、モニタソフトFanduinaV3を起動します。 FanduinoSettings画面のファーム書込タブから書込みソフトFanduineW1を起動し、上から順に設定して最後に「書込」ボタンでファームを書き込みま す。 ・FT232RLシリアルNO.は、▼をクリックすると選択できます。 ・AVRターゲットデバイスはATmega328Pです。 ・ファームウェア格納フォルダは、「参照」ボタンで指定してください。 (このときFlash ProgramとEEPROM Dataファイルが設定されます) ・FuseBitは、Rev7を選択すれば最適値が設定されます。(DD F2 FDhです) (FuseBitを書き込むときは、高速書き込みするとエラーになります) ・「書込」ボタンをクリック後、通常約1分で書き込みが完了します。 | ![]() |
(3)Rev7.0の接続 PCの電源を完全に落とした状態で、USBケーブル、温度センサー、電源(ペリフェラル用の5V、12V 4ピンコネクタ)、ファンを接続します。 PCを起動すると、最初の3秒ほどはファンが全速回転し、その後は温度センサーの計測温度に応じてファンを制御します。 Rev7.0の動作情報(温度、回転数)をモニタするには、FanduinaV3を起動し、接続ダイアログFanduinoSettingsから接続ポートを設定し、接続ボタンをクリックします。接続ポートは、(1)のデバイスマネージャに現れたポート番号です。 なお、Rev7.0は自律的に動作しますので、表示・設定・監視の必要がなければ、FanduinaV3を起動しておく必要はありません。 | ![]() |
(4)制御パラメータの設定 パラメータ書込タブで、AVR-Fanconの制御パラメータや温度計・ファン名称を設定します。 制御パラメータの意味は以下のとおりです。 ・温度が Tmin 以下では制御出力が Dmin(%) となり、Tmax 以上で Dmax になります。TminからTmaxの間ではリニアに変化します。 ・Tstop はFanを停止する温度で、温度がTstopまで低下するとFanが停止し、Tmin 以上になるとFanが再起動します。(低温時Fan停止機能と呼んでいます) ・Thm# は、Fanを制御するサーミスタ(温度計)の番号(1~4)です。重複設定も可能で、例えば4つのThm#を全て1にするとサーミスタ1の温度で全てのFanを制御できます。 | ![]() |
回路の修正(2011.3.4追加)
色々とテストしていたら、稀にファンの回転数を正常に計測できない場合がありました。原因は、ファンへの出力段であるMOSFET用のゲート回路にノイズ(リンギング)が発生しているためと判明しました。下のオシロ波形で、MOSFETドレイン電圧の立ち上がりにヒゲがでていますが、このノイズが基板全体に影響していました。
Rev7.0では、極力部品点数を減らすことおよびスイッチング速度向上を目的に、通常はMOSFETドライバICとMOSFETのゲート端子間に挿入すべき抵抗を省略しましたが、やはり無理があったようです。
このため、下記の写真のとおり、MOSFETのゲート回路にチップ抵抗を挿入することにしました。この対策によりMOSFETドレイン電圧のノイズは解消できました。
![]() | ![]() |
![]() | ![]() |
(部品面) MOSFETドライバICとMOSFETのゲート間のパターンをカットし、470Ωの抵抗を挿入する | (半田面) MOSFETのゲート端子と12V電源配線間に470Ωの抵抗を挿入する |
AVR-Fancon Rev7.0 Fanduino7仕様
Fan接続可能数 | 4台 (独立制御) |
Fan最大電流 | 各500mA(コイルを変えることにより変更可能、ただし上限は1A) |
Fan制御方式 | 可変電圧制御(4V程度~12V) |
Fan停止対策 | 起動時、スリープからの復帰時、Fan停止検出時は数秒間最大回転させてFanの始動失敗・停止を防止 (停止検出のためFanは回転数センサー付が必要) |
温度センサー | サーミスタ方式(無極性2ピン)×4本 10.0kΩ at 25℃、B定数 3435K(石塚電子製サーミスタ103JTを推奨) |
USB | USB2.0×1本(USBーB端子) |
電源 | 12V、5V ATX4ピン (ただし、5VはUSBからも供給可能) |
最大消費電力 | 5V:100mA以下、12V:接続Fanの定格電流の合計 |
PC内設置方法 | PCIスロット、PCIe×16スロットに挿入して固定。 ケースを製作し5インチベイに設置も可能 |
対応OS | 特になし(モニタソフトFanduinaV3はWindowsXP/Vista/7/8/10に対応) |
その他特徴 | USBからAVRマイコンのファームウェア書換が可能。 駆動回路はPWMであるため使用素子の発熱が少ない |