« 2021年7月 | トップページ | 2021年9月 »

2021年8月

2021年8月30日 (月)

【コリンズ物語】

先日の「現代新・真空管技術事典」の著者、海老澤徹さん
つながりで借りてきました。

  コリンズ物語
The Story of Collins Radio Equipments
無線通信機のプレステージ

51_20210830085401

この本はさすがにCQ出版
2006年9月1日初版発行となってます。
税別4,200円。

写真、図も多いし、PTOの構造(回路図あり)や
メカフィルの構造が興味深いです。
ダイヤル部の構造解説も面白い。


昔々・・・ローカル局がR-388だったか(受信機)を持ってまして、
それで聞かせてもらったAMの短波放送が「美し」かった。

| | コメント (0)

2021年8月29日 (日)

パナソニックeneloopスタンダード単3「BK-3MCC」60%(72分)放電で2000回目

1600回目が2021年7月1日でした。
400サイクル進むのにざっと2ヶ月。
パナソニック製eneloopスタンダード単3の新JISでの
寿命試験、1~48サイクル目の0.5C放電サイクルを
2時間=120分ではなく、「72分(60%)で止めると」
どうなるかを始めたのが昨年の11月7日。

◆50サイクルごとの0.2C放電
Cap015
   ↑これはJISでの寿命判断に使う、
  50サイクルごとの0.2C放電。
  定格が5時間。 これが3時間になれば寿命。

1998サイクル目の72分放電では、1.094Vでした。
72分より先に1.0Vに到達すると「そろそろ寿命」かとの
判断になるんですが、それにはまだ大丈夫そうです。
頑張って記録を続けます。

72分で放電を止めずに、JISの規定通り1.0Vまでの
放電を繰り返すとこんな具合
 ・エネループスタンダード、新JISでの寿命試験
1050サイクルでした。

大容量グループでは
 ・2020年10月7日:エネループ・プロ(BK-3HCD:2500mAh) 60%放電での実験終
 ・2020年11月20日:東芝インパルス TNH-3A(2400mAh) 60%(72分)放電で
劇的な寿命の増加にはなりませんでした。

どこぞの誰かが言った(書いた)、
 「放電深度を60%から100%にしたら
    寿命が10~15%に減る

だとすると、10~15%の逆数は10倍~6倍。
60%(つまり72分)で放電を止めると
 「10倍~6倍に寿命が延びるのか?」っと
期待しての充放電実験です。
  放電終止電圧では放電量は管理できません。
  充放電実験回路では定電流放電しているんで、
  放電時間を管理すれば「mAh」を単位としての
  放電量がわかります。

※参
「放電深度を60%から100%にしたら寿命が10~15%に減る」

| | コメント (1)

2021年8月27日 (金)

弾帯状になったQIコネクタのコンタクトピンを・・・

QIコネクタの圧着方法は、
デジットblog 2012年05月16日:【Tips】電子工作でよく使う『QIコネクタ』の圧着方法
で紹介されています。

電線をクランプするところの金具が「段ち」になって
いるのがXHコネクタなどと異なります。
圧着は皆さんそれぞれお持ちの工具も違いますんで、
安定な方法を模索してください。
  ※安易な圧着、トラブルの元になりますんで
   慎重に。

今回は圧着じゃなく、弾帯状になったコネクタの
コンタクトピンをうまく切り離す方法です。

先日、共立で買ったQIコネクタのピン、「QI-ZU」は
10発ずつの弾帯状になってやってきました。
21_20210827102501

使うたびに切り離すのはイヤということで一気に
「バラ」にしてしまいます。
  (100発、1000発まとめたリングになってなかっ
   ただけマシとしておきましょう)

10発ずつの弾帯から1つだけを切り離す時、最初の
1つ・2つは良いんですが、3つ目あたりから「ニッパ」
の刃先が届かなくなります。
無理にすると、短い切り残しが出たり、電線のクランプ
構造を曲げてしまったりしてよくありません。

22_20210827102501

で、いつもやっている(ベルトでやってきた他のコネクタ
でも)のが、「面倒でも2工程で」。

(1)「帯」からピン部分を切り離すんですが、
  帯の一部は残っててokで。
(2) 残った帯(台形、平行四辺形状になる)とピン
  をキレイに切る。

こんな具合です。
23_20210827102501

まずは帯から切り離します。
ピン根元の「○」のところを斜めにニッパを入れる感じ。
24_20210827102501

ここまで先にしてから、1本1本、帯(の残)から切り離します。
25_20210827102501

受け皿は豆腐の容器。

