« 2019年1月 | トップページ

2019年2月

2019年2月14日 (木)

ハンダゴテのコテ先を新しく

新品に換えると、やっぱし快適です。
11

普通のハンダ付け(ユニバーサル基板での試作やら)で常用してい
るのは「高千穂電気」のコテペン40。
  ※高千穂電気、合併により2009年にエレマテックと

   名称変更してるそうな。

このコテペンはすでに廃品種。
コテ先などとりあえずの予備パーツはセラコート工業株式会社
から入手できる。

でも、これのヒータはすでに在庫無し。

私の手元の在庫、新品コテ先が4つとヒータが3つ。
コテ先だけでも、もうちょい買っておこうかなぁ。

コテペン40の場合、コテ先の溝にセラミック板ヒータを
滑り込ませる形状になっていて、長く使っているとコテ先
が微妙に変形しちゃうんです。
それで、ハンダゴテを落とした時に、ヒータが割れてしまう
というトラブルが発生します。
だもんで、予備部品が必須。

   ↓古いの、曲がっている!
12

セラコートのページを見ていると、「コテペン2」という
後継機種ももう終息だとか。

あれこれハンダゴテを使ってきて、普通のハンダ付けでは
これが一番好きなんですよ。


膨張:白光のコテ台


※追記(2月15日)
今朝、デンオン ハンダ吸引器 SC-7000Z をバラしてメンテを実施。
弁部、けっこうひどいこと(吸い込んだフラックスの付着)になってました。
で、この時、ハンダゴテ関係のパーツを入れた箱の中から、こんなのが
出てきました。
高千穂の「コテペン40」を買った時の外箱の説明書き部分を残して
ありました。
きっとコテ先の型番を知るためだったんでしょう。
11
    (クリックで拡大↑)
日本橋の岡本無線店頭で買った記憶があります。
お代が「2000円」。
   ・・・まだ消費税は無かった頃
     消費税って平成元年なんだ。
セラコート:コテペン40の価格 を見ると「3424円(税込)」
となってます。
もう在庫ゼロということですが。

| | コメント (1) | トラックバック (0)

2019年2月13日 (水)

導通チェッカーに使うバナナジャック

マイコン型導通チェッカー絡みで「バナナジャック」を調べてみました。
   ↑頒布キットの案内

キットの解説ページで紹介しているのはサトーパーツのTJ563。


これ、外形とパネル穴径が少々大きいんです。

  外形:φ12mm  パネル穴径:φ9mm

このキットの組み立ててで「なんぎ」さんが選ばれたのが

マル信無線電機のMK-626

これ、サトーパーツのよりちょっとだけ小粒。
  外形:φ11.8mm  パネル穴径:φ8mm

で、先日のことdigikeyへの部品発注の中に紛れ込ませ
たのが、この3種。

(1)J151
21
(2)36-6091
22
(3)36-6095
23

(2)と(3)は 「Keystone」社製。

ここの電池ホルダーは、バッテリー放電器 で使いました。

   (※後にBULGIN社のものに変更)

形状的に(1)と(2)が、よく似てるんですよね。
カタログでは「同じモノ?」っという感じなんです。

で、現物です。
11

左側のテカっているほうが(1)。
価格も違います。
(1):75円
(2):176円

(3):158円
電極穴を見ると、微妙な工作精度の違いがわかります。
12
(クリックで拡大↑)

それぞれ、小さくて良さそうなんですが(外形φ11mm)
ジャックの差し込みが貫通していないんで、標準的な
先端20mm長のプラグを入れるとこんなふうになってしま
います。

13

14

15

(1)(2)は、プラグの根元が外に出てしまい、
(3)では、先端がずいぶん中に入ってしまいます。
パネル外側にM6用4~5mm厚くらいのスペーサーを入れると、
内側へのプラグ先端に侵入がましになるかと。

先端部の短いバナナプラグ、サトーパーツTJ-3A
だとうまく収まりそうです。
導通チェッカー、現在のキット(完成品)では
「青黄色リード線に青黄色ミノムシクリップ」を付けています。
テスター棒を使いたいということで、バナナジャックのリクエストを
いただくこともあるのです。

