ラベル GPS の投稿を表示しています。 すべての投稿を表示
ラベル GPS の投稿を表示しています。 すべての投稿を表示

2021/01/11

NTP Act.2 サーバーについて

ローカルエリア内に自前のNTPサーバーを立ち上げました。
stratum=1
0.050mS以内で動作している模様です。

と言っても、そもそも「NTP」って何?です。
私自身よくわかっていませんでした。
解説はここが良いかな↓
https://www.infraexpert.com/study/tcpip25.html

1] 階層化になっている点
2] NTPサーバーは、サーバーでもありクライアントでもある点
3] 問い合わせ時、往復遅延時間を計算しているスグレモノである点

を知ることができました。

自前のNTPサーバーの
ntpq -p -crv
で見る限り、
offset 0.001~0.05 の表示です。
0.050mS以下って凄いと思いました。

我が家のルーターは、
NTT東のフレッツ 光ネクスト経由でPlalaに接続しています。
ルーターの時刻設定は「バージョンアップサーバーに接続」。

ちなみに
NTT東日本 SNTPサーバーアドレス
2404:1a8:1102::a、2404:1a8:1102::b
なので、ntp.confでサーバー指定してないのにも関わらす
表示しているのはそのせいでしょうか?!。

公開NTPサーバーの一覧
https://neoblog.itniti.net/time-adjustment-open-ntp/
(2021/01/11現在、NICTはサービスを行っています。)

ラズパイをリブートし、NTPDの動きを見ました。
20分後にはすべての行で[377]になり、 40分後には、offset 0.001になりました。
(60分後には、offset -0.022になり、揺らいでいます)。
ntpq -p -crv の解説
https://www.apresia.jp/products/ent/np/usersguide/management/top.html?p=NP_ntp0_c_sh.html
http://nobuit.blog56.fc2.com/blog-entry-142.html?sp

bktクライアントソフトは10分間隔に設定し直しました。
06:38(JST)時点で作業用PCは、0.020S程度の「ズレ」で
収まっているという事になりますかネ?!









2021/01/08

NTP Act.1 クライアントソフトについて

ローカルエリア内に自前のNTPサーバーを立ち上げました。
stratum=1
0.050mS以内で動作している模様です。


↓ntpq の見方の解説によると
10mS=0.01S以内で正常動作と書かれています。
http://nobuit.blog56.fc2.com/blog-entry-142.html?sp

NTPクライアントソフト
「◆iネッ時計 ~インターネット時刻補正~」
http://pino.to/ntptools/

上記のNTPクライアントソフトで時刻合わせをし、ログ取りしていましたが、
「15分間隔」と「200mS超え」の壁が有り
残念ながら自分の使い方に合っていませんでした。

FT8をやっているアマチュア無線家の間では
交信相手局の時計のずれに合わせて微調整ができるのが特徴の
「BktTimeSync」がトレンドみたいです。

イタリアの[IZ2BKT]さん作なのしょうか。
https://www.maniaradio.it/en/bkttimesync.html

私は、自前のNTPサーバーなので、きがねすることなく
時刻合わせを1分間隔で設定でき、そしてログが取れます。
0.005S=5mS以下で合わせています。


基準時刻として参照にさせていただいたサイト
https://www.nict.go.jp/JST/JST5.html

追記 2021/01/09
bkt クライアントに切り替えたら
nict で確認すると「合っています」の結果です。
自前NTPとnictのズレは1mS以下に
自前NTPとPCのズレは5mS=0.005S以下で
収まっているはずですから納得です。

追記 2021/01/12
bkt クライアントを10分間隔に変更したら
自前NTPとPCのズレは20mS=0.020S以下になりました。

2021/01/07

GNSS

最近「GNSS」という文字が気になる。
全球測位衛星システム
https://www.gsi.go.jp/denshi/denshi_aboutGNSS.html
全世界測位システム
https://www.keisokuten.jp/static/sp_gnss.html
衛星測位システム
http://gnss.co.jp/wp-content/uploads/2016/07/ddd790b4eae745d43594c4f302b14761.pdf

「GNSSは、衛生測位システムの総称で。GPSは、米国のシステムを言う。」みたいだ。

2021/01/03

Raspberry Pi3 Model B Act.4

ブレットボードに載せ
今回の作業は終了とします。
iネッ時計 ~ インターネット時刻補正 ~
のログを見ると NTPサーバーとしてきちんと機能しているみたいです。

PCの内部温度など環境の変化で誤差の出かたは変わるので鵜呑みには出来ないですが、
ログからは1~2期間で200mSの誤差がでています。
iネッ時計は200mS以下の誤差では修正しないので
ExTimeというクライアントソフトで2回ほどクリックすると0mSになります。