2005年09月07日: 部品入れ
2018年02月08日: コネクタのピン、雄雌が混ざったぁぁぁ

※追記
chanさんから「ハサミで!」のご指摘を受け・・・
  (QIコネクタのベルト、すでに手持ちのが
   無くなりました)

通常、XHコネクタのピンはこれを使います。
   ↓
共立エレショップ:BXH-001T-P0.6
バラ売りされているんで、切断の必要は
ありません。

ところが、同じXHコネクタでも細線用
(AWG30~26)の「002T-P0.6」はバラじゃなく
テープ巻きでしか買えなかった(ずいぶん前っす)
のです。
それがたくさん残っていて、「ハサミ」を試して
みました。
41_20210830105501

●状況
・この弾帯は8mmピッチ。
・長いままハサミで切り取ろうとすると、延びてくる
 つながった弾帯ベルトがじゃまに。
・6ピンくらいの小分けに切断してからでないと作業性が
 悪い。 8ピンでも長く感じる。
・仕事場に置いてある何種類かの工作用のハサミはちょっと
 使いにくい。 (小さいから?)
 ブリキ切りふうの工具は大きくて×。
 裁縫ハサミを家から持ってきて試したら、OKか。
・しかし・・・100コほど切ったら刃先が鈍りはじめた。
 #800のダイヤモンドヤスリで刃を摺って補修。
   昔々、「裁ちばさみ」でボール紙を切っただけで
   おこられたような記憶が。
・「普通のはさみ」の形状が選びどころか。
金属 vs 金属(XHだとリン青銅)の戦いになるんで、
 刃先強度も。

どんなもんでしょね。

| | コメント (4)

「現代新・真空管技術事典」

海老澤徹 著 「現代新・真空管技術事典」
  サブタイトルが「真空管が現代科学の礎をつくった!」

11_20210827084001

またまた図書館で。
なかなか面白いです。
さすがの誠文堂新光社、この手の本まとめ方は
ウマいです。
  リクエスト的には、真空管の製造工程、製造工場
  の話が欲しかった。
  最初のページで「真空の作り方」を解説してたん
  だから。

※過去記事
2006年06月26日:「真空管79年の歩み」
   これも誠文堂新光社

| | コメント (1)

2021年8月25日 (水)

『電柱マニア』

東成図書館で。
  『電柱マニア』 オーム社 編 須賀 亮行 著

01_20210825174901

これは面白い! そして勉強になります。

図書分類コードが544。
  電気工学の「送電. 変電. 配電」。
微妙に違うようにも思いますが・・・。
「路上観察」はどう分類すれば。

この本↓にも通じるものが。
2019年6月13日:『我々は如何にして美少女のパンツをプラモの金型に彫りこんできたか』
これのコードが「759」で「芸術、工芸、人形・玩具」。


| | コメント (1)

『防災のやってはいけない』 感電ブレーカー!?

防災のやってはいけない
  青春新書プレイブックス 2020年2月13日 第1刷

11_20210825133101

東成図書館で借りてきた本。
Q&A形式で防災についてのあれこれを解説。
その中で・・・
  「逃げるときはブレーカーを落とす
通電火災のお話しです。
ところが、最後のところで痛恨の校正ミス。
 『自動的に電気の供給を止める
  「感電ブレーカー」もあり・・・』

感電してどうするねんっと。

23_20210825133101

感電」と「感震」、字面は似てますけど、普通に読めば分かるでしょ。

昔々、
電撃」と「雷撃」をミスしてるのもあったなぁ。
  この時の雷はカミナリじゃなく魚雷の雷で。

| | コメント (0)

2021年8月24日 (火)

東成図書館へのエレベーターで・・・天井照明の内側に結束バンド

行きつけの「東成図書館」は東成区民センターの8階にあります。
上り下りはエレベータ。 2機あります。

そのエレベータ、箱内の頭上は半透明のパネルになっていて
全面が光るように照明されています。

なんとなく見上げて目をこらすと・・・
こんなのがパネルの内側(上側)に。
11_20210824164901
  他に誰も乗ってなかったので携帯電話で撮影。

使った人なら分かるかと。
黒色の結束バンド、切れて外れたの。
これが2つ。
もうちょっと天井を探索すると、隅っこにさらに
小さな白色の結束バンドが2つ落ちています。
  半透明のパネルなんで、同色でぱっと見は
  わからない。 さすがに黒は目立つ。

これ、単純に電線を束ねていたものなのか、
もっと大事なものを固定したものなのか、
それが固定を離れて落下してしまうてな
ことはないのか・・・むちゃ気になりました。

