2023年4月30日日曜日

ニキシー管時計のアッパーライト制御プログラム

ニキシー管を下から照らすアッパーライトの制御プログラムを書きました。microSDに書き込んだ設定ファイルを読み込んで点灯させます。

以下はデモ用に虹色で点灯させてみた様子です。iPhone 6sのカメラがイマイチで十分表現できていませんが肉眼だともう少し虹色に見えます。


前回はリング状のWS2812B(NeoPixel)で点灯試験しましたが、今回は作った基板にLEDを載せています。ピンヘッダは秋月の丸ピンソケットに挿せるもの(少々高い)。左端が丸ピンソケットです。これをユニバーサル基板に実装し、ニキシー管基板は差し替えられるようにする構造。

6桁分作りました。ニキシー管はメインの基板ができてから最後に実装しようと思います。


ブレッドボードに挿して点灯させた様子。当初電源に0.1uFのセラコンを付けなかったら、WS2812BがRGBの2色以上表示させると暴走して消える現象が発生し、白やオレンジなどが点灯できなかった。2色以上で電源ノイズが大きくなる模様。1色なら大丈夫だった。セラコンは基板に実装できるようにしておくべきでした。ちなみにリング状のNeoPixelには基板に付いていた。右奥にmicroSDソケットが見えます。秋月の基板を使いました。



以下のような設定ファイルをmicroSDに格納してあり、時間ごとに各桁の色を指定できます。12:00~15:00は6桁とも紫色(V)、15:00を過ぎるとデフォルトの虹色(トップの写真)で表示する例です。ちょっと凝りすぎな仕様かも知れない。
# setting for uplight LEDs
# color:  R:Red, G:Green, B:Blue, W:White, O:Orange, V:Violet, Y:Yellow
COLOR  BRIGHTNESS  30
COLOR  WIFI        RGBRGB # LED scan color while WiFi connecting
COLOR  DEFAULT     ROYGBV # Rainbow color
COLOR  06:00-08:00 YYYYYY
COLOR  08:00-12:00 GGGGGG
COLOR  12:00-15:00 VVVVVV
COLOR  18:00-20:00 OOOOOO
COLOR  20:00-00:00 WWWWWW


設定ファイルには、この他にも以下のようなものを記載できる。まだ全機能は実装できてない。

#-----------------------------------------------------------------------
# setup file for NIXIE tube clock
#-----------------------------------------------------------------------
# If IP address is dynamically assigned, following definition are not required.
IP_ADDR      192,168,0,79
GATEWAY      192,168,0,1
SUBNET_MASK  255,255,255,0
DNS_SERVER1  8,8,8,8      # Google DNS primery server
DNS_SERVER2  8,8,4,4      # Google DNS secondary server

# WiFi access point
WIFI_SSID     your_wifi_access_point
WIFI_PASSWORD your_wifi_password

# NTP server
NTP_SERVER1   ntp.nict.jp
NTP_SERVER2   time.google.com
NTP_SERVER2   ntp.jst.mfeed.ad.jp

# setting for clock
NTP_ACCESS    00:00       # Daily access time to ntp server 
SLEEP         22:00-06:00 # Nixie tube and LED off time
REFRESH       15          # Refresh period (min) for anti cathode poisoning. 15, 20, 30, 60
DISP_MODE     24H         # 12H or 24H

最近仕事ではpythonが多く、pythonだとこのようなテキスト処理は簡単なのですがarduinoだと意外と面倒でした。正規表現 <Regexp.h> の動作に苦戦した。面倒でエラー処理を省略してあるので、間違えた記述があるとおかしな動作をする。

2023年4月29日土曜日

中華な半田ごてがダメダメだった

今使っているgootの30Wの半田ごてが時々熱量が足りないと感じることがあったので、アマゾンで売られていた80Wの温調付き半田ごてを買ってみたらダメダメだった話しです。安さに釣られてしばらく前に買って放置してあったのですが、ニキシー管時計の半田付けに使ってみようと試してみました。

アマゾンのページには80Wと書いてあります。電圧は書かれていないので当然100Vだと思った。



届いたパッケージがこれ。


