ホーム > 家族のギャラリー > PIC電子工作 > インターバル・タイマ(間欠タイマ)

Update 2017.4.15
Update 2016.5.15
Update 2016.5.1
Update 2014.11.22
Update 2014.10.21
Update 2013.9.7
2013.7.13

インターバル・タイマ(間欠タイマ)

インターバル・タイマ

超小型LCDと新型PICを使って、以前作ったイルミネーション・コントローラを進化させたAC100Vインターバル・タイマ(間欠タイマ)。秒単位で繰り返しON/OFFができる。

梅雨の間、風通しの悪い部屋の湿気が気になったので定期的に扇風機を回すために使っている。設定時間によって毎日特定の時間にON/OFFできるし、1時間ごとにON/OFFなどができる。

なお、設定時間はPICの内蔵EEPROMに保存するので、コンセントから抜いても設定時間は保持している。

New ご要望が増えてきましたので基板頒布再開します。若干基板サイズを小型化してパターンも変更しています。受託製作も受付ます。ご希望の方はメールください(2016.5.15)。

New 大きな電力の機器をオンオフする方法を追記(2017.4.15)。

以下、旧バージョンです。


インターバルタイマの動作

絶対時刻(何時何分)にオン/オフするというタイマではなく、電源を入れたときからオン時間通電し、オフ時間経過後に再びオンになるという繰り返しタイマ。絵で書くと以下のような感じ。

    ↓電源投入
     ______             ______
    |      |___________|      |___________| …
      ON       OFF        ON       OFF

    例1)1日に1時間だけ通電する設定
           ON時間:1時間、OFF時間:23時間

    例2)半日ごとに10分だけ通電する設定
           ON時間:10分、OFF時間:11時間50分

    例3)1時間に10秒だけ通電する設定
           ON時間:10秒、OFF時間:59分50秒

    例4)イルミネーションのように1秒ごとにON/OFFする設定
           ON時間:1秒、OFF時間:1秒

オン/オフの時間はそれぞれ最小1秒、最大99時間59分59秒まで1秒単位で設定できる。市販のタイマは24時間周期で5分単位や10分単位のものが多いが、本タイマは4日に一度オンするような動作が可能。

インターバル・タイマ(間欠タイマ)回路図

回路

超小型LCDはI2C(アイ・スクェア・シー)によるインタフェースなので、I2Cを備えた14ピンの新型PIC、PIC16F1823を使った(回路図拡大図)(部品表)

AC100Vのオン/オフはソリッドステートリレー(SSR)、定格は8Aだが放熱板なしで使うので1Aまでとした。

(注) スイッチング時のサージ電圧からSSRを保護するため、スナバ回路が入っています。このため通電オフ時にも微弱な電流が流れます。消費電力が非常に小さい機器を繋ぐと、通電オフ時にも動作する可能性があります。

インターバルタイマ

プログラム

時間をカウントする方法は、キッチンタイマと同じで、約4ms毎のtimer0割り込みをカウントする。

LCDとインタフェースするI2Cマスタのベーシックな通信機能と、LCDへのコマンド/データ転送機能を実装。あまり凝らずにデータやコマンドを一つずつ送るシンプルな通信機能のみ。

ソースプログラム(V2)HEX(V2)です。バグがあるかもしれません、無保証です。著作権は留保しますが、改変などご自由にどうぞ。

インターバル・タイマ(間欠タイマ)

基板

水晶発振子の載る場所に、念のためカプトンテープを貼ってある。

インターバル・タイマ(間欠タイマ)

基板

赤矢印の箇所に0.5mmの穴を開けてあり、ケースの穴位置の位置合わせガイドとしている。

インターバル・タイマ(間欠タイマ)

ケースケガキ

ケースは、タカチのプラケース(SW-75B)。

上記の穴にまち針を刺して、ケースに穴開け位置をマークする。写真はタクトスイッチの中心位置のマーキングを行っている様子。

インターバル・タイマ(間欠タイマ)

ケース加工

四隅の基板取り付けビスと、3つのタクトスイッチ穴は、座ぐってある。

インターバル・タイマ(間欠タイマ)

部品実装

LCD以外の部品を実装したところ。左側にでている白黒の電線はマニュアルオンスイッチに繋ぐ。

インターバル・タイマ(間欠タイマ)

部品実装

シルクの位置にLCDを実装する。

LCDの固定

LCDの固定

基板とケース間は5mm高の樹脂スペーサを挟んでビス止めするので、液晶画面の表面が基板から5mm程度になるように、スポンジ入りの両面テープで固定した。

