ACタイマー...page.1/2
はじめに...
PIC16F84にタイマープログラムを書き込み、自己保持回路と組み合わせたものです。
概要
今回紹介する回路は一定時間だけ機器を動作させたい場合に使用するACタイマーです。消し忘れがちな電気スタンドや扇風機、看板の照明などに接続して節電に役立てて下さい。
1時間ステップで最大15時間までタイマー設定ができます。
回路にはワンチップマイクロコンピュータ:PIC16F84を使用しますので、プログラムを書き込むといった作業が伴います。
プログラム書き込み作業を省きたい方には実費にてプログラム済みのPIC16F84を配布致しますので、その旨メール下さい。
但し、どのようなプログラムになっているのか理解して頂きたいと思います。
また、今回のセットはAC100Vを扱うので製作・動作時の感電には十分注意して下さい...
回路図
流れ図
回路とプログラムの説明
スタートスイッチをONすると回路に電気が通電されます。
回路ではPIC16F84のプログラムにより、RB0〜RB7ポートを出力端子にRA0〜RA3ポートを入力端子に設定し、すぐにトランジスタをONさせます。
トランジスタがONするとリレーがONし、ACアウトレットが通電されると同時に回路に対しても通電し続けるように自己保持されます。
次にRA0〜RA3ポートに接続されるデジタルスイッチの情報をレジスタに移動します。
後は、ループタイマプログラムにより設定された時間になるとトランジスタをOFFし、自己保持の解除とACアウトレットの通電を遮断します。
回路にある強制OFFスイッチはリレーを駆動するトランジスタをOFFさせ、強制的に自己保持を解除させるスイッチです。
ダイオードブリッジ:W02で整流後に1KΩの抵抗が接続され無駄の気がしますが、これは強制OFFスイッチにてリレーをOFFし自己保持を解除した後の平滑コンデンサ:470μFの電荷を素早く放電させるためです。素早く放電しませんと、PIC16F84がしばらく動作状態となっているため強制OFFスイッチを解除しても再度リレーがONしてしまう恐れがあります。
ソースファイルはtimer.asmの通りです。初めてPICを使う方にも判り易くコメントを多く書き込んでおきますので、おおまかに理解した上で製作するとよいでしょう。
非常に簡単なプログラムなので初めての方も直ぐに理解できると思います。PICを使いこなしている方には物足らないでしょう。
この手のプログラムでは個人個人の癖があり、もっと効率の良い方法もあるはずです。プログラムには一部MPLABのマクロ命令を使っています。
なお、デジタルスイッチを「0」(タイマー:0時間)に設定すると常時ONとなるようにプログラムしておきました。
また、タイマー動作時は0.5秒毎にLEDを点滅させています。
(注意)コンフィグビット中でウォッチドックタイマーは無効にして書き込み下さい。
実験している様子
部品リスト
品名 | 個数 | 備考 | 予算 |
PIC16F84 | 1 | 10MHz動作用 | \700 |
18ピンICソケット | 1 | \60 | |
水晶発振子:10MHz | 1 | \500 | |
3端子レギュレータIC:78L05 | 1 | \100 | |
トランジスタ:2SC2120 | 1 | 2SC2001でも可 | \30 |
整流ブリッジダイオード:W02 | 1 | \80 | |
シリコンダイオード:10D1 | 1 | 相当品で可 | \20 |
電解コンデンサ:10μF/50wv | 1 | \40 | |
電解コンデンサ:470μF/25wv | 1 | \120 | |
フィルムコンデンサ:0.1μF/50wv | 2 | 104と表示 | @\40 |
セラミックコンデンサ:22pF/50wv | 2 | 22と表示 | @\40 |
1/4Wカーボン抵抗:470Ω | 1 | 黄紫茶金 | \10 |
1/4Wカーボン抵抗:1KΩ | 1 | 茶黒赤金 | \10 |
1/4Wカーボン抵抗:4.7KΩ | 5 | 黄紫赤金 | @\10 |
1/4Wカーボン抵抗:10KΩ | 1 | 茶黒橙金 | \10 |
スパークキラー:S1201 | 1 | \120 | |
ユニバーサル基板:サンハヤト:288GV | 1 | 47mm*72mm | \150 |
6Vリレー:OMRON-MY4-6VDC | 1 | 2回路以上 | \500 |
アルミケース:タカチ:MB-3 | 1 | W90mm*H60mm*D125mm | \400 |
電源トランス:豊澄:HT-605 | 1 | 6V,0.5Aならどれでも可 | \450 |
プッシュスイッチ:PH-M1 | 2 | 好みで選択 | @\450 |
デジタルスイッチ:フジソク:SDG9000 | 1 | \300 | |
ブラケット入り発光ダイオード | 1 | \100 | |
ACアウトレット | 1 | \120 | |
5Aヒューズ | 1 | \15 | |
ヒューズホルダー | 1 | ヒューズの形状に合った物 | \150 |
スペーサ:高さ10mm | 4 | @\50 | |
ACコード | 1 | プラグ付き | \200 |
コードブッシング | 1 | \20 | |
ネジ,配線材料 | * | - |
主要部品の外観
ワンチップマイクロコンピュータ:PIC16F84
マイクロチップテクノロジー社のワンチップマイクロコントローラーでPICファミリーの中では入手しやすいPIC16F84を使用します。
PIC16F84はROMにフラッシュメモリを使っており簡単にプログラムの変更が出来て使い易いです。
マイクロコンピュータの一種なので「プログラム」に従って動作します。
プログラムについては前項で述べた通りです。
私は、マイクロチップテクノロジー社から提供しているMPLABでプログラム作成とシミュレーションを行いました。
PIC16F84はクロック周波数により、4MHz,10MHz,20MHzの種類があります。今回は10MHzで動作させるので、10MHz以上のものを購入します。
下の写真はPIC16F84と水晶発振子(10MHz)を写しています。PIC16F84はピンが18本あります。
後でプログラムの変更が出来るように、ICソケットを介して基板に取り付けて下さい。
3端子レギュレータ:78L05
出力電圧5Vで100mA程度の電流まで流すことができるレギュレータICです。入力端子(in),出力端子(out),共通端子(com)の3本のリード線があり、以下の様子です。
トランジスタ:2SC2120
リレーの駆動に使用します。コレクタ電流を多く取れる2SC2120(最大コレクタ電流800mA)を使いました。2SC1815では最大コレクタ電流が150mAなので少し物足りません。形状は2SC1815と同一です。hfeランクは問いません。
写真は2SC2120と2SC1815を一緒に写しています。
6Vリレー:OMRON-MY4-6VDC
6Vのリレーで接点が2回路以上あればMY4にこだわる必要はありません。MY4は写真で見る通り接点は4回路持っています。
プッシュスイッチ:PH-M1
プッシュスイッチを2個用意します。
私はPH-M1というマイクロスイッチで構成されたものを使いました。少し高価なスイッチなので予算に合わせて好みのものを選んで下さい。
デジタルスイッチ:フジソク:SDG9000
ダイヤルを0,1,2,3...と切り替えて、2進数を設定するスイッチです。
ダイヤル「0」は全てのスイッチがOFFとなり、「6」にすると2と4のスイッチがONし、「8」にすると8のスイッチがONします。
多くの種類がありますが使い方は全て同じです。
ブラケット入り発光ダイオード
パネルに取り付けやすいようになっているLEDです。極性を誤ると発光しません。
ACアウトレット
パネルに取り付けやすいものを選んで下さい。