100V USB スイッチ
PCから100Vで使う家電をコントロールしたいときがある。
デスクライトや扇風機や電気ポットなど色々ある。
前回の工作では「まごの手フットスイッチ」のスイッチ部を使ったが、
今回は余ったコンセント部で100V を On/OFF できるデバイスを作ってみた。
材料
まごの手フットスイッチ
ボタンのワンプッシュで 100V を On/OFF できるデバイスである。
プラグとコンセントが一体型となっていて、100Vの端子の片方は直結、
もう片方はケーブルを通してボタンの中にあるスイッチに繋がっている。
スイッチを On/Off することで、コンセントを On/Off できる仕組みである。
【まごの手フットスイッチ】WH2711KWP(ボタン&コード)
Panasonic: https://panasonic.jp/tap/p-db/WH2711KWP.html
Amazon .co.jp: 973 円
https://www.amazon.co.jp/パナソニック-Panasonic-まごの手式フットスイッチ-ホワイト-WH2711KWP/dp/B000J3ORUM/
Arduino Nano Every
USB インタフェースが付いて、pin も標準的に多くて、小型な定番 Arduino。
元々 Arduino Nano が定番だったが、USB mini-B 端子を使っていてやや不便。
その端子を USB micro-B に変えたのが Arduino Nano Every である。
【Arduino Nano Every(ピンヘッダ付き)】
Switch Science: 1500円
https://www.switch-science.com/catalog/6199/
珍しい改悪として、pin の印字が pin 側に付くようになり、
ブレッドボードに挿した状態では全く読めなくなっている。
そのため、こういう pin assign マップが必須になる。
100V Solid State Relay
100V を耐えうるリレーの中では安価で大容量である。
その上、外観がコンパクトに閉じていて、物理的堅牢性も良さそう。
端子がシンプルにネジ止めなため、配線も容易な類に入る。
スペック的に Arduino の I/O pin から直接駆動できそうだが、実際は動かない。
- cf : 12mA を超えていれば導通状態になる。
http://akizukidenshi.com/download/ds/fotek/fotek_ssr.pdf / P5
本体の目立つ位置に赤いLEDがあり、導通時に点灯指示する。
開発時は備え付けのLチカで動作確認できるため、非常に便利。(←本題)
【大容量ソリッドステートリレー(SSR)24V~380VAC 40A SSR-40DA】
秋月電子通商: 1000円
http://akizukidenshi.com/catalog/g/gI-08620/
設計
Arduino の制御信号をトランジスタで増幅してリレーを駆動する。
トランジスタによるスイッチング回路は、プチモンテさんの記事が詳しい。
ハードウェア
ハードウェア疑似コード
module AcSwitch(USB usb, AC100V ac100V) { ArduinoNanoEvery arduino; SSR40DA ssr; C1815 c1; usb = arduino.usb; ac100V = ssr.[1,2] arduino.5V = ssr.3; c1.B = R[100kΩ](arduino.D2); cl.E = R[220kΩ](cl.B) = arduino.GND; cl.C = ssr.4; }
SSR-40DA のスペックでは、導通するには 12mA の電流を超える必要がある。
また、上限が 20mA になっている。
http://akizukidenshi.com/download/ds/fotek/fotek_ssr.pdf / P5 Trigger current
手元にあるトランジスタは C1815 の BL である。
ベース電流、コレクタ電流、増幅率の関係と、
ベース抵抗、コレクタ電圧、ベース・エミッタ間電圧降下、ベース電流の関係から、
ベース電流の式を導ける。
クラスが BL であるため、hEF は 350~700 である。区間 350::700 として代入すると、70::140kΩが得られて、手元にある抵抗で組みやすそうな 100kΩ を選択した。
ベース・エミッタ抵抗 RBE は、ざっくりベース抵抗より1つ大きい 220kΩ とした。
これに関しては特に深く考えずに、2倍程度を目安に選んでいる。
抵抗は大体 1, 2.2, 4.7 系列で揃えていて、丁度 1 つ大きい値の抵抗を使うようにしている。
コレクタ抵抗 RC は、SSR の内部抵抗を割り出しながら、実測で出している。
直列に 300~400 Ω の抵抗を入れると上手く導通できる。
手元にある 1kΩ を3つ並べて 333 Ω を作って使った。
ソフトウェア
単純に受信した文字に応じて、SSR を制御する D2 pin を上げ下げしている。
Arduinoコード
int pSwitch = 2;
void setup() {
Serial.begin(9600);
Serial.println("Ac Switch");
}
void loop() {
if (Serial.available()) {
int c = Serial.read();
switch(c) {
default:
Serial.print("Invalid input: ");
Serial.println(c);
break;
case '\r':
case '\n':
;
break;
case '0':
Serial.println("Off");
digitalWrite(pSwitch, LOW);
break;
case '1':
Serial.println("On");
digitalWrite(pSwitch, HIGH);
break;
}
}
}
}
PC側コード
PC 側は python でツールを作り、コマンドラインで On/OFF できるようにした。
PC側の制御コード(AcSwitch.py)
#need pyserial:
# $> pip install pyserial
import sys
import serial
args = sys.argv
if len(args) < 3:
print("Format: AcSwitch port cmd")
quit()
port = args[1]
cmd = args[2]
seri = serial.Serial(port, 9600, timeout=1000)
print("Open [{}]".format(seri))
try:
line = seri.readline().strip()
print(line)
while True:
if seri.out_waiting == 0:
break;
print("send " + cmd)
if cmd == 'off':
seri.write(b'0')
print("send[0]")
elif cmd == 'on':
seri.write(b'1')
print("send[1]")
else:
print("Invalid Command: " + cmd)
line = seri.readline().strip()
print(line)
except Exception as x:
print("Error Stop!! " + x.args)
finally:
seri.close()
実行はシリアルポートを第1引数に、コマンドを第2引数にスクリプトを呼び出せば良い。
例えば、COM6 を使う場合は以下の通りになる。
実行コマンド
python AcSwitch.py COM6 on python AcSwitch.py COM6 off
実装
コンセント分解
裏にある回路図の通りだが、とりあえず分解して確認したくなるものである。
プラグに繋がるのが両端の端子で、右2つがケーブルの先にあるスイッチに接続されている。
スイッチの On/Off で回路の遮断を直に制御している。
半田付け
制作の途中からどうしても Arduino Nano Every の pin の間に入れたくなったため、
もはや基盤の存在意義を疑うほどの空中配線になってしまった。
裏面は Arduino の裏面くっつけて空間を稼ぐため、平に仕上げている。
arduino への接続は、ジャンパピンを使った。
いつでも脱着できるため、arduino の再利用が容易にできる。
コンセントとケーブル
最後にケーブルを繋げば完成。
まごの手フットスイッチの端子も圧着式のため、難なく付けられる。
試用
PC に積んげて、Lチカしてみた。
もとい、100V は危険なので、とりあえず外した状態でテストしてみた。
導通の確認は、SSR に付いてる赤い LED の目視とした。
python AcSwitch.py COM10 on
と打てば導通、
python AcSwitch.py COM6 off
と打てば遮断しているのが確認できる。
付録
失敗事例 : LED照明には使えなかった
これは WH2711KWP の公式ページに上がっている情報ではあるが、
「OFF時でも照明がぼんやり点灯(または点滅)することがあります。」とのこと。
panasonic:
https://panasonic.jp/tap/p-db/WH2711KWP.html
ダメ元でも実際に試したら点滅する現象に遭遇した。
これは説明の通り、交流の遮断が完全ではなく、僅かな漏れが発生しているに思える。
ただ、今家にコンセントを入れるだけで動き出す家電が殆どなく、
デスクライトが使えないと、扇風機やポットになるが、出すのが非常に手間がかかる。
その結果、SSR自体の信頼性は十分にあるので、Lチカでの導通テストとなった。
────────
投稿者の人気記事
-
Limg
さんが
2020/05/06
に
編集
をしました。
(メッセージ: 初版)
-
Limg
さんが
2020/05/06
に
編集
をしました。
-
Limg
さんが
2020/05/06
に
編集
をしました。
ログインしてコメントを投稿する