手元にあった両面テープの厚みが約1mmだったので、3枚重ねることでほぼ表面が5mm高になった。

インターバル・タイマ(間欠タイマ)

完成

φ3mmの皿ビス15mm、5mm高の樹脂スペーサを使い基板を固定、ナットが金属製なので念のため樹脂ワッシャを挟んでいる。

ケース表面にカシオ・ネームランドで作ったラベル(白文字透明テープ)を貼って完成。

インターバル・タイマ(間欠タイマ)

マニュアルオン・スイッチ

ケース側面に小型のシーソースイッチを取り付けた。オン(1側を押す)と強制通電モードになる。

インターバル・タイマ(間欠タイマ)

全体像

ACコードは、延長コードを真ん中で切って利用。ゴム製ブッシングを使用。

最近、黒色の延長コードで安いものがなくなり、写真もパナソニック製のちょっと高価でごついもの。白色なら100均で安い物がある。

インターバル・タイマ(間欠タイマ)

起動メッセージ

電源を投入すると、起動メッセージ(スプラッシュ)を約1秒表示した後、タイマ動作に入る

インターバル・タイマ(間欠タイマ)

時間設定

SETスイッチを長押しすると時間設定モードになる。長押しにした理由は、間違えてスイッチを押してしまって意図せずに設定が変わってしまうのを防ぐため。

設定モードでは、設定桁(カーソル位置)の数字が点滅反転する。SHIFTスイッチでカーソルを移動して、時間:分:秒をそれぞれ2桁で設定する。INCスイッチで数字が0〜9へインクリメントし、9の次は0に戻る。なお、10分と10秒の桁は0〜5まで設定できる。

設定終了はSETスイッチを押すと設定時間はEEPROMに保存され、カウントダウンが始まる。設定終了時、SETスイッチを長押しするとコントラスト設定モードになる。

インターバル・タイマ(間欠タイマ)

コントラスト設定

時間設定の終了時、SETスイッチの長押しでコントラスト設定モードになり、"Contrast Setting"の文字列を表示する。

SHIFTスイッチを押すと薄くなり、INCスイッチを押すと濃くなるので、見やすくなったらSETスイッチを押して設定完了。この情報もEEPROMに保存されるので、次回は設定したコントラストになる。

コントラストは、LCD仕様の0〜63までの64段階。初期値は32(EEPROMの初期値で設定)。

使い方

 (1) 電源を入れると、スプラッシュを表示後、(2)に遷移する
 (2) 通電ONモード
     通電ONし、設定済みのON時間をカウントダウンしてゼロになったら(3)に遷移する
 (3) 通電OFFモード
     通電OFFにし、設定済みのOFF時間をカウントダウンしてゼロになったら(2)に戻る
 (4) 動作中(通電ON/OFF時)、SETスイッチを長押しすると時間設定モード(5)に遷移する
 (5) 時間設定モード
     ・SHIFTスイッチで設定する桁を移動し、INCスイッチで数字をインクリメントする。
     ・SETスイッチを押すと設定を完了し、(2)に遷移する
     ・SETスイッチを長押しするとコントラスト設定モード(6)に遷移する。
     ・時間設定モード中は通電しない。
 (6) コントラスト設定モード
     ・SHIFTスイッチでコントラストダウン、
       INCスイッチでコントラストアップする。
     ・SETスイッチを押すとコントラスト設定を完了し、(2)に遷移する。
     ・コントラスト設定モード中は通電しない。
 (7) 特殊処理
     ・ON時間・OFF時間ともにゼロの場合には通電しない。
     ・ON時間が1秒以上で、OFF時間がゼロの場合は、通電し続ける。
     ・ON時間がゼロで、OFF時間が1秒以上の場合は、通電しない。
 (8) マニュアルオン
     ・マニュアルオンするとタイマ動作に関係なく常時通電ONする。
     ・マニュアルオン時もタイマは動作し続ける。

インターバル・タイマ(間欠タイマ)

