2011年07月28日

フェレット用エアコン制御装置 制作メモ

【追記】
作りやすくしたV2もありますので、そちらも参照下さい。それに合わせて本エントリのV1についても初期に記載していたものと回路/プログラムを改善しています。
前回紹介したフェレット用エアコン制御装置の制作記を。電子工作とPICマイコンのプログラムができる人向けです。

最初にこの装置を考えた時は、リモコン部も自作しようかと思ったのだが、学習リモコンのパーツを盛り込むよりは市販のエアコン用リモコンを流用した方が面倒もないし、最終的な部品代と安物リモコン代が大差なさそうな感じになったので、市販リモコンを流用する事に。これで大体設計方針は決まって
・動作電源はリモコン用電池からもらう
・リモコンのほとんどが電池2本なので3Vで駆動すること
・温度センサで室温を監視してエアコン用リモコンのON/OFFボタンを電気的に制御
・基本的に動作させっぱなしなので極力省電力設計
・電池切れは致命的なので電池切れお知らせ機能を付ける
という辺りの仕様がポンポンと決まる。
停電で切れたエアコンをONにするのは、室温監視してある温度範囲を外れたらとにかく一定間隔でエアコンONをやりつづければ良いよね、エアコンがONになったかどうかの判断も室温の上下具合で判るはずだし… とこの辺りでプログラムの概要も大体決まり。

メインとなるマイコンは我が家にある開発環境がPICなのでPIC一択。省電力動作となると最新の16F1823が良いみたい。
困ったのは温度センサ。室温監視の要なのできちんと精度があるセンサにしたいけど、定番のLM35DZは最低4V駆動なので電池2本では動かない。色々探したけど入手容易で電池が減った時の2V台前半でも動くような精度がある温度センサがない…。せっかくPICマイコンは2V以下でも動作するのに…
結局この問題は5Vへの昇圧コンバータを使う事で安直に解決する事に。ちょっとパーツ代がかかるけど電池が減っても安定して一定電圧が取れるので回路の信頼性が高まるということで妥協。

ということでEAGLEで設計したのが以下の回路図。回路図では16F688になっているが実際に使用しているのは16F1283です。
aircon11sch.png
以下PICのポートを中心に解説すると…
2つの4bit DIPロータリースイッチはS1が温度範囲設定でS2が基準温度設定。両スイッチの入力は配線の作業性重視でバラバラなポート(RA2-3,RC0-5)に入っているので値の読取りはソフト側で対処している。
RA1は温度センサをON/OFFする出力で、使わない時は温度センサの電源をカットして省電力化。ついでにここにはLEDをつなげて電池切れの時には8秒に1秒点滅するようにして電池切れを知らせる(通常は256秒に1回温度を測るので4分ちょっとに1回しか光らない)。
RA4はアナログ電圧入力(AN3)で電池電圧が直接入り、電圧が1.9V以下になったら電池切れ警告モードになって、上のLEDを8秒に1回点滅させるようになる。
RA0もアナログ電圧入力(AN0)でこちらは温度センサLM35DZの電圧で温度を測る。LM35DZは1℃=0.01Vで0〜100℃(0〜1V)を測れる温度センサICなのでプログラムで扱うのは簡単。
RA5がエアコン用リモコンのON/OFFスイッチを操作する出力でエアコンONが必要と判断したら100msほど(電気的に)ボタンを押してリモコン信号を送る。実際にはリモコンはON信号ではなくOFF信号を送ってしまう時も出るのだが、その時には次回(4分ちょっと後)にリカバリするようになっている。
これで14ピンのPICポートはちょうど全部使い切り。

Eagleで25x15のユニバーサル基板の配線パターンを起こしたのが下の基板図。とにかく作業性を重視してジャンパ線をできるだけ基板ホールで固定できるようにした。
aircon11brd.png

PICのプログラムはいつものごとくアセンブラで直接書いた。なんかマイコンのプログラムをCで書くのは性に合わなくて… もちろん規模が大きくなったらそうは言っていられないと思うけど。プログラムの解説はソースコード内のコメント読んで下さい。
フェレット用エアコン制御装置PICプログラム(アセンブラ, ZIPファイル)

プログラムはシミュレーションでデバッグ後、基板でハンダ付けする前にブレッドボードで動作確認。
IMG_0671.jpg

ブレッドボード上で確認できたら基板にハンダ付けして完成。先日公開したのは基板コネクタ未入手だったので最終完成バージョンは以下の写真のようになってます。(写真は初期バージョンなので上で紹介した回路図、基板図と異なります)
IMG_0676.jpg
エアコン用リモコンはAV-R630Nという多機能リモコンを使ってるが、これは単にエアコン用リモコンとして安かった型落ちのAV-R600Yを買ったら初期不良で交換品としてこれが来ただけで、とにかく自宅のエアコンがON/OFFできるリモコンならなんでもOKです。
(買ったショップに初期不良を連絡したら「メーカーに電話してくれ」と言われたが、電話したオーム電機の対応は素晴らしかったです。メーカー不明のもっと安いものもあったけどこちらにして正解だった。)

最終的にできあがった回路の電流を測ってみるとスリープしている時は0.6mA程度なので結構省電力にできたかなと。でもやっぱり5V昇圧させてるのがちょっと悔しい。現在バージョン2としてサーミスタを使った電池2本3Vでそのまま動作するものを設計中。うまくいけば機能自体に全く変更無しで部品代は今の1,500円ぐらいから1,000円ぐらい(いずれもリモコン代除く)になるはず。ただ5V昇圧させている今の方が電池切れ警告時の動作は安定するけど(電池切れ前の安定性は変わらない)。
posted by kaishi at 01:00| Comment(0) | TrackBack(0) | ペット
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/46990871
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック