制御器 S-3 の内製化

壊れてしまったFUJISOLの太陽熱温水器ですが、S-3という制御器で電磁弁をコントロールしていました。
この仕組み、とてもよくできていて、太陽熱温水器への配管が1本で済みます。また、タンクの温度やお湯の残量がわかるのもメリットですし、冬場など、お湯の温度が低いタイミングで、タンクのお湯が水でぬるくなることなく落とせるのは特筆すべき利点かなと思うのです。

不満は特にないのですが、お湯の量や温度のログを取りたいので、センサーの情報を直接読み込んでクラウド対応できれば、さらに便利になるかなと思うのです。

仕様が明らかなセンサーを購入しようかとも思ったんですが、長年使っていて実績のあるもののほうが安心であること、今後販売する際にも一緒にまとめて輸入することができるので、コストを抑えられることから、TKDZのセンサーをそのまま使おうと思います。

センサーですが、4ピンのタイプで、緑のペイントで向きが示されていますが、違う向きでも刺さってしまいます。向きを間違えたことがあるんですが、壊れることはなかったので、多分、電気抵抗で調べるのだと思います。購入元の太陽光さんに仕様等を確認したのですが、回答が得られなかったので、調べてみました。

太陽熱温水器センサー(TKDZ製)の主な仕様

太陽熱温水器の制御器「S-3」(または類似のTKDZ製コントローラー等)で使用されているセンサーの主な仕様は以下の通りです。

  • センサーの種類: NTC 10K (B3950) サーミスタ(温度・水位センサー)
  • 測定温度範囲: 0°C ~ 99°C(モデルにより0°C ~ 90°Cなど)
  • 測温精度: ±2°C

主な役割は、貯湯タンク内の水温検知および水位検知による給水・停止の自動制御です。水位測定はプローブにある電極に水が触れることで検出する「電極式レベルスイッチ」という仕組みで、水が全く触れていない状態(0%)から、25%, 50%, 75%, 100%の4つの電極で段階的に判定しているようです。


Atom S3で太陽熱温水器センサー(TK-S-3)の信号を読み取る方法

太陽熱温水器の制御器「S-3」で使用されているセンサーの信号を、Atom S3(ESP32-S3)に取り込むためのポイントをまとめました。

センサーの配線確認(実態調査)

実際に配線を調査したところ、端子の部分を含めて細いケーブルが1本にまとめて被覆されていたため、今回は被覆をカットして内部の配線を確認しました。

確認された4芯ケーブルのピン配置と役割は以下の通りです。

ピン / 機能 配線色 用途 接続先 (Atom S3)
水位 (+) 赤 (Red) 水位検知信号 アナログ入力 (ADC) または判定回路
水位 (-) 青 (Blue) 水位共通リファレンス GND
温度 (+) 白 (White) NTCサーミスタ信号 アナログ入力 (ADC GPIO)
温度 (-) 緑 または 黄 (Green/Yellow) 温度共通リファレンス GND

自分のものは、緑のケーブルでした。
結構細いので、ニチフのNDC2824 を使うのがよさそうです。

ここから先は未実装ですが、現状把握している内容を整理しておきます。

水位センサー(電極式)の読み取り

4段階の水位を検知する構造ですが、ケーブル自体は「赤(水位信号)」と「青(水位共通リファレンス)」の2本で構成されています。

  • 動作原理: 内部の電極ごとに異なる抵抗値が配置されており、水が触れる電極の数や高さに応じて全体の合成抵抗値が変化する仕組み(抵抗ラダー回路など)になっています。
  • 実装方法:
    • 単なるデジタル(ON/OFF)ではなく、アナログ入力(ADCピン)を使用します。
    • 赤線をAtom S3のADCピンに繋ぎ、分圧回路を構成します。
    • 水位の変化による抵抗値の変動を電圧の段階的な変化として読み取り、プログラム側で閾値を設けて各水位(25%, 50%, 75%, 100%)を判別します。

温度センサー(NTCサーミスタ)の読み取り

温度センサーには「NTCサーミスタ (B3950 10K)」が採用されています。

  • 動作原理: 温度によって抵抗値が変化する特性を利用します。
  • 実装方法:
    • Atom S3のADCピンに対し、サーミスタと固定抵抗(10kΩ)で分圧回路を構成します。
    • analogRead() で電圧を読み取り、B定数式を用いて抵抗値を算出、最終的に摂氏(°C)へ変換します。

実装上の注意点

  1. ノイズ対策: センサー線は長くなることが多いため、高圧線から離して配線してください。ソフトウェア側で移動平均フィルタをかけると数値が安定します。
  2. ADCのキャリブレーション: ESP32-S3のADCは個体差があるため、基準となる抵抗を用いて値の補正を行うことをお勧めします。
  3. グランドの共通化: 水位・温度それぞれの共通線は、必ずAtom S3のGNDと接続してください。

まずはセンサーでの読み取りまでを完了したいと考えています。その次に電磁弁(12V)の操作、最後に注水のコントロールと進めていきたいと思います。
Atom S3は画面全体がボタンでもあるので、注水のトグルスイッチとしても機能させたいと考えています。


※ 本記事は個人の学習・実験を目的としています。機器の改造・接続はすべて自己責任で行ってください。

Leave a Reply