クーラはあまり好きでないので, 夏は扇風機で過ごします. さらに, 幼少の頃「扇風機の風ににあたったまま寝ると風邪を引く」 と言われ続けたため, 寝る時は 2,3 時間後に切れるようタイマーを仕掛けて寝ていました. しかし夜中寝苦しくて起きてしまいます. この問題の解決すべく押しボタン式の扇風機を買ってみました. 24 時間プログラムタイマーを仕掛け, 一時間つけたら 30 分休むみたいに 適当に on/off を繰り返すようにするためです.
ただこれは, タイマーの On/Off の切り替えは寝る行為と独立して起こるため, いざ寝ようとしたとき扇風機が回らない (off になってる) とか, 暑いのに止まる, 寒いのに動き出すなど気温に関係なく扇風機が動いてしまう欠点がありました. そこで, スイッチを入れると気温と時間の経過をみながら扇風機のオンオフを制御する回路を作ってみました.
M1 | AC アダプタ | 5V: 安定化された奴 |
U1 | LM35DZ | ケースに接着 |
U2 | LM358 | |
U3 | PIC12F675 | |
U4 | MOC3041M | |
U5 | BTA24-600CW | SSR |
R1 | 100Ω | |
R2 | 1k | |
R3 | 10k | |
R4 | 10k | |
R5,6 | 1k | |
R7 | 470Ω | |
R8 | 100Ω | |
D1 | LED | 緑 |
D2 | LED | 赤 |
ZNR | CNR07D151K | SSRに並列の方がいいかも |
C1 | 47u | 電界 6.5V: 回路図では省略 |
C2,3 | 0.1u | 積層セラミック: 回路図では省略 |
完成品は下のような感じです. 後から思うと本体にスイッチをつけて, 回路内を介して通電, 直接通電を切り替えられるようにしていた方が良かったなと思ってます (残念ながらそういった改造を施すスペースがありません). さらにリモコン付き扇風機なら AC でなくリモコンの赤外線信号を出して回転・制御を制御させれば, より便利でシンプルになるなと思います (ただし私はリモコン付き家電は「リモコンをなくして使いたいとき使えない」という思考が働くため, できるだけ選択しないタチなのですが…)
今回 AC ライン制御に SSR を使ってみました. そのためかなり速く on/off の切り替えが可能です. 一瞬, 例えば 1秒on 2 秒 off など周波数が遅い pwm 制御みたいなことで気温に応じて風量をリニアに制御してみようかとも思ったのですが, なんかモータに悪そうなので止めました.
代わりにスイッチを入れると 20 分はとにかく回し (mode1), 以後 10 分回す(mode2), 気温が異様に低くないかチェック, また 10 分回す (mode3), 5 分休憩 (mode 4), 一分毎に気温が高いかどうかチェック (mode5), 高ければ mode2 に戻る, 10 時間経過すると終了, といったアルゴリズムを考えました. どんなに暑くてもずっと風に当たり続けるのはよくないという信念から, 20 分おきに 6 分は必ず止めるという思想です.
ここで問題なのは設定温度です. まぁ寝るときは涼しい方がよかろう, 寝た後はあまり涼しいのはよくないよね, 明け方寝苦しくて起きるのはイヤだからちょっと涼しくして, 起きる頃合は体温を高めるため少し暑くして, その後は消し忘れを防ぐため, なるだけ気づくよう扇風機を動かして… といった考察をした結果, 次のようになりました. 横軸は時間で, 下に書かれた時刻は子供が寝たとき (9:30), 大人が早めに寝たとき (11:00) に何時ごろどんな温度になるかを知るため書いた ものです.
PIC のプログラムは こちら です. ただし事前にセンサのキャリブレーションをした方がいいでしょう. やり方は
; edit here [start] 〜中略〜 ; edit here [end] |
おおむね満足しているのですが, 時間と温度の関係はもう少し調整の余地があるのではないかと日々調整中です. なお, 本装置は体調を崩さないことを保障するものではありません. 当たり前ですが, 作るのも使うのも自己責任でお願いします.