区民センター事務所へ、エレベータの点検の時に
チェックしておくよう、言っておくほうが良いかな。

※エレベーターの話
2018年5月17日:図書館のエレベーターで… 『おぬし、できるな!』
2010年11月05日:81階?!
2016年02月02日:「崩壊した神話 エレベーター 安全を守るのは誰か?」


| | コメント (0)

2021年8月19日 (木)

GPIBで使う24pin アンフェノールタイプのコネクタが無い!っと

客先からのhelp。
 『下間ハンとこ、
  GPIB = HPIB = IEEE488で使う24ピンのコネクタ、
  持ってへん?』
っと。
DDKの型番だと「57-20240-D35」になるのかな?
バネ式ロック機構じゃなく、GPIBのケーブルを固定できる
ネジ止めタイプのが必要ということなんです。

パーツボックスを探索しますと・・・
未使用のストレートのが1つ。
アングルのを2つ発掘。
G11_20210819161001
  ※3つだけですが、担当の方がさっそく引き取りに来られました。
   コネクタが入手できないということで、
   むちゃ急いでたみたい。

そういや、GPIBってしばらく使ってませんわ。
忘れてしまった技術かと。
こんなこともありました。
  ・恐ろしいピン名称 ・・・TMS9914のお話し


| | コメント (0)

2021年8月16日 (月)

AD620を使った計装アンプとシミュレーテッド・インダクタを使ったノッチフィルタ

※別記事にするのもということで、この記事の後ろ部分に
 あれこれ追記しています。
  
シミュレーテッド・インダクタを使った60Hzノッチ・フィルタ:これから
の続き。
まずAD620を使った計装アンプ
   (電源回路を加えた図はまた描きます)
Cc1_20210816094801
JP1のジャンパーで利得を設定。
「RG」端子間の抵抗値で利得が決まります。
ジャンパー無しで1倍。
1・2・5ステップで1000倍まで。
原理上のきっちり値しにしたいので、直列にしたり
並列にしたり。
  「8.2Ω」があれば、x50とx200をきっちりに
  できたんですが、手持ちがありませんでした。

※直流電圧を見るんで、高倍率にした時のために
 「オフセット調整がいるのでは?」
 と思ってたんですが・・・不要と判断。
   むちゃエエ性能です。

そして、シミュレーテッド・インダクタ回路。
参考図書は 「稲葉保 著 精選アナログ実用回路集」
 Cd1_20210816095701
    ↑
  ※OP-AMP応用のバイブル的参考書です。
   1989年1月10日の初版を買ってました。

「17-10」でノッチ回路への応用が紹介されています。
Cd2

「60Hz」に合わせて、ざっとこんな回路で試します。
Cc2_20210816094801

上段は差動アンプ
Cc3
差動アンプの正入力と負入力をつなぎ、
・・・つまり、同じ信号を入れると・・・
差動アンプはその差を出力するわけですから、
出力はゼロのままで動きません。

その正入力側のGNDに向かう抵抗に「LC直列共振回路」を入れ
ます。
Cc4
共振周波数でインピーダンスはゼロ
 入出力を短絡した差動アンプと同じになり、
  出力は出てきません。
つまりノッチフィルタ。
直流信号に対しては「CT」でカットされるので、
VinがVoutに出てきます。(反転されずに)
共振周波数から離れた信号も出てきます。
こんな原理です。

※ブレッドボードで試してみましたが、「Q」が高くない。
 オーディオ・イコライザー的な用途ではOKかもしれませんが
 今回の用途ではちょい不満。
 R1を100Ωに、R2を1.2MΩにして試してみましたが、劇的な
 改善(高Qに)はしません。 (そんなには変わらん)
 やっぱし「ツインT」かな。


※R1=1kΩで 12Hz~220Hzをスキャン
Cw11

ツインT はもっと切れた!


※差動アンプとフィルタをでっち上げた目的は
 このサーミスタ温度計で使っている16bit A/D、
 LTC2460の入力電流を測定するため。

※この回路↓のR3両端(IC1の入力)の電圧を
 IC1を入れずに(R3+C1 → LTC2460入力へ直)
 観察。
Thm_ltc2460_2a
1秒周期で1サイクルだけ変換するテストプログラム
を書いてみました。
60HZの誘導ハムの影響が小さいよう、サーミスタ
入力をGNDに短絡。
  (R3の左側がGNDに)
計装アンプで1000倍に増複。
すると・・・
Cw02

A/D変換中、R3に電流が流れていることが分かります。
これで誤差が発生。
バッファアンプ、IC1を入れたらこのドロップは生じません。

