よるデジタルコントロールにしてみました。よるデジタルコントロールにしてみました。前回は多回転ボリュームを使って手動で調整をしました。これだと10秒単位ぐらいならともかく、1000秒単位の調整は面倒くさすぎてやっていられません。ここをMCUで自動化します。スイッチングしてローパスフィルタにかけてコントロール電圧を生成します。周波数は約30Hzです。設定した値になります。最大の分解能を持つようにしています。PWMの周波数が30Hzぐらいなので、外部フィルタとしてかなり低い周波数のローパスフィルタを使っています。応答性が高くてもあまり意味がないないし困るので1Hzぐらいのローパスフィルタでも良さそうです。周波数を変えた直後はグリッチが発生するので、2秒間のGPS1PPS割込みを無視するようなコードを加えました。制御PID制御などではなく、まずは適当にインクリメント・デクリメントし続けるような実装にしました。グラフ化してみました。ソフトウェア的要因と思われる過補正を繰替えしている雰囲気を感じられますが、概ね±10mHz(±1ppb)におさまっています。GPSDO調整を自動化したので、これはもはやGPSDOと呼べそうです。PID制御にするなど、ソフトウェア的な制御改良の余地はありますが、GPSDOの大枠が実装できました。どちらかといえばあとはアナログ回路の要素が多くなります。いっても以下らへんを実装すれば実用的になりそうです。信号がきてないときのタイムアウト処理を追加ケースに入れるアナログまわりが勉強中なので現状の技術力だと難しい面もありますが、製作例もあるのでなんとかはなりそうです。いえ、作っても現状だと応用先がスペアナぐらいしかないので、あんまりやる気がありません。簡単な構成でppbオーダーの高精度なクロックが得られるのは面白いです。アナログ回路の技術力があればさくっと作りあげられそうです。その3このエントリを参照するエントリ今年やったことを自分で承認する日記を読みかえしてみたら今年もいろいろやっていた。年末にせめて自分で自分を承認してあげたい。@cho45アーカイブ。