マックエトのBR-1 も外形:φ11mm、穴径:φ9mmで良いかもしれません。
機会があれば買ってみます。
 ↑
マルツ扱い 1袋10個で1644円
ちょいと高い。

| | コメント (0) | トラックバック (0)

2019年2月11日 (月)

gawkの関数:「length」でつまづく!

MS-DOS時代の「jgawk」なら大丈夫なのに、Vectorでダウンロードした「gawk(3.1.5)」でアウト。
「正規表現」 は関係ありません。
おかしな挙動をしたのが「length」。
文字のバイト数を返す関数。
gawkで使うと、おかしなことが起こったんです。
検証のため、こんなテストプログラムを実行。
{
    n = length($0);           # 入力文字列のバイト数
    printf("n:%d\n", n)     # いったん確認
    r1 = "";                    # バッファをクリア
    for(i = 1; i <= n; i++){    # 入力文字数でloop
        c1 = substr($0, i, 1);     # 1文字取り出し
        r1 = r1 c1;                 # バッファに文字として結合
        printf("%s:%d\n",r1,length(r1));   # バッファの文字列とバイト数を表示
    }
}
これがgawkだと、
12345  ←入力文字
n:5    合ってる
1:1    ところが、増えていくはずが・・・
12:1
123:1
1234:1
12345:1   5文字ループしたのに「1」
abcdefg   7文字入力
n:7    合ってる
a:1    ところが・・・
ab:1
abc:1
abcd:1
abcde:1
abcdef:1
abcdefg:1  やはり1のままで違ってる
正しい値は・・・
行末の数字が1234・・・と+1ずつ増加しなくちゃなりません。


で、正しい答えを出す方法。
gawkのままで
 1:     r1 = r1 c1 "";           # 空文字を結合
 2:     printf("%s:%d\n",r1,length(r1 ""));   同じく
 3:     起動オプションに -W ctype=ASCIIを加える
             ctype=SJISだとダメ。
jgawkだとそのままでok
むちゃ悩んだぞ~~~っと。
どうしたものか。
※結果・・・
gawkのバージョンを上げるということで対応。(4.1.4に)
ここからダウンロード。
 
Free download of the version 4.1.4 (Aug 2016)
(Version 4.1.4)

Win32 executable

Version in English Version in English



※ところが・・・
4.1.4では日本語がアウト。
起動オプションも見当たらず。

| | コメント (4) | トラックバック (0)

2019年2月10日 (日)

「gawk」の正規表現・・・続き