iネッ時計 ~ インターネット時刻補正 ~
https://www.vector.co.jp/soft/win95/personal/se410272.html 
ExTime
https://www.vector.co.jp/soft/win95/personal/se081504.html





2021/01/02

Raspberry Pi3 Model B Act.3

Raspberry Pi3 Model B element14版
「GPS で NTPサーバー」
構築のためGPSレシーバモジュールを作成し、NTPサーバーを仮稼働しました。

秋月電子通商の
GNSS(GPS・GLONASS・QZSS)受信機アンテナ付セットキット
1PPS出力 みちびき3機対応
https://akizukidenshi.com/catalog/g/gK-13850/
を ユニバーサル基板 72×47mm の上に載せました。
基板上には
NJM2845DL1-33 5.0V→3.3V 用
74HCU04 1PPSの分岐用
BNCコネクタ 1PPS出力用
の各パーツを載せています。

構築に際し参考にさせていただいたサイト

1] https://denor.jp/raspberry-pi%E3%81%AB%E3%80%8C%E3%81%BF%E3%81%A1%E3%81%B3%E3%81%8D%E3%80%8D%E5%AF%BE%E5%BF%9Cgps%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E6%8E%A5%E7%B6%9A
2] https://notchi.hatenablog.jp/entry/2019/05/06/165659
3]https://nyanchew.com/?q=jp/raspberry-pi
4] https://qiita.com/RCA3610/items/c478bb087acdad418cd3
5] https://mirahouse.jp/n10/blog/2019/raspberry-pi-gps-ntp/

基準時刻として参照にさせていただいたサイト
https://www.nict.go.jp/JST/JST5.html

NTPクライアントソフト
「◆iネッ時計 ~インターネット時刻補正~」
http://pino.to/ntptools/










2020/12/30

Raspberry Pi3 Model B Act.2

Raspberry Pi3 Model B element14版
「GPS で NTPサーバー」
構築のため購入し「Raspbian」インストールしました。

解説(出典: フリー百科事典『ウィキペディア(Wikipedia)』)
Raspbianとは、DebianベースのRaspberry Pi用オぺーレーティングシステムの事。
Debian(デビアン)とは、LinuxディストリビューションのひとつであるDebian GNU/Linuxを中心とするUnix系システムのディストリビューションを作成しているプロジェクトを言う。
2020年5月に正式名称がRaspbianからRaspberry Pi OSへ変更されている。

Raspberry Pi3 でネットが繋がったの確認したら

作業PCからSSHでアクセスするための準備をします。なのですが
Linux
DHCP
SSH

「なんのこっちゃ」と思った方は理解に時間が掛かるかと思います。

作業PCには「TERATREM」をインストールします。

https://forest.watch.impress.co.jp/library/software/utf8teraterm/

Raspberry Pi3は、

固定IPアドレスの設定

https://www.hiramine.com/physicalcomputing/raspberrypi3/setup_staticip.html

SSHを稼働させます。

https://qiita.com/tomokin966/items/bc22d09f97ebeb3955d2


作業用PCからTeraTremでRaspberry Pi3にアクセス


2020/12/28

Raspberry Pi3 Model B

Raspberry Pi3 Model B element14版
「GPS で NTPサーバー」
構築のため購入しました。
本体
ACアダプター(5V/3.0A USB Micro-Bコネクタ出力)
その他、用意したもの
microSD 32GB
USBマウス
USBキーボード
モニター(HDMI-A入力)
HDMIケーブル(A-A)
LAN と 作業用PC

本体とACアダプター(5V3A)

モニター(HDMI-A入力)
HDMIケーブル(A-A)
USBキーボード
USBマウス
microSD 32GB

ラズパイにOSをインストールする新ツール「Raspberry Pi Imager」
https://www.itmedia.co.jp/news/articles/2006/05/news031.html

一番上の「Raspbian」を選んでインストールします。
SDカードができたら
カード装着
マウス、キーボード接続
HDMIケーブルでモニターに接続
LANケーブル接続
ACアダクター接続
最後に
ACアダプターをコンセントにさす。
起動、初期設定を済ませたら完了。

2015/10/18

IWATSU TS-8500 Act.3

TS-8500 で GPS 1PPS の波形を測定しました。

単掃引にし、トリガ発生後、一度だけ掃引させました。
パルス幅100mSが読み取れます。
1S間隔 で 3.3Vのパルスが発生しています。



2015/09/12

HP 5334B Universal Counter Act.4

2015/08/30
HP 5334B Universal Counter をGP-IB でデータを取得した時、
桁数が増えるという事を試験しました。

http://daikunomokichi.blogspot.jp/2015/08/blog-post_30.html

その追試です。
GPS 1PPS を計測した時、ゲートタイムを1Sより10Sの方が1桁多く取得できました。

