« 2022年6月 | トップページ | 2022年8月 »

2022年7月

2022年7月30日 (土)

郵便局の「クリックポスト」、いつのまにやら値下げ!

新造の文鎮:ハンダ付け補助ツールを送ろうとしたら・・・
クリックポスト値下げ!ですって。

Cc1_20220730140701

7月20日から 198円 → 185円 に。

こりゃ、ありがたい。

| | コメント (0)

2022年7月29日 (金)

20mm厚重量級文鎮:ハンダ付け補助ツール

※売れ残っています。 残:5個  (8月6日)
 完売するまでこの記事をTOPに持ってきておきます。 
 半月経過したので、元に戻します。
~~~~~~~~~~~~~~~~~~~~~~~~~
「文鎮」の製造元、佐藤テック君が『作ってきたで~
っとガレージに持ってきてくれました。
B11_20220729211901
端材ですんで、大きさはいろいろです。
  ※材質は「S50C(炭素鋼)のはずだっ」とのこと。

代表的寸法(概算)が、
  65mm×45mm×20mm  約440g
  65mm×50mm×20mm  約480g
    ※65mmはクリップ横幅寸法に合わせて
B12_20220729211901

とりあえず「11個」。
塗装やメッキはありません。 (油が付着してます)
M5の貫通タップは一つ
お代は 前回と同じ1つ「1500円で」と。

クリップ固定用のM5のキャップボルトとワッシャ、
それとクリップ先端に付けると、部品のはさみ込み
が安定するゴム板を添付します。
  ※65mm幅のクリップはご自身で入手してください。

早い者勝ちです。  (どの大きさになるかは運次第)
発送は、重さの関係で、
  ※1つだとクリックポスト(198円 → 185円)で発送
   2つ以上はレターパックライト(370円)を使います。

ご希望の方は、この記事にコメントしてください。
  (匿名でかまいません)
その時、確実に連絡の付くメールアドレスを記入して
ください。
その後、私の仕事場からメールをお送りしますので
お届け先(郵便番号、住所、氏名、電話番号)を返信
してください。
代金+送料は到着後に振り込んで(振り込み先のメモを
同封します)ください。

※ハンダ付け補助ツール(文鎮)まとめ

※リクエストいただいている分は、除けて置いていますので、
 あらためてメールいたします。 少々お待ちを。
   ※リクエスト分の発送は完了しました。

| | コメント (10)

2022年7月28日 (木)

サイモン・ウィンチェスター著 『精密への果てなき道』

「精密」つながりで、いつものように図書館から。

サイモン・ウィンチェスター著 
   精密への果てなき道

   521

サブタイトルが「シリンダーからナノメートルEUVチップへ」

興味深いお話しがいっぱい。
先日の
  ・クリス・エヴァンス著『精密の歴史』
より、ずっと読みやすいです。
翻訳の違いなのかなぁ。


大阪市立図書館の検索機能で翻訳者の「梶山あゆみ」さんを
探しますと、以下の図書が出てきます。
すでに読んでる本がいくつかありした。
[27]の2012年08月24日:『冥王星を殺したのは私です』
  ※これは、長男が買ってきた本。 むちゃ面白かった。
~~~~~~~~~~~~~~~~~~~~~~~~~~
[1] 脳の地図を書き換える -神経科学の冒険-
[2] がんは裏切る細胞である -進化生物学から治療戦略へ-
[3] 漫画サピエンス全史 文明の正体編
[4] 人類の歴史をつくった17の大発見 -先史時代の名もなき天才たち-
[5] 囚われし者たちの国 -世界の刑務所に正義を訪ねて-
[6] LIFESPAN -老いなき世界-
[7] 生物はなぜ誕生したのか -生命の起源と進化の最新科学-
[8] 人類の意識を変えた20世紀 -アインシュタインからスーパーマリオ、ポストモダンまで-
[9] 精密への果てなき道 -シリンダーからナノメートルEUVチップへ-
[10] 10億分の1を乗りこえた少年と科学者たち -世界初のパーソナルゲノム医療はこうして実現した-
[11] とんでもない死に方の科学 -もし●●したら、あなたはこう死ぬ-
[12] サイモン、船に乗る∥
[13] 偉人たちのあんまりな死に方 -ツタンカーメンからアインシュタインまで-
[14] アルカイダから古文書を守った図書館員
[15] 私が虫を食べるわけ∥
[16] 生物はなぜ誕生したのか -生命の起源と進化の最新科学-
[17] 自然界の秘められたデザイン -雪の結晶はなぜ六角形なのか?-
[18] オリバー・ストーンが語るもうひとつのアメリカ史 1 2つの世界大戦と原爆投下
[19] 原爆を盗め! -史上最も恐ろしい爆弾はこうしてつくられた-
[20] 新しいワインの科学
[21] 宇宙 -最新画像で見るそのすべて-
[22] 偉人は死ぬのも楽じゃない
[23] はじめての生きもの図鑑 -昆虫 魚 鳥 ほにゅう類 はちゅう類 両生類-
[24] おっぱいの科学
[25] オリバー・ストーンが語るもうひとつのアメリカ史 1 2つの世界大戦と原爆投下
[26] 放射能を基本から知るためのキーワード84
[27] 冥王星を殺したのは私です
[28] こども大図鑑宇宙
[29] ハキリアリ -農業を営む奇跡の生物-(ポピュラーサイエンス)
[30] デタラメ健康科学 -代替療法・製薬産業・メディアのウソ-
[31] ナノ・スケール生物の世界
[32] 自然界の秘められたデザイン -雪の結晶はなぜ六角形なのか?-
[33] 宇宙 -最新画像で見るそのすべて-
[34] 「声」の秘密
[35] ワインの科学
[36] この6つのおかげでヒトは進化した -つま先、親指、のど、笑い、涙、キス-
[37] 外食の天才が教える発想の魔術
[38] 自分の体で実験したい -命がけの科学者列伝-
[39] 「左利き」は天才? -利き手をめぐる脳と進化の謎-
[40] 脳のなかの倫理 -脳倫理学序説-
[41] ウナギのふしぎ -驚き!世界の鰻食文化-
[42] 感染症との闘い(科学の最前線 3)
[43] 小さな塵の大きな不思議
[44] ヒトラーに盗まれた第三帝国
[45] アメリカ短編小説傑作選 2000(アメリカ文芸<年間>傑作選)
[46] アメリカエッセイ傑作選 2000(アメリカ文芸<年間>傑作選)
[47] アメリカミステリ傑作選 2000(アメリカ文芸<年間>傑作選)
~~~~~~~~~~~~~~~~~~~~~~~~~~


今回の本では、「ほんまに?」「知らんかったわ」の案件も。
ハッブル・ピンボケ望遠鏡の話、そのコラムで紹介されていました。

写真撮影での「ボケ」とか「ボケ味」
  ※どちらかというとレンズの評価でしょうか。
この日本語の言葉が世界語になってるんですな。

※参
  ・写真の"ボケ"は世界の共通語。英語で"Bokeh"と書いてボケと読む


| | コメント (1)

新ビールサーバー稼働

7月11日より、新しくやってきたビールサーバーを使っています。
511

以前のよりずいぶん小型に。
冷却タンク内の冷却水容量もずいぶん少なく、
そして消費電力も小さくなっています。
「2口仕様」ですが、使っているのはビール用の
一つだけ。
ビール用の注ぎ口の形状が異なります。
ビール用の右側、「泡出し」機能が付いています。
以前のよりこまかいきれいな泡が出ます。
内部のピストンの構造が複雑になっています。

右下の10ltr樽、アサヒ・スーパードライじゃなくって
サッポロ・黒ラベルです。

