GPSDO 10.0MHz基準周波数発振器を作る(4) 〜Aliもので作るGPSDO〜

投稿者: | 2021/02/26

大先輩のブログで紹介していただきアクセスが増加しています。
なかなか更新しなかったGPSの記事も久しぶりに更新しなくてはと思いました。
今回は、ひょっとすると作ってみたいと思われる方もいらっしゃるかもしれませんので、GPSDOの基本回路図と使っている主要な部品を紹介します。
ほとんどの部品はAliExpressで安く購入することができます。おそらく、自分で部品を集めて作るよりもかなり安上がりだと思います。また、モジュール化されているため再現性も高いと思います。

先ずは、GPSDOの基本回路図です。(回路図修正しました)
手持ちの部品を使いましたので、設計も部品定数も適当です。私の工作で回路図が残っているのは珍しいです。実際に私が作ったものと回路定数は違っている可能性もあります。いや、絶対違ってます。

PDFはこちら→ BASIC_GPSDO_STM32F411

74HCU04, 74HC04が並んでいますが、これは10MHz OCXOのレベル変換、10MHz出力バッファ、1PPSバッファでICを分けたいというのが理由です。
用途に応じてバッファの集約や削減は可能です。
あきゲートの入力はGNDに接続しておきます。

実際に私が作ったGPSDOは、この基本回路図に対し、
・10MHzの正弦波を出力するためにフィルタ回路やバッファ回路などを付加しています。
・この回路図では電源として直接+12Vを入力するようになっていますが、実際のGPSDOでは+15Vのアダプタ(スイッチング電源)から+12VをLDO(Low Drop Outレギュレータ)で作って供給しています。
・アナログ系の+5Vも汎用の三端子レギュレータ7805ではなく、OCXOのUref出力を基準にOPアンプで作ったディスクリート電源を使っています。アナログ回路の温度ドリフトの影響を少なくしようとの考えですが、効果のほどは不明です。