EXCEL + VBA は即席なので画面周りがひどいですがご勘弁願います。
測定間隔は、20秒です。


EasyGPIB (木下清美氏)の設定で、タイムアウトは、
5秒から60秒に長くしました。

HP 5334B のタイムベースは、MT8820A の10MHz を使用しています。
(昨日、MT8820A ADJ は、1回と1/4くらい右に回しました。)
GATE TIME 10S → [ 1.00000000 ] でちらつくことなく安定に表示しています。


表3を見ると 11桁表示しています。
最小 0.999 999 9995 Hz
最大 1.000 000 0012 Hz

10MHzだったら -0.005~+0.012Hz になるのでしょうか?
ここまで来ると小生には、未知の領域です。



GATE TIME 1S

GATE TIME 10S 1st

GATE TIME 10S 2nd


MT8820A
----------
周波数範囲:30~2700 MHz
最大入力レベル:+35 dBm(Main 1)
Main 1入出力
インピーダンス:50 Ω
VSWR:≦1.2(<1.6 GHz)、≦1.25(1.6~2.2 GHz)、≦1.3(>2.2 GHz)
コネクタ:N型
AUX 1出力
インピーダンス:50 Ω
VSWR:≦1.3(SG出力レベル:≦-10 dBm時)
総合 コネクタ:SMA型
基準発振器
周波数:10 MHz
レベル:TTLレベル
起動特性:≦±5 × 10-8(電源投入10分後、24時間動作した後の周波数を基準)
エージングレート:≦±2 × 10-8/day、≦±1 × 10-7/year(電源投入24時間後の周波数を基準)
温度特性:≦±5 × 10-8
コネクタ:BNC型
外部基準入力
周波数:10 MHzまたは13 MHz(±1 ppm)、レベル:≧0 dBm、インピーダンス:50 Ω、コネクタ:BNC型
----------

09/13 追伸
変化量を再度計測。グラフにしました。
60秒毎 60回 所要時間 1時間 室温24℃

F  +9.999999985E-01 Min=-15
F +1.0000000031E+00 Max=+31

60回の平均 Avg=+8


左のHP 5316B(内部TB)表示単位は秒です。

自作のGPS時計 + 外部アンテナ

2015/08/14

HP 5316B Universal Counter

今年に入ってから、Hewlett-Packardに、ハマっています。10台目です。
 HP 5316B Universal Counter です。

足がなかったので、HP 3488Aから移植。
中を見てみると、基板上には、埃がまったくなく、
アルミケース内側に静電気チリが少しあるだけでした。

OPTIONS 001が装着されている。
TCXO Time Base で
Temperature: +-1×10-6 ,0℃ to 40℃

標準仕様の Time Base で
Temperature: <-5×10-6 ,0℃ to 40℃

小生の手持ちの OCXO
TOYOCOM TCO-6730C2
Temperature: +-2.5×10-8 ,0℃ to 65℃

動作確認は
HP 5316B INT.STD を
ADVNTEST TR5288 ( OCXO 10MHz をEXT.STDに、接続済み。)
で計測。
TCXO は、10.000002MHz ~ 10.000003MHzを約0.5秒間隔で交互に表示。
その状態で、GPS時計 1PPSをHP 5316Bで計測。
999.99975 -3
と表示。
0.99999975Hzである。

ツジツマが合う?

OPTIONS 001 TCXO Time Base は、 ADJ ができるようなので
後ほど、調整してみたい。

GPS 1PPS の精度は、5×10-13だそうです。↓を参考にしました。 
http://www.cqpub.co.jp/hanbai/books/45/45451/45451_p151-216.pdf


外も中もきれい。
20年近く前の製品とは思えない。
TCXO Time Base
大きい。
1996年製造のICが見つかる。
自作GPS時計
TOYOCOM
TCO-6730C2
通電6時間経過
追記
TCXO Time Base ADJ を
約45度右回転した。



追記2
サービスマニアルによると
10.0000035MHzにするのが正解らしい。
と言うことは、狂わせてしまった???のかな!

「ちょっと待ってお兄さん!」

「TCXOのCOVERにLABELがあり、OFFSETが書かれているので、それに合わせる事」

のようです。TCXO本体カバーの写真を見ると「0Hz」と読み取ることが出来ます。


2014/07/07

GPS redio clock Act.6

