« ゴーヤのカーテン育成 苗ポット植え替え編 | トップページ | USB Audio #7 基板作成 »

PIC で MP3 目覚まし時計がピクピク #11

 内蔵クロックは時計として使えるか

20120523_026  PIC の内蔵クロックから1秒を周期的に取り出す方法について仕様書と格闘しました。クロック周波数1MHz で動いているものに対して Fosc/4 = 250kHz となります。 1:16 プリスケーラで 15,625 Hz まで逓倍し、これを 8 ビットタイマ TMR2 で 125(=PR2) までカウントさせると 125Hz でコンパレータが EQ 信号を出します。さらにポストスケーラで 1:5 逓倍すれば 25Hz で周期的に割り込み信号を発生させることができます。TMR2 は自動的にリセットされるので、この動作は一度設定すると CPU が TMR2 にアクセスすることなしに永久的に動き続けます。IYN の割り込みルーチンでは、25 回目の割り込みかどうか判断し、グローバル変数である 秒 変数に1インクリメントしています。

 3月上旬、まだコートが手放せない気温の時期に実際に 24 時間つけっぱなしにしたときの精度について実験してみました。と言っても、普段使っている時計に合わせて時刻表示を設定し 24 時間 PIC マイコンの内蔵クロックだけで時計プログラムを動かしてみるという内容です。最高気温が 12~3 ℃だったこの日の夜 19 時ちょうどに時計をあわせて一昼夜放置してみました。

 するとどうでしょう、5分と46秒も遅れていますよ。こんなにずれるものなのか、初めて体験しました。周期タイマーを正確に割り込み入れて動かしても 5分/日 の精度では、毎日時刻修正をするしかありません。これじゃあ高級機械式腕時計の何倍も出来が悪いということになります。はぁ、ちょっとがっかり。マイコンのクロックなんて大したことないんですねぇ。パソコンの CPU の内部クロックが周期がめちゃくちゃだというのと思想的に変わりないじゃないですか。

 時計の精度を上げるためにはどうしたらいいんでしょうか。32.768 kHz の水晶振動子をポートに接続するしか無いものなのか。それにしたって水晶も温度による誤差が生まれます。そもそもマイコンの電源投入時に毎回、時計の時刻合わせを手入力でやらなければならない不便さ自体が納得行きません。

 どうせなら JJY を受信して電波時計にしてあげたいじゃないですか。そうだ、次はそうしよう。わたしの自作目覚まし時計は時刻合わせは永久に排除してあげます。はぁ、しかし AM 帯の電波の受信すらやったことがないのでそのあたりから勉強しなきゃいけないのか…。

« ゴーヤのカーテン育成 苗ポット植え替え編 | トップページ | USB Audio #7 基板作成 »

電子回路工作」カテゴリの記事

コメント

訂正があります。
PIC16F1827 に温度補償機能があると書いてしまいましたが、最新のマニュアルを見るとそのような記述が見つかりませんでした。なにか別の資料を見て私が勘違いしたのかもしれません。
とにかく PIC16F1827 には温度計は内蔵されていませんし、クロックを補正するレジスタも持っていないようです。

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: PIC で MP3 目覚まし時計がピクピク #11:

« ゴーヤのカーテン育成 苗ポット植え替え編 | トップページ | USB Audio #7 基板作成 »

2022年3月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
無料ブログはココログ