« 柚子酒、うまいぜっ | トップページ | アナデバがマキシムを買収・・・してたんだ »

2022年12月12日 (月)

セラロックの精度は±0.5%

Arduino UNOのブートローダーを焼いたATmega328Pで
使う16MHzの発振子、周波数の精度を気にしなければ
セラロック(コンデンサ内蔵型セラミック発振子)が
お手軽です。

素子ごとにばらつきがあるので実際のどのくらいの
周波数になるかは使ってみないとわかりません。
先日使ったこれでは、「16.0202MHz」でした。
「+0.126%」と十分にスペック内です。
  ※タイマーのコンペアマッチで方形波を
   出力して周波数を測定し、分周比から
   原発振周波数を計算。

C11_20221212093301

しかし、計時するタイマー機能を乗せた
スケッチではこの誤差が気になります。
このセラロックでの精度だと1時間で4.5秒、
1日で1分50秒ほど進みます。

水晶発振子にすれば20~30PPM内にできるので、
計時機能のあるモノを作るときはHC-49U/Sを
使うのが間違いありません。
  ※月差ン秒を問題にする時計機能付きの
   ものはRTCなど特殊な装備が必須。
   きっと停電も処理しなくちゃならない
   だろし。

このセラロック、コンデンサが内蔵されてい
るわけですが、
  「さらにパラってみたらどうなる?」
を試してみました。

両端に「15PF」を入れると・・・
周波数は「16.0133MHz」で「+0.083%」に。
ちょっとだけ下がりましたが、計時用タイマーに
使うにはまだまだです。

 

|

« 柚子酒、うまいぜっ | トップページ | アナデバがマキシムを買収・・・してたんだ »

Arduino」カテゴリの記事

電子部品」カテゴリの記事

コメント

経年変化、温度特性はどうでしょうか?

昔々、カシオの腕時計の設定で、誤差値をユーザが入力する事で月差をすくなくする機能がありました。

一定周期で上記誤差値をカウント値に足したり引いたりしていたのでしょうね。確か水晶の近くのトリマコンデンサも省略されていたようでした。

今の時計は出荷時に誤差値をI2Cで書き込んでいるのでしょうね。

シリアル通信の誤差修正は難しいですが、時刻計測であればカウント値に足し引きが使えるのではないでしょうか?経年変化、温度変化が少ない事がポイントですが・・・。

投稿: セラロック | 2022年12月13日 (火) 07時36分

セラロックの性能に関して、そこまでの追求は・・・していません。
ハンダして「どんなもんや?」を調べただけです。

時計用RTC、最近のはいろんな補正ができます。
しかし、精密な時計(クロック源)がそばにあっての話です。
月差を見るのに1ヶ月も放置はできませんので。

RTCだと電池やS-CAPでのバックアップが前提になりますので、RTCそのものに書き込むというより制御マイコンが初期化する時の操作になります。

シリアル通信のボーレートジェネレータも、1/nだけでなく「1/n.m」できるICがあります。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2022年12月13日 (火) 08時54分

コメントを書く



(ウェブ上には掲載しません)




« 柚子酒、うまいぜっ | トップページ | アナデバがマキシムを買収・・・してたんだ »