1/10万秒(10μS)の分解能を有するストップウォッチ
●概要
別に1/1000秒の分解能をもつストップウォッチを作成しておりますが、PICを使ってどこまで細かく計測できるか試してみたいと思い、1/10万秒(10uS)の分解能を有するストップウオッチを作成しました。ストップウォッチというよりは、むしろパルス幅計測器というかんじです。
小数点以下だけでも5桁と桁数が大きくなるので、液晶表示器を使用することになりますが、せっかくたくさんの情報が表示できるので表示数を最大限利用し、9999日まで計測できるようにしました。要するに9999日23時間59分59秒99999まで計測出来る物です。自己満足で作成したようなもので、桁数が多いだけで実用性はほぼゼロかもしれません。
なお、最小単位は10μSということで、とうてい人が認識出来ませんので、動作テストは、専用の信号パルス送信用の回路を作成し確認しました。それを使用し、希望どおり10μSの信号を受信して正しく表示されていることを確認しております(「動作テストの様子」参照)。
さらに、フォトダイオード等の光センサーと組み合わせて弾速計などの移動物体の速度計測にも活用できるように、スピード表示を行うこともできます。
●使用する主要パーツリスト
部品名 | 型式等 | 数量 |
PIC | 16F1933 | 1個 |
クリスタル | 8MHz | 1個 |
LCD(キャラクタ表示液晶) | SC1602BS ※ | 1個 |
コンデンサ | 22pF(10〜33pF) | 2個 |
コンデンサ | 0.1μF | 1個 |
コンデンサ | 100μF | 1個 |
抵抗 | 1.8kΩ | 1個 |
タクトスイッチ | 不明 | 7個 |
※ SC1602BS は標準セットには含まれていません。
●仕様・使い方等について
・電源として5V前後の電源が必要です。
・一応、ストップウォッチを想定しておりますので、スタート、ストップ、リセットのスイッチと、LCDコントラスト調整用の2つのスイッチ、モード切替のスイッチの合計6個のスイッチを備えています。
・ストップウォッチというよりパルス計測に使いやすくするため、モード切替スイッチがありますが、このスイッチを押すと、合計8種類のモードを順次切り替えることが出来ます。選択したモードは、EEPROMに保存するため、電源を切っても次回起動時に記憶しています。
・通常のストップウォッチとして使用する場合はモード0です。画面表示としては「IN1:L - IN2:L」と表示されます。これはIN1(=スタートスイッチ)がLレベルになると計測を始め、IN2(=ストップスイッチ)がLレベルになると計測を終了するモードであることを示します。スタートスイッチがIN1、ストップスイッチがIN2に対応します。
・なお、モード切替とコントラスト調整は、カウント中には操作出来ません。これは、カウント中は出来るだけ高速かつ正確なカウントを行うためです。
・各モード(0〜7)と、カウント開始、停止の条件は下記のとおりです。
モード | スタート条件 | ストップ条件 |
0 | IN1がL | IN2がL |
1 | IN1がL | IN2がH |
2 | IN1がH | IN2がL |
3 | IN1がH | IN2がH |
4 | IN1がH | IN1がL |
5 | IN1がL | IN1がH |
6 | IN2がH | IN2がL |
7 | IN2がL | IN2がH |
例 モード2の場合
IN1がHレベルになるとカウントを開始し、IN2がLレベルになるとカウントを停止する。
例 モード4の場合
IN1がHレベルになるとカウントを開始し、IN1がLレベルになるとカウントを停止する(IN2は無関係)。要するにIN1のパルス幅(active H)を計測することになります。
・ストップしている計測は、スタート条件が整うと再開します。
・表示の最下桁(1μS)は、常に0を表示します。
・LCDのコントラスト調整用スイッチは、アップとダウンがあります。それらのスイッチ操作によりLCDに供給されるコントラスト設定電圧が変化します。この設定は、EEPROMに保存しているため、電源最投入時にも有効です。
●速度計測について
・2点間の移動時間を計測することで、速度を表示する機能です。スタート・ストップの位置にフォトセンサー等を配置し、このセットに接続します。
・あらかじめ距離を設定し、スタートからストップまでに要した時間から、速度を表示します(秒速(cm/s)および時速(km/h))。
・距離の設定は、「距離設定」スイッチを押しながら「コントラスト(+)」「コントラスト(−)」スイッチを押すことで設定できます。距離設定は、1cm〜655m35cmまでの範囲で可能ですので、この距離設定値と同じ距離にフォトセンサー等を配置すれば良いです。
・距離設定値を0cm以外に設定しておくと、ストップされた後に、速度と経過時間を交互に表示します。速度表示を行いたくない場合は距離設定を0cmに設定してください。
・距離設定値を0cm以外に設定しておくと、いったん計測がストップすると、再度スタート条件になっても計測の再開はしません。いったんリセットを行ってください。
・秒速の表示範囲は、0.1cm/s〜16777m21.5cm/sです。
・時速の表示範囲は、0.001〜16777.215km/hです。
・スタートからストップまでの時間が、長すぎる場合(約167秒以上)、速度計算は行いません。
・速度表示の最下位桁は、整数化処理の関係で、正しく四捨五入されない場合があります。
●お断り(制限事項)
・液晶表示のレスポンスはそれほど速くないため、カウント中は最小単位(10μS毎)に表示される訳ではありません。正確に計測されている内部カウンタを一定毎に表示させるようにしております。
・10μSより短いパルスが入った時(スタート条件が成立して10μS経過しないうちにストップ条件が成立した場合)、計測がストップしないことがあります。
・絶対的な精度はクリスタルに依存します。使用したクリスタルは汎用品であることからか、100ppm程度の誤差が生じました。時計の代わりになるほどの精度はありません。仮に高精度のクリスタルを使用した場合でも、精度は保証出来ませんので、製作後ご自身でご確認頂き、適用可否のご判断を願います。
・バグ等によって、希望どおりの計測が出来なかったり、計測出来なかったことに関する保証はいたしかねます。あくまでホビーユースとしてください。
・モード変更を行うと、入力状態によれば、直ぐにカウントを開始します。カウント中はモード変更ができないため、入力状態によらず次々とモードを変更したい場合は、リセットスイッチを押しながら操作すると良いです。
・当方が使用した物と別のタイプのLCDを使用した場合の適合性については保証出来ません。
●動作テストの様子
・10μS入力

入力信号をオシロで撮影(CH1(赤色)がLになってから10μS後にCH2(黄色)がLになっている。)

この時のLCDの表示。
・100μS入力

CH1(赤色)がLになってから100μS後にCH2(黄色)がLになっている。

・238mS入力


・製作例

0.1μFコンデンサは基板裏面に取り付けています。
・速度表示例1



距離として100cmを設定、計測時間が0.07697秒であったとき、秒速12.992m/s、時速46.771km/hとなった。
・速度表示例2



距離として12m34cmを設定、計測時間が0.05790秒であったとき、秒速213.126m/s、時速767.253km/hとなった。
・回路図

※クリスタル部のコンデンサを10pFと記載していますが、22〜33pFを同封している場合があります。
・製作例2

LCDを別のタイプに変更したもの(V0端子=Contrast, A,KはバックライトLEDのアノード、カソード)
●オークション関係トップページへ(他にもいろいろと出品しています)
●PIC関連の出品物の入札を考えている方に(必ずお読み下さい)
検索用
100分の1秒ストップウォッチ
1000分の1秒ストップウォッチ
10000分の1秒ストップウォッチ
1/100ストップウォッチ
1/1000ストップウォッチ
10mS
1mS
0.1mS
100μS