CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

ファンコントロール(3)

ホストターミナル上でCPU温度やファンの制御量を見ることができるようになりましたが対話式の手動なのでデータのログやファンの最適化制御ができません。ここはさらに上位のホストPC側でのアプリケーションを作ってみます

まず温度読取りがサーミスタ電圧そのもののA/D変換値で判りにくいのでリニアライズと温度直読できるようにします。

サーミスタ103JTの温度T-抵抗値R(t)特性は

  B:B定数3435K、T0:基準温度25+273K、R0T0のときの抵抗値10kΩ

がデータシートに示されています。一方サーミスタと負荷抵抗RLで分圧された電圧をPICのA/Dコンバータでレシオメトリックに測定するのでカウント値N

                       (ADC入力インピーダンスは省略)

  RL:負荷抵抗 常温でスパンの中央くらいになるよう8.2kΩを選択

となり、ここからTで解くと

カウント数Nと温度T(℃)の関係はこんな感じで実用的な範囲20~100℃はカバーしています

都度、実数計算するのも大変だしカウント数Nは整数の離散的な値しかとらないのでexcel計算値から配列で埋め込み、表引きにしてしまいます

Nは実用的な300~1000、結果は10倍にして整数に丸めてあります