石油ファンヒーター改造 (1: 延長ボタンを自動で押す)

DIYする

石油ファンヒーターを買い足したので、去年と同様に改造します。まずは悪評の「3時間自動消火機能」を阻止するために、「延長」ボタン自動押し機能を追加します。去年は色々と凝ってしまいましたが、今回は最小限の改造を目指します。

前回の取り組み

以前の記事で、石油ファンヒーターにESP32を組み込み、「延長ボタン」を自動で押すよう改造しました。この自動延長機能をHomeKitからOn/Offできるようにもしました。

石油ファンヒーターを改造して「延長」ボタンを自動で押す
石油ファンヒーターには、消し忘れ防止機能があり、運転開始後3時間で消火してしまいます。これを回避するためには、「延長」ボタンを押す必要があります。これが面倒なので、ファンヒーターの中にESP32を組み込んで、人の代わりに延長ボタンを押しても...

ただ、延長ボタンを自動押しするだけなら、HomeKitと連携する必要はありません。今回は、できるだけ手間を省いた改造を目指します。

安全装置を回避する改造ですし、製品取説には分解・改造を行わないよう警告されています。DIYする際には自己責任でお願いします。

手持ちの部品で自動延長

この冬、石油ファンヒーターを買い足しました。去年の改造で使用した製品 (コロナ FH-G32YA2) と、見た目が同一のコロナ FH-G3224Yというモデルです。近所のホームセンターで税別13,500円と安く、臭いが殆どしなくて暖かいです。良い製品なのですが、唯一の欠点が、やはり3時間で起動する自動消火機能です。そこでこれも自動延長するよう改造します。ただし、一刻も早く改造したかったので、手持ちの部品だけで簡単に済ませたいと思いました。

ESP-01を使う

3時間経過する前に、延長ボタンを押す仕組みを作りたいので、タイマー回路などを作れば安価に作成できるかと思います。でもお手軽に作りたいので、ArduinoやRaspberry Pi Picoなどを使うのが良いと思いました。そこで今回は、たまたま手元に在庫のあったESP-01を使いました。以下の記事で紹介したものです。

ESP8266 (ESP-01) をArduino IDEで使う(1: Lチカ編)
これまで、ESP32を使ってHomeKitで動作するアクセサリをDIYしてきました。ESP32の下位モデルにESP8266があります。シンプルなアクセサリならばESP8266でも作れますし、市販のスマートプラグ、スイッチ、センサー類にはES...
ESP8266 (ESP-01) をArduino IDEで使う(2: OTA編)
前回、ESP8266を搭載したESP-01を、Arduino IDEでプログラミングできるよう設定し、単体で動作させました。今回は、USBアダプタに接続しないで、ESP-01単体のままプログラム更新できるように、Arduino OTAを使っ...
ESP8266 (ESP-01) をArduino IDEで使う(3: MQTT編)
前回、ESP8266を搭載したESP-01を、Arduino IDEでプログラミングできるよう設定し、OTAによりプログラム更新しました。今回は、MQTTメッセージをパブリッシュ、サブスクライブしてみます。OTAも引き続き有効にします。以下...

今回の目的には、Wi-Fi機能は不要なのですが、安価です。1個で送料別360円、10個買えば送料込み1,932円です。ESP-01SとESP-01無印の2種類がありますが、プルアップ抵抗の有無が違うだけで大差はありません。ESP-01Sの方が若干使いやすいかもしれませんが、手元にはESP-01しか無かったのでそれを使いました。

電池を使う

電源は3.3Vです。5VのACアダプタならばジャンク品をたくさん持っているのですが、3.3Vは持ち合わせがありません。ハードオフでもっと探しておけばよかったです。5Vを3.3Vに変換すれば良いのですが、手持ちの部品がありません。そこで、たまたま手元にあった単3電池2本用電池ボックスを使いました。スイッチもついているので便利です。最初、うっかりニッケル水素充電電池を使ってしまったところ、動作が不安定でした。充電電池は1.2Vなので、直列にしても2.4Vにしかなりません。普通の1.5V乾電池を使うべきです。

急いで作ったので、配線もブレッドボードです。これらをファンヒーターの上に載せました。

延長ボタンに配線する

次に、延長ボタンのスイッチから配線を引き出します。ファンヒーターの分解はこちらをご覧ください。ファンヒータの全面パネルを外して、

操作パネルを外し、

延長ボタン部分に配線をハンダ付けします。そして、灯油タンク収納場所の隙間から、ファンヒーター上に配線を引き出し、そこに置いたブレッドボードに接続しました。

この配線をショートすれば、「延長」ボタンを押したことと同等の効果が得られます。