ノッチフィルタの特性が良かったら、観察波形から
60Hzの誘導ハムを消せるのではないかと・・・。


※LTC2460の入力等価回路
I11_20210817090601

RsとCINは外付け部品。
データシートには、標準は「1kΩと0.1uFを」と。
そして、
 「大きなCINは入力ピンに良好な
  ACグランドを与え、信号源への
  反射を減らすのに役立ちます。」
と。

データシートに記された入力サンプリング電流は
typ値で「50nA」。
  Rsが1kΩだとドロップは「50uV」に。
    ・・・ざっと合っている・・・
※Vrefが1.25Vで16bitだから1LSBは20uVほど。

この電流、一瞬じゃなしに18msというサンプリング時間中、
ずっと流れているのかと。
瞬間的な電流だと(A/D内部にS/Hが入っているなど)、
Cinが頑張って保持してくれるんですが、「18ms」と
長いとふんばりが効きません。

姉妹品のLTC2462は入力が2つあって差動入力に
なっているんで、どっちも同じように動くとバランスが
とれちゃうんで、それで気付かないのかしら、と。
  ※秋月電子:LTC2462 ・・・300円

※追記
LTC2460の入力電流「50nA」がどのくらいの大きさなのか
バイポーラ・オペアンプの入力電流(Ib)と比較してみます。
  オペアンプ名  Ib(typ)
    LM741   80nA
    LM358   10nA
    NJM4558  25nA
汎用オペアンプだとこんな値。
入力(帰還)抵抗を少々大きくしてもmV単位のオフセット電圧
隠れてしまってバイアス電流による電圧変動は目立ちません。
「MΩ」にするとさすがにまずいですが、そんな時はFET入力の
オペアンプの出番(IbはpA単位に)ということになります。

※検出波形→ツインTノッチフィルタに
Q=5.25の60HzツインTノッチフィルタを試してみました。
計装アンプは↑と同じAD620。
サーミスタ入力を短絡してR3両端を測定。
こんな波形に。
Cw21

60Hzの誘導ハムをなんとか取り除けて、欲しい信号
の状態が浮かび上がったかと。

そして、サーミスタを外してオープンにして、
Rs(10kΩ)を含めて計ってみると・・・
Cw22

抵抗値が約10倍になったので、ドロップ電圧も約10倍に。
実値で0.5mVほどに。
入力電圧はプラスのVrefですんで、電流が流れ込んでいます。

16bit A/Dの、A/D値に換算すると26ほどと推定。
この状態で測定してるA/D値を読むと「65518」でした。
これが、A/D入力前にバッファアンプを入れることで
解消できるのです。

| | コメント (4)

2021年8月14日 (土)

シミュレーテッド・インダクタを使った60Hzノッチ・フィルタ:これから

103JTサーミスタ対応温度計 ArduinoとLTC2460を使ってLTC2460
これの挙動・・・誤差発生の状況・・・この原因が分かり
始めたような気がします・

まず、先ほどの記事の中で記していますように・・・

 IC1を入れた理由
  R3を通して直に信号をA/Dに入れた場合、サーミスタの抵抗値で
  この間の微少な電流が変化してA/D値にオフセットが生じる。
  A/Dコンバータの変換時の電流。
  R3両端の電圧値で±60uVくらい変動する。
  1kΩなので60nAの電流。 それがRs=10kΩにも流れるので
  10倍の0.6mVくらいの変動がA/D値に出てくる。
  Vref=1.25Vで16bitなので1bitは約20uV。
  0.6mVだとA/D値で30くらいの変動になる。
  IC1を入れるとこの変動がなくなる。

と、記しました。
IC1を入れなかったときの挙動・・・ダイレクトにA/D入力した時、
これが誤差につながっているようなのです。

そして、そのシッポをつかむのにツールが必要・・・
なようなのです。

「R3両端で±60uVくらい変動」これはデジタルテスタを
R3につないで測定した値。  (平均値として表示)
現在の制御は、1msごとにA/D変換終了をチェックしながら
「可能な限りの高速」でA/D変換を行っています。
つまり、四六時中、変換している。
その時間、ざっと18ms。
このIC場合、
  ・変換中はこの入力電流が必要みたい。
  ・電源電圧を5Vにした時にこの電流が大きく
   なるのかなぁ。
  ・IC1を入れると、この電流による誤差発生が
   無くなるのかも。
  ・ずっと変換しているもんだから、スタティックな
   動作を見て、その電流が観察している。
  ・一瞬だけA/D変換した時はダイナミックな電流変化が
   現れるのでは?

