2020年6月13日土曜日

古い除湿器をハッキング

梅雨入りして蒸し暑い季節になりました。今日は少し涼しいですがまた暑くなりそう。テレワークで終日エアコンを入れているので電気代も気になるところです。

梅雨の季節、仕舞い込んであったシャープ製の古い除湿器DW-3SFで遊んでみようと、引っ張り出してきました。本来は自動運転で湿度70%を超えると自動的に運転が始まるはずですが、湿度センサが不調のようで自動運転しません。そこでマニュアル操作で「連続」を指定して使っていましたが、常に動いてうるさいし、電気代も気になるし、水のタンクがすぐに一杯になってしまうので、昨年新機種に買い替えました。新機種は当たり前ですが湿度に応じできちんとオン/オフして調子いいです。


そこでこの古い機種も、この操作スイッチをArduinoで制御して、設定湿度で自動運転してみようと思った次第です。スイッチは電源と運転切り替えの2つなのでプログラムは単純です。コントローラはArduino Nano互換機と、湿度センサSHT31、小型キャラクタ液晶(いずれもI2C接続)で作ります。設定湿度は、50%~70%で5%刻みでタクトスイッチで設定。設定湿度を超えたら電源オン・連続運転(電源オン直後は自動モードなので1回スイッチを押して連続にする)を始め、湿度が設定温度以下になったら電源オフです。


制御パネルの基板です。タクトスイッチなのでリレーを使って押す操作を模擬します。現在の状態をモニタするLEDが単純な回路ではないのと、5Vではなく11Vで点灯していました。制御基板には5Vの三端子レギュレータが載っていてメインのコントロールは5Vで動いているようですが。

除湿器のスイッチを押す代わりは、小さなリードリレーを使います。駆動電流は10mA程度なので、Arduino Nanoの出力ピンで直接駆動できます。スイッチ用に2個と、操作時に除湿器の圧電ブザーを切るためにもう1個使います。そのままだとスイッチを押すたびに「ピッ」と音がしてうるさいのです。完全に切断してしまうと、水タンクが一杯になったときのアラームも聞こえなくなってしまうので、操作時のみ切るようにしました。

基本的な動作はできるようになりましたが、念のために操作パネルのLED点灯状態をフィードバックしようとしています。単純にトランジスタを使ってレベル変換(11V位でているので、そのままArduinoに繋げない)したところ、うまく行きませんでした。もっと高い入力インピーダンスにしないとダメっぽい。もう少し調べてみます。

全景はこんな感じ。まだ本体カバーを外したままで色々と試して確認しています。

外出もままならないので、Aliexpressで色々と安い電子部品を注文しています。2週間ほど経ちますがまだひとつも届きません。まあ、到着まで30~50日ほどだったので、仕方ないですね。届くまでにこの除湿器コントローラで遊んでいます。

0 件のコメント:

コメントを投稿