ESP-01のGPIOに接続する

「延長」ボタンから引き出した配線を、手持ちのフォトスイッチTLP222G-2に接続しました。TLP222G-2は、2回路が一つのパッケージに入っていますので、その一つだけを使いました。

(akizukidensi.comから引用)

ESP-01に回路を接続する場合には、注意が必要です。こちらで説明したように、ESP-01は、電源投入時に、GPIO0とGPIO2ピンが入力モードに設定され、それがどちらもHighの場合に、プログラムが動作する通常モードになります。GPIO0がLowの場合には、GPIO1とGPIO3がシリアルポートになり、プログラムを書き込めるモードになります。試したところ、GPIO2がLowの場合にも、通常の動作モードにはならないようです。なので、結論として、ESP-01に書き込んだプログラムを動作させるためには、電源投入時にGPIO0とGPIO2が共にHighになる必要があります。

これに気づかないで、当初、以下のようにフォトスイッチ配線をしてしまいました。

動作しない配線例

この場合、GPIO0がGNDにプルダウンされた配線になるため、入力モードに設定された場合、Lowになってしまいます。それでプログラム書き込みモードに入ってしまい、動作しませんでした。

一方で、以下のように配線すれば、GPIO0は3.3Vにプルアップされるので、プログラムが動作するモードに入ります。

動作する配線例

通常のArduinoとかRaspberry Pi Picoなどならば、どちらでもOKですが、ESP-01では注意が必要です。未確認ですが、プルアップ抵抗搭載のESP-01Sの場合も、プルアップ抵抗値が12kΩと高いので、上記のプルダウン回路では動作しないと思われます。

プログラミング

ESP-01には、以下のプログラムを書きました。上記の回路のように、ESP-01のGPIO0にフォトスイッチが接続されています。GPIO0をLowにすると、フォトスイッチの内蔵LEDが点灯するので、「延長」ボタンの端子が短絡します。また、ESP-01のGPIO1番に当たるTxピンには青色LEDが搭載されています。これを5秒に一回点滅させて動作していることがわかるようにしました。

const int BlueLED=1;
int switchPin=0; //IO pin to the photo switch

void setup() {
  pinMode(BlueLED, OUTPUT); // Initialize the LED pin as an output
  pinMode(switchPin, OUTPUT);
  digitalWrite(switchPin, HIGH);
}

void reset3HourTimer() {
  digitalWrite(switchPin, LOW); // turn the photo switch on
  delay(1000);
  digitalWrite(switchPin, HIGH); // turn the photo switch off
}

void blinkBlueLED() {
  digitalWrite(BlueLED, LOW); // turn the blue LED on
  delay(100);
  digitalWrite(BlueLED, HIGH); // turn the blue LED off
}

long int counter=0;//counter for extend-interval (used in loop())

void loop() {
  delay(100);
  if(++counter > (150 * 60 * 10)) { //on every 150 min
    reset3HourTimer();
    counter=0;
  }
  if((counter % 20) == 0) { // on every 5 sec, blink the blue LED for monitor
    blinkBlueLED();
    counter++;
  }

}

このプログラムを動作させれば、150分ごとに「延長」ボタンを1秒間押してくれます。

まとめ

石油ファンヒーター動作を自動延長するように改造しました。ブレッドボード上で回路を組み、搭載したESP-01のプログラムが、150分ごとに「延長」ボタンを押します。今回は、手持ちの部品を使ってとりあえず動くものを簡易に作りました。

石油ファンヒーターの上位製品には、赤外線リモコンに対応した機種もあります。リモコンから「延長」ボタンを押せるようなので、スマートリモコンと組み合わせれば、改造・工作の手間不要で、自動延長できるかと思います。

次回は、電池が消耗しやすい問題点を解決すべく、ファンヒーター本体から3.3Vを作ります。

石油ファンヒーター改造 (2: 3.3V電源を作る)
前回は、石油ファンヒーターを改造して「延長」ボタン自動押し機能を作りました。これを3V電池駆動していたので、今回は5VのACアダプタで動作するよう変更します。さらに、ファンヒーターから5V電源を得られるように改造します。前回の取り組み前回の...

そして最終回では、運転ボタンも押せるように回路を追加して、HomeKitから操作できるようにします。

石油ファンヒーター改造 (3: HomeKit対応ファンヒーター爆誕)
前回までの記事で、ESP-01を使って石油ファンヒーターの「延長」ボタンを自動的に押す回路を作成しました。電源はファンヒーターから取得します。今回は回路を拡張して、「運転」ボタンと動作LEDもESP-01に接続し、ファンヒータに組み込み、H...

コメント

タイトルとURLをコピーしました