パッケージを開けると220V,110Vとなっています。また、FOR INDUSTRIAL USE ONLY の文字がある。電圧切り替え回路などはないと思うので、220Vのときに80Wのようです。以前、グルーガンを買ったとき も50Wと書かれていたが240Vのときだった。懲りないな、自分。単純計算で220Vで80Wなら100Vだと36W程度? 今持っているものとあまり変わらない。

表には FOR INDUSTRIAL USE ONLY と書かれているが、裏面にはDIY用、日常家庭用となっていてテキトウです。


アマゾンのページの写真を拡大すると 110-220V となっていたが気付かなかった。写真以外には電圧の掲載はない。


上の写真は360℃の設定ができるようだし、下のグラフは220℃の設定もできるようだが、実際に使ってみたら50℃単位しか変更できなかった。精度はあるか分からないが10℃単位で変更できるのかと思って購入した。200℃から50℃刻みで450℃までしか設定できない。


取説では温度調節単位は50℃になっているので、仕様と動作は合っている模様。でも写真やグラフは嘘っぱち。


極め付きは使用電圧範囲が110-220Vなのに、コンセントプラグは定格125Vまでのモノが付いていた。いいのか?


電源を入れた様子。取説や写真はLCD表示になっているが7セグLEDのようだ。また、℃の表示もアマゾンの写真と違う。実物は℃の下に華氏を表すFが薄っすら見えている。華氏表示に変更できるのかと色々試したができなかった。正しい温度なのか、放射温度計で測ろうとしたが、こて先は光沢があって反射しているので測れなかった。


実際に350℃でピンヘッダを半田付けしてみたが、熱量が少ない感じ。400℃にしてもあまり変わらなかった。一応半田付けはできるが今まで持っていた温調できないものの方が使いやすい。設定温度に意味はあるのか? 単に表示だけ?

一番の問題はスイッチの動作が安定しないこと。右手親指で触っている三角形の部分がスイッチで、ON/OFF時にカチカチと押した感触がある。しかし、ONにしていても三角形の端に触れるとOFFになってしまう。写真はOFFになってしまった様子。半田ごてを握っていてスイッチに触れることはなさそうだが不安定なのは困る。


ということで、安物はそれなりの理由があるということでした。今回購入したもの以外にも同じような価格帯で沢山でているが、おそらく似たり寄ったりだと思う。評価も当てにならない。2~3倍の値段だが太洋電機産業(goot)とか白光(HAKKO) をお勧めします。

2023年4月27日木曜日

ニキシー管を照らすアッパーライトLED確認

ニキシー管を下から照らすアッパーライトLEDの動作確認をしてみました。LEDはマイコン入りのWS2812Bにするので、取り合えず手元にあるリング状のWS2812Bでテストです。WS2812Bは信号レベルが5VなのでESP32の3.3Vと繋ぐために秋月のレベル変換モジュールを使っています。

電源投入時に緑色に点灯。写真のリングの下側6個のLEDがHHMMSSの各桁のニキシー管の下に入るイメージです。

WiFi接続待ちのときに青色の光が流れるように点灯させてみました。まだ、7セグLEDに時刻は表示していない。


WiFiが繋がり、ntpサーバから現在時刻を取得したらアッパーライトはニキシー管の発光色と同じオレンジにしてみました。写真では白っぽく写っています。

まだ、LEDの色指定はプログラム内にハードコーディングです。

明日はmicroSDアクセスと読み込みプログラムを組み込んで、microSD内のファイルに格納した各設定情報を読めるようにするつもり。こうやってココに書くことで自分に発破をかける。

2023年4月26日水曜日

ニキシー管時計を7セグLEDでデバッグ

ニキシー管時計のプログラムを書き始め、デバッグのためにニキシー管の代わりに7セグLEDで表示させています。

各桁をダイナミック点灯させるために、3-8デコーダIC(TC74HC283AP)を使いました。写真のブレッドボード左上に載ってます。シフトレジスタがあればもっとESP32の使用ピン数を減らせますが、手元にあったこれにしました。


ジャンパ線で見ずらいですが左下にESP32ボードが刺さっています。ntpサーバから時刻を取得して 20:06:48 を表示中。

