| ホーム | 私の電子工作作品集 |
[ 初公開日:2013年6月17日 ] |
この作品は "簡易 S-RAM チェッカー" を作製後に、各種メモリサイズの違いや
チェック方法の違いによる、それぞれのそのチェック時間をある程度正確に測定することを目的として作製したものです。 したがって、ほんの数秒のオーダーから、数時間にもわたる長い時間の測定が可能でなければなりません。 当初、その時間測定に腕時計を見ながら行なっていたのですが、当然ながら数秒のオーダーの測定ではかなりアバウトなものと なってしまうし、また数時間にもわたる長時間の測定ではとても時計に付き合ってなんかいられませんでした。 |
|||
|
|||
そこで、この広範囲な時間測定が可能な専用機 "長時間ストップウオッチ/タイマー" を作製することにしました。 また、時間測定の開始および終了の指示を、"簡易 S-RAM チェッカー" からの電気信号を入力可能として、その測定時間もかなり正確なものとしました。 その他に一般のストップウオッチとしても使用可能なように、スタート/ストップのスイッチも設けてあります。 また、ストップウオッチ機能とは逆な働きをするタイマー機能もついでに設けてありますし、そのタイマー設定値を予め記憶しておき、 その後いつでも読み出せる機能も追加してあります。 |
ケースに収納等 ( 2017/4/1 更新 ) 本作品は長らく左上写真のような状態で使用、保管をしてきましたが、この度ようやく右写真のようにケースに収納をしました。 製作当時に比べて、本機の使用頻度はあまり多いわけではありませんが、現在でも時々は引っ張り出して使用することがあります。 そしてその度に、 何か適当な収納ケースがないものかと思っていましたが、今までなかなか本機に合うような思わしいケースが見つかりませんでした。 しかし最近になって、いいアイデアを思い付きました。 それについては ケース加工図 で述べています。 また、今回本機をケースに収納したのを機に、左上写真に示すように液晶(LCD)への表示を " 00 00:00:00:00 " の形式で表示していたのを、" 00 00:00:00.00 " の形式に改めるようにプログラムの修正を行いました。 "秒" と "秒以下の桁" との区切り記号には、":"(コロン)ではなく "."(ピリオド)が正しいようです。 恥ずかしながら本機の製作当時は知りませんでした。 |
|
その他に手直しをした点は、フラットケーブルと液晶モジュールとの配線が少々見苦しい状態だったのでやり直しました。 また、プリント基板に 貼ってあるラベルが経年変化でセピア色に変色を起こしていたので、これも印刷をし直して張り替えておきました。 |
| 回路図 (StopWatchTimer.CE3) | ページトップ |
|
| ページトップ |
|
| ページトップ |
本機の精度はなんと言ってもPICのオシレータ入力に繋がっているクロック発振回路にあります。
上記回路図において発振周波数をより正確に調整するには、クリスタル周りの片側のコンデンサ(22pF)を、トリマ
(30pF 程度)に変更して 20MHz に正確に合わせ込む必要があります。 しかし、正確な測定器も必要となり実際にはこの方法は簡単ではないと思われます。 また今回の場合にはプリント基板の スペース的な問題もあり、トリマに変更することは実際には容易ではありません。 本機では、10時間ほどの時間測定をしたところ腕時計測定と比べて、約20数秒ほどの遅れを生じました。 そこで今回は ハードはそのままで変更しないでソフト的に補正を掛けることにしました。 いうまでもなく本機では、上記回路図のように 20MHz のクリスタルを使用しているため、基準クロックは ( 1 / 20MHz ) * 4 = 0.2μS となります。 この 0.2μS を 50000 回カウントして、すなわち 0.2μS * 50000 = 0.01 S = 10 mS を 作り出しています。 このように本機のカウント単位である1/100秒、すなわち10ミリ秒は、実際にはタイマー1割り込みを使用して 作成しています。TMR1H、TMR1L の両レジスタに basic_high、basic_low のカウント初期値を設定しておき、TMR1H レジスタが10ミリ秒でオーバーフローして割り込みを発生させ、それを基本単位としているのです。 xx equ 28 ; 補正値 basic_high equ high (65536 - 50000 + xx) ; 0.2μS * 50000 = 0.01 S = 10 mS basic_low equ low (65536 - 50000 + xx) ;10時間で20数秒の遅れ、したがってその遅れ分だけカウント回数を減らしてやればいいことになります。 そこで実際に腕時計測定と比べてみると、上式のような補正値を与えてやるとほぼ一致しました。 もっと長時間の測定を行なえば まだ狂いはあると思われますが、とりあえず良しとしました。 ( 後日談 ) 丸2日間カウントさせておいて同方法で時間を比べてみたところ、やはり秒針が一致しているように見えました。 やはり良しとしましょう。 液晶(LCD)への表示形式を修正 ( 2017/4/1 更新 ) 冒頭でも述べたように、液晶(LCD)への表示を " 00 00:00:00:00 " の形式で表示していたのを、" 00 00:00:00.00 " の形式に改めるようにプログラムの修正を行いました。 "秒" と "秒以下の桁" との区切り記号には、":"(コロン)ではなく "."(ピリオド)が正しいようです。
|
| ページトップ |
| プリント基板パターン図 (部品面) (StopWatchTimerPC.CE3) | ページトップ |
| プリント基板パターン図 (ハンダ面) (StopWatchTimerPC1.CE3) | ページトップ |
使用したケースは、100均(セリア)で購入した "クリアケース ミニ (L-8033) サナダ精工" というポリスチレンケースの、
上箱を2個使用して作製しました。 実は、このケースは上箱と下箱の2つから構成された商品なんですが、他の作品での加工時にサイズ間違いなどの
穴あけに失敗したものが2つあり、共に上箱は無傷のまま残っていたのでそれを使用しました。 下図に示すように、2個の上箱を貝合わせのように重ね背面で蝶番を使用して結合し、1つのケースとして使用しました。 この蝶番を購入するために 初め近所のホームセンターに行ったのですが、高過ぎて値段に見合ったものは見つかりませんでした。 そこで、廃品を利用するというこのアイデアは一時は 諦めたのですが、ダメもとでと思い、その足で近くの 100均(セリア)へ行ったところ、なんと、6個セットで 108円というものがありました。 即決です。 | ケース加工図 (StopWatchTimerCS.CE3) | ( 2018/3/11 追記 ) 本機では既に不要となってしまいましたが、その後、本機にぴったりないいケースを見つけました。 "秋月電子通商" で取り扱っている、メーカー "ニシムラ" の "ABS樹脂ケース 112-TS" というもので、外側(内側)寸法が 117 (112) X 84 (80) X 28 (24) mm で、可動式のフタが付いています。 参考までに。 |
| ページトップ |
上項の ケース加工図 で述べたように、蝶番には 100均(セリア)で調達した次の写真のようなものを使用しました。
このセットには、木ねじが付属していますが今回の使用目的には使えませんので、下の写真のように他にビス、ナット等が必要です。
また、この蝶番には取り付け用にΦ3の穴が開けてありましたので、M3のビス、ナット等を使用しましたが、ケースに取り付けたときに、
写真のように少々でかく感じられ全体的に厳つい(ゴツイ)感じがします。 もう一回り小さいサイズ(M2.6)の方が良かったかもしれません。 いずれにせよ、
最近、短いビスの手持ちを切らしていますので、次写真の中央に示すように 10mm 長のビスを半分ほどに切断をして使用しました。
|
| ページトップ |
(主要部品: IC, トランジスタ等) | (データシート) | ||
PICマイコン | .................... | PIC16F648A | |
HC-MOS | .................... | μPD74HC00C | |
LCDモジュール | .................... | S-10551D | |
圧電ブザー | .................... | PKM17EWH4000 |
| 部品表
| Excel ファイル (StopWatchTimer_parts.xls)
| ページトップ |
ドットマトリクス LED 表示時計 (24時間表示型)
簡易 S-RAM チェッカー
| ページトップ | ホーム |