テスターでは「±60uV」が観測できたけどこれは、
これはいわば静的な値の変化、平均化した値の変化です。
A/D変換操作によるダイナミックな入力電流の変動、
これは見れてません。
  「変換中だけ電流が変化して、変換していない
   時は安定してる」・・・この検証。

しかし・・・
  「1kΩの抵抗に生じる±60uVの変化」・・・
これをオシロでダイナミックに観察するのはちょい
難しい。

「1000倍ゲインの計装アンプ」を使って抵抗両端の
電圧ドロップを増幅しても、出てくるのは「±60mV」。
このくらいの信号になると、なんとかオシロで観察できる
でしょう。

手持ちの計装アンプ「AD620」を使って、1000倍の
アンプをでっち上げてA/D変換時の入力電流変化を
観測してみましたが・・・

しかし、「60Hzのハムに隠れた変化が見えた」でした。
1000倍というと60dB。
回路に生じる60uVのハムが60mVになっちゃいます。

このダイナミックな変化、もうちょいキレイに見てみたい。
ということで、「60Hzのノッチフィルタ」に再挑戦する
ことにしました。

過去、こんな実験をしています。
  ・2011年04月21日:60Hzノッチフィルタ回路

「ツインTノッチフィルタ」は周波数の微調がめんどう。
   Q固定でも3つの抵抗を触らなくては

今回は「シミュレーテッド・インダクタ」を使った
「60Hzノッチ」を試してみます。

「ハムに埋もれた信号」が出てきますかどうか・・・

※A/Dの変換周期が18msと60Hzに近い。
1サイクルだけの状態を見るだけでは、60Hzに埋もれて
しまうかも。
60Hzと区分できる何サイクルか連続変換した時の挙動かと。
今は32サイクル:約0.6秒で平均処理してますんで、まずは
この時間での様子かな。

それと、電源電圧を「2.7V」にして動かしている前バージョンの
温度計の様子も確かめます。
  これは前段バッファを入れてない。

※続き
AD620を使った計装アンプとシミュレーテッド・インダクタを使ったノッチフィルタ

| | コメント (0)

2021年8月11日 (水)

サーミスタ温度計、何ビットのA/Dコンバータがいるか?

サーミスタで温度測定するとき、
 ・A/Dコンバータの分解能の違いで、何度の桁まで測れるか?
あるいは、
 ・何度の桁まで計りたい時は何ビットのA/Dが必要か?

この答えのグラフがトランジスタ技術2012年1月号p89
図3に出ていました。
 ●特集:エレクトロニクス格言集
  3-6 抵抗分圧比をA-D変換する時の
  基準電源ICは無駄遣い  著者:星聡

Ad01
8ビット分解能でも1℃ステップで測れないことはない
というキャプション。

先日作った温度計で使った「103JT」サーミスタの
温度特性から、これと同じような表を作ってみました。

セミテック103JTの温度:抵抗値表

#SEMITEC 103JT 温度・抵抗特性
#温度 抵抗値
#℃ Ω
-20 71020.0
-10 43670.0
0 27700.0
10 18070.0
20 12110.0
25 10000.0
30 8301.0
40 5811.0
50 4147.0
60 3011.0
70 2224.0
80 1668.0
85 1451.0
90 1267.0
100 975.3
110 759.7
120 598.1


それを「gawk」に食わせて1℃ごとのテーブルを作成

#####   サーミスタ抵抗値計算プログラム    #####
# 下間憲行  jh3dbo@jarl.com
# 10℃ごとの温度,抵抗値テーブルから
# 1℃ごとの抵抗値データを作成
# メモ awkのlogは自然対数

BEGIN{
# 定数指定
K_273 = 273.15 # ケルビン温度
Rref = 10.0e3 # 直列抵抗 10kΩ
Aref = 65536 # 16bit A/D max
# タイトル表示
print("* サーミスタ抵抗値計算 (2015-06-10)\n") > "/dev/stderr"
nbr = 1 # 読み込みデータ数
}
# 「BEGIN」おわり (以下、ファイル読み出し処理)