| | コメント (0)

2022年7月27日 (水)

「月」の話、あれこれいちゃもんを

過去「月」についてあれこれ「文句」を書いてます。
※そのリンクのまとめ。
恒星は月より遠いぞ
「月」の話
月の夜部に★を描く
「イケナイ宇宙学」
「マリアの月」
これは金環日食のカタチです
毎日新聞朝刊広告:夕方早くに寝すぎてるからやで
「夜中」に見える「月」って・・・

この前もこんな新聞広告がありました。
  「ヤギの粉ミルク」の宣伝。
211
月の夜部に星。
212
月と地球の間に恒星があるというイラスト。
 キラキラと賑やかしに入れたくなりますわなぁ。


そしてこれは「睡眠サプリ」。

311
「三日月」を描いています。
三日月が出てる頃から寝ちゃうと・・・
寝過ぎで、夜中に目が覚めてしまいますって。

そして両イラストとも「満ち欠けする月のカタチ」じゃ
なくって「金環日蝕のカタチ」。

イラスト担当者と紙面の編集者、校正担当の方々。
球体に光を当てたとき、どんな陰ができるのか、
それを横から見たときどう見えるのか・・・
月の満ち欠けの実物と合わせてぜひとも実体験して
くださいな。
恥ずかしくって、子供達に見せられません。


そして、先日届いていた毎日新聞の冊子
私のまいにち 8月号」。
411

これの特集2が「月の不思議」というタイトル。
412

さっそくやってます。
413
星の位置がぁぁぁ。 月のかたちがぁぁぁ。
  ※星じゃなくって飛行機の航行灯だ!っ
   とか言い訳あり?。

これは目次ページの絵。
月のカタチ(下弦の月、有明月)で夜明けの雰囲気が出てますが、
月の暗部の点々、これは星? それとも・・・
  ※絵が小さいのでよく分からない
414
これから太陽が昇ってくる明るくなっている場所、
こんなもん?
月の位置が北に離れ過ぎてない?
月が光る元は太陽光。
光っているその先に太陽がある・・・はずだっ。
現実にこの絵はありえるの?

「占星術と月」というページ。
415

イラストを描くみなさん、なぜ金環日蝕のカタチにしたいの?
  ※この月には月面の模様も描かれているようです。

そして、ラストは編集長さんの編集後記。
416

編集長さん、「天文少年」だったと。
だったら、この月のイラストは全部アウトにしてほしい。


でも、指摘したらちゃんと訂正された広告もありました。
  ・これでは点かない!
     ↓
  ・今度は点くやん!
これは2007年9月の話。

※追加
月の夜部に★を描く・・・新たな可能性
月の夜部に★を描く:太田忠司さんの本でも

| | コメント (1)

2022年7月26日 (火)

勝目 純也 著 『日本海軍潜水艦戦記』

いつものように図書館で。
イカロス出版
  勝目 純也 著
    『日本海軍潜水艦戦記』
サブタイトルが
  「明治から昭和への40年間- 241隻の戦い」

12_2022072615300113_20220726153001
かなり悲惨です。
「負け」の原因・・・きっと・・・
   『コード・ガールズ』
による暗号解読が関わっています。

例えば・・・
   ・ナ散開線の悲劇
   ・護衛駆逐艦イングランド

p.118 「規則正しい散開線が招いた惨事」
14_20220726153001
索敵のため並んでいた潜水艦が芋づる式に。
「レーダー」のせいもあるでしょうが、こりゃ「暗号解読」でしょうなぁ。

著者の 勝目純也さん 潜水艦の本をあれこれと
著しておられます。


| | コメント (0)

割り込みと絡むクリチカルな制御 変数にはVolatileを!

魔法の言葉「Volatile」、これ大事です。
先日の Atmega328P タイマー/カウンタ1の高速PWM動作
このスケッチ、「IR_FRQ_SCAN3.ino」。
  ※たくさん空いている出力ポートにパルスを出して、
   動きをオシロでチェックできるようにしています。

大まかな処理の流れは、

・5msごとに、LED駆動周波数であるPWM周波数と
 デューティ比を計算して、変数に保存。
・タイマー1割り込み内(PWM周波数と同じ)でその値を
 タイマー1レジスタに書き込み。

これを繰り返し、22kHz~54kHzの周波数で赤外線LEDを
光らせています。

スケッチから関連部分をプックアップ。

【関連する変数】
メインルーチンでセットして割り込みでハードウェアを制御

volatile byte f_frqset; // 周波数設定フラグ
volatile word led_div; // LED駆動 分周比 ICR1に設定
volatile word led_duty; // 駆動デューティ PWM設定値 OCR1Aに設定

【関連する処理:loop内】

