標準仕様は、4チャンネルのサーミスタ温度計で6チャンネルのファンを制御するファンコントローラです。
今回は、マイクロコントローラに高性能・高機能なESP32を使用しています。
AVRマイコンを使用していないので、厳密にはAVR-Fanconと言えませんが、とりあえず同じ分類にしておきます。またRevが1.2なのは、1.0と1.1基板にバグがあり1.2からの公開としたためです。
オプション部品と外部センサーを追加することにより、非接触温度計での制御が可能になります。
外部センサーとしては、シングル温度センサーの10TP583TおよびMLX90614、アレイ型温度センサーのAMG8833を利用可能です。
10TP583Tは、秋月電子で安価(税込500円)に入手できるサーモパイル温度センサーですが、計測回路は自前で用意しないといけません。今回FanduinoX Rev1.2基板上に計測に必要な増幅回路等をオプションとして用意しました。
また、MLX90614およびAMG8833は、I2C接続により手軽に非接触温度計を利用できるユニットで、特にPanasonicのアレイ型素子AMG8833は平面を8x8に分割して測定しますので下の図のように視覚的にとらえることができます。(スムージング化しています)
ただし、MLX90614、AMG8833を使ったユニットはそれなりに高価で、各々2500円、5000円程度はします。
非接触温度計を利用する場合は、FanduinoXのサーミスタ温度計Thm1~4または拡張温度計Thm5,6を非接触温度計に置換えます。(上図右側を参照)
FanduinoX Rev1.2の主な特徴は以下のとおりです。
- 接続可能なファンは、定格電流0.2A~0.9A程度の3pinファン6チャンネルで、全て独立して電圧可変(VR)モードで制御可能(4pinファンも接続可能だがPWMは無効)
- マイクロコントローラに高性能・高機能なESP32を採用、USB変換回路搭載のESP32DevKitCを利用し、ソケット装着により組立(はんだ付け)および故障対応を容易化
- PCとは、USBによる有線接続の他、ESP32内蔵のbluetoothによる無線接続が可能、ファームウェアアップデートもOTA(Over The Air)により無線で実行可能(ただしOTAにはWiFi環境が必要)
- 温度センサーは、標準のサーミスタセンサー4チャンネル、オプションの非接触温度センサー(10TP583T、MLX90614、AMG8833各1チャンネル)を接続可能(すべてを接続する必要はない)
- 基板外形を3.5インチHDDサイズに収め、2.5インチHDD/SSD規格のネジ穴を用意してあるので、変換マウンタ(ainex HDM-29等)によりHDDベイに収納可能
- モニタソフトとしてFanduinaV3.6を使用し、温度・ファン回転数を監視可能(FanduinoXは自律制御するので、FanduinaV3.6を常時起動しておく必要はない)
- 従来のFanduino(AVR-Fancon)と同様に、PCの温度計アプリ(CoreTemp、OpenHardwareMonitor等)を利用した代用温度計機能も使用可能(FanduinaV3.6必須)
なお、ESP32の空きリソースを活用してAddressableLEDを2ch独立して光らせるよう、ファームウェアとモニタソフトのアップデートに向けて奮闘中です。
動作検証は終わっていて、これから詳細プログラミングに入ります。いずれ公開する予定ですのでお楽しみに。
動作概要
マイクロコントローラのESP32が温度を測定し、設定パラメータに従ってファン制御用パルスをPWMで出力します。
これまでのAVR-Fanconと同様に、このPWM信号を12Vに増幅後、平滑回路を通して直流化しファンへ供給します。出力電圧が温度によって4V程度から12Vまで変わることにより、ファンの回転を制御しています。
設定パラメータは温度と回転数(正確にはPWM出力のduty値)との関係を表すもので、必要に応じてFanduinaV3(V3.6以上)を使用して変更することができます。
PCとUSBまたはbluetoothで接続することにより、温度、回転数などをPCに報告し、PC側のモニタソフトFanduinaV3でモニタすることができます。(モニタしないときは、FanduinaV3を起動しておく必要はありません)
FanduinoX Rev1.2仕様
Fan接続可能数 | 6台 (独立制御) |
Fan定格電流 | 0.2~0.9A(各ch)、ただし6ch合計4A以下 |
Fan制御方式 | 可変電圧制御(4V程度~12V)、低温時ファン停止機能(CSF)付 |
Fan停止対策 | 起動時、スリープからの復帰時、Fan停止検出時は数秒間最大回転させてFanの始動失敗・停止を防止(停止検出のためFanは回転数センサー付が必要) |
温度センサー | 標準:サーミスタ方式(無極性2ピン)×4本(Thm1~4) 10.0kΩ at 25℃、B定数 3435K(石塚電子製サーミスタ103JTを推奨) オプション:非接触温度センサー(10TP583T、MLX90614、AMG8833各1チャンネル)を接続可能 |
通信 | microUSB2.0×1本(ESP32-DevKitCに搭載) bluetooth(ESP32に内蔵) WiFi(OTAファームウェア・アップデート時) |
電源 | 12V、5V ATX4ピン |
最大消費電力 | 5V:100mA以下(ただし、AddressableLED利用時は1A以下) 12V:接続Fanの定格電流の合計 |
PC内設置方法 | 2.5インチHDD/SSD→3.5インチHDD変換マウンタによりHDDベイに固定 |
対応OS | 特になし(モニタソフトFanduinaV3はWindows10に対応) |
その他特徴 | PCとbluetooth接続による通信が可能 オプションとして非接触温度センサーを利用可能 |