の続きで、gawkの正規表現で悩んでいます。
・やりたいこと
OrCADの部品ライブライーソースファイルの中に出てくる
こんな文字列(「'xxxx'」というふうに「'」で区切られている)内の
「スペース」を「_」(下線記号)に変えたい。
・例 文字列
  'VOLTAGE REGULATOR'
  L1  3  SHORT   IN  'PLUS INPUT'
    R1  'C2' CLK  OUT 'CLK OUT'
・なぜか
gawkの「スペースで文字列を文字単位に」分割するという
機能、「'」で区切られた文字列内にスペースがあると、
そこで切られてしまいす。
「'  '」内のスペース、これを「_」(下線記号)に変えて、
分割されないようにしたいわけで。
・条件
1行に複数個の「'  '」が出現することもある。
・試したのはこんな処理
    while(1){                                 # 「'  '」がいくつもあるかもしれないので
        match($0, /'[^']*'/);
        if(RSTART == 0)     break;     # 「'  '」がなければおわり
        s1 = substr($0, 1, RSTART-1);             # 「'  '」の左側
        s2 = substr($0, RSTART, RLENGTH);   # 「'  '」の部分
        s3 = substr($0, RSTART+RLENGTH);   # 「'  '」の右側
        gsub("'", "@", s2)      # 「'  '」部分の「']をいったん@に
        gsub(" ", "_", s2)       # 「'  '」部分スペースを「_」に
        $0 = s1 s2 s3            # あらたな$0
    }   
    gsub("@", "'", $0)         # @を「'」に変えて元に戻す
「'  '」が複数個出るかもということで、「']をいったん@に変えて、
1行の先頭から処理するようにしました。
gawkらしく、もっとスマートな方法は?
   ※Cだとチカラ技で処理を進めるですが、gawkの書式はパズルです。
     1文字ずつ読み出して「'」が来たらスペースを「_」にというほうが
     良いかな。
そういや、こういった記述にも対応しないと。
R1    24   OUT 'QA''' ← QA'が信号名で 二つの「''」で
文字としての「'」を示すわけでして・・・。

| | コメント (3) | トラックバック (0)

2019年2月 9日 (土)

「gawk」の正規表現で

の記事に対するCPU.BACHさんのコメントに関して・・・

「LIBSX」という「OrCAD」の部品ライブラリソースファイルを、
水魚堂さんの回路図エディタ「CE」の部品ライブラリに変換
するツールがあります。
これ、MS-DOS時代のツールでして「MS-C」で作ったんです
が、これを手直しして「BSch3V」用の部品ライブラリ「LB3」
変換ツールに出来ないものかと、ちょいと試行錯誤してみ
ました。
で、ツールですがCでコンパイルするんじゃなく、「gawk」を
使ってみました。

  ※MS-DOS時代からjgawkはあれこれと使っています。

そこで、OrCAD部品ソースに出てくる文字列処理での
「正規表現」につまずいちゃいました。

部品ソース内にこんな行が出てきます。

'7400'  ←部品名
{X Size =}  4 {Y Size =} 4 {Parts per Package =}  4 ★
L1      1   4   9  12         IN  'I0'  ←ピン指定
L3      2   5  10  13         IN  'I1'
R2      3   6   8  11 DOT     OUT 'O'
T0     14  14  14  14         PWR 'VCC'
B0      7   7   7   7         PWR 'GND'

★部分で部品の大きさとパッケージ内の個数を
示しています。
前処理としてコメント文字列である「 {xxx} 」を消して、
数字「4 4 4」だけを残したいのですが、この↓正規表現
ではうまくいきません。

   gsub(/{.*}/, "", $0)

{ }に囲まれた文字列という正規表現なのですが、
   {xxx} yyy {xxx} zz が
   1   2      3    4

残したいyyyまで消えて、最後尾のzzしか残らない
のです。
「/{.*}/」だと、{ }のくくりを、2と3を飛ばして「1~4」にし
ちゃっています。
ほんとは、1~2で処理。続いて3~4で処理と{ }を含
めて{ }内の文字列を消して欲しいのです。

しかたなく、↓のようなスクリプトでもって{ }を消して
います。
1文字ごと読み出して { 出現でコピーをオフ、} 検出以降
にコピー再開。

  ※こりゃawkのスクリプトじゃないぞ(笑)

#####   コメントを取り除く      #####
#   読み出したデータの中から「コメントフィールド」を取り除く
#   OrCADのライブラリソースのコメントは「{...}」となっている
#   直接バッファを操作して「{}」とコメントを取ってしまう
#   gsub(/{.*}/, "", $0)だと
#   「{xxx} yyy {xxx} zz」が yyyまで消えてzzしか残らない
function rmvcmnt(s,  c,f)
{
    r_bff = "";
    f = 0;              # 1で文字コピー禁止
    for(i = 1; i <= length(s); i++){
        c = substr(s, i, 1);                # 1文字取り出し
        if(c == "{")        f = 1;          # 「{」以降はコピーしない
        else if(c == "}")   f = 0;          # コピー再開
        else if(f == 0){                    # 文字連結
            r_bff = r_bff c;                # {xxx}以外の文字はコピー
        }
    }
    return r_bff;       # コメント削除した1行
}

正規表現を使っての何か良い手順はありませんかね?

※参考
ファイルから読み出した1行は「$0」に入る。
function rmvcmnt(s,  c,f)の s は関数への引数。
その次にスペースをあけてのc,fは関数内部だけの局所変数。

ほかにも、「 { } 」で囲まれたこんなコメントがあります。

      {000000000011111111112}
      {.....................}
      {012345678901234567890}
{  0.0}##...................
{  0.1}#.##.................
{  0.2}#...##...............
{  0.3}#.....##.............
{  0.4}#.......##...........
{  0.5}#.........##.........
{  0.6}#...........##.......
{  0.7}#.............##.....
{  0.8}#...............##...
{  0.9}#.................##.
{  1.0}#...................#
{  1.1}#.................##.
{  1.2}#...............##...
{  1.3}#.............##.....
{  1.4}#...........##.......
{  1.5}#.........##.........
{  1.6}#.......##...........
{  1.7}#.....##.............
{  1.8}#...##...............
{  1.9}#.##.................
{  2.0}##...................

これも行の中から消してしまいたいわけでして。

{X Size =}  、 {Y Size =}、{Parts per Package =}は
固定文字列なんで3つを個別にgsubで先に処理。
その後、「{  2.0}」などを正規表現で削除かな。

こんな具合に。

#    コメント文 {xxx} を消す
   gsub("{X Size =}", "", $0);                # コメント削除               
    gsub("{Y Size =}", "", $0);
    gsub("{Parts per Package =}", "", $0);
    gsub(/{.*}/, "", $0);                    # 残りの{...}を全部
   :

| | コメント (3) | トラックバック (0)

2019年2月 6日 (水)

TENオートラジオ ST-34-1

えらいもんの修理が舞い込んできました。
友人から昨年預かったモノ。
「テン」の車載AMラジオ「ST-34-1」。
10
石はゲルマですがマイナス接地。
そして・・・自動チューニング機構が付いているんです。
パネルの「← →」のボタンを押すと、内部のモーターがミュー同調機構を回して局を探します。
周波数が下限あるいは上限まで行ったら逆転します。
故障内容は「自動チューニングが止まらない」というもの。
12
そして・・・さすがに昔の装置。
ケースの裏に回路図が貼ってありました。
回路図には「SS-34 HS 結線図」
ひょっとして「昭和34年」製?
11
高周波1段、中間周波増幅2段。
図の下側部分が電波検出。
モータの逆転は接点。
4回路のリレーを自己保持させて駆動開始と停止を制御しています。
アンテナをつないで手動チューニングするとラジオは聞こえます。
   ※NHK二つは強いけど朝日や毎日、大阪は弱い。
ラジオ部基板を外して信号を追いかけられるようにしなくちゃなりません。
   ※電解コンデンサが交換してあったりとどなたかが
     手を加えた跡があります。
はてさて・・・

| | コメント (3) | トラックバック (0)

2019年2月 5日 (火)

『チューリングの遺産』

タイトルに「チューリング」が出てたので借りてみました。
11
上下冊に分かれています。 面白かったです。
「タッカー」が主人公で、「ケイン」というのが相棒の軍用犬。
表紙にシルエットが出ています。
なかなか細かい技術談義も。
こんなやりとりが。
主人公の乗った車が、銃撃戦の途中でエンスト。
その直前にラジオが鳴ったりと、車がおかしな挙動。

その原因を推測する際の会話がこれ。
「簡単な話だ。車両のCANバスに無線でハッキングす
 るだけだからな」
「近頃の車は何もかもデジタル化されているから、
 ハッキングも可能ということになる」
「CANバス」 なんて、普通の人はわかりませんわな。

| | コメント (0) | トラックバック (0)

昔の回路図データを紙にプリントしたい!

■Windowsのコマンドプロンプトでプリンタにデータを送る方法

●その目的:歴史的背景

 昔々、PC-9801のMS-DOS時代の遺産。

 回路図CAD:OrCADで描いた図面を紙にプリント/プロットする
 のにこんな方法を使っていた。
   ・回路図を紙に描くため、OrCADでプリンタあるいはプロッタの
    データファイルを作成。
   ・プリンタならNECのPC-PR201、あるいはエプソンのESC/Pに
    合致したフォーマットのデータファイルに。
   ・プロッタなら「HP-GL」フォーマットのファイルに。
   ・プリンタあるいはプロッタに対し、そのデータファイルを
    直に(プリンタのデバイスドライバを介さずに生で)出力。
   ・プリンタならセントロ出力。プロッタならシリアルもあった。
     ※PR201あるいはESC/Pのデータファイルを元に、モノクロ
      画像データである「BIDファイル」に変換する自家製ツール
      を活用していた。

   ・このためのプリンタへの直出しツールも自作。(CPRN、CPRNV)

 ところがWindowsになり、PCとプリンタをセントロ出力でつなぐことが
  無くなってしまった。
     ※プリントデータならBIDツールで可視化できる。
      BIDはBMPファイルに変換できるんでWindows環境でのプリント
      出力は可能。

 プロッタの印字データである、HP-GLコマンドを受け付けるレーザープリ
 ンタ(私とこだとリコーのイマジオ)はあるんだが、PCとセントロでつ
 ながっていないので(LANでつながっている)プロッタデータを送り出すこ

 とができない。

 プロッタ用のファイルしか残っていない図の出力に困ったぞっ!と
 なったわけです。

   ※データを「生のまま」送り出すというのが肝心。

   ※プロッタデータ、こんなテキストファイル
     .@1000;1:PU;DF;PA;SP2;PU;PA785,71;PD;PA16153,71;・・・

●解決方法:LANを通じてWindowsのPCからプリンタに「生データ」を送りたい
   ※同僚があれこれ調べてくれました。

 ・共用プリンターを Windows クライアント上の論理プリンターにマップする

 ・この手順に従って・・・
  Windowsの「コマンドプロンプト」を起動。
  「>」のあとに手入力。 ◎を覚えておく。

 ・>net view
    サーバー名             注釈
    ---------------------------
    \\NORI-PEN4                   ←PC
    \\RNP110A06                      ←◎プリンタ(1)
    コマンドは正常に終了しました。

 ・>net view \\RNP110A06
    \\rnp110a06 の共有リソース
    共有名   タイプ  使用  コメント
    -------------------------------
    MPC2200  Print                   ←◎プリンタ(2)
    コマンドは正常に終了しました。

 ・>net use lpt2: \\rnp110a06\mpc2200 /persistent:yes
       ↑    ↑
       |    +- プリンタ名 ◎(1)+(2)
       +- lpt1:にドライバが入っているとややこしいので
          lpt2:を使う
  これで、lpt2:としてプリンタに出力できる。

 ・>type xxxx.plt >lpt2:    ←ファイル出力実行
      ↑    ↑
      |    +- リダイレクトで
     出力目的のプロッタデータファイル (テキストファイル)

  プリンタの動作モードをプロッタに切替してから出力を実行。
    ※レーザープリンターにHP-GLエミュレーション機能が
     組み込まれているんで。

 ・>net use lpt2: /delete
    lpt2:を開放

  こんな手順で、回路図を描いた昔々のプロッタデータを生のまま送り出

  して紙にプリントすることができました。
     ※HP-GLエミュレーション機能搭載プリンタが必須です。

  めでたし、めでたしと。


※BIDツールの解説  なつかしいなぁ~
B

| | コメント (3) | トラックバック (0)

2019年2月 3日 (日)

ニッ水電池のJIS規格

こんなニュースが。
これって・・・
で、私がぐだぐだ言ったせいなの?

| | コメント (0) | トラックバック (0)

食洗機、稼働!

もらい物の食洗機、今日からガレージで稼働開始!
41

設置時、若干トラブル。
給水チューブを食洗機につなぐ部分の締め込みがゆるくって、通水と同時にテーブル上が洪水!

| | コメント (1) | トラックバック (0)

2019年2月 1日 (金)

ダイソーのE17ソケット型200円LED電球を

ハンダ付け作業机の補助照明で使っていた卓上蛍光灯がアウトに。
2本柱の13W蛍光管が付いています。
これまで、何回か電源SWのon/offを繰り返したら点いていたんですが、いよいよダメ。
11
インバーター式の器具なんで、「回路が悪いのかも?」っと別の所で使っている同じ型の蛍光管を持ってきて付け替えると大丈夫。
   (もう一台、同じモノを使っているんで)
ということは蛍光管そのものの寿命。
電極近くの管内面が黒くなってるし。
12
   ↑配線用ラッピング線の固定台にくっつけてある。
13
カバーを外すと回路が見えます。
14

しかし・・・この蛍光管、ちょいと高価なんですよね。
そこで・・・・
ダイソーでE17ソケット用の200円LED電球を買ってきました。
   ・検索:ダイソーe17口金led電球
11_2
改造作業の概略:
 ・蛍光灯のインバータ回路を外し(ヒューズやノイズフィルタ部
   は残して)AC100VラインをE17ソケットに配線。
 ・カバーに穴をあけ、ソケットとLED電球を結束バンドで固定。
 ・カバーの先端部内側に銀色テープを貼り付け。
15
なかなかの明るさです。
16

新しい蛍光管を買うより安くできました。

※追記
2柱蛍光管と比べて明るさがどうかという点が気になったので自作照度計 を持ち出してきました。
蛍光管およびLED電球の真下35cm(フレキチューブの長さ)でルクス値を計ると・・・
  ・13W蛍光管:1200~1300lx
  ・E17LED電球:950~1000lx
LED電球の場合、真正面ではなく側面から照らす格好になるので暗くなっている感じです。
もう一つ気になるのがチラツキ。
蛍光管もLEDも、目で見てはわかりません。
照度計の回路、センサー信号をオシロスコープで観測できるように引き出してあります。
応答をよくするため負荷抵抗を4.7kΩにして観察。
まず蛍光管。
インバータ式なので、ほとんど明るさ変動はありません。
Image000
左端の「1」がGNDレベル。
120Hzのリップルが少し見えています。
次にダイソーのLED電球(E17ソケット型)
Image001

目でのチラツキは感じませんが、価格相応の輝度変化が出ています。
  ※同距離じゃないので、輝度の比較じゃなく、
    輝度変化の程度を見るということで。
 
※参考
    昔に測定したこの13W2柱蛍光管も出ています。
    この時のとは使ったセンサーが異なります。

・照度計の記事:トランジシタ技術2016年5月号


※追試
・AC100V電流波形を観察
カレントトランスで電流波形を見てみました。
21


※チラツキ(リップル)を減らす方法の実験
邪道ですが、こんな回路をAC100VとLED電球の間に入れてみました。
LED電球をDC駆動してみたら・・・っということで。
01
 ・ブリッジダイオードで整流
 ・平滑コンデンサ
 ・抵抗はチャージ電荷放電のため
    これが無いと、AC100Vを切ってもビリビリっ!

平滑コンデンサは元のインバータ方式蛍光灯スタンドの基板から取り外したものを使ってみました。

22uF/200V」です。
   +/-の極性は意識せず。
   LED電球の中にも整流回路が入っているから。
すると・・・
輝度波高値の60%以上あったリップルが30%以下に。
22
照度計で測ったルクス値も約20%アップしました。
こりゃ、スタンドのカバー内基板の平滑回路を復活させる方が良いかも。
  ※LED電球内の制御回路の挙動が気になるか・・・

※追加実験:温度上昇の確認
電球側面にサーミスタを貼り付けて、通電開始からの温度上昇を調べてみました。
「ノーマル」のと「整流・平滑コンデンサ付加」したもの。
E17

結果、コンデンサを付加して輝度リップルを減らした場合、およそ10℃電球側面の温度がアップしました。
   電球は垂直にぶら下げ(外周囲に覆うもの無し)
   「DAISOマーク」の近くに103JTサーミスタ(応答が早い)をマスキングテープで貼り付け。

| | コメント (7) | トラックバック (0)

« 2019年1月 | トップページ