スケッチを改良しました。
/*
GPS radio clock 2.02
 2014/07/07 daikunomokichi
*/
#include <Wire.h>
#include <wI2cLcdACM1602.h>
wI2cLcdACM1602 lcd;
int dHour = 0;                          //JST「時」
int dHour0 = 0;
int dHour1 = 0;
int dHour2 = 0;
int dMin = 0;                           //内部「分」
int dMin0 = 0;
int dMin1 = 0;
int dSec = 0;                           //内部「秒」
int dSec0 = 0;
int dSec1 = 0;
int dSec2 = 0;
int dSec3 = 0;
int dIntpin = 2;                        //割込D2
char buf[256];
int count = 0;
char* gpsTime;                          //個別データ用の文字列用ポインタ
char* gpsCnt;                           //個別データ用の文字列用ポインタ
char dRun = 0;                          //補足完了
void setup()
{
    Serial.begin(9600);
    Serial.println("$PMTK220,500*2B");    //データ更新レート 2Hz
    Wire.begin();                         //I2C初期化
    lcd.begin();                          //LCD初期化
    lcd.clear();                          //全クリア
    lcd.noBlink();                        //カーソル点滅なし
    lcd.noCursor();                       //カーソル表示なし
    lcd.setCursor(0, 0);
    lcd.print("Preliminary GPS");         //最初のメッセージ表示
    lcd.setCursor(0, 1);
    lcd.print("2.02 by mokichi");         //最初のメッセージ表示
    pinMode(dIntpin, INPUT);
    attachInterrupt(0, yCnt, RISING);
    //attachInterrupt(0,yCnt, FALLING);   //HIGHからLOW
    delay(1000);
    lcd.clear();
}
void loop()
{
    count = 0;
    do {
        if (Serial.available()) {
            buf[count] = Serial.read();
            count++;
        }
        if (count > 250) {
            break;
        }
    } while (buf[count - 1] != 0x0A);
    buf[count] = '\0';
    if (0 == strncmp("$GPGGA", buf, 6)) {
        strtok(buf, ",");
        gpsTime = strtok(NULL, ",");        //m1>UTC時刻の抽出
        strtok(NULL, ",");                  //m2
        strtok(NULL, ",");                  //c1
        strtok(NULL, ",");                  //m3
        strtok(NULL, ",");                  //c2
        strtok(NULL, ",");                  //d1
        gpsCnt = strtok(NULL, ",");         //d2>測位に使用した人工衛星の個数
        lcd.setCursor(14, 1);
        lcd.print(gpsCnt);
        lcd.print("  ");
        dMin0 = gpsTime[2];
        dMin1 = gpsTime[3];
        dMin = ((dMin0 - 48) * 10) + dMin1 - 48;
        dSec0 = gpsTime[4];
        dSec1 = gpsTime[5];
        dSec2 = ((dSec0 - 48) * 10) + dSec1 - 48;
        dHour0 = gpsTime[0];
        dHour1 = gpsTime[1];
        dHour2 = ((dHour0 - 48) * 10) + dHour1 - 39;
        switch (dHour2) {
            case 24:
            case 25:
            case 26:
            case 27:
            case 28:
            case 29:
            case 30:
            case 31:
            case 32:
                dHour = dHour2 - 24;
                break;
            default:
                dHour = dHour2;
                break;
        }
    }
    dSec3 = dSec - dSec2;
    switch (dSec3) {
        case -1:
            dRun = -1;
            break;
        case 0:
            dRun = -1;
            break;
        case 1:
            dRun = -1;
            break;
        default:
            dRun = 0;
            break;
    }
    if (dRun != 0) {
        lcd.setCursor(0, 0);
        lcd.print("GPS radio clock");
    } else {
        lcd.setCursor(0, 0);
        lcd.print("Preliminary ");
        lcd.print(dSec3) ;
        lcd.print("    ");
    }
    lcd.setCursor(6, 1);
    lcd.print(dSec / 10);
    lcd.print(dSec % 10);

    lcd.setCursor(0, 1);
    lcd.print(dHour / 10);
    lcd.print(dHour % 10);
    lcd.print(":");
    lcd.print(dMin / 10);
    lcd.print(dMin % 10);
    lcd.print(":");
    lcd.setCursor(8, 1);
    lcd.print("(JST)");
    lcd.print(char(222));
}
void yCnt()
{
    dSec++;
    if (dSec > 59) {
        dSec = 0;
    }
    if (59 == dSec2) {
        dRun = -1;
        dSec = 0;
    }
}

2014/06/19

GPS redio clock Act.5

動作確認をしたら、GPSへのコマンド送信が
AE-ATmegaからは送れるのですが、PCからは送れませんでした。
急遽、切り替えのショートピンを設け対応しました。
モニタの方は、同時に出来ます。

しばらく様子をみて、ケースを考える事にします。
I2Cで、LED表示装置の追加できるか試したいです。



6/20 追記

① USB 5.0Vからも電源供給できるようダイオード1N4148を1個追加しました。
5.0V→4.2V→3.3Vになっています。
② GPSへのコマンド送信がうまく送れなかったため切り替えのショートピンを設けましたが、
ダイオード1N4148を2個追加し、切り替え無しで送れるようになりました。