発注していたIN-14ニキシー管を挿す基板が届きました。10枚で注文しましたが余分に入っていました。しかしIN-14は8本しかないのです。


IN-14というシルクを入れたのですが、基板色と同じ黒色で描かれてしまい薄っすらわかる程度。ピン名や番号のシルクは白色だったのですが、ちょっとスルーホールに近すぎて欠けています。表側が真っ黒にならず、ピンヘッダ部分のレジスト塗装が抜けた。なにか間違えた模様。まぁ、量産するものではないのでこれでOK。

試しにIN-14を挿してみましたが、13本の微妙に長さの違うピンを挿すのは結構難しい。ピン全体を斜めに切っておいた方がいいかも。


IN-14を挿す前に基板の中央にRGB LED WS2812Bを半田付けするのを忘れないようにしないと。半田付けはゴールデンウィークに行うつもり。5月1日、2日は年次休暇をとって9連休にするので時間はありそうですが、連休中色々とやることがあって工作に使える時間は少ないかも。

ニキシー管時計の機能として以下を実装したいので、しばらくはプログラム作りです。
  • WiFiアクセスポイント設定
  • ntpサーバからの定期的な時刻取得
  • ニキシー管のスパッタリング(カソードポイズニング)予防のため定期的にランダムなリフレッシュ表示
  • ニキシー管の寿命を延ばすための夜間スリープ
  • RGB LEDの点灯パターン、色指定
  • 上記の各種設定をmicroSDに格納したsettingファイルから読み込む
  • その他、他にも何か思いつくかも

2023年4月24日月曜日

ニキシー管時計はESP32でntp時計に

ニキシー管時計の制御マイコンにはESP32を使ってntp時計にしようと思い、秋月でESP32-WROOM-32Eマイコンボードを購入(800円)。ESP32単体でもよかったのですがユニバーサル基板での配線が大変なのでコレにしました。その他に色々と部品を購入。つい送料を薄めたくなって色々と買ってしまう。



取り合えずピンヘッダをはんだ付け。ついてきた実装用のピンヘッダは細ピンヘッダでした。プログラム書き込み用のピンヘッダは、秋月の写真の実装方法では裏面に付いていたが表面に付けてしまった。でもこっちの方が書き込み用のジャンパ線を挿し易い。


以前にも載せたことがありますが、ntpで日付と時間を取得して表示した様子。書き込みに使ったUSB to TTL変換アダプタはアリエクで数百円だったもの。1~2年前に買ってあって今回初めて使った。

無事に書き込めて動きました。
一応、プログラムは以前と同じ以下です。無保証です。
//------------------------------------------------------------------------
//                                                          '22.05.14 naka
//  ESP32 ntp時計(小型液晶に日付と時刻表示)
//
//------------------------------------------------------------------------
#include <WiFi.h>
#include <WiFiClientSecure.h>

#define SDAPIN  21
#define SCLPIN  22
#define SERIAL_OUT 25

#include <FaBoLCDmini_AQM0802A.h>
FaBoLCDmini_AQM0802A lcd;

char ssid[] = "Your-WiFi-SSID";
char password[] = "Your-SSID-Password";

void setup()
{
  char msg[128];

  pinMode(SERIAL_OUT, OUTPUT);
  digitalWrite(SERIAL_OUT, HIGH);
  
  Serial.begin(115200);

  // モニタLCD設定
  SetupLCD();
  dispLCD_msg("NTP-    ","   CLOCK");
  delay(1000);

  if (wifi_connect()) {
    // NTPサーバに接続し、時刻設定
    configTime(9 * 3600L, 0, "ntp.nict.jp", "time.google.com", "ntp.jst.mfeed.ad.jp"); 
    Serial.print("NTP done");
    disp_time();
    delay(1000);
  }

  // 監視時はWiFi未接続にする
  wifi_disconnect(); 
}

void loop()
{ 
  disp_time();
  delay(1000);
}

