- PIC を使ったシンプルな時計をご紹介します。
- 部品点数が少なく、無調整ですので製作が容易です。
精度 腕時計くらい 消費電流 2mA at 3V 電池寿命 1000 hour(アルカリ電池 2000mA/hour) 表示方式 LCD直読式
- 腕時計用の水晶発振子 32,768 Hz を使用し、これを内部タイマで分周することで1秒を作り出します。
- 水晶発振子 は PIC のクロックとしても兼用するので、別の水晶発振子を必要としません。
- また、低いクロックを使用することで、PIC の消費電力も抑えています。
- 表示には消費電力の低い液晶を使用します。
- 実際には、「4クロック/命令」で、「同期に 2 クロック」かかり、 内部タイマの 8 bit カウンタ TMR で 1/256 分周 しますので、 32,768 / 4 / 2 / 256 = 1/16[秒] ごとに割り込みが発生します。
- それをさらにソフトウェア的に 16 分周することで正確な1秒を作ります。
- シンプルかつ低消費電力を目標として設計しました。
- タクトスイッチ「Set」「+」「-」は時刻あわせのためのものです。
- 3VではLCDのコントラストが足りないので、コッククロフト回路でマイナス電源を生成します。
PIC16F84 1 U1 マイクロチップ ジャンク 1 LCD1 16桁1行表示 10K 1 R1 カーボン皮膜抵抗1/4W 3.3K 3 R2,R3,R4 カーボン皮膜抵抗1/4W 68pF 2 C1,C2 セラミックコンデンサ 0.01uF 2 C3,C4 積層セラミックコンデンサ 1S1588 2 D1,D2 ダイオード 32.768KHz 1 X1 水晶発振子
ダウンロード watch.hex(PIC16F84用)
- PIC16F84 のソフトウェアは PICer 用に作成されています。
- 初期化ルーチンでタイマ割り込みを設定し、メインルーチンはループを形成してキー入力の検査します。
- アラーム機能など、いろいろと拡張できることでしょう。
- 「Set」----- 押すごとに設定したい「時」->「分」->「秒」->「終了」 の順に移動します。設定する部分には目印としてカーソルが表示されます。
- 「+」-------押すごとに数値が増えます。
- 「-」-------押すごとに数値が減ります。
- 「+」「-」は「終了」状態では機能しません。
- キーを押したままの状態では 1/8 秒ごとに連続動作します。
- 設計どおり非常にシンプルな時計が完成しました。
- 精度は腕時計(月差+-15秒)よりやや劣る程度のようです。充分実用範囲といえます。
- 精度は水晶発振子の温度変化に関わっています。
- 腕時計の場合、常に肌に触れており、温度が一定に保たれているため精度がよくなります。
- 消費電流もある程度は抑えることができました。
- キー入力はチャタリング防止をかねて 1/8 秒ごとに連続入力をして いますが、これでもまだチャタリングを起こすことがあります。
- もう少し遅くてもよいかもしれません。