DS9とうとうDeepSpaceNineまでやってきました。メニュートップページログインエントリー2016年06月の記事は以下のとおりです。14:52カテゴリー:make:先日手に入れたHP53131Aに,3GHzのプリスケーラを作って内蔵してみました。HP53131Aは2ch入力で,約200MHzまでカウント可能な高性能なユニバーサルカウンタですが,プリスケーラをch3として増設することで,入力端子が1つ増えると共に想定範囲が大きく拡大します。純正品は高価ですので,互換品を安く売る業者もあるし,個人で自作する人も多いです。調べて見ると簡単そうですし,特殊な部品も使わないようなので,私も作ってみたというわけです。HP53131Aのプリスケーラは1/128の分周比を持つもののようです。純正品は広帯域アンプを4段重ねて合計30dBのゲインを持たせてあり,その出力を1/128の分周器に突っ込んであるだけです。CH3が使えるかどうかは,本体のCPUのGPIOがHighなのかLowなのかで判定します。回路は確かに簡単かもしれませんが,なにせ3GHzという高周波を扱う上に,小さな信号を結構なゲインで増幅しますので,きちんと動作する物が出来るかどうかは,実装次第なところがあります。今手に入る部品で作ろうと思いましたので,とりあえずこういう時の秋月にGo。するとちょうどいい部品がありました。広帯域アンプのICは,なんとちょっと前まで最先端だった夢のSiGe,SGA-6386が2個200円で売っていました。帯域はDCから3GHz,ゲインは2GHzで13.3dBということです。単電源で動き,50Ωで終端されているのでとても使いやすそうです。この手のICはみなそうなのですが,私は以前ミニサーキットのMAR-6を使った広帯域アンプを使って,アンプではなく発振器を作ってしまった苦い思い出があり,苦手意識が根付いてしまいました。この時は1.5GHzくらいのアンプだったと思うのですが,それが今後は3GHzですから,さらに難しいでしょう。むむ,大丈夫か?ところで,SGA-6386のゲインは先程書いたように2GHzで13dBあります。1GHzで15dBもありますので,30dBを実現するには2つで十分ということになるのですが,あんまりゲインを上げるとこわいし,消費電流も多くなるので,私は1段だけにしました。純正品の30dBに対し,15dBで妥協します。プリスケーラICは手持ちのMB508を使ってみるかと思いましたが,入手が難しいこともあり,保守を考えて秋月で変えるuPB1507GVを使うことにします。uPB1507はいいICですが,低い周波数での感度が悪いらしく,ここはMB50xシリーズの方が良い感触のようです。HP53131Aは200MHz以上の帯域をプリスケーラなしで実現しているカウンタですので,200MHz以上で動いてくれれば,それでいいんじゃないかと割り切ります。あとは手持ちの部品箱から,チップのコンデンサと5Vのレギュレータを探してきます。アンプは12Vで動かしますが,プリスケーラICは5Vでないといけませんので,このレギュレータは必須です。チップ部品を使う予定でしたが,あいにく手持ちがなかったことと,最大入力電圧が案外低いものしかないので,昔ながらの78L05を使いました。保護用のダイオードも欲しい所ですが,これも秋月で1SS154が安価に売られていますから,つかってみます。実は,HSMS-2822の方が1パッケージに2つ入っているので便利だったのですが,なんとなく1SS154にしました。基板はわざわざ作る事はしませんでしたが,かといって蛇の目基板ではさすがにダメだろうという事で,ガラエポの両面生基板をカットしました。いう経緯だか忘れましましたが,うちにはたくさんあるんですよ,ガラエポの生基板が。両面ベタGNDで,必要に応じてリューターでパターンを作ります。楽ちんで作る事ができました。手持ちの部品がなくて,結局新しく買うことになったのが,コネクタ類です。BNCコネクタですが,パネル取り付けタイプのBNCコネクタがたくさんあるのでこれを使おうと思ったところ,本体の穴が大きすぎてうまく取り付けられません。仕方がないので基板取り付けタイプを買うことになりました。本体のメイン基板との接続には,10ピンx2列のコネクタが必要なのですが,これも手持ちがなく,フラットケーブルもありませんので,秋月に売っている100円のケーブル付きのコネクタを買いました。部品が揃ったところで,組み立てです。部品点数に対して基板がかなり大きいので,そんなに気を遣うことはありませんが,あまり大きい実装をすると動作が心配です。出来るだけ小さく作ります。uPB1507GVをハンダ付けです。入力端子にコンデンサとダイオードをハンダ付けしてから,SGA-6386をとりつけます。基板を削ったりしてすべての部品をハンダ付けするのに,1時間ほどで出来ました。ケーブルとコネクタが届く前に,基板での動作確認をします。消費電流は規定値内です。へんな発振はしてないようです。入力にSGの128MHzを入れ,出力は53131AのCH1に繋ぎます。これで1MHzと出てくれば動作しています。23MHzあたりのでたらめな数字を示しています。オシロで波形を確認しても,それらしい波形は出てきていません。アンプICの前後を調べると,入力にはちゃんと波形が見られるのに,出力にはほとんど波形が出ていません。苦手意識のある高周波増幅回路が動いていないという現実は,なかなか重たい物があります。SGA-6386を触ってみると,かなりの発熱です。こりゃやばい,配線ミスか発振だと,あわてて電源を落とします。仕様書を確認すると,電源電圧の最大定格が5Vとあるじゃありませんか。12Vで使ったらだめなのかよー,とがっかりしたのですが,過電圧で発熱したICは壊れているか,性能が著しく劣化しているものなので,もったいないですが交換です。交換して,今度は電源を78L05の出力から入れてみます。電源を投入しますが,やっぱり状況は変わらず。発熱はなくなりましたが,波形は全然です。ここでちょっと頭を冷やしましょう。仕様書を見てみると,確かに電源電圧の最大定格は5Vですが,このICは電源端子があるわけではなく,出力端子にバイアス抵抗を介して電源を供給します。仕様書には12V時のバイアス抵抗の値が書かれており,私はこれを見てバイアス抵抗である91Ωを取り付けていました。いうことは,電源は12Vでいいんですよ。あー,交換しなくて良かったのに!まあ,済んだ事は仕方がありません。電源のミスではないなら,なにが原因なのか,考え直さないといけません。一度基板を眺めてみます。回路図と確認すると,あったあった,間違いがありました。SGA-6386の電源に入れるバイパスコンデンサですが,私はなんと勘違いをして,SGA-6386の出力端子とGND間に入れていました。これじゃ,出力端子が交流的にGNDに落ちてしまい,せっかくの出力がでてこなくなります。このコンデンサを正しい場所に取り付け直して確認すると,ちゃんと動きました。128MHzを入れると,カウンタは1MHzを表示します。波形を確認したのですが,電圧ゲインは50Ωで5倍でした。電力のゲインが25倍になるとすれば13.9dBです。大体設計値通りですね。波形はあまり綺麗ではないのですが,一応動いているという事で,53131Aに取り付け作業を行うことにしましょう。本当は,基板が完成した所で写真を撮るつもりだったのですが,すっかり忘れていました。見肉ですが,取り付け後の写真です。基板上に黒い大きな部品がいますが,これは78L05です。主役たるプリスケーラも,広帯域アンプも小さすぎて良く見えません。数日後,コネクタ類が届きました。回路図通りにコネクタを取り付けて内蔵してから,電源を入れます。お,ちゃんとCH3が選べるようになっていますよ。SGから128MHzを入れてやると,ちゃんと128MHzと出ています。100MHz程度の周波数では,感度が低くてダメですね。CH1やCH2に比べると,感度が低くてどうしようもないです。いうことで,一応トラブルもなく,プリスケーラを自作して内蔵することができました。え,これで終わり?動作確認は?そうなのです。実は私,130MHzを越える周波数の信号源を持っていないのです。プリスケーラなんて,全く必要のない世界の住人だったのです。動くかどうかも,感度がどれくらいかもわからないのは気持ち悪いですが,いつかGHzオーダーの信号が手に入ったら,動作の確認をしてみたいと思います。16:11カテゴリー:make:GPSDOを作ってみようという計画をちょっとずつ進めているのですが,先に手軽に出来る事として,GPSモジュールのステータスを表示するマイコンとLCDの準備をしてみました。なにも大げさな話ではなく,かつて作ったGPS時計そのものです。シリアルで流れてくるNMEAをデコードし,LCDに表示するだけのものなので,Tiny2313で十分でしょう。表示したいデータは,日付,時刻,捕捉した衛星数,ステータスですが,これに加えてステータスがInvalidになった回数と,停電を示すマークを表示させたいと思っています。ステータスも,単なる数字と言うよりは,ちゃんとInvalid,2D/3D,DGNSSくらいは表示させたいですし,日付も時刻もなかなか桁数が多いですから,16桁x2行くらいのキャラクタ液晶では厳しいです。うーん,仕方がないから,グラフィック液晶を試してみますか。グラフィック液晶は,かつて低消費電力目当てで入手したノキアの3310という液晶が手元にあります。その後このプロジェクトは頓挫したので,全く使わずじまいになっていますが,もったいないので使ってみましょう。このLCDは,84ドットx48ドットというものですが,コマンドも扱いやすく,消費電流も低いので,世界中のホビーストが遊んでいます。基本的にはSPIにコマンドとデータを示す端子があるだけのものですから,そんなに難しくはないはずです。aitendoの液晶LCD8812K-04で作ったプログラムの大部分が流用出来ます。やってさっさと作って,GPSモジュールに繋いでみました。グラフィック液晶は任意の図形を表示出来ますが,キャラクタジェネレータを内蔵していませんので,キャラクタのビットマップデータは当然マイコン側に用意しないといけません。2kBのtiny2313でキャラクタのデータはかなり負担が大きくて,まともなプログラムなんか組めないと思っていたのです。キャラクタは横6ドットx縦8ドットで,キャラクタ液晶のフォントを参考に作りました。1キャラクタあたり6バイトですので,仮に100文字用意したら600バイトです。大きいような,小さいような・・・これを定数として書き込みました。キャラクタコードと一致させれば処理が簡単なのですが,使わない文字も出てきますので,キャラクタコードが変わってしまうこともやむなし,使わないキャラクタは削除しプログラムを小さくします。表示をしてみると,同じ大きさの文字がずらずらと表示されて,見にくくて仕方がありません。そこで時刻表示は懐かしの倍角にしてみました。縦1列のデータを2回書くだけで倍角になるので,コードもほとんど増えません。間延びした感じが不細工ですし,やっぱり見にくいままです。そこで倍角にする時には2行使い,上下に4ドットのスペースを入れてみることにしましょう。お,なかなか見やすくなりました。とまあ,LCD3310は簡単にできました。うーん,でも,表示がメインの危機ではなく,ちゃんと動作しているかどう見るためにモニターですから,こんなに大きい表示である必要はありません。それに,LCD3310は今や貴重です。消費電流がわずか0.3mAというのは,ちょっと他にはありませんから,今でも入手できるLCDを考えたいところです。思い出したのは,先日秋月で,ichigoJamポケット用に,超小型のグラフィック液晶AQM1248Aを買ってあったのでした。データシートを見ていると,電気的にはLCD3310とほぼ同じです。LCD3310よりも小さい液晶ですが,128ドットx48ドットと画素数はずっと上です。この大きさでこの画素数ですから,結局大きな文字を表示するしかなくて,文字数は少ないままに終わるんじゃないかと不安もあります。VRAMの構造もLCD3310に似ていますが,表示位置の指定は上位4ビットと下位4ビットを2つのコマンドで指定するので,ちょっと面倒です。なんとかいいつつ,AQM1248A用にプログラムを修正しました。同じ内容を表示してみると・・・見にくくて苦痛です。横幅が広いことでバランスが崩れていることもありますし,小さいという事もあって,じっくり目をこらさないと読み取れないレベルです。まあモニター用途ですのでこれでもいいんですが,時刻くらいはぱっと見ただけで読み取れるようにしたいです。そこで例によって倍角にしたのですが,文字が小さいせいでやっぱり見にくいです。読み出したデータを4ビットごとに分割し,これを8ビットに拡張して1行目に二度打ちします。改行して残った4ビットを8ビットに拡張して二度打ちして終わり,なんですが,この段階ですでにメモリがギリギリです。かけ算ではなくシフトを多用し,出来るだけループでまとめて,それでも足りない分は仕方がないので,キャラクタのビットマップデータを削りました。キャラクターコードも変わってしまうので手間ですが,仕方がありません。そんなこんなで,一応完成しました。実機にはAQM1248Aを使う事にします。JSTに変換していますので,それも表示しています。右端にある*ですが,これは起動後リセットボタンを押すまで表示された状態になります。リセットボタンを押すと,このマークが消えて,後述するUnlockもゼロになります。なんの意味があるのか,と思われるでしょうが,停電したことを示す表示として使います。ご承知の通り,GPSDOはGPSからの信号が受信出来なかったり,電源が落ちてOCXOが止まってしまったら,精度が出ません。もとの精度に戻るまで,数日かかります。停電したり,衛星をつかみ損ねたことを知らせてくれないと,今出ている周波数が信用出来るかどうかが分からないのです。そこで,起動してから衛星をつかまえたことを確認したら,リセットボタンを押して*を消します。このまま*が消えている間は,少なくとも停電は起きていないといえるわけですね。4倍角で表示しているので見やすいです。1PPSに同期していないので,1秒以内の誤差は存在します。次はつかまえている衛星の数です。GPSでは最低4つの衛星をつかまえると位置情報が得られるのですが,常に位置情報を得るには4つでは不足で,時間の経過によっても安定した時刻情報を得るには,10個程度の衛星をつかまえてくれると安心です。受信状態の目安にもなりますし,衛星の数の表示というのは非常に重要です。次の行はステータスです。その時の位置情報,つまり時間の情報が信用出来るのかどうかを示しています。Invalidが信用出来ない状態です。4つ以上をつかまえて位置情報が得られた場合には2D/3Dと表示します。NEO-6MはSBAS(MTSAT)を受信してDGNSSが可能になっているので,このモードになっているときにはDGNSSと表示します。これ,確かに測距精度が一桁上がるといわれていて,大変ありがたいものなのですが,今回私があてにしている1PPS(10kHz)の精度にどう影響するのか,はっきりわかりません。時刻情報の精度が上がるのはあきらかです。その時刻情報の精度は,電離層などを通過する際の誤差などを相殺することで向上させているという事ですから,単純に考えれば1PPSも精度が上がりそうなものです。絶対時刻ではなく,1PPSはあくまで周期の話です。これをわざわざ長時間積分して誤差をなくして使うわけですから,DGNSSになってもあまり意味がないように思うのですが・・・10E-8で3mの誤差と言われています。これが一桁改善すると10E-9です。長時間の積分では,収束時間が短くなるだけで,最終的な精度にはあまり差が出ないのかも知れません。Invalid,2D/3D,DGNSS以外のステータスになったときには---と表示されるのですが,そういうことはおそらくないでしょう。最後の行はUnlockです。これは,ステータスがInvalidになり,衛星の原子時計とOCXOがロックしない状態になったとき,カウントされます。なんでこんな物が必要かというと・・・ある瞬間に衛星がつかまえられずに時間情報が信用出来なくなり,数秒後に再度つかまえたとしましょう。現時点ではGPSモジュールからのデータは信用出来るのですが,あいにくOCXOがその周波数にロックするには数日かかりますから,実はこの段階で出力される基準周波数は,まだ信用出来ないものということになるのです。過去にInvalidになったことを表示してくれないと,そんなことは分からないわけです。そこで,これまでにInvalidになった回数を数えておくことにしました,数が多い場合には設置場所が悪いか,アンテナに異常があるか等で,基準周波数の精度が低いという事になります。逆に,Unlockのカウンタがゼロのままなら,電源投入から一度も精度の低い状態に陥っていない事になりますから,前回リセットボタンを押してから経過した時間の間,ずっと衛星をつかまえてくれていて,OCXOがゆっくり時間をかけてその時間情報にロックしていることになります。電源投入時は当然衛星を全くつかまえていませんので,この状態でInvalidであることはカウントしません。一度2D/3DかDGNSSになってからInvalidになった回数を数えています。先程のリセットボタンですが,Unlockの状態をゼロにする方法がないと不便だからということで,停電表示マークのリセットと兼ねてみました。衛星をきちんとつかまえてからリセットし,その後カウントが増えなければ,そこから先は制度が崩れていないことが明確にになります。本当は,2D/3DもしくはDGNSSになった時刻を表示して,いつからGPSモジュールが信用出来る状態かを確かめることが出来るようにしようと思ったのですが,メモリ不足であきらめました。そこまではいいでしょう。いうことで,GPSモジュールの状態を表示するソフトが先に出来てしまいました。自動車用のGPSアンテナは先に購入してあり,コネクタをSMAに交換して,すでにGPSモジュールに繋がって動作しています。屋外にアンテナを出すと安定して11個から12個の衛星を常に掴んでくれます。あとはPLLを作って,OCXOをロックさせればいいんですが,回路規模が小さいとはいえ,それでも時間はかかります。あいた時間でコツコツやろうと思います。離乳食作りの負担を減らしてあげようと,嫁さんにプレゼントしたブラウンのブレンダー「マルチクイックMR730cc」は,夕食を毎日作る事になった私にとって,大変便利な調理家電になりました。なんといってもコードレス。たかがコードを差し込むだけの手間を惜しんで・・・というなかれ。濡れたり汚れた手でACコードを差し込むのはなかなか手間ですし,危険です。調理家電こそコードレスにすべき物だとつくづく思います。MR730ccはブレンダーですので,先端がベルのように広がった部分に高速回転するカッターが付いている状態が標準ですが,そこはさすがにブラウンだけあって,アタッチメントを交換することで,様々な調理が可能です。2013年に購入した際には,小型のチョッパーでみじん切り,それと卵などの垣間関が付いてきました。これだけでも随分楽ができそうなものですが,実はこのチョッパーが今ひとつでした。大きさがやや小さいことで,多い場合には2回に分けないといけないです。切れ味もあまり良くないのか,均等にみじん切りが出来ません。大根おろしは綺麗に出来ますが,玉葱やにんじんは厳しいです。それに,フードプロセッサーとは違うので,千切りやスライスは出来ません。した手間のかかる調理こそ,機械でやると早いんですよね。調べて見たところ,他の機種に付属しているフードプロセッサーアタッチメントが,MR730ccにも使えそうなことがわかりました。機種名はMFP6000と言います。高価で,本体よりも高いとはこれいかに,という感じではあるのですが,調理家電にとって収納を含む場所の問題というのはお金以上の深刻さであり,いくら楽が出来るからと行って安価な専用機を買い増しするほど,うちは広くありません。それに,アタッチメントで機能拡張なんて,男の子はもうワクワクですよ。そんなわけで,約13000円とちょっと高かったのですが,便利になることを期待して買いました。心配なのは,本当にMR730ccに使えるのかどうかです。構造的に勘合するかもそうですが,実はMR730ccにはスピードコントロールがありませんので,低速回転で使うことが前提なら,まともに使えないと言うことになります。それに,MFP6000を付属する機種というのはパワーのあるAC駆動モデルです。コードレスだとパワー不足で,途中で止まるなどの問題があるかもしれません。届いたMFP6000は,いかにも部品扱いという感じの無地の箱に入ってきました。想像以上に大きなバスケットがあり,またよく切れそうなカッターが4枚ついてきます。どれも片付けが面倒な印象です。取説も簡単なコピーが1枚付いてくるだけですので,初めて使う人には難しいかも知れません。過度な親切を期待するとがっかりしますので,そこは気をつけないといけません。カッターは4種類ついていて,千切りの大と小,スライスの大と小があります。これをローターにはめ込んで使うのですが,これ以外にチョッパーもついていて,みじん切りに使うようです。このチョッパーの刃がとても鋭利で,MR730ccの付属の物とは一味違う感じです。私はにんじんの千切りが苦手なので,これが手早く安全に出来ると革命的です。千切りの大をセットし,にんじんを適当な大きさに切り,投入口に突っ込みます。MR730ccのスイッチを押して,上から棒で押し込みます。回転速度が遅いと綺麗に切れると思うのですが,トルクは思った以上にあり,にんじんを突っ込んでも全くへこたれません。ものの数秒で1本のにんじんが,5mmくらいの太さになりました。これをわずかな塩でもみ,オリーブオイルでさっと炒めると一品完成。「うまい」「じゃがいものような香ばしさがする」「どんどん食べられる」と,絶賛です。確かに,ほくほくとした香ばしさはにんじんではないような香ばしさです。これはかなり美味しいです。包丁で千切りにしたときとは明らかに味が違うのですが,これだけ違うなら,調理方法をその都度選択する必要さえあるでしょう。実際に,後日作った春巻でにんじんの千切りをしましたが,包丁で作った千切りと違い,無理にこそげてカットしている関係から,断面はザラザラしており,ねじれています。そのせいか水がたくさん出てしまい,具材がオレンジ色に染まり,皮から染み出してしまいました。食感と香ばしさが勝ってしまい,春巻の味のバランスが完全に崩れてしまいました。これは,手間がかかっても包丁で切らないとダメです。にんじんはスライスもやってみましたが,これも美味しく食べられました。キャベツはスライサーを使って千切りを試みましたが,これは3cmくらいの長さのみじん切りに近い物になってしまいましたが,味は悪くありません。フードプロセッサーは準備と片付けに手間がかかるので,これを固定費と考えると,損益分岐点は案外手軽ではなく,にんじんなら最低1本,キャベツでも半玉,キュウリなら2本という所が,使って便利になる分量じゃないかと思います。片付けは,ローターとカッターだけを食洗機で洗っています。バスケットは大きすぎて洗えません。カッターだけでも食洗機で洗えると全然楽ですし安全です。いうことで,MFP6000は,思った以上に使えます。MR730ccでも問題なく使えますし,MR730ccの能力を大きく拡大します。意外だったのは,包丁の代わりというのではなく,フードプロセッサーだからこその味が得られることです。省力化ではなく味で調理家電を選ぶ事になるとは,思ってもみませんでした。片付け場所の確保は確かに大変でしたが,それさえなんとかなれば,これは確かにいいです。ブレンダーとフードプロセッサーを別々に買うよりずっといいですし,なによりコードレスです。フードプロセッサーでコードレスなんてのは,そんなに選択肢があるわけではないと思います。調理家電にまだまだ抵抗のある人は多いと思います。手間がかかる,面倒,自分でやった方が早いなどなど。世の中確実に進歩しています。便利な物はどんどん使って,楽をしながら美味しくご飯を食べましょう。08:19カテゴリー:make:さて,HP53131Aの続きです。53131Aには高精度オプションが用意されていて,これを使うと内蔵発振器の精度を10E-9まで高める事が出来ます。OCXOになっているのは当然のことなのですが,このOCXOは電圧制御で周波数を動かす事が出来るもので,その制御電圧はDAコンバータでカウンタ本体から生成されます。正確な10MHzを入れて校正スイッチを入れると,OCXOを調整して10MHzになるようにしてくれるようです。電子校正と取説に書かれているのはこれの事のようです。確かにこれは便利ですね。このDAコンバータがなかなか高価で入手が難しいらしく,自作する場合の最大のネックがこれなんだそうです。高精度なOCXOの入手がそんなに難しくないというのが,今どきの話だなあと思います。OCXOにしてもTCXOにしても,どのみち校正が必要なものである以上は,調整方法に外側からアクセス出来ないといけません。電子校正はその手段の1つではありますが,それが難しいなら,手動で合わせる事になります。私が持っているOCXOの1つは,なかなか高精度な実力を持っている上に,電源電圧は5V,電圧制御は出来ないですが,トリマで微調整が出来ます。出力は5Vの矩形波です。これを内蔵しようかと思ったわけですが,やっぱり校正が面倒だという理由で,外に置くことにしました。電源だけは53131Aからもらうことにし,24時間通電をすることとしますが,クロックは外部クロック入力に突っ込みます。GPSの8MHzで校正をかけます。丸2日微調整を繰り返しましたが,3日後以降は9桁目が±1しかずれなくなりました。GPSですから,短期的な揺らぎが結構あるのがわかります。これを使って基準クロックを調整出来ても,うまくいって10E-8くらいでしょうから,9桁は全然信用出来ないんですけどね。ところで,なんでこんなことをやっているかという話に戻るのですが,TCXOで作った時計が,予想よりも狂わないのが不思議で,ちゃんと測定しないとなあと思った事が理由です。TCXOって、1ppmくらいの精度です。1ppmといえば10E-6ですが,これは100万秒に1秒ずれる計算になります。100万秒と言えばすごい数字ですが,一日が86400秒だと考えると,わずか11日で1秒も狂うんです。これは時計としては今ひとつです。実査に作って見たものは,11日どころか,半年くらいでようやく1秒狂うかどうか,という感じなのです。測定すれば一発でわかると思いきや,10E-6程度の周波数カウンタでは意味がありません。それで,10E-9くらいの精度は最低必要という話になっています。GPSはそのままでも1秒ごとに10nsくらいのゆらぎであり,これは10E-8くらいの精度を持っていることになります。この周波数を基準にして,時計のTCXOをざっくり測定すると,32.768kHzは32.7680020kHzとなりました。精度は6.1E-8となるわけで,1秒ずれるのにざっと190日かかる計算となります。うん,半年くらいで1秒という現実に,概ねあっていますね。とまあ,自分がここまで高精度な時間軸を本当に必要とするとは夢にも思わなかったのですが,時計というのは小さな誤差でも積み重なって大きな狂いを膿みますので,やはりこのくらいの精度が必要なんでしょうね。一桁改善した時の効果が大きくて,3年に1秒のズレを一桁改善すると,30年に1秒しか狂わなくなります。当たり前の事ですが,人間の一生なんて本当に短く,我々は長い長い時間の流れを,ほんの一瞬だけ生きているんだなあと思いました。ここらでちょっとまとめてみます。1秒ずれるのにかかる時間と,精度の関係です。3000万年ちなみに,普通の水晶発振子が1E-5くらい,TCXOで1E-6程度,OCXOだと1E-7から1E-8と言われています。地球の自転周期が1E-8,公転周期が1E-10だそうです。ルビジウム原子時計が10E-13,セシウム原子時計が10E-14くらい,そして一次標準器という一番精度の高いセシウム原子時計で10E-15くらいという話です。光格子時計という最新のものだと,なんとまあ10E-18まで見えているそうで,こうなると300億年に1秒のズレになります。これくらいになると,もう非現実な世界になってきます。なにやら,こういう高精度な時間標準のために,底なしの戦いに身を投じることを,高精度病というらしいのですが,残念ながら私は原子時計に手を出していないので,罹患していないと断言出来ます。53131Aを意味のある測定器にするためにも,やはり10E-11くらいの精度は,手に入れたいものです。話を戻すと,TCXOの時計を10E-9レベルの基準クロックで測定してみました。源発の26MHzは26.0000020MHzでした。CLK0からの出力は32.7680020kHzでした。精度を計算すると,源発は26MHzに対し-7.69E-8,CLK0は32.768kHzに対し-6.10E-8です。これは,それぞれざっくり150日で1秒のズレと,190日で1秒のズレということになります。TCXOのい時計は,2ヶ月動作させて0.3秒くらいのズレだったので,おおよそこの測定結果とあっています。源発のずれと32.768kHzのズレは一致していないといけないはずで,そうなっていないというのは,やはり基準クロックの精度が低く,そのせいでそれぞれのクロックを正しく測定出来ていないんだろうと思います。一桁,さらにもう一桁精度が上がると,もう少し測定結果が揃ってくるんじゃないかと思います。なってくると,高精度の周波数基準が欲しくなってきますね。桁数の多い周波数カウンタを手に入れても,ウソの表示が出ているだけというのは寂しい物です。原子時計は個人では持ちたくないし・・・GPSDOを作ってみましょうか。13:00カテゴリー:make:先日からレストアをしていた周波数カウンタ,HPの53131Aのレストアが終わり,実際の測定に活躍し始めました。今回はその前編として,レストア終了までをまとめます。手元に届いた53131Aは1996年頃の製造と言うだけあり,お世辞にも綺麗とは言えない物でした。端子はくすんでいたり,赤いサビが浮いていたりしましたし,強制空冷の機器にはよくある黒いホコリが内部にはたくさん溜まっていました。その空冷ファンは長年の酷使によって大きな異音を発生させており,交換は必須です。ケースを分解して可能な限りハンドソープで水洗いをするのが私のやり方です。あわてて分解したのでリアのバンパーを外すときにケースを割ってしまいました。これは紫外線硬化型のBONDICで修理したものの,強度が足りずにまた壊れてしまったので,エポキシ接着剤で修理しなおしました。水洗いをすると,見た目以上に汚れているのがわかります。内部も水でもこぼしたかのような跡があったりするので,思った以上に程度は悪そうです。ファンですが,以前ここにも書いたように,この周波数カウンタは電源スイッチをOFFにしても常時電源が投入されており,ファンも24時間回りっぱなしですので,静かで低速回転のものが望ましいです。PCの自作が一般化して久しいですが,その恩恵はこうした空冷ファンを,価格や性能で様々なものから選ぶ事が出来るようになったことも1つあるかなあと,私は思うことがあります。DC12Vの4cmのファンですが,私は静音タイプのものを選びました。交換すると,本当に回っているのかなと思うくらい静かに,ゆっくり回ってくれています。分解の途中,フロントパネルを外すときにうっかり電源スイッチのキートップを外さないまま無理に外してしまったので,スイッチが壊れてしまったのです。オルタネートのDPDTで,ITTのPVA2-EE-H1というスイッチなんですが,これを同じ物を買おうと探したのですが,全く見つかりません。仕方がないので似たようなものを探そうとしたのですが,写真ではよく分からないのです。図面を見ながらあちこちのパーツ屋さんに似たような物を注文したのですが,届いたものは今ひとつな物ばかり。高さが合わない,キートップがはまらない・・・写真でそっくりだと注文したのに,届いてみると一回り小さい物が届いたとか,そんなのばっかです。唯一大きさも高さもすべてが一致したいるものが見つかったのですが,これは在庫切れ。納期1ヶ月という返事が来てあきらめました。仕方がないので記憶をたどると,風呂場に着いているヤマハのスピーカーの電源スイッチが,ちょうどこんな感じのスイッチだったことを思い出しました。壁からスイッチを外し,確認してみると,アルプスのSPPH110300でした。このスイッチは,軸が中心からずれているので,取り付け位置をずらさないといけないのですが,ちょうど1ピンずれた所でハンダ付けすると軸が真ん中に来そうです。53131Aの基板で確認すると,ずらしてもマウント出来ることがわかり,これでいこうということにしました。ヤマハのスピーカーのスイッチは,同じアルプスのSPPH2シリーズのスイッチをあてがっておきました。高さもピッチも軸の太さもなにもかも違うので,きっと中身を見た人はびっくりするんじゃないかと思います。ところが,左側に2.5mmほどずらして取り付けたことで,正面パネルをシャシーに取り付ける時に,スイッチに金属のフレームがあたってしまうことがわかりました。無理に悪阻込むとスイッチが分解します。結局,スイッチが分解しにくいようにテープでしっかり固定すること,それとフレームが入りやすくなるように,パネルのプラスチックを少し削りました。それでもかなり厳しいのですが,なんとか収まってくれたので,もうこれいいことにします。これで一応組み立てが終わり,期待通りに動き出しました。あれですね,レシプロカル式だから高速だと思っていたのですが,必ずしもそうではないんですね。アーミングを桁数で指定してやると,9桁でも数秒かかりますし,10桁ならさらにその10倍くらいかかります。被測定周波数によって測定時間も変わってくる(これは当然のことで,高い周波数になると周期が短くなるわけで,何周期も測定しないと桁数を稼げないからです)それでもまあ,8MHzとか10MHzを9桁で測定して,ほぼ1秒ですから,これまで私が使っていた周波数カウンタ(7桁で1秒かかる)に比べて,まさに天国のような使い心地なんですが・・・あまり使う事はないでしょうが,24時間通電して異常がないことを確認して,内蔵発振器を調整します。基準となるのはGPSモジュールから出てくる8MHzです。内蔵の発振器だと6桁くらいが限度で,それ以下はずっと変動していますし,調整のツマミでもきちんと追い込めません。6桁くらいでと割り切って,そこそこの精度であきらめました。長くなったので次回に続きます。ここまでで一応53131Aは正常に動作するようになりました。念のためセルフテストも通して見ましたが,すべて合格です。傷だらけですし,変色も破損もありますが,それも含めてうちに来たのが何かの縁です。大事に使ってやろうと思います。