##### 温度,抵抗値テーブルを読み出す #####
# 10℃ごとの温度と抵抗値を順に読む
{
if( $0 ~/^#/ ) next # 先頭文字が「#」ならコメント
# 数値入力
temp[nbr] = $1 # 温度
ohm[nbr] = $2 # 抵抗値
# printf("%d %s %s\n", nbr , temp[nbr], ohm[nbr])
nbr++ # 配列 +1
}
# ファイル処理おわり (以下、END処理)

##### 10℃ごとのB定数計算して1℃ごとの処理 #####
# ※基準は25℃なので、20~25~30℃となっているので注意
END{
# B定数計算 10℃ごと
print("# B定数")
for(i = 1; i < (nbr - 1); i++){
t1 = temp[i]
t2 = temp[i+1]
r1 = ohm[i]
r2 = ohm[i+1]
B[i] = (log(r1 / r2)) / ((1 / (t1+K_273)) - (1 / (t2+K_273)))
printf("# %d℃~%d℃ %3.1fΩ~%3.1fΩ B=%3.1f\n",
t1, t2, r1, r2, B[i])
}
# 1℃ごとの抵抗値を計算
print("# ℃ Ω")
m = 1 # 1℃ごと (0.1℃ステップなら10に)
for(i = 1; i < (nbr - 1); i++){ # 10℃のテーブル
n = (temp[i+1] - temp[i]) * m # 表の温度差
for(j = 0; j < n; j++){ # 1℃ピッチで
R = tohm(temp[i] + (j / m), temp[i], ohm[i], B[i])
ad = Aref * (R / (Rref + R)) # A/D値
printf("%6.1f %12.2f %6d", # 温度と抵抗値
temp[i] + (j / m), R, ad)
if(f){
printf(" %8.2f %8.2f", # 抵抗値とA/D値の差分
r0 - R, ad0 - ad)
}
printf("\n")
r0 = R;
ad0 = ad;
f = 1;
}
}
}

##### 温度による抵抗値計算 #####
# T1 = 計算する温度
# Tm = 基準温度
# Rm = 基準温度での抵抗値,
# Bconst:B定数, 273:ケルビン温度
# 1 1
# R = Rm * exp( Bconst * (--------- - -----------) )
# t1 + 273 Tm + 273
function tohm(T1, Tm, Rm, Bconst){
return(Rm * exp(Bconst*((1.0 / (T1 + K_273)) - (1.0 / (Tm + K_273)))))
}


その結果を「gnuplot」で処理

set term wxt 0
set ytics nomirror
set y2tics
set xrange [-20:110]
set yrange [0.001:10]
set y2range [0:800]
set title "A/D値が1LSB変化したときの温度変化 【サーミスタ103JT Rs=10kΩ】"
set xlabel "温度 (℃)"
set ylabel "1LSB変化したときの温度変化(℃)"
set y2label "16 bit A/Dでの1℃あたりの変換値変化"
set grid
set xtics 10
#set ytics 500
set key right top
set pointsize 0.5
set logscale y
set label "" at second -8, 770
set label "16bit A/D値変化(右目盛)" at second 2, 660
set label "8bit A/D" at second 11, 560
set label "10bit A/D" at second 12, 440
set label "12bit A/D" at second 13, 320
set label "14bit A/D" at second 14, 200
set label "16bit A/D" at second 15, 80
plot "ohm3.txt" using 1:5 with line lw 2 ti "" axes x1y2,\
"ohm3.txt" using 1:(1 / ($5/256)) with line lw 2 ti "",\
"ohm3.txt" using 1:(1 / ($5/64)) with line lw 2 ti "",\
"ohm3.txt" using 1:(1 / ($5/16)) with line lw 2 ti "",\
"ohm3.txt" using 1:(1 / ($5/4)) with line lw 2 ti "",\
"ohm3.txt" using 1:(1 / $5) with line lw 2 ti ""


こんなグラフが得られます。
Cap005_20210811095101
8,10,12,14,16ビットのA/Dコンバータを使った
時の分解能の変化を示しています。
   ※A/D変換器や周辺回路の精度が加味されますんで、
    1bitの変動でもきびしい状態が浮かんでくるかと。

10℃~25℃あたりが良くて、1℃あたりのA/D変換値変化量
が減る高温域(70℃を越える)になると分解能が悪化するのが
見えます。
  ※8bitA/Dで「水温・湯温」を計ろうとしたとき、
   0℃~40℃くらいまでは0.5℃ピッチで読めます。
   しかし、80℃を越えると1℃ピッチでの読みが
   しんどくなります。
   昔々・・・4bitマイコンで電気温水器の仕事をした
   ときは(東芝の8bit A/D内蔵品)、出てきた
   8bit値(256バイト)をそのまま1℃単位の温度に変換する
   テーブルを作って処理しました。
     水温が正しくない上下の値はエラー処理
     (氷温以下と沸騰温度以上)

分解能16bitのA/Dを使っても、A/Dの誤差を考えると「0.01℃」の
測定はなかなかむつかしいということで。


| | コメント (0)

2021年8月 6日 (金)

LTC2460 無駄待ちはダメ! busyチェックで他の仕事をしろ!

103JTサーミスタ対応温度計 ArduinoとLTC2460を使って
これ、16bitのA/DコンバータLTC2460でサーミスタ抵抗を読んでいます。

このコンバータの変換時間(遅くって)「13ms~23ms
typ値が16.6ms (60Hzですな)。

Arduinoの定石だと・・・変換を開始してデータを読むまで、
余裕を見て「delay(25)」てなところでしょうか。

このなにもしない待ち時間がもったいない
しかし・・・
  LTC2460は「CPOL=1モード」で変換の終了チェックができるんです。

データーシートのタイミング。
B011

SCKをHにした状態で/CSをLに。
すると、SDOに変換中か変換が終わったか、
   busy(H)/ready(L)状態
が出てくるのです。

busyなら/CSをHに戻して、次のチェックタイミングを待ちます。
  この間、他の仕事ができます。
  delay()で待ってたら、したい仕事が待たされます。

ready(L)ならSCKパルス列を出してデータを吸い出します。
その最後の/SCの↑エッジパルスで次の変換を開始。

B012

こんな流れです。
同じ待つのでも、単純に待つのと、busyチェックしながら待つの
では、さまざまな処理の応答性に違いが出てきます。
操作スイッチを押したときの反応とか。

実際の波形を見てもらいましょう。
B001_20210806122301
1msサイクルごとにbusy/readyをチェック。
busy中は他の仕事ができます。
readyならA/Dデータを読み出して、
  平均処理→抵抗→温度計算を。

busyだとこんな波形。
B004_20210806122301
/CSポートのH/L操作は digitalWrite() は使わず直叩き。
digitalWrite() は遅い!。

readyだとSCKパルスを出してデータ吸い出し。
B003_20210806122301

busyチェック機能を使うことで「無駄な時間待ち」を
しなくて済みます。


※1msごとに実行しているbusyチェックを遅らせて
 「他の仕事」をしている様子。
B005_20210806160301
他の仕事(液晶表示とシリアル出力)をしていても、
A/Dデータの読み出し間隔は変わって(遅れて)いません。
A/Dの変換完了待ちをdelay()で処理していたら、こういうわけ
には行きません。
  シリアル送信は割り込みで処理されるんで、
  文字変換とバッファに書き込むだけの処理時間。

| | コメント (0)

2021年8月 5日 (木)

PICでも「1/1023」。 トラ技2021年9月号別冊付録

今月発売のトランジスタ技術(2021年9月)には、
PIC開発マニュアル 2021」という別冊がオマケに付いています。

Tr09a
著者は後閑 哲也さん
ぱらぱらっとページをめくりますと、A/Dコンバータの解説のところ
(55p)に「1/1023」が出現。
10bit  A/Dの変換結果、0~1023から電圧値を算出しようという
目論見です。

T11a

やっぱ、「1/1023」を使いたくなるんですなぁ。

※参
ミスが広まる 1/1023 vs 1/1024
Arduino なんとかして誤用を正したい:A/Dの1/1023とmap関数

| | コメント (4)

2021年8月 4日 (水)

103JTサーミスタ対応温度計 ArduinoとLTC2460を使って

なんとかものになりました。
温度表示最小桁は欲張らずに「0.1」℃で。

・回路図
Thm_ltc2460_2a
  (ちょっと修正、追記しました)

・ハードウェアの補足・・・省けるところ
  ・5Vで動かすのならQ1とQ2、電池は不要。
  ・別個のシリアル出力が不要(Arduino-UNO環境で使う)なら
   Q3、J4は不要。
  ・D/A出力(0~100℃をアナログ0~5Vで出力)が不要なら
   IC4、IC5は不要。
  ・ちょっとした誤差を許容するならIC1は不要。

・外観
T11_20210804152801

T12_20210804152801

T13

●step by step
・電源回り
秋月の5V出力昇圧DC-DCコンバータXCL102が起動に失敗 その原因追求

・A/Dコンバータ
16bit A/Dコンバータ LTC2460 サーミスタ103JTを使った温度測定で・・・

・ケースとスイッチ
タカチのプラケース「SW-125」に回路を組み込む

・液晶表示器
秋月の液晶表示器 ACM0802C-NLW-BBW-IIC、I2Cのプルアップ抵抗
秋月のI2C液晶表示器 ACM0802C-NLW-BBW-IIC 文字表示ライブラリ

■メニュー画面 一覧
==========
|"0 Mesure"|
|"1 Sensor"|
|"2 TxCyc "|
|"3 TxStyl"|
|"4 Vref "|
|"5 Rs "|
|"6 Cal R0"|
|"7 Cal R1"|
|"8 Cal R2"|
|"9 Cal R3"|
|"a CalAD0"|
|"b CalAD1"|
|"c CalAD2"|
|"d CalAD3"|
|"e Bat L "|
|"f Bat M "|
|"g PWM 4V"|
|"h Ck A/D"|
|"i Ck D/A"|
|"j Ck Bat"|
==========
■パラメータ設定値
# 1 Sensor 103JT
# 2 TxCyc 1sec
# 3 TxStyl TempData
# 4 Vref 1.2494V
# 5 Rs 10005.0ohm
# 6 Cal R0 1000.5ohm
# 7 Cal R1 3004.1ohm
# 8 Cal R2 10004.0ohm
# 9 Cal R3 20020.0ohm
# a CalAD0 5923
# b CalAD1 15136
# c CalAD2 32769
# d CalAD3 43691
# e Bat L A/D 313
# f Bat M A/D 345
# g PWM 4V D/A 3276

Cal R0~R3の抵抗値とCalAD0~AD3のA/D値が4点calデータ。
出てきた16bit A/D値がCalAD1より小さいときは、CalAD0~CalAD1の
値で線形補完。
CalAD2より大きいときはCalAD2~CalAD3で線形補完。
CalAD1とCalAD2の間にある時はCalAD1~CalAD2で線形補完。

入れてあるサーミスタのデータは3種。
 セミテックの103JT・・・応答が良い
 103AT-11・・・頑丈
 103AP-2・・・高精度

IC1を入れた理由。
 R3を通して直に信号をA/Dに入れた場合、サーミスタの抵抗値で
 この間の微少な電流が変化してA/D値にオフセットが生じる。
   A/Dコンバータの変換時の電流。
 R3両端の電圧値で±60uVくらい変動する。
 1kΩなので60nAの電流。 それがRs=10kΩにも流れるので
 10倍の0.6mVくらいの変動がA/D値に出てくる。
 Vref=1.25Vで16bitなので1bitは約20uV。
 0.6mVだとA/D値で30くらいの変動になる。
 IC1を入れるとこの変動がなくなる。

テスターで計ったRs、Cal R0~R3の抵抗値が神様データ
  ※測定したA/D値からRsとの比を計算してサーミスタの抵抗値
   を求めている。だもんで正確なVref値は不要。
   16bit A/Dのmax値65536を入れていてもOK。
   モニターモードでA/D入力電圧を表示しているので、
   そこで必要。

スケッチ:とりあえず  (ファイルタイプをtxtにしてます)
   ダウンロード - thm_103jt2.txt (UTF8Nで)

※この液晶表示ライブラリが必要
  http://igarage.cocolog-nifty.com/blog/2021/07/post-78a365.html


※続き 誤差原因の探求 あれこれ
シミュレーテッド・インダクタを使った60Hzノッチ・フィルタ:これから
AD620を使った計装アンプとシミュレーテッド・インダクタを使ったノッチフィルタ

| | コメント (2)

8月3日は『TK-80』の発売日

「今日は何の日?」で昨日、8月3日
  『TK-80の発売日』だったそうです。
T11_20210804110701

しかし、もっとこまかく見ると・・・
  2018年6月 6日:マイコンのリセット回路
にアップしましたが、TK-80回路図の完成1976年6月10日
設計は T.Goto さん
技術屋的には、発売日よりこっちの日付のほうが格好いいです。

再掲しておきます。

01

回路図左側の「555」でクロックパルスを発振。
   ※555はあのタイマーICの555ね。 
これで7seg LED表示のためのDMAを行っています。

右側の「223」は4bitのバイナリカウンタ、NEC製の「7493」。
まだ74LSが一般的でない時代の74シリーズノーマルTTL ICです。
電気を食います。
単純なロジックICでも、通電したら暖かいのはあたりまえの時代。
  NANDゲートのノーマル7400、出力全Lで22mAと
  データシートに。
  7493だと出力全Lで39mA。0.2W弱。
  しっかりした5V電源が必要でした。

1pinがB CLK入力で11、8、9pinがQD、QC、QBの3ビット出力。
2pinと3pinはリセット入力。
HでリセットなんでGNDにつないでリセットは使わず。
4ビットのうちの残り1ビットのカウンタは独立していて、
A CLKとQA出力は未使用。
この3ビットをDMAアドレスとして、8桁の7seg LEDをダイナミック
スキャンしています。

| | コメント (1)

« 2021年7月 | トップページ | 2021年9月 »