電力の大きな機器の制御 ('17.4.15更新)

100Wを越える機器のオンオフについてご質問を頂くことがあるので、その方法を記載します(PDF図面)。

仕組みはインターバルタイマでAC100Vのパワーリレーをオンオフし、大電流をオンオフするものです。例のパワーリレーでは、最大30Aまで流せるので家庭にある機器であれば制御できると考えます。

機器によっては突入電流が大きいこともあるので、十分なマージンを見込んでリレーを選択ください。

参考:オムロンのサイト(リレー 共通の注意事項)

以上

動画

動作、操作の様子。


基板頒布のお知らせ(New 2016.5.15)

ご要望が増えてきたので、基板を追加製作しました。もし本タイマを作ってみようと思われる方で、プリント基板(生板)をご希望の方がいれば、頒布します。紙資料はつきませんので記事を参考にしてください。基板上のシルクと部品表の部品番号が対応します。

生板:\600 (送料込み:普通郵便)、2枚 \1,000(送料込み:普通郵便)
AC 100Vを扱う工作なので感電の危険性を理解される方に限ります。感電事故や組み立てミス・部品故障などによる損害など一切の責任・補償は負いません。自信・経験がない場合には下記のケースまで含めた完成品をお勧めします。

ご希望あるいはご質問のある方は以下までメールください。折り返し、回答・納期・振り込み先などご連絡します。 なお、振り込み手数料はご負担ください。アマゾンギフト券(Eメール版)もOKです(手数料がかかりません)。いきなりギフト券を送らないで、在庫確認後にお願いします。

迷惑メールフィルタを使っているので、迷惑メールと判断されないような記載をお願いします(件名に「インターバルタイマ」などと入れて頂くと大丈夫だと思います。

ケース・ACコードまで含めた完成品は、ケース加工があまり綺麗にできませんがそれでもよければお受けします。加工が手間なので高くなってしまい恐縮ですがご了承下さい。こちらは工作未経験でも問題ありません。ただし、上記同様に事故等の責任や補償は負いません。フューズが入っているので通常の使い方なら安全だと考えます。

完成品:\7,500(送料別:520円:レターパックプラス)

会社勤めをしていますので、メールの返事は夜か朝になります。出張等で返信が遅れることも予想されますがご理解ください。余り長いこと返信がない場合には、迷惑メールと判断されたかも知れませんので、書き方を変えて出し直してみてください。

お送り頂く個人情報は適切に管理し、一連のやり取りが終了したら削除します。

以上


以下、旧資料

最初に作ったユニバーサル基板バージョン

インターバル・タイマ(間欠タイマ)回路図

回路

超小型LCDはI2C(アイ・スクェア・シー)によるインタフェースなので、I2Cを備えた14ピンの新型PIC、PIC16F1823を使った。

長期間、繰り返してON/OFFするために発振子には4MHzのX'Talを使っている。

電源はコンデンサによるトランスレス電源、AC100VのスイッチはSSR(ソリッドステートリレー)、以前は秋月のキットを使っていたが、今回はモジュール部品を使用。

回路図の拡大図です。無保証です。

インターバルタイマ基板(表)

基板表側

ユニバーサル基板をタカチのケースに収まるようにカットし、電源、SSR以外のロジック系の部品を載せたところ。LCD用の1uFのコンデンサが、手元に大きなサイズしかなく目立っている。

14ピンのPICは一応ソケットを使ったが、ISCPプログラムの端子(右下に見える5ピンのソケット)も用意したので直付けでも大丈夫。この状態でプログラムのデバッグを行う。

インターバルタイマ基板(裏)

基板裏側

超小型LCDとタクトスイッチはユニバーサル基板の裏側に実装した。ケースの底に穴を開けて操作ができるようにする。

インターバルタイマ

プログラム

新しいPICは、Cコンパイラ向けのアーキや命令セットになったようだ。インデックスレジスタが2つになったり、割り込み時のレジスタ退避がハードで行われたり、命令数が増えていたりする。

初めてなので新命令はまだ使いこなすまではなっていない。ちなみに手持ちのPIC Kit2もバージョンアップしないと書き込めなかった。

LCDとインタフェースするI2Cマスタのベーシックな通信機能と、LCDへのコマンド/データ転送機能を実装。あまり凝らずにデータやコマンドを一つずつ送るシンプルな通信機能のみ。

時間をカウントする方法は、キッチンタイマと同じで、約4ms毎のtimer0割り込みをカウントする。このデバッグ時に毎秒6us進むバグを見つけた(キッチンタイマ、イルミネーションコントローラのソースも修正済み)。

LCD画面上で時間設定をする仕掛け(SHIFTスイッチでカーソル移動し、数字をインクリメントする)は行き当たりばったりで作ったので、機能は実現できているがコードはイマイチ分かりにくくなった。

ソースプログラムです。バグがあるかもしれません、無保証です。著作権は留保しますが、改変などご自由にどうぞ。

インターバル・タイマのケース加工

ケース加工

タカチのプラケース(SW-75B)にLCDの窓、タクトスイッチ、ACコードブッシュ、モニタLED、基板取り付けビスの穴を開けたところ。

LCDの窓には、CDケースから切り出した透明アクリル板を嵌め込み、プラ板用接着剤で固定してある。 四角い穴はきれいに開けられなかった。NCフライスが欲しい。

インターバル・タイマの基板

完成基板(表側)

フューズ、トランスレス電源、SSRを載せて基板完成。トランスレス電源は、デジタル部につなぐ前に動作確認し、チェナー電圧の3.3Vがでていることを確認。テスタでみたら3.2Vだったが問題なし。

左下がトランスレス電源の1uFコンデンサとダイオードブリッジ、ツェナーダイオード。右上がSSRとスナバ回路。

SSRは定格8Aだが放熱器なしで使っているので、出力は1Aまでとして1Aのフューズを入れている。

インターバル・タイマの基板

完成基板(裏側)

あまりきれいではないが、100Vで使うので断線や異物によるショートが怖いのでホットボンドで固めた。

トランスレス電源の100オーム抵抗が表側に載らず裏側に載っている。

インターバル・タイマのケース内

ケースに収めた

AC100Vの片側は入力側と出力側を直結し、トランスレス電源のために細いコードで引き出している(黒い熱収縮チューブで絶縁)。AC100Vの他方はフューズを通って、SSRにつながり出力側にでている。

コードブッシングと基板が干渉したので、基板の両端を少し窪ませた。

インターバル・タイマ完成

完成

カシオネームランドの透明白文字テープでラベルをつけて完成。プラケースの表面につや消しの細かい凹凸があって透明テープがきれいに透明にならなかった。

ACコードは100均で購入した1mほどの延長コードを真ん中で切って使用。

インターバル・タイマの動作

動作中の様子

インターバルタイマがオンの状態、AC出力側(写真下側)の赤いモニタLEDが点灯し、LCDにはオン側(上の行)に残り時間をカウントダウン表示する。このときオフ側(LCDの下の行)は、オフ時間の設定時間を表示している。

タイムアウトするとオフ側の時間をカウントダウン表示する。

インターバル・タイマの電源導入

電源投入

電源投入(ACプラグをコンセントに挿す)時に約1秒間、スプラッシュ・メッセージがでる。このときは、まだ出力側に通電していない。

スプラッシュ・メッセージが消えると通電し、オン時間のカウントダウンが始まる。

インターバル・タイマの時間設定

時間設定

SETスイッチを長押しすると時間設定モードになる。長押しにした理由は、間違えてスイッチを押してしまって意図せずに設定が変わってしまうのを防ぐため。

設定モードでは、設定桁(カーソル位置)の数字が点滅反転する。SHIFTスイッチでカーソルを移動して、時間:分:秒をそれぞれ2桁で設定する。INCスイッチで数字が0〜9へインクリメントし、9の次は0に戻る。なお、10分と10秒の桁は0〜5まで設定できる。

設定終了はSETスイッチを押すと設定時間はEEPROMに保存され、カウントダウンが始まる。設定終了時、SETスイッチを長押しするとコントラスト設定モードになる。

インターバル・タイマの時間設定

コントラスト設定

時間設定の終了時、SETスイッチの長押しでコントラスト設定モードになり、"Contrast Setting"の文字列を表示する。

SHIFTスイッチを押すと薄くなり、INCスイッチを押すと濃くなるので、見やすくなったらSETスイッチを押して設定完了。この情報もEEPROMに保存されるので、次回は設定したコントラストになる。

コントラストは、LCD仕様の0〜63までの64段階。初期値は32(EEPROMの初期値で設定)。


プリント基板バージョン(基板Ver.1)

ユニバーサル基板でも自分が使う分には中身が分かっているし、問題がでても対処できるので心配ないが、人に渡すと使われ方や環境が見えないのでそれなりにちゃんとするために、プリント基板を起こしてみた。

また最近、次男からサークルで使う基板を中国のFusion PCBというところに発注して作っていて、安いと聞いていたのでどんなものか試してみた次第。

その昔、OHPフィルムなどにアートワークパターンを手書きや印刷して、感光基板に転写し、エッチングして作ったことはあるが発注するのは初めて。国内で作ろうとすると最低でも2万円位かかるが、ここは50mm×50mm以内の基板なら$10しない。

今回、EAGLEというCADの無償版を使って回路図を書き、アートワーク設計し、Fusion PCBから提供されているEAGLE用のデザインルールファイルでチェックし、これまた提供されている製造データ生成ツールで製造データを出力し、アップロードして依頼完了。ライブラリ作りが一番の手間だった。

インターバル・タイマのプリント基板

プリント基板

今回の板は43mm×61mmで、50mm×50mmに収まらなかったので5枚で$18.9、別途送料がかかるが、注文してから2週間かからずに届いた。

両面スルーホール基板、両面シルクで結構細かい文字までちゃんと印刷されている。

ケース加工用のガイド穴

ケース加工用ガイド穴

ケースの加工のために、タクトスイッチの位置マーク(φ0.5mmの穴)を開けておいた。部品を実装する前に、ケースに基板を重ねて基板4隅の取り付け穴φ3.2と一緒に、まち針などでキズをつけてドリルのガイドとする。

これにより、スイッチ用の穴がずれずに開けられる。

ケース加工用のガイド穴

ケース加工用ガイド穴

同様に液晶画面の窓をくり抜く4隅にもφ0.5mmの穴を開けておいた。

プリント基板部品実装(おもて面)

部品実装後(おもて面)

表面は液晶画面とタクトスイッチのシンプルな構成。ユニバーサル基板で作ったときと多少部品のレイアウトを変えてある。

プリント基板部品実装(裏面)

部品実装後(裏面)

PICはソケットを使わずに直付け。PICの下に並ぶ5つの穴がICSPで書き込むための端子穴。

ピンを立てるか、丸ピンソケットをつけようかと思っていたが、書き込むときにピンを挿して、接触が確実になるように少し斜めに押さえれば大丈夫だったのでそのまま。

LCDの固定

LCDの固定

基板とケース間は5mm高のスペーサを挟んでビス止めするので、液晶画面の表面が基板から5mm程度になるように、スポンジ入りの両面テープで固定した。

手元にあった両面テープの厚みが約1mmだったので、3枚重ねることでほぼ表面が5mm高になった。

コンデンサの足加工1

コンデンサの足加工1

スナバ用0.022uFのコンデンサの足の間隔と、基板のスルーホールの位置が若干違ったので足を広げた。ライブラリを作るときに手元に実際の部品がなかったので、似たような部品を参考にしたら、ダメだった。

コンデンサの足加工2

コンデンサの足加工2

トランスレス電源用の1uFのコンデンサも同様にずれてしまった。こちらは、足の間隔のほうが広すぎたので、内側に折り曲げて実装。

【教訓】コンデンサや抵抗、インダクタなどは実際の部品を測ってライブラリを作るべし。

100Vの入出力

100Vの入出力

電源となる入力側100Vと、スイッチングされた出力側100Vは基板の端にφ2mmのスルーホールを開けた。ここにコードを繋ぐ。

なお、100Vの幹線パターンは2.54mm幅で引いたので、2.5A程度までは大丈夫と思われる。一般的に35umの銅箔基板で1mm/1Aが目安らしいので。ただし、SSRが放熱板なしでどこまで流せるか試していないので、フューズは1Aとしている。

モニタ用LED

モニタ用LED

モニタ用LED基板から引き出して接続。ケースに穴を開けて差し込んでホットボンドで固定する。

この状態で100Vの入出力を仮に繋いで動作を確認した。無事に動作。

完成一歩前

完成一歩前

プリント基板バージョンの完成一歩前の様子。このあと、ネームランドでラベルを作って貼れば完成。

スイッチの位置が初期バージョンと若干異なる。基板取り付けビスを皿ビスに変更して出っ張りをなくした。


マニュアルオンを付けたバージョン(基板Ver.2)

V2基板 コンデンサの足のスルーホール位置の修正と、マニュアル・オンするモードを付けた基板。

インターバルタイマ マニュアル・オン・スイッチ

マニュアル・オン・スイッチ

マニュアル・オンは外付けスイッチにより、タイマ動作中に強制的に通電オンにする機能。タイマがオフ状態でも通電オンし、タイマがオン状態のときは通電オンで影響なし。マニュアル・オン中もタイマは動作し続ける(V2ソース内のタイムチャート参照)。

基板上のシルクの部品番号と対応した部品表V2回路図V2です。マニュアル・オンする機能で追加した箇所を赤くハッチングしてあります。新機能を使わない場合は、部品 R11 を実装せず、従来のプログラム(V1)をご利用ください。新機能を使われる場合はこちらのプログラムV2HEXをご利用ください。

以上


from Metal Woods(c) 2013 - 2016