私が高校生の時、趣味で自作した実験用直流安定化電源(0〜20V 1A)を押入れから引っ張り出して電子工作の為に使用し始めました。

↓ これ。作ったのは何十年前だったか、2桁の計算なので正確な所は分かりません。

 

ふと「リップルはあるのかな?」と思い、オシロスコープで観察してみた所。↓(入力信号の直流5VをACレンジで交流分だけ表示)

 

思い出の自作実験用直流安定化電源が、まだ使用出来るなんて嬉しいですね。リップルの件はオシロスコープで見ないと気付かない事なので、趣味の電子工作の実験用には困りません。

でも本当に大丈夫?

電源電圧5Vに対してリップル電圧の最大値が0.15Vも有るし、リップルの周波数が115kHzって高くない?

自作してから何十年も経過しているし、私が自作した物だから不安です。もちろんスイッチング方式では無く、私にでも出来たシリーズ方式の電源なのに。と思うと、リップルがあり過ぎの様な気がして来ました。

「立ち下がりが緩やかだね」と、トランジスタアレイの入出力波形を見て思いました。

INPUT(入力)の立ち上がりに比べてOUTPUT(出力)の立ち下がりが緩やかですよね。このトランジスタアレイの特性なのか、私の回路が原因なのか良く分かりませんが。

使用トランジスタアレイは、ソースタイプのTBD62783APGと、シンクタイプのTBD62083APGによる組み合わせです。

↓ 赤丸に囲まれた部分です。

うちのこの自宅サーバーをUbuntu 19.10 から 20.04 LTSにしました。

今までのサーバー用PCはそのまま放置。20.04 LTS用のPCは別な物を用意して、クリーンインストールしています。もちろんIPv4、IPv6のIPアドレスが変わるので、宅内ルーターのポートマッピング設定は変えました。

それに、うちの(jm1lxs.com)ドメインはお名前ドットコムで取得したので、同サイト内のDNSレコード設定でIPv6のグローバルIPアドレス(240fで始まるアドレス)を紐付けしました。

 

この投稿はUbuntu 20.04 LTSになった後に行いました。

約2年前に自作した14MHzのツェップ型アンテナのSWRを、久々にチェックしてみたらバンド内に収まっていました。

↓ 本日晴天時。

 

↓ 以前はこんな感じでした。上下共にその以前に測定。↓の上は降雨時、下は晴天時。

前回のGnuplotアニメーションに続いて、今回はX軸をプロットする毎に16秒分変化させて、以前より滑らかに動くようにしてみました。

動画にした方法は、MacのVNC上で画面録画しただけです。録画時間は約5時間35分、これを2分10秒まで縮めました。

 

↑ offset値が頻繁に上下していますが、これは生活ノイズ(ここでは電化製品のオンオフなど電気的ノイズを表現)で上下しています。多分、裸のGPSモジュールとラズパイの配線がワニ口クリップの長い配線のせいかも知れません。また、ラズパイのアップグレード中も30μs位変化した所を見たので、そんな要因も含まれます。

↓ 生活ノイズが無いと、このように落ち着いています。

 

↓ この動画の元になったGnuplotのスクリプト(C言語)です。なぜC言語なのかと言うと、Gnuplotのスクリプトだけで現時刻に応じてX軸の範囲を設定する方法が分からなかったからです。

/*
 * loopstats-plot.c
 *
 * gcc -Wall -o loopstats-plot loopstats-plot.c
 * 2020/02/10
 *
 * loopstatsのoffset値をGnuplotでグラフ化する。
 *
 * X軸は現時刻から-3600秒前の値を使用。
 * X軸は16秒毎に16秒分変化する。
 *
 */

#include <stdio.h>
#include <time.h>
#include <unistd.h>

#define YOHAKU 150

int main(void)
{
    FILE *gp;
    int s1, s2;
    
    gp = popen("gnuplot -persist", "w");
    
    fprintf(gp, "set encoding iso_8859_1\n");
    fprintf(gp, "set grid y2tics\n");
    fprintf(gp, "set y2range [-0.00004:0.00004]\n");
    fprintf(gp, "set y2tics ('40' 0.00004, '30' 0.00003, '20' 0.00002, '10' 0.00001, '5' 0.000005, '0' 0.00000, '-5' -0.000005, '-10' -0.00001, '-20' -0.00002, '-30' -0.00003, '-40' -0.00004)\n");
    fprintf(gp, "set xzeroaxis lt -1\n");
    fprintf(gp, "set timestamp\n");
    fprintf(gp, "unset ytics\n");
    fprintf(gp, "set title 'loopstats offset' font 'Helvetica,16'\n");
    fprintf(gp, "set xlabel '-3600 (s)' font 'Helvetica,14'\n");
    fprintf(gp, "set y2label 'offset ({\265}s)' font 'Helvetica,14'\n");
    fprintf(gp, "plot '< tail -225 /var/log/ntpstats/loopstats' using 2:3 with points axis x1y2\n");
    
    while (1) {
        time_t t = time(NULL);
        s1 = t % 86400 + YOHAKU;
        s2 = t % 86400 - 3600 - YOHAKU;
        
        // X軸設定 [現時刻−3600秒:現時刻]
        fprintf(gp, "set xrange [%d:%d]\n", s2,s1);
        fprintf(gp, "replot\n");
        fflush(gp); // ここで描画
        
        sleep(16); // 再描画まで16秒待つ
    }
    fprintf(gp, "unset output\n");
    fprintf(gp, "exit\n");
    pclose(gp);
    
    return 0;
}
$ gcc -Wall -o loopstats-plot loopstats-plot.c
$ ./loopstats-plot