PIC16F1455でACパワーコントローラを作る

ハンダこてを切るのを忘れてしまい電源入れっぱなしにしてしまうことがたまにある。今年の最長記録はな~んと3日間。ヤケドや火災の原因にならなかったのが幸いではあったが、高校生の頃、自宅のコタツに入ってハンダ付けをしてる最中に眠ってしまったことがある。お腹の当たりが熱くて目が覚めたら落ちたハンダこてがコタツ布団を焼いていて煙が室内に充満し発火寸前の状態。発火前に目が覚めたおかげで大事には至らなかったが、何日も気づかないことがあったりすると本当にヒヤッとしてしまう。

切り忘れるたびにハンダこて切り忘れ防止装置なるものを作ろうと思ってしまう。が、どういう仕様にするか悩んでるうちに作ること自体を忘れてしまうという繰り返しをうん十年も続けてきたのだが、漸く仕様もきまったので早速作ってみることに。

切り忘れ防止はタイマーとPIRセンサーの組み合わせで行うことにした。作業者がハンダこての近くにいるかどうかをPIRセンサーで判断し、PIRセンサーに反応があればタイマーを延長、反応がない状況が一定時間続くと切り忘れて場所を離れたとみなし電源オフする仕様だ。そして、さらなる安全策として電源オン状態を維持できる最大時間も設定できるようにしてみた。この仕様なら、ハンダこてに限らず人間が傍にいる必要がある電気製品にも応用できるはずだ。たぶん。

また、電源のオンオフだけだと簡単すぎて面白くないのでヒーターの温度制御に利用可能なゼロクロス制御方式のパワーコントローラとしても使えるようにしてみた。WindowsやLinux(Raspberry-Pi等)からUSB経由でリアルなパワー制御が可能なので、温度センサーと組み合わせた温度管理システムが簡単に構築可能できるようになる。

今回は、箱買いしたものの全く使ってなかったパナソニックのAQ1208(生産完了品)というゼロクロスSSRを使ってみた。ヒートシンクありで定格10Aで使えるものだが自然冷却ではかなり熱くなるため空冷ファンにより強制冷却できるようにしてみた。1200Wの電気ケトルで試してみたところ4分ほど経過した時点で60℃(空冷ファンはオン状態)を超えたあたりでほぼ安定状態であったので数分程度なら1KW越えにも十分耐えられそうな感じだ。但し、80℃ぐらいしか耐えられない樹脂パーツを使って組み立てたこともあり、初期設定は50℃以上で強制空冷開始、70℃以上で電源オフする設定としている。

【回路図】

回路図右上のLED回路は、ボタン押下検出、LEDによる状態表示、それと部屋の照明のオンオフに連動した制御もやってみたくてLED発電を応用した室内光検出も可能なように一石三鳥回路を考えてみたのだが、PIC16F1455のADCの入力インピーダンスの低さにより室内光検出は無理だった。テスターではうまく検出できるのに...残念。

【内部基板と外観】

【ファームウェア】
プロジェクト・ダウンロード(for MPLAB-X)

※ファイル数が多いのでパワーコントール関連のもののみ掲載
※512ワードCDCブートローダー対応になっている。ぎりぎりなサイズなのでこれ以上の機能追加は無理っぽい。

【PC側ユーティリティ】
プロジェクト・ダウンロード(for Eclipse-CDT + MinGW64)