24時間毎日繰り返しタイマー...page.1/5
はじめに...
ここで紹介する回路は高い成功率とローコスト化を狙ってトランスレス回路としています。
回路図や使用部品の動作を充分に理解された上で製作に取り掛かるようお願い致します。
また、回路は必ずケースに収めて誰でも安全に使えるよう心掛けて製作して下さい。
概要
一日の中で決まった時間にスイッチを入れたり、決まった時間にスイッチを切ったりする作業はあるでしょう?
・1日(24時間)の中で決まった時間に自動にスイッチが入る。
・1日(24時間)の中で決まった時間に自動にスイッチが切れる。
・手動でスイッチを入れたり、切ったりできる。
以上の動作を誰でも簡単に設定・変更したり無効にしたりできるタイマー装置をご紹介いたします。
手動でもスイッチのON/OFFができるので、ONは手動でOFFは自動に、または、ONは自動でOFFは手動という動作も可能です。
・店舗の看板の照明のON/OFF自動化
・ベッドに入ったときのムードライトの自動消灯(点灯は手動)
・目覚まし代わりのオーディオ機器(オフは手動)
その他、生活や職場での活用が考えられるかと思います。
これらは、トランスレス電源回路、マイコン、ソリッドステートリレーで構成します。
念のために述べますが、これは時計のようで、時計ではありません。
プログラムとプログラムの概要
発振周波数が比較的安定しているクリスタル発振を用いて、ある一定間隔でカウントして24時間が経過したらカウンタ値をクリアして、再度カウントを行なわせるカウンターが存在したとします。
このカウンターを長期間稼動したとすれば、ある時刻の時のカウンタ値は毎日同じになることは理解できるでしょうか?
そこで、「ある時刻」の時に、その時のカウンタ値を記憶させて機器をON/OFFさせるようにプログラムしておけば、毎日「ある時刻」に機器をON/OFF出来ることになります。
このようなプログラムをPICマイコンを使ってSSR:ソリッドステートリレーを駆動させます。
クリスタル発振子には12.288MHzを使いました。
PICマイコン内部のクロックは1/4の3.072MHz(3072000Hz)になります。
これをタイマ0のオーバーフロー(256)とプリスケーラ(32)を使って375Hz毎に割込みが入るようにします。
割込みルーチンでは750回目の割込みで2秒が経過したとして、2秒間隔でカウンターを進めています。
2秒間隔でカウントアップさせていますから24時間後の43200回目のカウントで0にクリアさせています。
何故、2秒間隔なのかについては私の勝手です。が、
もし、1秒間隔で24時間をカウントさせると86400回までカウントさせる必要があります。
86400までカウントするならば015180hで3バイトのカウンタを構成する必要がありましょう。
2秒間隔の43200までのカウントならばA8C0hで2バイトのカウンタで構成できてプログラムが簡単になりましょう。
当然、タイマーは2秒の誤差を生じますが、クリスタル発振の誤差を考えれば全く問題にならない範囲でしょう。
クリスタル発振の誤差によりタイマ動作の希望時間との差が開きすぎたら、希望時間を変更すればいいのです。
操作は非常に簡単にしてあります。
貴方が用意したPIC16F84A/PIC16F628A/PIC16F648Aいずれかと一致するデバイスのHEXファイルを書き込んで下さい。
asmファイルは改変される時にご活用下さい。
これら3つのHEXファイルは、それぞれのデバイスを使って実装テストしていますのでハードに失敗していなければ必ず動作致します。
daytimer.asm
pic16f84a.hex
pic16f628a.hex・・・ビルドする際にミスがあり、訂正しました。(2008/07/03)
pic16f648a.hex・・・ビルドする際にミスがあり、訂正しました。(2008/07/03)
HEXファイルにはコンフィグビットも設定されるようにしてありますが、書込機によりますので以下のコンフィグを再確認して下さい。
・発振モード:HSモード
・パワーオンリセット:有効
・ウォッチドッグタイマー:無効
・リセット端子:リセット端子で使用(PIC16F84Aは機能なし)
・低電圧リセット:無効(PIC16F84Aは機能なし)
・低電圧プログラム:無効(PIC16F84Aは機能なし)
回路図
回路図 | 部品名 | 型番 |
PIC | PICマイクロコントローラー | PIC16F84A又は PIC16F628A又は PIC16F648A |
TRIAC | トライアック | SM16GZ47 |
フォトトライアック | フォトトライアック | TLP561(G) |
ZNR | サージ吸収器(バリスタ) | 220V |
D1〜D4 | ダイオード | 1N4007 |
ZD | ツェナーダイオード | 5.1V |
X-tal | 水晶発振子 | 12.288MHz |
R1 | 抵抗 | 1/4W 1MΩ |
R2 | 抵抗 | 1/2W 47Ω |
R3 | 抵抗 | 1/4W 100Ω |
R4 | 抵抗 | 1/4W 330Ω |
R5,R6 | 抵抗 | 1/4W 2.7KΩ |
R7,R8 | 抵抗 | 1/4W 4.7KΩ |
R9,R10 | 抵抗 | 1/4W 10KΩ |
C1 | メタライズドフィルムコンデンサ | 250V 1μF |
C2 | 電解コンデンサ | 25V 330μF |
C3 | 積層セラミックコンデンサ | 50V 0.1μF |
C4,C5 | セラミックコンデンサ | 22pF |
FUSE | ヒューズ | 5A |
NL1,NL2 | 抵抗入りネオンランプ | |
LED1,LED2 | 発光ダイオード | |
SW1,SW2 | プッシュスイッチ |
回路の説明
商用電源:AC100Vをトランスを介さずに減流して整流したトランスレス回路と、1本のツェナーダイオードによるシャントレギュレーターでPICマイクロコントローラーを動作させる5Vを生成させています。
当トランスレス回路についてはマイクロチップのApplicationNotesTB008とApplicationNotesAN954を参考に実験し定数を決めました。詳しくは後述の「トランスレス回路について」を参照して下さい。
トランスレス回路で減流に使うコンデンサC1:1μFには抵抗R1:1MΩがパラに接続してあり、この抵抗は動作に無関係と思われますが、これはコンセントを抜いて回路を点検する場合にC1に溜まった電荷で「ピリッ」と感電しないようにするためで、C1に溜まった電荷の放電用としてR1を接続しています。
R8:4.7KΩも単に電源のプラスマイナスに接続しただけで動作に無関係と思われるでしょう。
これはコンセントを抜いた時に、速やかにC2の電荷を放電し電源電圧を減圧させて、再度コンセントを差し込んだ時には確実にPICマイクロコントローラーをリセット状態から動作させる目的で用いました。
リプル電圧を低く抑えるためにC2には330μFと比較的大きな容量を用いましたので、コンセントを抜いてもなかなか電源電圧が落ちなく、PICマイクロコントローラーの動作が不安定な状態でコンセントを差し込むと不安定な状態で動作することがあります。
ただし、4.7KΩという抵抗を用いても確実にPICマイクロコントローラーをリセット状態から動作させるには、コンセントの抜き差しの間隔は5秒以上空けて下さい。このことから瞬断程度では回路の動作に影響はありません。
尚、更に確実にリセットさせようと4.7KΩより低い抵抗を用いることはお奨めできません。トランスレス回路を用いた理由により、リプル電圧の増加と電圧降下が心配されるからです。
PICマイクロコントローラーから負荷をオンさせることの判断をするとフォトトライアック:TPL561GのLED側を発光させてトライアックをオンさせます。
TLP561はゼロクロス制御回路を内蔵したもので0ボルト付近の時にトリガが入るようになっています。このため負荷に優しいON/OFFの制御が出来ます。
このTLP561だけでは非常に小さな機器のON/OFFの制御しかできないので、次に大きな機器のON/OFF制御ができるように16アンペアクラスのトライアック:SM16GZ47を接続しています。
トライアックはサージ電圧により誤動作する場合があるのて、トライアック両端にバリスタを接続しています。
バリスタとは、ある電圧以上の電圧が加わると抵抗値が低くなる特性を持った部品で、220Vのバリスタとは220V前後より高い電圧が加わると抵抗値が低くなります。
即ち、トライアックに並列に220Vのバリスタを接続することで、220Vを越す高いサージ電圧はバリスタに吸収されて、トライアックの誤動作を防ぐことができます。
また、トライアックに接続するバリスタは容量性負荷(スイッチング電源など)に対するトライアック保護にも役立ちます。
ただし、誘導性負荷(大きなモーターなど)に対してのトライアック保護・誤動作についてはスナバ回路を検討して下さい。
トランスレス回路について
回路ではトランスレスとしてツェナーダイオード1本によるシャントレギュレーターですが、この回路を使うに当り、「電圧降下」「ツェナーダイオードの電力」が気掛かりでしょう?
私も紹介する以上は実験を繰り返しました。ここで組んだトランスレス回路について以下の通り報告致します。
(別途、作りやすいようにと半端整流による回路もテストしましたが電圧降下がひどくて使い物になりませんでした...)
上の写真は半波整流の実験
環境はAC99.2Vrms/50Hzで行ないました。部品の定数は上図の回路図に示した通りです。
回路図通りの定数で無負荷時5.05V、電流計でショートしたとき27.3mAとなりました。
この電流値は計算:(99.2-5.1-1.4)/(1/(2πfC))したときの近似値となりました。
また無負荷時のツェナーダイオードの電力は約140mWとなります。
回路の消費電力は実測から約0.2Wです。その他はC1:1μFによる無効電力になります。
抵抗負荷による電圧降下とリプル電圧は下表の通りとなりました。
負荷を電流計でショートしても27.3mAしか流れませんから予測通りの値です。
負荷抵抗 出力電圧 負荷電流 リプル 無負荷 5.05V - 79mVpp 1KΩ 5.03V 5.01mA 105mVpp 470Ω 4.99V 10.6mA 133mVpp 240Ω 4.86V 20.3mA 161mVpp 180Ω 4.57V 25.3mA 164mVpp 150Ω 3.96V 26.4mA 167mVpp 100Ω 2.73V 27.3mA 167mVpp 75Ω 2.04V 27.2mA 167mVpp 33Ω 0.90V 27.3mA 156mVpp
このことから20mA程度の負荷であれば充分実用となる電源といえます。
そこで、今回製作する回路の電流を見積ると...、
PICマイクロコントローラーで3mA
2個のLEDで3mA
フォトトライアックのLEDで8mA
の合計約14mAとなりますから、何も心配することは無い電源回路といえましょう。
※出来上がりの回路電流は最大12.6mAで、その時のツェナーダイオードの両端は4.98Vだったことを報告しておきます。
また、60Hz地域においては50Hz地域よりも電圧降下、リプル電圧共に好条件となります。
これはC1:1μFのリアクタンスが低下し回路電流が増加するためです。
この時の無負荷時のツェナーダイオードの電力は約170mWと算出されます。
回路の消費電力は算出により約0.22Wとなり、その他はC1:1μFによる無効電力になります。
ところで、ツェナーダイオードの許容電力は一般に入手できるリードタイプの多くは500mW品で、良く知られるRD**EB*シリーズは、データシートによると、ツェナーダイオード本体のリード線両端を10mm露出して直径3mmのランドのプリント基板に取り付けた状態(データシート上では悪い状態)の70℃における許容電力は約350mWとなっています。
上記実験の無負荷時のツェナーダイオードの電力は約140mW/170mWですが、回路を実稼動した場合は回路側にも電流が流れるので、ツェナーダイオードの電力は当然低くなりますからツェナーダイオードへの負担について心配はないでしょう。
また、実験中に気になる発熱をするパーツは無かったことを報告しておきます。
今度は普通でない過酷な実験をしました。
C1を1.68μF(1μF+0.68μF)にしてみた結果は以下の通りです。
これは100Vrms/100Hz又は、168Vrmsで使った場合に相当します。
尚、電源としてのレギュレーションはオリジナルよりも良い結果となるのは当たり前ですから、ここでは回路としての信頼を確かめる目的で行ないました。
無負荷時5.10V、電流計でショートしたとき46.2mAとなり、ほぼ計算の近似値です。
このことから無負荷時のツェナーダイオードの電力は約235mWとなります。
ツェナーダイオードは少し熱を持ちました。
更に通電状態状態からツェナーダイオードのリード線や本体に数十秒間コテ先を当て異常無きことを数回確認。
また同様な状態から3本のツェナーダイオードを用いて繰り返し行ない異常無きことを確認しました。
AC100V入力ではいづれかホット側に触れると感電しますが、 ダイオードを通したDC出力側はプラス/マイナスどちらに触れても感電はしなかったです。 しかしながらDC側をシャーシアースすることは絶対に避けて下さい。 筐体とは完全に絶縁されるように製作願います!! これは非常に重要なことです。 |