ATmega88Pを加熱することによるRCOSC周波数の変化を調べてみました。
スタートから30秒後にハンダ鏝をICに当てそのままにし、250秒後に鏝を離しました。
グラフからosctuneが働いている様子が分かります。
250秒後は余熱期間で3カ所飛び跳ねた部分がありますが、原因は分かりません。
390秒で周波数が下がってきてますが、これは余熱をとろうと指の腹をICに当てたことが
原因の様です。
mega8はプログラム変更がうまくないようでosctuneが働きません。
今後の課題です。
思っていますが?
素人の考えですが、osccalの設定値が限界を
超えたかどうか知る方法が有るのではと思いました。
3Pointは、通信中で有ればERRORに成っているのでしょうか、
osccalの設定値は、周波数から推察出来るのでしょうか。
お手数な、評価デ-タ-公表有難うございます。
kawanaさんの云われる限界とは実際のRC OSCの周波数がこのOSCCALの値では制御出来ない場合の事だと思いますが、この場合はCRCでエラーにしてgreen LEDを消灯します。つまり、この状態の書き込みはNGと分かります。
(使用者が目で確認する必要があります)
kawanaさんも折角、avrminiprogを作られたのですから、OSCCALの値を変えて実際のRCOSC周波数を測定してみると、この辺の所がより理解が深まると思いますよ。
OSCCAL 0~127 4.2~8.5 MHz
OSCCAL 128~256 7~14 MHz
に成っていました。
3点のOSCCAL設定値推察出来ました。
OSCCAL補正をミスしているのでしょうか。
概ね良好ですが、3か所の異常値は気になりますね。
原因は、osctuneのロジックがマイコンのOSCCALの特性に
合っていないことが考えられます。
http://202.35.250.1/ken/senshu/sitedev/index.php?AVR%2Favrdude33#e28742a4
変化にバラつきがあっても単調増加、減少をするなら問題ない
のですが、mega88ではOSCCALを±1を変化させても、改善する
方向に機能しないポイントがあります。
この箇所では、osctuneのロジックは収束するのではなく、
発散する可能性があります。
対策は意図しない変化にも対応するロバスト(丈夫)性を持た
せることです。
具体的な対策は、変化させても逆の変化をした場合への対応を
行うことです。予想はしていましたが、癖のあるOSCCAL特性に
は悩まされそうです。
そこで、手元に有るカウンタ-で計測出来ないか考えています。
①ATTINY45を使用した電圧ロガ-が有ります
これにF-V変換(Hard)を入れて、F-V-Fで
周波数測定し、12,800.xxxKHz代を測定出来る でしょうか?
(F-V変換のHardのみ作成すれば良く都合が
良いと考えていますが、)
②O-Familyさん設計のレシプロカウンタ-が
有ります、表示デ-タをRS232Cデ-タ出力
しFile化する。
③岩通のFC、にBCD基板を作り出力
(回路図無し、LED表示から、BCDを出力は、
難しいのでしょうか?GateTime 1sec
③は、あまりやりたくない)
④中古または新品の周波数カウンタを買う。
いくらくらいするのですか、3万までなら
買っても良いと考えています。
ことに取り組んでいます。
正確な発振周波数を計測することはできませんが、
温度を変化させた時のOSCCALの変化は確認できます。
ATmega328Pにbootmonを移植し、RC OSCモードで
動作させ、hidmon88コマンドを使って OSCCALを
モニタします。
以前は使い物にならないほど不安定だった印象ですが、
今日試したところ、エラーもなく、順調に動作してい
ます。
osccalの値も、PCのファイルに書き込むことができ、表計算
ツールでグラフ化することもできました。
ただし、かなり温度を変化させても、OSCCALの値は±1程度しか
変化しませんので、ラジオ少年さんの報告にあるようなグラフは
作成できません。
それが残念です。
今日も労働で昼間は見る時間がありません。
>原因は、osctuneのロジックがマイコンのOSCCALの特性に
合っていないことが考えられます。
osctuneの機能の詳細は理解出来ていませんので、周波数を計り間接的にその振る舞いを確認する事で何となく理解の手段にしています。
3点の周波数が出ているのは気になります。もう一度温度を加えて測定してみようと思います。
PLLでは有りませんので、この様な事も生じるのかも知れません。
OSCCALのモニタをされているようですが±1程度しか変化がないとのことですが、それは頻繁に変化するのでしょうか?
周波数の変化量を小さくするに絶えずOSCCALを変化させる必要があるのではと、、、。
kawanaさん、一般のFカウンタはGPIBでも付いていればデータをパソコンに取り込めますが、多分そんなIFはついていないのではないかと思います。
私はATmega328を使ったカウンタを自作しました。
3万円も出すのはもったいないのでは。
オリジナルの基準は12.8MHzですが、これを20MHZ(ルビジウムの10MHzを逓倍)に変更してあります。
RS232Cに測定データを出すことが出来ますので便利です。
ルビジウムはオークションで1万円ちょっとで手にいれました。カウンタも部品代はそんなにかからないと思います。
基準さえしっかりしていればそれなりの精度をだせます。
私は自作をおすすめします。
仮に3万円で入手出来るので有れば、カウンタの仕様をよく確認することです。
完成されていましたので、使用させて頂いた事思い出しました。
これを使用して直接実行中モニタ-するのですか、どうしてラジオ少年さんの様なグラフを
キヤッチ出来無いのでしょう??
トレ-スしてゆく時間のタイミングが関係しているのでしょうか、そのうちにキヤッチ出来るのではと思います。
私は、avrmini.batを作成し、指定回数rogramerを実行をTESTしました。
hidspx -ph -d4 -rf//
sleep 1//1sec wait
hidspx -ph -d4 -rf
sleep 1
-------
O-Familyさんの周波数カウンタ-のSoftを
勉強して、RS232Cデ-タ出力、File化orExcel
自動入力に取り組んで見たいと思います。
(1ヶ月の計画で取り組んでみます。前途
多難です)