主要な部品を紹介します。

    1. VC-OCXO (Double Oven Voltage Controlled X’tal Oscillator) — 長いのでOCXO
      これがGPSDOの性能を左右しますので、安定性の良いものを選択します。
      以前にも紹介した ロシアのMorion製 MV89A(写真下)です。
      これは、AliExpressでは入手できず、eBayで購入しました。残念ながら、現在はかなり高騰してしまっています。(10MHz出力の発振器全般にいえますが)
      スペック的には同様のMV180Aもあり、これの相当品であるFEI社のFE-180(写真上)もあります。
      OCXOOCXO-2
      MV89AはFE-180よりかなりサイズも消費電流も大きいですが、その分温度変化にも強く安定度も高そうです。スペックは一緒なんですが… また、OCXOは電源電圧は5Vのものより12Vの物の方が、安定度は高そうです。MV89AはeBayで ¥7000以上と高騰しています。(製造年が古いものであれば¥5000程度) これに対し、FE-180であれば¥4000程度で入手可能です。周波数調整電圧EFC(Electronic Frequency Control)は0から5Vです。 EFCをプラスすると周波数が高くなるものを使用します。MV89Aの周波数可変範囲は約5Hzですので1Hz/Vの感度になります。これでちょうどよくなる程度にSWを調整しています。MV89以外のOCXOでも使えると思いますが、1Hz/V以上の可変範囲があるものは精度が粗く、これより狭いものは収束までの時間が長くなります。例えば、ルビジウム発振器のLPROは周波数可変範囲がMV89Aに対してかなり狭くなっていますので、使えないわけではありませんが収束までに時間がかかります。

      また、OCXOは温度センサーによりオーブン内の温度を一定に保っており、なるべく風などが当たらないようにして温度変化を防ぐのが良いです。ただし、完全に保温材に包んでしまうというのはあまり良くないようです。と、いうのもオーブンでは加熱はできますが、冷却はできず自然放熱に頼るしかないため、暑くなりすぎた場合の冷却が遅くなってしまうからだという事です。勿論、温度変化の勾配はなるべく小さくした方が安定します。
      オーブンはサーモスタットのようにON/OFFを繰り返すのではなく、設定温度になるようにヒータに流れる電流を調整しているため、加熱、放熱が釣り合った状態を保持すると安定します。また、OCXOの一部が冷えたり温まったりせず、全体の温度に偏りがないことも重要です。ある程度の大きさがある木の箱の中心にOCXOを配置するというのが理想なのかもしれませんね。もちろん、箱の設置環境もある程度は温度管理されている事が前提です。

    2. マイコンは、ST製のSTM32F411CEU6が搭載されたマイコンボードを使います。
      基板が黒い事から「Black Pill」とも呼ばれています。これとは別に元祖「Black Pill」と呼ばれているマイコンで、より廉価なSTM32F103C8T6もありますので間違えないように。
      このSTM32F411CEU6はGPSDOに十分なRAM,ROMがあり、I2Sや32bitタイマーも内蔵しています。
      AliExpressで¥550〜600程度です。ちょっと高いですがAmazonでも購入可能です。STM32F411CEU6
      オンボードの25MHz水晶と負荷容量のコンデンサを外し、外部からOCXOの10MHzを入力します。オンボードの水晶は、水晶の周りを中心に全体にハンダを追加してハンダゴテで温めてやると簡単に取り外せます。(水晶はハンダまみれになって壊れるかもしれませんが…)

      マイコンの下にある白と茶色の線のように改造します。同軸かツイストペア線を使い、距離は短くなるようにします。
      これにより、マイコンはOCXOからの正確な100MHz(=10[MHz]x10[逓倍])をシステムクロックとして動作します。
    3. DACは、今はTIに買収されたBurr BrownのPCM5102Aを使用します。32bit のオーディオ用DACです。チャージポンプを内蔵しているため、単一電源でありながらGNDをセンターとした2.1Vrmsを出力することができます。OCXOのEFC電圧範囲は0〜5Vですので、プラス側のみになるように制限します。OCXOのEFCはDC電圧でコントロールすることになりますので、カップリングコンデンサが必要なDACは使えません。データシートに温度ドリフトの記載がなく、心配しましたが特に大きな問題はないようです。また、オーディオ機器ではDCを出力することはないため、このような使い方をするとプロテクタが働いて出力がMUTEされるのではないかと心配しましたがこちらも特に問題ないようです。
      AliExpressで実装されたモジュールとして約¥300で入手可能です。DAC_1DAC2裏側のショートランドは写真のようにします。これにより、FMTとXSMTがHに設定されます。
      AliExpressで販売されているPCM5102Aモジュールはいくつか種類があるようです。
      違うモジュールを入手した場合は、FMTとXSMTがHになるようにしてください。
      また、回路図のピン配置とモジュールのピン配置は異なっていますので注意してください。
      もちろん秋月電子で販売されているPCM5102Aも周辺回路の追加は必要ですが使えます。
    4. GPSモジュールは、PPS出力(立ち上がりエッジ基準)がついたものを使用します。
      有名なU-Blox製のNEO M8Nモジュールの上位互換として売られているIcofchina /杭州中科微电子有限公司製ATGM332D、ATGM336Hを使用しました。AliExpressで約¥1000です。 U-Blox Neo M8Nや、秋月電子で販売されているMT3333モジュールも使用可能です。
      ただし、秋月電子で販売されているMT3333はPPS出力の極性が逆ですので注意してください。使用する場合はインバーターで極性を反転させるのが良いでしょう。NEO 6Mモジュールも使用可能です。(性能は…)GPS
      AliExpressで販売しているPPSがついたGPSモジュールはだいたい同じピン配置のものが多いですのでソケットで差し替えができるようにすると検討に便利です。ただし、中にはピン配置が違っているものもありますので、購入するときは注意してください。色々なGPSモジュールを比較してみた感じではGPSDOにはATGM332D, ATGM336Hが廉価で性能もよさそうです。PPS出力の精度は、U-BloxのGPSモジュールは30nsが普通です。秋月電子のMT3333モジュールは±10nsとなっており、スペック的にはU-Blox M8Nより優れています。実力も少し良い様です。オススメのATGM332D,ATGM336Hはσ < 30nsとなっていますが、実際に測定してみるとゲートタイム20秒、100回の統計処理で標準偏差 0.4ns程度と良い性能でした。(全体的安定していますがやはりずれることはあります。)
      既に、手持ちにPPS出力付きのGPSモジュールがあるのであれば、それで動作を確認した後に不満があればGPSモジュールを交換しても良いでしょう。交換しても改善するかどうかはわかりませんが…

      余談ですが、AliExpressでNEO M8Nを購入すると偽物が届く事があります。私も偽物が送られてきた事があります。一応、M8Nではないだけで動作はするようですが、U-Centerでパラメータを変更する事ができません。偽物も色々あるようです… ラベルが綺麗に貼られていないもの、如何にも貼り替えましたよと思えるものは怪しいかもしれません。YouTubeでもNEO M8NのFakeとして中身はATGM332Dでラベルだけu-blox M8Nに貼り替えられたものを検証した動画をが投稿されていました。なので、お持ちのu-blox NEO M8Nがもし中国から購入されたものであれば確かめてみると意外とATGM332Dだったりするのかも知れません。
      ちなみに、私がATGM332Dを手に入れたのは、U-Blox M8Nを注文したのにATGM332D(ラベルもATGM332Dでした)が送られて来たからでした。 セラーにクレームしたらM8Nの上位互換品だと言ってました…とりあえずM8Nを送り直してくれましたが、手元にATGM332Dが残りました。おかげで、ATGM332DがGPSDOに向いていそうだと言う事がわかりました。大先輩はATGM336Hを調達し、こちらも良い性能であることを確かめていただきました。M8Nより新しい設計のためか受信感度もかなり良く、部屋の中でも十分に受信できます。
      また、GPSDOといえば、HP製Z3801Aが有名で搭載されているOCXOの性能は素晴らしいですが、いかんせん設計が古いため受信感度が低く、アパマンユーザーはアンテナの設置に苦労します。折角の高性能OCXOを搭載したGPSDOでも、GPS信号が安定して受信できなければ精度が出ません。技術の進歩を痛感しました。

    5. LCDモジュールは、20文字x4行の表示が可能なSC2004です。I2Cで制御できるようにI2C-パラレル変換のアダプターがついたモジュールを使用します。AliExpressで約¥450〜500です。SC2004-A
      SC2004-B
      I2C – パラレル変換基板に使用されているICは2種類あるようです。NXPのPCF8574TとPCF8574Aでスレーブアドレスが0x27、または0x3Fのものに対応しています。
    6. 温度センサーは、BOSCHのBME280を使用します。
      温度センサーは必須ではありませんが、温度変化によりOCXOの周波数も変化するので、どれぐらい温度が変動したかを観測するためにつけています。
      これもAliExpressで約¥500です。(最近高くなりましたね)
      BMP280はスレーブアドレスが異なるため使用できません。なお、BME280は無くても動作します。
      BME280
    7. 電源
      OCXO Morion MV89Aを動作させるのに+12Vが必要です。MV89AにはLDOが内蔵されておりある程度の電圧変動は許容されるようですが、安定化するに越したことはありません。回路図にありませんが、なるべく綺麗な12Vを供給するようにしましょう。
      また、OPアンプ用の電源として+9V、その他デジタル系回路を動作させるために+5Vが必要です。MV89Aの出力をCMOSレベルに変換する74HCU04やDACはなるべくノイズが少なく、温度ドリフトが少ない+5Vを供給します。回路図には記載していませんが、MV89Aから出力されるRef電圧を使用しOPアンプで+5Vの電源を作って供給するのも良いでしょう。ピッタリ5Vが出力されていました。オーブンにより温度が一定に制御されているため温度ドリフトも抑えられています。基準電圧として最適です。MAXIM製の基準電圧ICが使われているようで、マルチメータで測定してピッタリ5V、そしてノイズも非常に少なかったので驚きました。
    8. OPアンプは、Analog Devices AD4522を使用しました。
      これだけはAliExpressではなく秋月電子で購入しました。OCXOの制御はほとんどDCです。また、OCXO MV89AはざっくりEFC 1Vで1Hz周波数が変化します。つまり、1μVの変動は1μHzの変化として現れることになります。このためDCドリフトはなるべく抑える必要があります。AD4522はゼロドリフトアンプでDCの温度ドリフトが非常に小さく抑えられています。回路図はシンボルの都合で2回路入りの片CHのみを使用するようにしていますが、当然1CH入りのものでもOKです。(空いていたら後から何かに使えるかも知れませんが) 要求精度にもよりますが温度ドリフトが少ない他のOPアンプも使えます。バイポーラOPアンプNJM5534DD等でもそこそこの精度までは使えると思います。AD4522 は特殊な方式でオフセットをキャンセルしていますが、弊害として若干ノイズが発生します。EFC制御は、ほぼDCでよいので高域はフィルターするようにします。ただし、EFCを変化させた時の応答が遅すぎると周波数計測精度が悪くなり過補正になる恐れがあります。DAC PCM5102Aの出力は、0〜約2.8Vまでです。一方、OCXO MV89AのEFC電圧は0〜5Vです。だいたい10MHzはセンターの2.5V付近ですが、MV89Aのばらつきや経年変化によってこの電圧はドリフトします。つまり、DAC出力そのままではEFC電圧の可変範囲が足りず、10.0MHzに調整できない場合があるためOPアンプを追加しています。
      もし、手持ちのOCXOが2.5V以下で10.0MHzに調整できるのであれば、OPアンプを省略してDACから直接周波数制御する事も可能です。OPアンプを通すことによりDCドリフトやノイズも増加しますので、可変範囲に問題がないのであれば直接制御するのが良いでしょう。(RCのノイズフィルタは追加した方が良いでしょう) OPアンプを使わずにPCM5102Aから直接OCXOを制御する場合はL-ch出力を使ってください。R-chはオフセット電圧を出力しており、OPアンプ使用時のオフセット電圧にします。

次回は、動作説明ができるといいなぁと思っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください