電子工作に入門して加湿器を制御した
単純機能の加湿器をマイコンで制御した
解決したい問題
- 加湿器を使っているが、水位センサしかなく湿度を検知しないため、過剰に加湿されて面倒
- 朝起きるとモクモクに加湿されて窓が結露だらけになった
- 起きてても湿度計を見てスイッチを切るとか入れ忘れるとか面倒
- 湿度上がりすぎたから換気するって色々と無駄
この加湿器は、機械的な電源スイッチ・水位センサだけの単純な系なので、電源をオンオフすればかんたんに制御できそう
→ 「よし。マイコンを使って制御してやろう。」
前提
- ソフトウェア技術者
- マイコンは何も分からん
- Arduino は使ったことあるけど
- ユニバーサル基板へのちょっとした実装は1回だけやったことがある
- 道具は手元にない
- プリント基板を発注してみたい (結局できてない)
- 道楽 (マイコンいじりがしたいだけ) なので、既製品があるとか加湿器を買い換えるとかは視野にない
ものあつめ
器具・工具がほとんどないので秋葉原に買い出し & Amazon でポチる
買った工具類
- はんだごて
- 温度調整つき 70W
- はんだごて台
- 糸はんだ ヤニ入
- はんだ吸収線
- ニッパ
- 圧着+ケーブルストリッパ工具
買ったものパーツ類
- 抵抗器セット
- ジャンプワイヤセット
- スズメッキ線
- MPLAB SNAP (プログラマ/インサーキットデバッガ)
- ユニバーサル基板
- DC ジャック DIP 化キット
- ブレッドボード上に導く用
- AC アダプタ (5V1A, 5V2A)
- PIC16F18325
- I2C が組み込まれていれば何でも良かった
- ピン少なくて後悔しないように & 新しめのやつを選んだ
- 14pin IC ソケット
- 秋月ソリッドステートリレーキット
- と トライアックにつけるヒートシンク
- 加湿器が 270W なので、それを入り切りできるもの
- 絶縁圧着端子
- ピンヘッダ・ハウジングとコンタクト
- ヒューズボックスとヒューズ
- ターミナル・電源用ケーブル・プラグとレセプタクル
- 温湿度センサDHT20
- プラスチック箱
- M3ナット入りシールとM3ネジのキット
発掘したもの
- ラジオペンチ
- ブレッドボード
- マルチテスタ (導通/電圧/抵抗/電流)
- 中学生のときに買った iPod touch 用充電器 (5V1A)
- 秋月LEDフラッシャーキットの残骸
- PIC の電源ラインにつかう 104 な積層セラミックコンデンサも入ってた
Hello World
ブレッドボードで L チカをする。
MPLAB X IDE を持ってきて、ピンの出力設定や HIGH/LOW の出力方法を首っ引きした。
( iwamoto さんのサイト を大いに参考にしました、本当にありがとうございます)
温湿度センサと I2C 通信する
ブレッドボードで I2C する。
この PIC には、組み込み I2C 機能が入っている (MSSP)。それを叩く方法を首っ引きした。
配線としては L チカの回路の、LED 以外のピンに温湿度センサをつなげるだけ (赤と黄色のジャンパワイヤ)
センサのデータシートを読んで
- 計測を発行
- データを受信
- 浮動小数点数に変換
のコードを書く。
ケーブル処理・基板実装
- iPod touch 用充電器 (5V1A) の被覆を剥いてコンタクトに圧着し 2.54mm メスハウジングに格納
- 電源用ケーブルをプラグとレセプタクルに接続
- 電源用ケーブルの途中を切って圧着端子で成端しヒューズボックスに接続
- PIC、温度センサ、状態表示 LED、電源ヘッダ、リレー制御信号ヘッダ、ICD 用ヘッダをユニバーサル基板上に配置配線
- ソリッドステートリレーキットに素子・信号ヘッダ・ターミナルを配置
えいやっと配線していったので回路図がない。
左端のターミナルとリレーは試作段階にて、マイコンから直接駆動できない (コイル電流が大きい) ことがわかり (トランジスタを買いに行くのが大変だったので) 諦めた跡。
ピンヘッダにより PICkit や MPLAB SNAP で回路内プログラミング・デバッグが可能。
ソフトウェア作成
I2C 通信実験のソフトをちょっと変更し、
- 5 秒に 1 回センサを起動し、温度測定
湿度 < 40.0f
のとき LED と信号をオン、それ以外はオフにする
というソフトウェアを作成。 回路内デバッガが非常に役に立つ。 あと LED は大事。
運用してみた
いちばん問題の就寝時。 寝る前にタンクをフルに (2.5L) して、制御ありで一晩寝たところ、水は 10% 程度しか減っていなかった。
過剰加湿も乾燥もせず (40% 近くに維持)、いい感じにすることができた。
起きている間も、加湿しすぎたら止まり、結果として給水までの間隔を長くしてくれている。
感想
どんなパーツを組み合わせればやりたいことを実現できるのか、秋葉原をぐるぐるしながら考えるのがかなり楽しい。
家に帰ってから足りないパーツが出てくると大層がっかりする。
電子工作のうち「回路図を考える・回路を作る」のは3割程度で、あとの6割や7割は「ケースを選び加工し、うまいこと回路を収め固定する」が占めていると思えた。そのなかに端子を作ることも含む。やはり基板むき出しでは日常使用に供せない。
改良点
- 制御周期 5 秒は細かすぎる
- 箱に入れたが蓋が閉まらない
- 5V 電源やリレー被制御系が通る穴を加工していないため
- ちゃんと箱に端子があるとかっこいいよね
- トライアックのヒートシンクがぶつかるため
- それら要因を廃して蓋を閉めたら閉めたで、部屋の温湿度が検出できないのでスリット等必要
- というわけで加工器具が足りない
- 5V 電源やリレー被制御系が通る穴を加工していないため
- トライアック用ヒートシンクは結束バンドで巻きつけただけ、の改善
- M3 ネジ&ナット + 熱伝導グリス or パッド?
- 温湿度センサの計測結果を表示したい
- 7 セグ?
- 今回の回路実装だけでかなり大変だったので、規模が大きくなると手に負えなさそう
- プリント基板にしたい
- 単基板にしたい
- 別基板と接続するのは、フットプリント的にも不利だし面倒
- 加湿器内のリレーを乗っ取って湿度フィードバック機能を追加する、という侵襲型アプローチも面白いかも?
あるとよいと思うアイテムなど
- 安定化電源装置
- オシロスコープ
- 工具箱やパーツ収納
- アースつき作業マット
- はんだ付け時に基板や素子を固定するアーム
- 精密圧着工具
- ないので、コンタクトの圧着はラジオペンチで適当に潰した
- プリント基板コネクタセット
- ケース加工周り工具
- というか工作専用の広い机
- 家の近くに電子部品屋・ホームセンター