また消毒液をシュッてするやつの話です。前回👇はまるごと自作しようとした話でしたが、今度は安い市販品を改造する話です。
はじめに
アルコール消毒するとき、手全体が濡れるくらいが良いとされています。
電動ディスペンサーを使う場合、ある程度ハイエンドな製品であれば、噴射量をほどよく調整することができますが、2,000円前後の廉価タイプは、ちょっと多め固定で、日本人の手のサイズだと両手で受けてもこぼれるくらい出ます。
今回は、その廉価タイプの回路をハックして、噴射量を好み通りに調整してしまおうという話です。
今回改造するのはこの機種です、後述しますが、おそらく同価格帯の製品は、だいたい同じ方法で改造できると思います。
まずは基板を眺める
これが制御基盤です。U3と書かれた刻印の無い14ピンのICがコントローラーのようです。
2種類分解してみたら、基板レイアウトは違うものの回路構成は同じだったので、アルコールディスペンサー専用のチップなのかもしれません。
右下のごちゃごちゃしたところは、センサー部分とのやり取りをするための回路のようです。
右上のコンデンサーがあるあたりが電源まわり、電源は単三電池4本の6Vで、ロジックレベルも同じでした。
コントローラー左の6本足U1はON/OFF用のタッチセンサーICで、タッチしている間LOを出す動きだったので、スイッチに差し替えてGNDに落とすようにしても大丈夫です。
そして、コントローラーのすぐ右、Q5がモータードライブ用のトランジスタです。今回改造するのは、このトランジスタ周辺です。
どうやって?
真っ先に思いつくのは、マイコンで制御信号を監視して、信号が来たらマイコンでポンプを好きな時間動かすやり方ですが、2重で電源を食うのはなんか嫌です。
そこで、制御信号自体をマイコンの電源として利用することを考えました。
これは射出時間を短く調整したい場合にだけ使える手ですが、コントローラーのピンとトランジスタの間にオフディレイ(一定時間経ったらオフになる)回路としてプログラムしたマイコンを挟めば良いわけです。
オフディレイ回路はコンデンサーと抵抗を使っても作れますが、現物に合わせて時間を微調整したいので、やはりここはマイコンで行きましょう。
とりあえず手元にストックがあったATtint85を使いますが、完全にオーバースペックすぎてもったいないので、ホントはもっと安くて小さいATtiny10などを使いたかった気持ちもあります。
回路図
そしてこれが回路図です。抵抗やコンデンサなど、小さな部品は省略してあります。
基板のパターンをカッターで削って切断、そこにATTinyを割り込ませる作戦です。
コントローラーのピンにVCC、トランジスタに出力ピンを繋いで、GNDは電池のマイナスに繋ぎます。
こんな感じです。
Arduinoスケッチ
これはもう、紹介するまでもないかもしれませんが、スケッチはこんな感じです。
void setup(){ pinMode(0,OUTPUT); digitalWrite(0,HIGH); delay(200); digitalWrite(0,LOW) } void loop(){}
0番ピンをオンにして、200ミリ秒(時間は現物合わせで調整)待ってオフ、それだけです。
電源として使っている元の信号が1秒程度で止まるので、省電力のためにDeepSleep入れたりする必要もありません。
ArduinoスケッチをATTinyに書き込み方法は、この辺りが参考になります。 rephtone.com
うまく動いた👍
結果の記録を撮り忘れてしまったんですが、ともかく狙い通りうまくいきました。
そして、テストをしていて気づいたんですが、どうやら消毒液はモノによって粘度がまちまちなようで、同じ秒数動かしても、銘柄によって吐き出される量が違いました。
はーん、調整機能にコストを割けなかったから、どんな銘柄の消毒液を入れても大丈夫なように、余裕を持って多めに出す設計になっていたわけですね、なるほど。
おしまい