avr atTiny13a 5:OSC-CAL


 Tiny13は小形でメモリーも少ないので「簡単なアプリケーション」用に使われます。
 主に、ほとんど内部発振を使ったコントロールに使われます。
 小形なので簡単に使えて便利です。でもたまには「発振周波数を合わせたい」時がありますが、メーカー出荷では誤差10%で出荷され、少し気になります。

 これでは誤差が大きいので、タイミングを取る物には使えない場合が多いです。でも「OSCは内部レジスターの調整で周波数を少し動かせます」がどのぐらい動くのか調べて見ました。
 マニアルでは50%ぐらいと書いてあるのですが、本当でしょうか。

[ 調べる! ]

 初めに、簡単な物を作り調べてそれを基準としました。OSCは内部レジスターの値を変更すると周波数を変更出来ます、本当は「電源電圧や使用温度の変化が無い」という条件があるのですが、とりあえず一定という事にして調べます。

 初めに調べた物は、実測[0X58]でした。基準が[0X3F]なのでだいぶずれている感じです。
 このICは発振させると計算上の周波数より7%低くなっていました、誤差10%ですから合格ですけど…。

 調 整 

 ICの書き込み器を使って読みだして見ると数字が表示されました。これがこのICの必要な基本DATAです。発振周波数を変更する場合後で戻す必要が有ります。
 でないと、調べ直さなければなりません。


 具体的には[OSCCON]にDATAを入れれば周波数が変わるので、DATAを幾つか入れ「バルス幅」をオシロで調べました。
 変更レジスターは7bitコントロールでこれを超えることは出来ません。(メーカー発表の物)

 13℃ 4.5Vの場合は次の通りで、大幅に変更出来ました。でも、あまり大きく変更すると逆に合わせづらいかも知れません。
 +-0x20づつ変化させました。およそ50%程度は動く様です(低い周波数にしたものを調べています)。

 0x78 to 27.4Hz +60%
 0x58 to 17.0Hz 0
 0x38 to 12.1Hz -40%

製作 2013/11/24 


 [MAIN MENU へ戻る]

inserted by FC2 system