手をかざすと消毒液をシュッてするやつ(市販品)を改造する話—安い電動アルコールディスペンサーの噴射量を調整する—

また消毒液をシュッてするやつの話です。前回👇はまるごと自作しようとした話でしたが、今度は安い市販品を改造する話です。

www.creativity-ape.com

はじめに

アルコール消毒するとき、手全体が濡れるくらいが良いとされています。

電動ディスペンサーを使う場合、ある程度ハイエンドな製品であれば、噴射量をほどよく調整することができますが、2,000円前後の廉価タイプは、ちょっと多め固定で、日本人の手のサイズだと両手で受けてもこぼれるくらい出ます。

今回は、その廉価タイプの回路をハックして、噴射量を好み通りに調整してしまおうという話です。

今回改造するのはこの機種です、後述しますが、おそらく同価格帯の製品は、だいたい同じ方法で改造できると思います。

まずは基板を眺める

f:id:at_you_key:20210925200651j:plain

これが制御基盤です。U3と書かれた刻印の無い14ピンのICがコントローラーのようです。

2種類分解してみたら、基板レイアウトは違うものの回路構成は同じだったので、アルコールディスペンサー専用のチップなのかもしれません。

右下のごちゃごちゃしたところは、センサー部分とのやり取りをするための回路のようです。

右上のコンデンサーがあるあたりが電源まわり、電源は単三電池4本の6Vで、ロジックレベルも同じでした。

コントローラー左の6本足U1はON/OFF用のタッチセンサーICで、タッチしている間LOを出す動きだったので、スイッチに差し替えてGNDに落とすようにしても大丈夫です。

そして、コントローラーのすぐ右、Q5がモータードライブ用のトランジスタです。今回改造するのは、このトランジスタ周辺です。

どうやって?

真っ先に思いつくのは、マイコンで制御信号を監視して、信号が来たらマイコンでポンプを好きな時間動かすやり方ですが、2重で電源を食うのはなんか嫌です。

そこで、制御信号自体をマイコンの電源として利用することを考えました。

これは射出時間を短く調整したい場合にだけ使える手ですが、コントローラーのピンとトランジスタの間にオフディレイ(一定時間経ったらオフになる)回路としてプログラムしたマイコンを挟めば良いわけです。

オフディレイ回路はコンデンサーと抵抗を使っても作れますが、現物に合わせて時間を微調整したいので、やはりここはマイコンで行きましょう。

とりあえず手元にストックがあったATtint85を使いますが、完全にオーバースペックすぎてもったいないので、ホントはもっと安くて小さいATtiny10などを使いたかった気持ちもあります。

回路図

そしてこれが回路図です。抵抗やコンデンサなど、小さな部品は省略してあります。

f:id:at_you_key:20210925223453j:plain

基板のパターンをカッターで削って切断、そこにATTinyを割り込ませる作戦です。

コントローラーのピンにVCC、トランジスタに出力ピンを繋いで、GNDは電池のマイナスに繋ぎます。

こんな感じです。

f:id:at_you_key:20210925201414j:plain

Arduinoスケッチ

これはもう、紹介するまでもないかもしれませんが、スケッチはこんな感じです。

void setup(){
    pinMode(0,OUTPUT);
    digitalWrite(0,HIGH);
    delay(200);
    digitalWrite(0,LOW)
}
void loop(){}

0番ピンをオンにして、200ミリ秒(時間は現物合わせで調整)待ってオフ、それだけです。

電源として使っている元の信号が1秒程度で止まるので、省電力のためにDeepSleep入れたりする必要もありません。

ArduinoスケッチをATTinyに書き込み方法は、この辺りが参考になります。 rephtone.com

うまく動いた👍

結果の記録を撮り忘れてしまったんですが、ともかく狙い通りうまくいきました。

そして、テストをしていて気づいたんですが、どうやら消毒液はモノによって粘度がまちまちなようで、同じ秒数動かしても、銘柄によって吐き出される量が違いました。

はーん、調整機能にコストを割けなかったから、どんな銘柄の消毒液を入れても大丈夫なように、余裕を持って多めに出す設計になっていたわけですね、なるほど。

おしまい