void disp_time() {
  char yymmdd[10],hhmmss[10];
  struct tm timeinfo;
  getLocalTime(&timeinfo);

  sprintf(yymmdd, "%02d.%02d.%02d",(timeinfo.tm_year + 1900)%100, timeinfo.tm_mon + 1, timeinfo.tm_mday);
  sprintf(hhmmss, "%02d:%02d:%02d",timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);

  dispLCD_msg(yymmdd,hhmmss);
}

void dispLCD_msg(char msg1[],char msg2[]) {
  lcd.clear();
  lcd.print(msg1);
  lcd.setCursor(0, 1); // Col,Raw
  lcd.print(msg2);
}

void SetupLCD() {
  lcd.begin();
  lcd.command(0x38);
  lcd.command(0x39);
  lcd.command(0x14);
  lcd.command(0x71);
//  lcd.command(0x51);  // 5V
  lcd.command(0x56);  // 3.3V
  delay(2);
  lcd.command(0x6c);
  delay(300);
  lcd.command(0x38);
  delay(1);
  lcd.command(0x01);
  delay(2);
  lcd.command(0x0c);
  delay(2);
}

// Wifi接続
bool wifi_connect() {
  char msg[128];

  // 静的アドレスとDNS指定(普通は要らないはずだが、我が家のWiFiルータは動的割り当てとDNSサーバ指定がないとダメだった)
  IPAddress myIP(192,168,0,78);
  IPAddress gateway(192,168,0,1);
  IPAddress subnet(255,255,255,0);
  IPAddress dns1(8, 8, 8, 8); // Google DNS primery server
  IPAddress dns2(8, 8, 4, 4); // Google DNS secondary server
  WiFi.config(myIP,gateway,subnet,dns1,dns2);
  
  for (int i=0;i<5;i++) { // WiFi接続、5回繰り返す
    WiFi.begin(ssid, password);
    delay(1000);
    Serial.print(msg);
    
    long int StartTime=millis();
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        if ((StartTime+10000) < millis()) break; // 10秒待って繋がらないときは諦める
    } 
  
    if (WiFi.status() == WL_CONNECTED) {
      IPAddress ip = WiFi.localIP();
      sprintf(msg,"WiFi connected IP:%d.%d.%d.%d",ip[0], ip[1], ip[2], ip[3]);
      Serial.print(msg);
      break;
    }
  } 

  if (WiFi.status() != WL_CONNECTED) return false;

  return true;
}

void wifi_disconnect() {
  WiFi.disconnect(true);
  WiFi.mode(WIFI_OFF);
}

//-------------------------------------------------------------------------------
// EOF
//-------------------------------------------------------------------------------

発注したIN-14変換基板 はまだ届きませんが、ntpで取得した時刻をダイナミック点灯で表示するプログラムを書き始めようと思っています。

2023年4月23日日曜日

この冬の節電チャレンジで7,184ポイント!?

昨年12月に 節電チャレンジエントリで2,000ポイント に書いたように節電チャレンジにエントリしました。その後、時々節電チャレンジ依頼のメールが届きましたが、夕方の時間帯が多くてあまり貢献できてなかった。そもそも元々暖房にエアコンを使っていないので使用する電力が少な目で貢献できない。

先日、節電チャレンジキャンペーンは3月末で終了したとの連絡があったので、合計ポイントを確認してみてびっくりです。合計7,184ポイントになっていました。


エントリしたときの2,000ポイントの他に、前年同月比での節電ポイントが付いています。全然意識していなかったのでうれしい誤算です。当初、獲得できるポイントは2,000ポイント+α程度と思っていました。αは夕方に来ていた節電チャレンジ依頼への貢献ポイントで、今回184ポイントだけ。

電気料金の推移はこんな感じです。料金は2月から国の補助金がでているので昨年よりは下がっています。ポイントが付いたということは電力量も下がっているのでしょう。


何はともあれ、ポイントで1か月分くらいの電気代が助かりました。

先ほど、ポイントをアマゾンギフトに交換する申請をしました。abemaがやっているドットマネーというのを経由して、そこで確認するので申請から営業日で3日かかるとのこと。確認に3営業日って何? 今時人手で何か確認するのか? ちゃんと交換できるのかまだ疑心暗鬼。

2023年4月16日日曜日

ニキシー管時計のコロン表示用チューブ