// 5msサイクルloop
while(1){
if(f_5ms){ // 5ms経過
f_5ms = 0;
// LED PWM周波数とデューティ
PD4_H; // (!!!)
if(led_frq == FRQ_LO){ // LO周波数のとき
PD2_H; // (!!!) パルスH/L
nop(); nop(); nop(); nop();
PD2_L; // (!!!)
}
a = (word)(160000L / (long)led_frq); // 分周比 (1)
b = (2 * a) / 3; // デューティ 1/3で (2)
cli(); // いったん割り込み禁止にして (3)
led_div = a; // LED駆動周分周比
led_duty = b; // デューティ比
f_frqset = 1; // 設定on タイマー1割り込みで処理
sei(); // 割込再開
// 周波数スキャン D/A PWM出力 220~540を0~320にして1/2
OCR2A = 255 - ((led_frq - FRQ_LO) / 2); // PWM 0~
PD4_L; // (!!!)
}

【割り込み処理】

ISR(TIMER1_OVF_vect) // タイマー1割り込み TOP値で
{
static byte cyc = 0; // LEDonサイクル
PD7_H; // (!!!)
switch(f_frqset){ // 実行区分
case 1: // PWM 設定指令
PD3_H; // (!!!)
ICR1 = led_div - 1; // LED周波数分周比 ★
OCR1A = led_duty - 1; // LED駆動デューティ 1/3 ★
cyc = 8; // 8サイクルだけLEDをon
f_frqset = 2;
PD3_L; // (!!!)
break;
case 2: // サイクル数をチェックしてオフに
if(cyc) cyc--;
if(cyc == 0){ // ダウンカウントしてゼロになった
PD3_H; // (!!!)
if(INP_SENS){ // センサー入力 H/L ?
SENS_H; // ポート出力でH保持
f_senshl = 1;
}
else{
SENS_L; // ポート出力でL保持
f_senshl = 0;
}
OCR1A = 0xFFFF; // LED駆動オフに
f_sensok = 1; // センサー状態確定
f_frqset = 0; // 次の起動設定を待つ
PD3_L; // (!!!)
}
break;
}
PD7_L; // (!!!)
}

(1) 5msごとに分周比=PWMの周波数とデューティ比を計算。
(2) 結果をいったん a と b に入れておいて。
(3) 割り込み禁止状態で変数に保存。

この部分の処理が、変数に付けた「volatileの有無」で変わって
しまうのです。

まずvolatileを付けたとき。 オシロでタイミングを見ます。
Vl09

PWMを処理しているタイマー1割り込み、この場合は
一定の周期で繰り返しています。

ところがvolatileを外すと・・・

Vl07

ch1波形、約65uほどのHレベル区間が「(1)(2)(3)」を
処理している時間です。
  ※ch2の1ms割り込みが5ms周期を知らせている。

ch3のタイマー1割り込み、新周期と新デューティ値を
変数に書いているのが「★★★」のタイミングです。
どういうわけか、割り込みが待たされてしまい、
処理の開始が遅れています。

これ、volatileを取ってしまったため、コンパイラが
  「いちいち仮変数の a と b に入れんでもエエやん」
  「直接 led_div と led_dutyに書いたろ」
  「ちょっとは早なるで
  「いちおう書き込み前に cli() はしとこ」
  「書き終わったら sei() ね」
と判断したせいです。

コンパイラの「ちょっとでも速よう実行できるほうがエエやろ」
というおせっかい。 (最適化の指示)
ただ、計算の前から割り込み禁止としたんで、時間のかかる除算
割り込み禁止の中に入ってしまい、処理が長くなってタイマー1割り込み
が待たされてしまいました。
  ※(2)の除算が割り込み禁止の中に入ってました。
   (1)は禁止前の実行でした。
割り込みが待たされるということは・・・
ICR1でPWM周波数を決めている方法では、ちょっと怖いこと
(PWM処理の一周抜け)が起こるかもしれません。

※関連
2018年10月11日:魔法の言葉「volatile」
2016年02月19日:Arduinoのタイマー処理

※追記
コンパイルされたソースファイルで比較してみると。

★volatile有

7b4: 20 91 21 01 lds r18, 0x0121 ▲led_frq
7b8: 30 91 22 01 lds r19, 0x0122
7bc: 40 e0 ldi r20, 0x00 ; 0
7be: 50 e0 ldi r21, 0x00 ; 0
7c0: c5 01 movw r24, r10
7c2: b4 01 movw r22, r8
7c4: 0e 94 94 07 call 0xf28 ; 0xf28 <__divmodsi4>
7c8: 29 01 movw r4, r18
7ca: 3a 01 movw r6, r20
7cc: c9 01 movw r24, r18
7ce: 88 0f add r24, r24
7d0: 99 1f adc r25, r25
7d2: b6 01 movw r22, r12
7d4: 0e 94 80 07 call 0xf00 ; 0xf00 <__udivmodhi4>
7d8: f8 94 cli
7da: 50 92 20 01 sts 0x0120, r5 ▲led_div
7de: 40 92 1f 01 sts 0x011F, r4
7e2: 70 93 1e 01 sts 0x011E, r23 ▲led_duty
7e6: 60 93 1d 01 sts 0x011D, r22
7ea: 30 92 1c 01 sts 0x011C, r3 ▲f_frq_set
7ee: 78 94 sei
★volatile無

7b2: 20 91 21 01 lds r18, 0x0121 ▲led_frq
7b6: 30 91 22 01 lds r19, 0x0122
7ba: 40 e0 ldi r20, 0x00 ; 0
7bc: 50 e0 ldi r21, 0x00 ; 0
7be: c5 01 movw r24, r10
7c0: b4 01 movw r22, r8
7c2: 0e 94 92 07 call 0xf24 ; 0xf24 <__divmodsi4>
7c6: f8 94 cli
7c8: 30 93 20 01 sts 0x0120, r19 ▲led_div
7cc: 20 93 1f 01 sts 0x011F, r18
7d0: c9 01 movw r24, r18
7d2: 88 0f add r24, r24
7d4: 99 1f adc r25, r25
7d6: b6 01 movw r22, r12
7d8: 0e 94 7e 07 call 0xefc ; 0xefc <__udivmodhi4> ←★
7dc: 70 93 1e 01 sts 0x011E, r23 ▲led_duty
7e0: 60 93 1d 01 sts 0x011D, r22
7e4: 70 92 1c 01 sts 0x011C, r7 ▲f_frq_set
7e8: 78 94 sei

「★volatile無」だと、「cli()割り込み禁止~sei()割り込み許可」内に
割り算が入っています。
「★volatile有」だと割り算は外に。
これが割り込み処理の遅れにつながっています。

| | コメント (0)

2022年7月25日 (月)

「東成おもちゃ病院」、8月6日はお休みします。

コロナの感染拡大により、8月6日(第一土曜)東成おもちゃ病院
お休みします。

コロナ禍、修理受付だけでもと、できるだけ開院してきま
したが、子供達への感染が広がっているということを考えて、
次回8月6日はお休みいたします。

  ・東成おもちゃ病院 まとめ


| | コメント (0)

Atmega328P タイマー/カウンタ1の高速PWM動作

Arduino-UNOで使われているAtmega328P、この高速PWM動作
の解説が「なんのこっちゃ?」になっていませんか?
8,9,10bit固定値での高速PWMだとTOP値が,255,511,1023
と固定されるので理解しやすいかと思いますが、
ICR1あるいはOCR1AレジスタでTOP値を決めたい時に
(PWM周期を動かしたい)、データシートには
ややこしい注意が記してあります

かいつまんで、要点を。

 ・OCR1Aは2重緩衝されます
 ・ICR1は2重緩衝されません

まず、この「2重緩衝」ってなに? でしょうか。

 ・ICR1がTOP値を定義するのに使われるとき、ICR1を
  更新する手順はOCR1Aの更新と異なります。
 ・TOPを定義するのにICR1を使うことは決まった
  TOP値を使う時に上手くいきます

この解説、PWM周期を可変したいときにICR1を使うと
  「上手くいかないかも
ということと理解できます。
その理由。

 ・ICR1が小さな値に変更される場合、書かれた
  新しいICR1値がTCNT1の現在値よりも小さくな
  る危険を意味します。
 ・その後の結果はカウンタが(その回の)TOP値での
  比較一致を失うことです。

つまり、ICR1でPWM波を作っているとき、PWM周期を短く
しようとしたときが「危ない」ぞっということなのです。
もしTNCT1より小さくしてしまったら、次の一致のため
にTCNT1が一周する(FFFF→0000を通過)のを待たなけれ
ばなりません。
PWMパルスの抜けが生じてしまいます。
  ※16MHzクロックだと1/65536で244Hz。
   4m秒ほどの抜け(だんまり)が出てしまう
   わけです。

このICR1に対して、OCR1Aを使った時は、

 ・この特徴は何時でも書かれることをOCR1Aの
  I/O位置に許します。
 ・OCR1A I/O位置が書かれる時に書かれた値は
  OCR1A緩衝部に置かれます。
 ・OCR1A(比較)レジスタはその後にTCNT1がTOPと一致
  した次のタイマ/カウンタ クロック周期にOCR1A緩衝部の
  値で更新されます。
 ・基準PWM周波数が(TOP値を変更することによって)
  動的に変更される場合、OCR1Aが2重緩衝機能のため、
  TOPとしてOCR1Aを使うことは明らかに良い選択です

となって、OCR1Aを使うと、次サイクルのTOP値一致で
PWM周期が更新されるのです。
ですので、ICR1の時のように「一周抜け」の心配はあり
ません。
  ※でも、出力できるPWMは一つだけ
   なってしまいます。

その違いを
  ・周波数つながりで、赤外線受光モジュールのBPF周波数
のスケッチをちょっと変更して確かめてみました。
ICR1をTOP値にするか、OCR1AをTOPにするかを#defineで
決めます。
OCR1AをTOP値にするとPWMのデューティ設定はOCR1Bで、
つまりOC1B端子が出力になるので、出力のポートが変わります。

見ているのは、発生周波数が54kHz→22kHzに変わる
タイミングです。
  ※トリガー用のテストパルスを出しています。
こんな具合にLED駆動出力(8波)が変わります。
★1と★2が注目点です。

Cc01_20220724152301
Cc00

「▼出力開始処理」のタイミングでPWM周期とデューティを
変えています。
まず、その次の割り込み処理までの時間が異なっています。
そしてLED駆動パルスが出るタイミング(OCR1Aあるいは
OCR1Bが反映される)も違いが見えます。

「BPF周波数チェック」のスケッチでは、タイマー1
割り込み内でTOP値を変えていますので、TCNT1は
「0000」からちょっとしか進んでおらず、新設定する
ICR1がTCNT1より小さくなることはありません。

しかし、「注意せよ!」は変わりありませんので。
  ※タイミングの連続性がズレてよいのなら
   新ICR1設定前にTCNT1をクリアしてし
   まうとかかなぁ。

※サンプルスケッチ (.txtにしています)

  ・ダウンロード - ir_frq_scan3.txt


※関連
  ・2022年7月26日:割り込みと絡むクリチカルな制御 変数にはVolatileを!


| | コメント (0)

2022年7月23日 (土)

周波数つながりで、赤外線受光モジュールのBPF周波数

2022年7月10日:百均屋さんの紫外線LEDランプ
2022年7月7日:「糸ようじ」のプラケースを使うシリーズ:赤外線リモコンチェッカー
2022年7月8日:手持ちの赤外線リモコン受光モジュールを発掘してみたら・・・
ということで、周波数や波長をあれこれと考えておりました。

発掘した赤外線リモコン受光モジュールが6種類。
このセンサのBPF周波数、つまり赤外線のキャリアー周波数が
どんなものなのかを計ってみました。

通常は「38kHz」。
品種によってはもっと低い周波数や高い周波数が使われると。
そこで・・・
 ・Arduino-UNOをベースに。
 ・22kHz~54kHzの範囲で周波数を可変。
    中心を38kHzにして±16kHz 
 ・この周波数で赤外光LEDを点灯。
    駆動デューティは1/3
 ・駆動するパルスは「8波」。
 ・5msごとに周波数を200Hzステップで
  変えながらパルスを出力。
 ・160ステップなので0.8秒サイクル。
 ・赤外線モジュールからの応答を見れば
  どのあたりの周波数を拾うのか分かる。
 ・けっこう感度が良いので赤外LEDの駆動
  電流をボリュームで絞れるように。
 ・オシロスコープで観察できるように
  周波数スキャンの様子をPWMでD/Aし、
  ノコギリ波にして出力。
 ・シリアルでも出力。
   5msに間に合うよう115.2kBPSに
 ・センサーからの信号を8波パルスをオフする
  タイミングでラッチしてPB2へ出力。

まず、こんな回路。
E3

LED駆動の様子です。
E1_20220723161901
8波の駆動パルスを出して、その応答を見ます。
  反応無しなら「H」。
  反応があれば「L」。

周波数をスキャンして「L」が続くところが、
BPFの中心周波数になると想像できます。

E2

LEDとセンサーをくっつけると全周波数でLになってしまい、
応答周波数が分からなくなってしまいます。
LEDの電流を小さくして、LEDとセンサーをちょっと
離して様子を見ます。
センサーの種類により、ずいぶんと感度が異なります。
応答感度の中央が見れるよう適当に調整。
  ※センサーの出力信号はデジタルなので、
   強弱はわかりません。
   そこで応答周波数の「幅」から、中心を想像します。
  ※センサーをソケットで抜き差しできるよう
   「OUT GND VCC」の順にピンヘッダに
   ハンダしています。

実験の様子
C01_20220723163901

結果。
センサーの写真とオシロ波形。
オシロの上段波形がスキャンしている周波数に比例した
ノコギリ波。
下段がセンサーの応答。 (Lで検出)

【01】
01_20220723162401
B001_20220723162401  

【02】
02_20220723162501
B002_20220723162501

【03】
03_20220723162701
B003_20220723162801

【04】
04
B004_20220723162801

【05】
05
B005_20220723162801

【06】
06
B006_20220723162901

このように6つある中で4つの中心周波数はほぼ「38kHz」。
2つが「低い目」で、「28~32kHz」あたりになっているのが
浮かんできました。

実質、LEDをセンサーに近づけると、フィルタ周波数の
違いに関係なく応答しちゃいそうでので、到達距離を問題に
しない限り、気にしなくて良さそうです。

実行中の様子
D01

割り込み処理の様子
D04

シリアル出力の様子

 22.0kHz 1 1/727
 22.2kHz 1 1/720
   :
 37.8kHz 0 1/423
 38.0kHz 0 1/421
 38.2kHz 0 1/418
   :
 53.8kHz 1 1/297
 54.0kHz 1 1/296

22kHz~54kHzを繰り返す
先頭から、
 LED駆動周波数(8波の)
 センサー応答 0で検出
 周波数を計算する「16MHz/n」のn値

※制御スケッチ ファイルタイプを .ino→ .txtに。
    ・ダウンロード - ir_frq_scan2.txt

・タイマー0をシステムから取り上げて1msタイマー
 割り込み処理。
    ※delayやmillisが使えないので注意
・タイマー1のPWM出力でLED駆動パルスを生成。
・タイマー2のPWM出力でノコギリ波発生用D/Aを出力。

※参考
  ・Atmega328P タイマー/カウンタ1の高速PWM動作




| | コメント (0)

ゴーグルに付いたLEDランプが接触不良

女房が勤める歯医者の先生からのHELP。
「ルーペ付ゴーグルに付いたLEDランプが接触不良になって困っている」と。
ゴーグルの中央に取り付けられたLEDランプ、そこからのリード線がL字型プラグを通して腰に付けるバッテリーパックにつながります。
12_20220723142301
φ3.5mmのステレオプラグが使われていました。
この根元が切れかけていたのです。
  ※すでに切れていて、電線を押しつけると
   つながって光るという状態。

電線を切ってみると、3極のステレオプラグですが、使われているのは2本。
プラグから出ている赤・黒のリード線、その黒のほうがアウトでした。
13_20220723142301
手元にL型のプラグが無かったので、ストレートのプラグ(金メッキだ)に交換(ハンダ付け)して作業終了。

14_20220723142301

| | コメント (0)

2022年7月21日 (木)

クリス・エヴァンス著『精密の歴史』

2022年7月10日:百均屋さんの紫外線LEDランプ

での、「どうやったら紫外線LEDの波長を測れるか?」
絡みで「回折格子」や「分光器」を図書館の書籍検索で
探していたら、こんな本が見つかりました。

クリス・エヴァンス著
  翻訳:橋本 洋、上野 滋
    『精密の歴史
サブタイトルが
  「人間はいかに精度をつくってきたか
Cc1_20220721144801

1993年発行の少し古い本ですが、18~19世紀、20世紀初頭の
科学人がたくさん出てきます。
回折格子に関しては、
  フラウンフォーファー
  フレネル
  ラザフォード
  マイケルソン
  モーリー
   :
図や写真もそこそこあるのですが、その解説がわからない。
回折格子を「掘る」機械(【刻線装置】と呼ばれてます)
この機械、装置の動きが文章だけでは想像できないのです。
面白いんですが、ちょっと残念。

| | コメント (0)

2022年7月19日 (火)

木村哲人著「真空管の伝説」と「テロ爆弾の系譜」

図書館の書籍検索で「真空管」を探していて見つけた本です。
  ・木村哲人 真空管の伝説
Bb0

真空管の技術解説じゃなく、著者さんの記憶(録音技師さん)と
真空管とその回りの歴史を語っておられます。


そして、同じ著者さんつながりで見つけた本がこれ。

  ・木村哲人 テロ爆弾の系譜

Bb1_20220719113601
サブタイトルが「バクダン製造者の告白 」。

これはアカん本です。
  しかし、時代背景も面白い。
主題は「自作爆弾の研究」です。
まぁ、真似できないようには書かれていますが・・・

奥付を見ますと、著者さん、2004年にご逝去されて
いました。 合掌。
Bb2_20220719113601

| | コメント (0)

2022年7月18日 (月)

リコーGX200の中古品を入手

リコーのデジカメ「GX100」、ADJレバーの右が効かなくなったぁ
を諦めて、
  リコー「GXR+S10」がやってきた 中古だけど
これが昨年末。
そして、さらにリコーGX200の中古品を安価で入手しました。
  ※状態、むちゃ良。
11_20220718115501
 左がGX200。
 右がもうあかんのGX100。

ただし、付いてきたバッテリがパナ製の
「DMW-BCC12」 1150mAh。
12_20220718115501
リコーのと同じサイズ。
  ※これは使い古されてて、オマケの感じ。

アマゾンの互換バッテリの対応機種一覧 を見ますと、
多くのカメラがこの形状のバッテリを使っているんですな。

※GX100の遺産が生かせます。
「GXR+S10」で使えたのはリモコンだけ。
  ※それだけでもありがたいのですが。
今回のGX200はGX100の直近後継機ということで
GX100で便利に使っていたのが利用できます。
自動開閉式レンズキャップ・LC-1
有線リモコンCA-1
レンズフードを利用したLEDリングライト
リチウムイオン充電池 DB-60、DB-65

GX200の写り・・・やっぱしノイズが多いです。
GX100と同じで、ISO400以上は非常用。
常用ISO100でというところ。

GX100 AWBのスカタン がGX200でどうなっているかはこれから。
「白色蛍光灯」が回りから姿を消してしまっていますんで・・・

※GX100、撮影枚数を確認したら「32839」枚。
 仕事場でのブツの撮影、ほとんどがこのカメラです。
 トラ技に掲載してもらった記事の写真もほとんどがこのカメラ。
   ・Caplio GX100 ファームウェア書き換え手順
     「SH」が撮影枚数。

| | コメント (0)

秋月電子16文字x2行のI2Cインターフェース液晶AQM1602Y

8文字x2行のI2Cインターフェースの液晶表示器は
  2021年7月2日:秋月の液晶表示器 ACM0802C-NLW-BBW-IIC、I2Cのプルアップ抵抗
で試していました。

今回は16文字×2行の
  AQM1602Y-FLW-FBW (秋月電子)
これをあれこれと・・・

横幅44mm×縦25.5mmと16文字表示なのにたいへん小型。
  ※ACM0802は58×32mm
標準が電源電圧3.3Vで、5V電源でも使えるぞという仕様です。
V50_10
ACM0802C-IICは昔からのHD44780と同じ制御手順ですが、
AQM1602は
 ・3.3Vと5Vで「booster circuit」を使うか使わないかを
  設定しなくちゃならない。
 ・コントラストはコマンドで設定。
    ボリュームじゃない。
 ・booster用のコンデンサが必要。
ということで、ちゃんと使おうとすると、ちょっと考えなけ
ればなりません。
  ※データシートやみなさんのサンプルを読み漁って

まず回路。 5V動作のArduino-UNOだとこんなつなぎ。
Aa22_20220718104401
まず確かめておきたかったのが、I2C(SDA、SCL)ライン
プルアップ抵抗
AQM0802-IICでは、ドライブ能力の不足を感じたんで、
2.2KΩ→10KΩにしました。
抵抗を変えて波形を見てみると、今回のAQM1602も同じ
ようなドライブ能力でした。
4.7KΩだとレベルが上がり、ちょっと気になる0.75Vほど。
10KΩで0.43V、22KΩで0.33V。
  ※10KΩでOKでしょう。

もう一つがbooster circuit:チャージポンプのコンデンサ。
3.3V電源だとこれを働かせるんで必須ですが、これをオフに
する5V電源だと省けるのではないか?という確認です。
  ※省けました。
   VOUTのまで外すと0.5V(p-p)くらいの
   リップルが見えますが、見栄えや動作に
   は関係なしでした。
Aa21_20220718104401

さらにどうなるか気になったのがコントラストの
設定値。
6bit:0~63の値で設定できます。
秋月のリーフレットには
  『5Vの場合35で少し濃いめ』と記されています。
これを見ておきます。

まず5V電源から。
  右下の「<>」内の数字がコントラスト設定値。
  右上の0~9は「生きてるよ」表示。
  1秒ごとにインクリメント。
Aq50

コントラスト設定値が5あたりから文字が出始めます。
30を越えると最大の63までほとんど変化なし。
真っ黒になって見えなくなるということはありません
でした。

次が3.3V電源
  ※5Vと同じバックライトLED駆動抵抗です
   ので、少し暗くなってます。

Aq33
20を越えたあたりから文字が見え出して(背景白から)
40を越えると背景が黒に。

5Vでも3.3Vでも、秋月の言う「35」あたりで良いのかと。

3.3V電源でのコントラストを変えると、VO電圧と
VOUT電圧が次のように変化します。

・Follower control : FON = 1 Rb2,1,0 = 1,0,0
・Power control : Bon = 1

 コントラスト VO  VOUT
  設定値   電圧 電圧
 --------------------------
    0   2.40V 6.52V
    16   3.44V 6.51V
    32   4.48V 6.49V
    48   5.52V 6.47V
    63   6.42V 6.42V

Bonをオンする3.3V動作では、電源電圧3.3Vの
約2倍(近く)の電圧がVOUTに出ています。

Bonオフの5Vでは5Vより少し低い電圧のままで
ほとんど変化はありませんでした。

・コントラスト設定テストプログラム Arduino-UNO用

   ダウンロード - test_i2c_aqm1602y_a.zip

※Arduino-IDEのシリアルモニターは1行をバッファ
 するので、単純に1文字出力する「Tera Term」など
 のターミナルを使って。
 数字入力1と0でコントラスト値を+/-。

※beginの時に文字数、行数に加えて使用電圧区分を設定
  LCD.begin(16, 2, LCD_V5R0); // LCD初期化 文字数、行数設定 (16文字x2行) 5.0V電源
 // LCD.begin(16, 2, LCD_V3R3); // LCD初期化 文字数、行数設定 (16文字x2行) 3.3V電源
 5Vの時はbooster circuitをオフ。「Bon=0」に。
 3.3Vの時にBon=1。

※「void setContrast(uint8_t n);」でコントラスト(0~63)を設定。
 「uint8_t getContrast();」で現在のコントラスト値を読み出し。

※追記
booster circuitオン時の電源電圧とVOUT電圧。
コントラスト設定値は35で。
  最大定格ではV0=7.0Vとなっています。
  booster circuitをオンすると電源電圧の約2倍の
  電圧がVOUTに出てきます。

電源電圧  VOUT電圧
------------
  3.3V   6.45V
  3.4V   6.66V
  3.5V   6.84V
  3.6V   7.04V
  3.7V   7.22V
  3.8V   7.43V
  3.9V   7.63V
  4.0V   7.82V

 ※これ以上にするのは怖かったんでストップ。

 

| | コメント (0)

2022年7月13日 (水)

次男、発熱! PCR検査でアウトっ!

月曜日の深夜に次男が発熱。
火曜日の朝、PCR検査をしてもらったら「アウト」。
  ※自宅二階に一人で隔離状態に

長男は、仕事場の指示で火曜日にPCR検査。
陰性で大丈夫だったんだけど、「1週間お休み」に。
私と女房は、土曜日まで発熱が無い場合は、
土日の2回、「抗原検査」をと。
土曜日まで外出禁止。

感染者、発熱の2~3日前からビールスを放出してる
んだと。

293468646_2199687683515010_3158097637944

| | コメント (6)

2022年7月12日 (火)

放置していた2014年製の「eneloop lite」を充放電 800cyc目

2022年5月17日:放置していた2014年製の「eneloop lite」を充放電
この続きです。
800サイクル目が終わりました。

充放電実験回路全体の様子。
B11_20220712120801

50サイクルごとの0.2C放電のグラフ。
B12_20220712120901
毎サイクルの充放電時間と充電停止電圧。
B13_20220712120901
放電は0.5Cで1.00Vまで。
充電は0.5Cで「-ΔV検出」。
-10mVに設定しています。
充電停止電圧は電池の内部抵抗に敏感です。
内部抵抗が大きくなってくると、この電圧が徐々に
上がってきます。

電池あれこれ

2017年8月24日:電池イジメ、もうやめます
2017年8月25日:電池イジメ エネループ・ライトとROC製Ni-Cd(700mAh)
2019年3月8日:いつのまにやらエネループ・ライトが廃番に

| | コメント (0)

2022年7月10日 (日)

百均屋さんの紫外線LEDランプ

2021年2月 2日:ダイソーのUVレジン液、UV-EPROM消去用紫外線ではなかなか固まらない・・・
この時使った紫外線ランプはEEPROM消去用の「殺菌灯」。
波長が短すぎて(2537Å:あえてオングストローム表記で)、固まり
ませんでした。

※関連
  ・2007年12月05日:紫外線ランプの応用

そこで、百均屋さんを巡って買ってきたのがこの2種。
まず、「セリア」で100円(税別)。

A12_20220710111801

しかし、これは「405nm専用」、「365nmには対応していません」と。

A13_20220710111801

レジンの固まる波長があれこれあるそうで、紫外線ならなんでも良い
というわけではないようなのです。
「太陽光ok」なんて記されてるレジンもありますし。

百円レジンを「ダイソー」で見ていたら、こんなLEDランプを発見
しました。
  ※写真の様子、自分で組み立てるわけじゃないです。
   箱から出したら、まずは解体して中を確認して
   みるという性で・・・

A11_20220710111801

ネットを調べてみると、
100均で300円の紫外線LEDライトを買ってみた:NOBU LABO
に、回路図が見つかります。
  ※箱の外装印刷や基板のパターン、私が買った物と
   少々異なります。

入手したダイソーのUV-LEDランプには
波長365+405nm」対応と記されているのです。
A14_20220710111801
2種類の波長の違うLEDが組み込まれているのか、
それとも・・・

LEDの明るさは比較できますが、波長を調べる
ツールは持っていません。

例えば、秋月電子の紫外線LED。
   ・OSV1XME3E1E 3W 365nm品
このデータシートを見ると、急峻な発光波長特性
が示されています。
Ab1_20220710112601
405nmだとパワーはありません。

紫外線LEDでも、波長違いのものが売られています。
例えば、365nmと406nの中間385nm。
  ・OSV3SL3131A 3φ砲弾型385nm品

これだと、波長の両サイド、なんとかパワーは伝わるような
感じです。
Ab2_20220710112701

買ってきたUV-LEDランプ、2種の波長を出しているのか、
それとも同じ波長のランプを使っているのか・・・

どうやって確かめましょう。
ラジオペンチさんところの分光計 これあたりになりますか。

※ケーブルについて
USB電源とはマイクロBのケーブルでつなぎます。
1mのケーブルが付属しています。
手元のUSBケーブルにつなぎ替えてみると電源電流が
変わりました。
  付属ケーブル 0.74A
  1.5mケーブル 0.80A
  0.5mケーブル 0.88A
ケーブルの電圧ドロップで消費電流が変化しちゃいます。

| | コメント (5)

2022年7月 8日 (金)

手持ちの赤外線リモコン受光モジュールを発掘してみたら・・・

「糸ようじ」のプラケースを使うシリーズ:赤外線リモコンチェッカー
は、ずいぶん古い赤外線リモコン受光モジュールを使いました。
部品箱を発掘してみると、似たようなパーツが出てきました。

Rr1_20220708174001

何かの捨てる機器から取り外して「いつか使うかも!?」で
置いておいたもの。
  ※こんなことしてるからモノが増えるわけで

製作した赤外線リモコンチェッカーで使ったのと同じのが
もう一つありましたんで、シールドケースを開けてみました。

Rr2
ソニーの"CX20106A"が見えています。


※実験
  ・2022年7月23日:周波数つながりで、赤外線受光モジュールのBPF周波数

| | コメント (4)

2022年7月 7日 (木)

シリアル通信ボーレートとクロック周波数

デジタルテスター「FLUKE 87IV」の赤外線通信ユニット完成では
4.9152MHzの水晶を使って9600BPSのボーレートを得ました。

シリアル通信のボーレート、昔々は5単位テレテイプの45.5BPS。
マイコンになって110BPS、そして300BPS。
今は最低が1200BPSでしょうか。
9600BPSまでは2倍飛びで2400、4800BPS。
そして19.2kの中間に、9600を1.5倍した14.4kBPSが入っています。
ここから、両方で2倍飛びの値が使われます。

Arduino-UNOの場合、元クロックが16MHzです。
ボーレートのクロック分周比は、BPS値を16倍した値で16MHzを割る。
あるいは16MHz÷16÷BPS値で求められます

1200BPS~115.2kBPSまでその分周比を見てみると・・・
  ・・・割り切れません。
誤差(%)とともに表にしました。

      |   16.000MHz 
------|-------------
1200 | 833 0.04
2400 | 417 -0.08
4800 | 208 0.16
9600 | 104 0.16
14.4k | 69 0.64
19.2k | 52 0.16
28.8k | 35 -0.79
38.4k | 26 0.16
57.6k | 17 2.12
76.8k | 13 0.16
115.2k| 9 -3.55
↑ ↑
1/n 誤差(%)
   ATmega328のBRR(ボーレートレジスタ)へは
   「n-1」を設定する。

見ての通り、どのボーレートも誤差を含んでいて、
115.2kBPSはけっこう大きな値です。
10bit分で3割り越えですから、ちょっと気になります。
水晶発振子じゃなくセラミック発振子だと、素子が持つ
誤差も加わります。

  ※注:追記
   Arduino-UNOのボーレート設定、通常のX16クロックでは
   なく「X8」の倍速設定(UCSRAのU2Xをオン)が使われています。
   ですので、上の表のn値は2倍の値を設定できるということで
   割り切れなくても、微調できます。
   そして、誤差はおよそ1/2になります。
   115.2kなら16MHz/8/115.2k=17となり、
   結果、誤差は2.12%となります。(それでも大きいぞ)

5V電源での最高速20MHzでも割り切れずに誤差が発生します。

      |    20.000MHz
------|--------------
1200 | 1042 -0.03
2400 | 521 -0.03
4800 | 260 0.16
9600 | 130 0.16
14.4k | 87 -0.22
19.2k | 65 0.16
28.8k | 43 0.94
38.4k | 33 -1.36
57.6k | 22 -1.36
76.8k | 16 1.73
115.2k| 11 -1.36


誤差を生じないボーレートのクロックを作るには
ちょっと中途半端な周波数が必要です。
これらの周波数だと、1200BPSから115.2kBPSまで誤差ゼロ
が実現できます。

      | 7.3728 11.0592 14.7456 18.432
------|------------------------------
1200 | 384 576 768 960
2400 | 192 288 384 480
4800 | 96 144 192 240
9600 | 48 72 96 120
14.4k | 32 48 64 80
19.2k | 24 36 48 60
28.8k | 16 24 32 40
38.4k | 12 18 24 30
57.6k | 8 12 16 20
76.8k | 6 9 12 15
115.2k| 4 6 8 10

FLUKE 87IV - IrDAで使った4.9152MHzだと、
14.4kなどの1.5倍系のボーレートで誤差を生じます。

      | 4.608 4.9152 6.144 9.216 9.8304 19.6608
------|----------------------------------------
1200 | 240 256 320 480 512 1024
2400 | 120 128 160 240 256 512
4800 | 60 64 80 120 128 256
9600 | 30 32 40 60 64 128
14.4k | 20 - - 40 - -
19.2k | 15 16 20 30 32 64
28.8k | 10 - - 20 - -
38.4k | - 8 10 15 16 32
57.6k | 5 - - 10 - -
76.8k | - 4 5 - 8 16
115.2k| - - - 5 - -

  ※「-」は割り切れないことを示す。

   ※9.216MHzは18.432MHzの1/2

高ボーレート(通信速度が速く)になると、送受の割り込み処理時間
が問題になってきます。
115.2kだと1文字が86.8us
誤差のないメインクロックを選んだとしても、クロックを低く
してまうと、他の割込処理との輻輳を見ておかなければなりません。
送信は待ってくれますが、受信が間に合わないと文字抜けが生じ
ます。
マイコンの能力に見合ったボーレートを選ぶということで。

もうひとつ。
制御系で欲しいのがきっちりの「1ms」タイマー
割り切れるボーレート設定値と内部のタイマー設定値。
18.432MHzが魔法の数字のように思えてきます。
  ボーレートはOK。
  1msは18.432MHz ÷ 256 ÷ 72で1kHz。
  あるいは18.432MHz ÷ 1024 ÷ 18で1kHz。

この周波数、TK-80のクロックでした。
  ・2018年6月6日:マイコンのリセット回路
8224:クロックジェネレータICにつながってる
水晶がそれです。
これを9分周した2.048MHzが8080マイコンの動作周波数でした。

※追記
今までのAVRマイコンでは「分周比=16MHz÷16÷BPS値」
という計算で、分周比を求めていましたが、新しいAVRマイコン
では分周比に小数(例えば6bit分)が使えるようになっています。
結果的に分周比の計算は「16MHz×4÷BPS値」となり、
細かな設定ができるように考えられています。

| | コメント (0)

「糸ようじ」のプラケースを使うシリーズ:赤外線リモコンチェッカー

ダイソーの「糸ようじ」。
以前、この空きケースを使って回路を組み込んだのがこれ。
 ・2021年3月23日:中波振幅変調電波発生回路 いわゆるAMワイヤレスマイク

今回はこのケースに組み込んだ「赤外線リモコンチェッカ-」を紹介
しておきます。
文鎮:ハンダ付け補助ツール 製作元の佐藤テック君が、
「リモコンの調子が悪い! 見て!」っと、赤外線リモコンを
持ってきました。
デジタルカメラや携帯電話のカメラでリモコンの赤外LEDを
見れば発光しているかどうかが分かります。
電池の消耗のように簡単な時はこれで十分なんですが、
今回は「動くときもある。」という不安定な状態とのこと。
こうなると「おもちゃ病院」案件
赤外線リモコンのチェッカー、こんなのを作ってあります。
赤外線を受けたら音を出す!というシンプルなものです。
  ※手書きだった回路図をまとめておきました。

Cd1_20220708091701
 
制御コードを液晶表示するというツールも昔々に
作ってあるのですが、発光しているかどうかをチェック
するには「音で聞く」のが一番手軽。
  ※オシロでの波形観察は、もっと複雑怪奇
   なトラブルに遭遇したときでしょうか。

「糸ようじ」のケース、「タダでもらったもの!」ということで、
ケース加工の気が楽です。
  ※エエかげんでエエやンっと。
   ホットボンドで部品をくっつけて、中ぶらりんの
   配線もok。 (短絡さえしなければ)

Cc12_20220707131901

Cc13

Cc14

赤外線の受光ユニットはジャンク箱からの発掘品。
シールドケースの中を見るとソニーの「CX20106A」という
ICが入っていました。

こんな音が出ます。
https://www.youtube.com/watch?v=8j62ooOGqG8
  ※リモコンが出す赤外光も写っています

※「SONY CX20106A」で検索したら
「共立」で似たようなユニットを発見。
https://eleshop.jp/shop/g/gL4541H/
  外形とピン位置が異なりますが、シリーズもの
  なんでしょう。
  今ふうの赤外線受光ユニット、使用可能な
  電源電圧が広くなってますが、この発掘品は
  5Vでした。 電圧が低くなると動作せず。
  電池2本で動かしたかったので、HT7750Aを
  持ち出してきたという次第。
  すると・・・電源ノイズがぁぁ。

| | コメント (0)

2022年7月 6日 (水)

デジタルテスター「FLUKE 87IV」の赤外線通信ユニット完成

2022年6月29日:デジタルテスター「FLUKE 87IV」の赤外線通信
で、「こりゃ作らなあかんなぁ~」と思い立った
IrDAによるデータ吸い上げユニット」、できました。

こんな回路です。
Ab1_20220706153701

秋月のIrDAモジュール:AE-RPM851A  と
USBシリアル変換モジュール:AE-CH340E-TYPEC
それに 「MCP2122」と 「ATTINY841」 マイコン。

クロックは水晶発振子。
通信速度が9600BPSだけということで、4.9152MHz。
  16MHzで動いているArduino-UNOの処理速度、
  けっこう速く感じますが、4.9152MHzだと
  「ちょっと遅いな~」っという感じがします。

小さなプラケース(ダイソーで入手したけど、もう売ってない)
に入れました。
Ab22
赤外線部は穴をあけなくてもプラケースを通してやりとり
できています。
50cmほど離しても大丈夫。
  でも、1mは届きません。

Ab21

電源はUSBから供給。
PCを起動しなくてもSDカードでシリアルデータロガー
が使えるように、TTLレベルでも出力しています。

通信している間は、テスターのオートパワーオフは延長されていて
勝手に電源が切れるということはありませんでした。

・起動メッセージ タイトル表示
 # FLUKE model 87IV IrDA com reader
 # Op-key       (2022-07-05)
 # 1 : Start measure  ←PCでのキー操作は0,1,2の3つ
 # 2 : Stop
 # 0 : Clear cyc counter
 # FLUKE 87, V1.01,75530000 ←IDコマンドで機種名取得
   0 +0.0576 V AC  ←勝手にデータ取得開始
   1 +0.0576 V AC
   2 +0.0576 V AC  ←1秒サイクルで読み出し
   3 +0.0576 V AC
   4 +0.0576 V AC
 # Stop.  ←「2」キーで停止
 # Start.  ←「1」キーで再開
   12 +0.0575 V AC  ←停止中もサイクル秒値を進めてる
   13 +0.0575 V AC
   14 +0.0575 V AC
 # Clr cyc.  ←「0」キーでサイクル秒値をクリア
   0 +0.0576 V AC ←測定は継続
   1 +0.0576 V AC
   2 +0.0576 V AC
 # Stop.     ←停止
 # Clr & Start.  ←クリアして測定再開
   0 +0.0577 V AC
   1 +0.0578 V AC
   2 +0.0578 V AC
   3 +0.0578 V AC
   4 +0.0578 V AC
   5 +0.0708 mV AC ←途中でレンジを変えている
   6 +30.080 mV AC
   7 +24.909 mV AC
   8 +40.721 mV AC
   9 + Out of range. V DC ←オーバーレンジの表示
   10 +0.0000 V DC
   11 +0.0000 V DC
   12 +0.0000 V DC
   13 +0.0000 mV DC
   14 +00.022 mV DC
   15 +00.023 mV DC
   16 +00.023 mOhms
   17 + Out of range. kOhms
   18 + Out of range. MOhms ←抵抗レンジ オープンだ
   19 + Out of range. MOhms
   20 +01.474 mV DC
   21 +01.758 mV DC
   22 +0.0008 V DC
   23 +0.0008 mV AC
   24 +40.148 mV AC
 # Err  ←通信遮断でエラー表示
   41 + Out of range. mV AC ←通信回復で自動的に測定再開
   42 +43.682 mV AC  ←サイクル秒値を見ればエラーが
   43 +43.174 mV AC   生じていた時間が分かる
 
・起動直後、テスターとの通信
   赤外線でやりとりできるか?
   機番を読めるか? をチェック
(太字がテスターからの応答)
<CR> 「0x0d」を送って応答を見る。
 1
<CR>  4回実行
 1
<CR>
 1
<CR>
 1
ID<CR>  「ID」コマンドを送って機番を待つ
 0
 FLUKE 87, V1.01,75530000
QM<CR>  測定開始「QM」コマンドでデータ要求
 0
 QM,+0.0434 V AC
QM<CR>
 0
 QM,+0.0435 V AC
QM<CR>
 0
 QM,+0.0435 V AC
    応答文字の「0」と「QM,」を除いてから、
   測定データとしてPCに送信しています。
起動直後あるいは測定中に、テスターとの通信が失敗しても
1秒ごとに「QM」コマンドを送っています。
テスターから応答が返ってくればそこから自動的に測定が
再開されます。

※制御プログラム
  Atmel studio 7.0を使いました。
  ソースは「main.c」1本。
  関連ファイルといっしょに圧縮しています。
    ダウンロード - fluke87_irda_tn841.zip

  割り込み処理しているのは2つのシリアル送受だけ。
  タイマーはフラグを見ています。
  メインの中でタイムアップをチェックして計時処理。

| | コメント (0)

タミヤ★★ミニ四駆用充電池「NEO CHAMP」950mAh 1200サイクル目

2021年11月にスタートしたタミヤのNEO CHAMP
1200サイクルの充放電を終えました。
  1600サイクルに向け実験は続行です。

まず、50サイクルごとの「0.2C放電」。
定格容量が950mAhですので190mAの放電電流です。
1.00Vまで一定電流で放電します。
5時間=300分が定格の放電時間。
JISではこれが180分になると寿命と判断します。

V1200

毎サイクルの充放電時間と充電停止電圧のグラフがこれ。
  (50サイクルごとのは抜かして)
充放電電流は0.5Cですんで475mA。
放電は1.00Vまで、充電の停止は「-ΔV」(-10mV)を検出します。
T1200
寿命が近づくと放電時間が短くなります。
また、内部抵抗の上昇に連れて充電停止電圧が上がってきます。
NEO CHAMP、なにやらむちゃ優秀なグラフが出てきています。
   ※劣化のきざしがありません
内部抵抗(1kHz交流定電流で測定)は「27mΩ」でした。

2021年11月15日:タミヤ★★ミニ四駆用充電池「NEO CHAMP」950mAh 開始
2022年02月04日:タミヤ★★ミニ四駆用充電池「NEO CHAMP」950mAh 400サイクル目
2022年04月22日:タミヤ★★ミニ四駆用充電池「NEO CHAMP」950mAh 800サイクル目
2022年02月08日:JIS C8708:2019実験でのニッ水電池、初回放電の様子

  ※初回放電では、エネルギーを残していませんでしたので、
   保存には向かない電池に仕上げているのかも。

| | コメント (0)

2022年7月 4日 (月)

『コード・ガールズ』

図書館にリクエストしていました。
  ・ライザ・マンディ著「コード・ガールズ」
サブタイトルが「日独の暗号を解き明かした女性たち」

Aa1_20220704171501

こりゃあかん。
  暗号が筒抜け(最終的に)
大戦末期、たくさんの日本の輸送船が沈められたのは、
  ・・・暗号解読。
海軍のも陸軍のも外交暗号も・・・。
みんな解読されてました。

メカの説明や図表はありません。
暗号解読に従事した女性達の日常のお話し。
その中に・・・
  ミッドウェーも、山本大将機撃墜の発端も。

2009年07月27日:『暗号解読』、『暗号戦争』
2018年7月24日:「クリプトノミコン」 ガルバーニ電燭とは?


| | コメント (7)

2022年7月 3日 (日)

ダイソー「LOOPER」(1000mAh) 充放電実験 800サイクル終了

ダイソーLOOPERの充放電実験、800サイクル目が終わっている
はずだったんで、日曜日ですが出社。
すぐにグラフ化できるのは「50サイクルごとの0.2C放電」
こんな様子です。

Cap040_20220703091501
試験装置から電池を取り外して内部抵抗を計ってみると・・・
 「309mΩ」まで上昇。
そろそろ寿命が近づいてきた感じです。
  ※JISでは50cycごとの0.2C放電の放電時間が
   180分を切った(定格で5時間。その60%)
   回数で判断します。
1200サイクルに向け、実験は継続します。


0.5Cの充放電時間のグラフはちょいと生データを加工しないと
いけないので、少々お待ちを。
しかし、このLOOPER。
ご近所のダイソーから姿を消してしまいましたね。

※0.5Cでの充放電時間と充電停止電圧のグラフ
  生データをGAWKで加工後、GNUPLOTに食わせて出力。
Cap041
放電時間の変化を追うと、800サイクル目で半分の60分に
なっていました。

タミヤ★★のNEO CHAMPは、もうちょいしたら
1200サイクルに到達します。
  (今、1193サイクル目の充電を頑張ってます)

電池あれこれ
電池内部抵抗の測定
JIS C8708:2019充放電実験回路
   ↑トランジスタ技術2022年3月号 に掲載されました

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022年4月30日:ダイソー「LOOPER」(1000mAh) 充放電実験 400サイクル終了
2022年3月24日:ダイソー「LOOPER」(1000mAh) 充放電実験 220サイクル目
2022年2月6日:ダイソー「LOOPER」(1000mAh) 充放電実験開始
2021年12月24日:ダイソーの新型ニッ水電池:LEXEL社製 LOOPER
2022年2月8日:JIS C8708:2019実験でのニッ水電池、初回放電の様子

| | コメント (0)

2022年7月 1日 (金)

PHP新書『てんまる』

またまた図書館で。 新入荷の書架で発見。
  山口 謠司 著『てんまる』(PHP新書)
サブタイトルが「日本語に革命をもたらした句読点」。

Aa0_20220701094101

日本語の句読点、それが生まれた歴史から始まり、
さまざまな本での実例、そして「まんが」での句読点
を追跡されています。

過去、本ブログで記事にした「句読点」の話と言えば
本多勝一さんの『日本語の作文技術』
  ・2006年11月26日:日本語を書く
  ・2010年12月01日:「、」の話

  ※「句読点の使い方」もっと早くこの本に出会ってれば
   という感じですなぁ。
「てんまる」にもこの本の話が出てきます。

もう一つ。
、。」を「,。」や「,.」にすることの話も。
  ※トラ技の句読点は「,.」。
   こちらからの提出原稿は「、。」にしてますが、
   編集部が「,.」に変換してくれます。

そしてこんなお話しも。(第四章)
   「論理国語」という国語
 文部科学省は、令和4年度より高等学校2年次以降の
 国語教科書から、実質的に文学を教えないことにし
 ました。 … 文学を教えなくなる代わりに
 「論理国語」というものが導入されるのです。
 「論理国語」などという造語の意味は、まったく
 わかりません。 …

こんなの、知りませんでしたぞ。

 

| | コメント (0)

« 2022年6月 | トップページ | 2022年8月 »