先日、下記のアリエクで売っているニキシー管時計キットコロン表示のネオン管とチューブがいいと書きました。下記のような感じ。

その後、アリエクを彷徨っていたら、φ10mmの細い試験管を見つけたので注文してみました。なんと注文から8日目の今日届き、早い。ヤマトが届けてくれました。

写真左のφ10x75mmで5本セットを買った直後に、別のショップで右のφ10x100mmで10本セットを見つけてこちらも購入。どちらも送料込み400円弱。左のはちょっと仕様が分かりずらく、単なるガラス管のようにも思えたので念のため右も買った次第。

どちらもちゃんと細い試験管でした。もっと細いφ8mm位のがよかったけど見つけられず、また、そんな細い管に入るネオン管も持っていなかったのでφ10mmで妥協。

手元にあったネオン管を入れてみた様子です。2個入れるとちょっと大きすぎる。1個にして真ん中にアルミ箔の腹巻を巻いてコロンに見せるか、もっと小さいネオン管を探すか。

長さは75mmでも長すぎるので切る必要があります。上手く切れるか?!

とういうことで、ニキシー管時計プロジェクトは少しづつですが進みつつあります。


2023年4月15日土曜日

ロッキングチェアの修理

雨の土曜日、昨日までの黄砂や花粉を洗い流してくれる恵の雨です。とにかく花粉症がひどくて体調的に低級飛行の毎日。例年、ゴールデンウィーク明けまで続くので春は楽しめません。

今朝は座面が割れてしまったロッキングチェアの修理、と云ってもボンドでくっ付けるだけの簡単な作業です。


元々、貼り合わせてあった座面の板が剥がれて割れました。かみさんが学生の頃から使っていたという年代もの。

ググってみて強力な木工用ボンドを探したら、以下のタイトボンドというのがあったので初めて使ってみます。



このボンド、アマゾンで買ったのですが送付方法がひどかった。ボンドのケースに直接送付用ラベルが貼られてポストに入っていました。先端を引っ張ればボンドがでる形状で、内蓋はなかったのでちょっと圧力がかかったらボンドが漏れてしまう。一緒に配達されている他の人の商品を汚す恐れがある。せめて薄手でもよいので段ボール封筒に入れて欲しい。

座板に木片を挟んで少し隙間を開けて両面にボンドを塗り、ベルトクランプで締め付け。はみ出たボンドは水拭きでキレイに取れました。24時間で完全硬化らしいので明日、クランプを外してみます。これで直って欲しいけど、もし強度不足でまた割れるようなら裏面から金属板などで補強するつもり。





2023年4月12日水曜日

ニキシー管IN-14の変換基板

発掘したニキシー管IN-14で作る時計のケースや基板をどうするか考えていましたが、基板はユニバーサル基板で組むことにしました。プリント基板を起こすには、事前の回路デバッグなどをしないとミスで作り直しになる可能性があり、リスクを避けることにしました。大きな基板は製造コストもかかるし、1枚しか使わないので割高になってしまうことも考慮。

ただ、ニキシー管のピンをそのままユニバーサル基板に挿すにはピンを結構曲げないと難しい。古いものなのでピンがさび付いていたりして下手に曲げると根元から折れそう。



そこで、ニキシー管のピンをユニバーサル基板ピッチに変換する基板だけ起こすことにしました。下図のような簡単な23mm角の小さな基板です。両サイドにはヘッダーピンを付けてユニバーサル基板に挿します。

基板の真ん中に載っているのはNeoPixelなどに使われているマイコン内蔵のRGB LED WS2812Bです(下の写真)。ニキシー管を下から照らすギミックで、前の記事で紹介したアリエクで売られている組み立てキットと同じようなことができるはず。前の記事ではいらないと書きましたが、一応載せられるようにしておきました。実際に載せるかは決めかねています。


ニキシー管が高圧でダイナミック点灯するので、LED内のマイコンにノイズの影響がでないか心配です。

とりあえず、先ほど基板を発注しました。送付方法を国際郵便ではなく、少し高めのものにしたので10日程度で届くことを期待。

2023年4月9日日曜日

東京駅周辺を散策

先日は さいたま市にでかけました が、今日は東京駅周辺です。涼しくて散策するには気持ちの良い日でした。これで花粉がなければもっといいのに。


有楽町までパスポートを受け取りに出かけたついでに東京駅まで足を伸ばした次第です。東京駅で駅弁を買って外に出ました。駅の外に出るのは4年ぶりくらい。キレイになった駅舎を見るのは初めて。

駅中やハトバスを見るとインバウンドの活気も戻ってきているようで何よりです。

今回も疲れたのでアキバには寄らずに帰宅しました。電子部品はネットで注文するのが楽でリアルショップには殆ど行かなくなった。電子部品や工作関係だけでなく衣料品などもネットで買うようになってしまい、ネットと宅配便がないと生きていけない。

2023年4月8日土曜日

IN-14ニキシー管の点灯確認

発掘したニキシー管IN-14 を光らせてみました。無事に点灯しました。昔作ったとき のDDコンの部品が残っていたのでほぼ同じ回路でDC 5Vから180V位に昇圧しています。今ならもっとよい部品があるかも知れません。


"5"が"2"をひっくり返した形なのがちょっとイマイチ。手を抜かずに5のフォントにして欲しかったですよね。それともキリル文字の5はこれが普通なのか?


アリエクで探すとIN-14を使うニキシー管時計のキットが色々と売られています。以下は木製ケースと基板(完成品)のセット。6,118円で意外と安い。なお、ニキシー管は付いていません。これでもよいかと思いましたが、ニキシー管をはんだ付けするだけでは面白くないのでゼロから作ってみるつもり。


ニキシー管を挿すところにSMDのチップが沢山載っているのでスタティック点灯ですね。作ろうと思っているのはデコーダICが1個で済む前回と同じダイナミック点灯。

上記キットを組み立てると以下のような感じになるようです。台座の木の種類が違います。ニキシー管の下にRGB LEDがあって光らせることができます。要らないかなと思う。ただ、コロンを表示するネオン管とガラスチューブはいいな。

ケースをどうするか悩むのも楽しみです。

2023年4月3日月曜日

ニキシー管を発掘

昨日、昔買ったはずの部品を探していたら探しものは見つからず、ニキシー管が発掘された。

記憶が確かなら自分では買ってないハズだが… 旧ソ連製のNH-14のようです。印刷が掠れてちゃんと読めるものがなかったが幾つか組み合わせると判った。


8本見つかったので、久しぶりにニキシー管時計でも作ってみようかと思っています。以前作ったニキシー管時計は以下。
回路を作るのは難しくないけどケースが難しい。ネットでニキシー管時計をググると素敵な感じの製品が沢山見つかるが、いざ自作しようと思うと大変。リビングに置いて違和感ない洒落たケースって難しい。

ニキシー管をユニバーサル基板に載せると、基板が見えてしまうとカッコ悪い。基板が見えないようなケースにするか。1枚しかいらないけどプリント基板を起こすか? など考えています。悩みが尽きないがそれも楽しみ。

今回NH-14のピン配を調べたら、ニキシー管自体も以前よりかなり高くなっていますね。段々手に入らなくなるだろうから、このまま保管しておいてもっと高くなったら売る? でもせいぜい1~2万円だろうから、今の楽しみのために作ってみます。

2023年4月1日土曜日

似非NFJ謹製エンクロージャのメイキング動画

以前作った 似非NFJ謹製エンクロージャ のメイキング動画を作りました。9分19秒とちょっと長めですがよろしければご視聴ください。

スピーカは、その後ダイニングに置いてiPhoneで音楽を聴くのに使っています。

よく鳴っているのでもう一台作ろうと、今度はちゃんとキット、小さいエンクロージャ[Model-PLS]を購入しました。これに入るユニットもアマゾンで購入。秋月スピーカより高い。


今、工作部屋では昔のCDラジカセ(カセットは付いてない)でFMを聴いているので、このスピーカでもう少し改善できないかと思っています。チューナは 本気を出して作ったFMラジオ の基板を使おうかと考えている。中華なLED照明のノイズ 問題もあるので合わせて改善できればよいのだが。