« 2024年2月 | トップページ | 2024年4月 »

2024年3月

2024年3月30日 (土)

ラズピコだと1/65535が出現

Arduinoでぐだぐだ言ったのが1023 vs 1024問題

トラ技のラズピコ特集、2022年5月号を見ていたら・・・
Pc12
A/D変換の値から電圧を計算するのに「1/65535」が
出ていました。

ただし言語は「python」。
analogioを検索してみると、Aanaloginは
16bitの値になるそうで、
https://learn.adafruit.com/circuitpython-essentials/circuitpython-analog-in
ここでは1/65536して電圧に変換しています。

https://www.denshi.club/pc/python/circuitpython/circuitpython-10-3.html
ここは、「65535は間違いなので」と注記があって
1/65536になっています。

https://logikara.blog/raspi-pico-basic/
ここは1/65536。

もう一つ、気になったのが
  v / (ref - v)
のところ。
Pc11

vが電圧値でrefが基準電圧つまり3.3Vなら、
adc.valueがフルスケールの65535になったときは
  v = 65535 / 65535 * 3.3 で
   = 3.3 となります。
すると、
  3.3 / (3.3 - 3.3)
で、ゼロ除算が発生。

図15のCDSが外れて、A/D値がフルスケールになると
ゼロ除算してしまうわけです。
1/65536にしていれば、v = 3.29995となり、
ゼロ除算は避けられます。

pythonでの数値型がよく分かってないので、
これでどんな挙動になるのかは知りません。
記事をぱっと見して、
  1/65535が出てきたぞ
  1023 vs 1024と同じ匂いか
っと、感じた次第です。

 

| | コメント (0)

2024年3月28日 (木)

新アナログテスター カイセ「KF-6」

秋月のアナログテスター「M1015B」を買ったのが2019年3月。
落下事故でテスターリード断線 なんて事故もありましたが、
調子良く動いてました。

しかし・・・先日のこと、現場仕事でコンクリ床に落として
しまい、それから調子良くありません。
  メーター軸がダメージを受けたのか
  ヒステリシスぽい動きに。

やっぱしアナログテスターは必須です。
で、何か適当なのはなかろうかと選んだのが
  ・カイセのKF-6

K11_20240328124901

面白いことに導通チェックレンジがあって
ブザーが鳴るのです。
抵抗レンジも×10、×100、×1Kと3レンジ
あります。
簡易型テスターだと×10、×1Kの2レンジしか
ないのが多いのでこの点は 良。

さっそく中味を拝見。
K12_20240328125001
電池チェック時の負荷抵抗は
  1.5Vが6.5Ω。 9Vだと280Ω
OK表示(緑ライン)の左端電圧が
  1.5Vが1.05V。 9Vが6.7Vでした。

ブザーにした時の、リード開放電圧が-1.28V。
短絡電流が-7.8mA。
マイナスということは、抵抗レンジと同じように、
赤リードにマイナス電圧、黒リードにプラス電圧が
現れます。

テスターリードはだいぶと固めです。
ちょっとなぁということで、
バナナプラグ・ジャックは使わず、
別のテスターリードを直付けしました。
K13_20240328125101

不満点(使ってみなけりゃ分からない)
・指針の反応、ちょっとオーバーしてから戻ります。
 ダンピング不足の感じです。
・目盛の10Vレンジ、AC10Vレンジ用(0V付近が詰まった)
 のしかなくってDC10Vの読みに不便です。
・いつも思うんですが、この手のテスターにdB表示は
 不要です。

 

| | コメント (0)

2024年3月27日 (水)

イチケンさんの動画に居酒屋ガレージ日記(旧ページ)が

【X】(twitter)でイチケンさん
  ・どのニッケル水素電池が一番コスパ良いかを検証しました。
を見て、反応(コメント書き込み)してしまいました。

さらに・・・YouTubeを見てみたら、
  ・【エネループは?】どのニッケル水素電池が長持ちしてコスパ良い? 17銘柄の電池で検証!!
居酒屋ガレージ日記(旧ページ)の
  ・2016年06月17日:繰り返し充放電1000回目
この記事へのリンクが置いてあります。

そして、動画の16分20秒過ぎに「トラ技2016年10月号」の
記事の元となったグラフが「居酒屋ガレージ日記」のタイトルと
ともに出現します。

この一連の長期実験は、
  ・2017年8月24日:電池イジメ、もうやめます
で終わっていて、4年かけて1300回の充放電を
見守りました。
  最後はエネループ・ライトとROC製NiCd電池の2本

「トラ技2016年10月号」は1000回目までのグラフでしたが、
「市販の充電器で充電できないようになるまで試す」という
「縛り」でしたので、実験を続けたのです。
ざっと4年かかりました。
  今やっているJIS C8708:2019による充放電テストで
  手がかかるのは400サイクルごとのデータ吸い上げ
  だけ。 このタイミングで電極清掃も。
  400サイクルはざっと2ヶ月半。

でも、この時は
 ・充電器にセットして充電完了待ち
 ・放電器での放電完了を待ってデータ保存
これを一回ごとにしていたわけです。
  内部抵抗の測定は何回かに一回で。
まぁ手間のかかる実験でした。
グラフを再掲しておきます。
R1300_1

 

| | コメント (0)

2024年3月25日 (月)

超低速2相パルス発生回路

実験中の回路の動作検証用のジグで、
ジッタの無い2相パルスが欲しいという
のに答えた回路とスケッチです。

過去、あれこれ2相パルス発生器を作っていますが、
その原発振に使っているのはVCO。
手軽に周波数を可変できますが、安定度は
もう一つ。
周波数カウンタで発振周波数を読むのも面倒だし。
ということで、Arduino UNO R3を使って作って
みました。

タイマー1をCTCモードで使います。
OCR1AレジスタでA相周期を決めて、OC1Aを
トグル出力。
これがA相。

B相は、OCR1Aの半分の値をOCR1Bに設定して
(90度位相のため)OC1Bの出力極性をOC1A割り込み
のたびにトグル(CW、CCWに合わせて)します。

こんな回路です。
タイマー1の「ハード」でパルスを作っているので
ジッタはありませんし、安定した周波数が得られます。

Cw_ccw0
タイマー1のクロック源は、設定周波数が150Hz以上
だと内蔵の16MHzクロック。
周波数が低くなると、外部クロックに切り替えて
タイマー2で作った方形波をクロック源にします。

ケースへの組み込みはまだ。
バラックでの試運転。
C21_20240325151801

設定できる最低周波数が「0.1Hz」。
つまり周期が10秒。
150.0Hzまでは0.1Hzステップで可変できます。
越えると1Hzステップに。

設定できる最高周波数は5kHzまでにしていますが、
2.8kHzを越えたあたりから1Hzステップの可変では
分周器での誤差が目立ってきます。

こんなスケッチです。
  ・ダウンロード - cw_ccw2k1.zip
I2C液晶のライブラリを同梱しています。

ソースファイルだけ。 (.inoを.txtにして)
  ・ダウンロード - cw_ccw2k1.txt

パルスジェネレータ では周期を設定していましたが、
今回のは周波数
  (入力周波数に反応する回路の検証用です)
DDS機能なんかは無いので、
 クロック周波数 ÷ 設定周波数
で、タイマー1の分周比を得ています。
そのため、設定Hzと実際のHzに少々の狂いが
生じます。 (Arduino 発振子の誤差とは別に)
実験中のArduino UNO R3では1000.0Hzに設定
したら1000.074Hzが出てきます。
この末尾の74は発振子の誤差。
999.9Hzにすると999.0753となって、分周比が
整数になることによる誤差が積まれます。
1000.0Hzなら8MHz÷1000で8000.0000が分周比。
999.0Hzなら8008.008008に。
目標周波数で少数以下が変わります。
そして周波数が上がると飛んでしまう設定も
出てきます。
3007Hzも3008Hzも3007.742Hzが出て、
3009Hzになると3008.873Hzになります。
  (実物の試験回路で)
周波数が高くなると分周比が小さくなって、
微妙なところが出せなくなるのです。

それと・・・
周波数を低くした(周期を長く)ときの応答。
0.1Hz→0.2Hzに変えた時、実際の波形が変わるのは
最大で5秒後。
A相波形をトグルするOC1A割り込みの中で次の周期を
設定しているのでこんな動作になります。

トラ技2005年10月号:2相パルス発生器
29年前に製作したツール 2相パルスカウンタ
アナログ入力で2相パルスの周波数と正転逆転を制御する発振器
高速2相パルス発生回路


※アナログコンパレータ入力
Low Batのチェックをしてますんで
  (液晶右下に電池マーク点滅表示)
AIN1/PD7がオープンだとチラチラするかもです。

※なんでこんなめんどくさいことを
タイマーで計時してポートをH/Lさせれば、どんなマイコンでも
2相パルスを作れます。
今回の要望は2相パルスの安定性。
ジッターが出て欲しくなかったのです。
ATmega328の場合、タイマー1(16biit)でのハード的な
波形出力が使えました。

割り込みの中でコンペアマッチの値を書き換えているのは、
出力波形を崩さないため。
OCR1Aをメイン側で書き換えたとき、タイミングとその値で
TCNT > OCR1Aになってしまうと、コンペアマッチの発生
が1周(65536パルス)遅れてしまう可能性があるからです。
低周波ではその影響が目立ちます。
コンペアマッチの直後だと、TCNTはゼロからちょいと進んだ
値に留まっているはずなので、それより大きな値だと
1周抜けは避けられます。

これ、データシートでは「2重緩衝」という表現が使われています。
CTCモードでのOCR1Aはその機能が無効になるのです。
PWMモードでのOCR1Aは2重緩衝されますので、割り込み処理
しなくても自由に周期を変えることができます。
  ただし、ICR1でのTOP値設定では2重緩衝されないでの、
  単純な操作ではコンパエマッチのミスが発生します。
タイマー周期を自由に変えたいときは、データシートよく読ま
ないとスカタンします。

※続き
2024年4月3日:超低速2相パルス発生回路・ケース入れ

| | コメント (0)

2024年3月19日 (火)

Arduino UNO R3(のATmega328P)を使った電流計各種

実験用の電流計、あれこれ作ってきました。
ハイサイド側に電流検出抵抗を入れることで、
供給電源とデバッグ側回路のGNDを共通にして
るというところが特徴かと。

現用中のはこの3つ。
Cc11_20240319130701

液晶を使えば電流と電圧を同時に表示できるのですが、
あえて7seg LEDを使っています。
  ※手持ち部品の活用
  ※文字が大きいのがありがたい

発端はこれ。
シンプルにATmega328P内蔵の10bit ADCで
電流を計りました。
Cur10bit
2022年11月29日:Arduino UNO(のチップ)を使ったUSB電流計
2022年12月02日:Arduino UNOを使ったUSB電流計 箱に入れて完成

最大表示が3桁で電流測定範囲は「999mA」まで。
1mAが最小桁というのが不満でした。

そこで、外付けの12bit ADCを使ったのがこれ。
Cur12bit

2022年12月14日:Arduino UNOを使ったUSB電流計 4桁表示も
4桁で最小桁が0.1mA。
でも最大が300.0mAまで。
電流検出抵抗の値もちょっと大きいし。(75mΩ)
出力に付けたCRDは電流検出アンプのゼロ付近にある
不感帯対策。
ちょっと電流を流しておくことで、ゼロ付近の非直線性を
避けて校正操作できるようにしました。

そして、トランジスタ技術2023年6月号のトラ技Jr.コーナ
載せてもらった回路がこれ。
Cur16bit

16bit ADCで、999.9mAが最大。
  ※999.9を越えると1.xxxと表示

備忘録としてスケッチをアップしておきます。
  ※.inoではなく.txtにしています。

  ・10bit版 ダウンロード - usb_cur3a.txt
  ・12bit版 ダウンロード - usb_cur_12bit1a.txt
  ・16bit版 ダウンロード - cur_16bit1a.txt

タイマー割り込みと内蔵ADC変換完了割り込みを使った
7セグLEDの駆動方法や、校正データのEEPROMへの保存、
浮動小数点化したmap関数による直線補間の方法(電流,電圧計算)
などが参考になるかと。

10bitと12bitの回路で使った電流検出アンプ「INA180」
(差動入力タイプ)が60円ほど。
  ※オペアンプより安価
16bitの回路で使った「INA281」(FETソース出力型)が
ちょい高くて400円ほど。

| | コメント (0)

2024年3月15日 (金)

「充電しない!」K水道店君の現場用LEDランプ

K水道店君からのHELP。
  「現場で使っているLEDランプが充電しない!」と。
USBコネクタを使って充電するのですが、電流を見ながら
コネクタを挿しても安定した電流が流れません。
プラグを触ると充電が切れてしまうのです。

まだ電池が残っていたので点灯しますと、むちゃ明るい。
L11_20240315122101
ボタン操作で明るさが調整できます。
  写真はだいぶ暗くした状態
先端にもLEDが付いていて、切り替えると懐中電灯の
ように照らせます。

さっそく解体。
L12_20240315122101
3200mAhのリチウム充電池が並列接続。
L13_20240315122101
しっかりした電極が使われてます。
L14_20240315122101
でも、マイナス側はスプリング。
L15_20240315122101
せっかくだから抵抗を計ってみると・・・
L16_20240315122101
3ターンで19mΩ。
スプリング電極は素材の影響でどうしても
抵抗が大きくなります。
ふつうのに比べて太いんですが、やっぱりなぁという
感じです。
素材のバネ鋼が電流を流すには不向きなのでしょう。

これが制御基板。
L17_20240315122101

左上に見えているUSBマイクロBコネクタで充電します。
ぱっと見、悪い所も無かったので、念のためUSBコネクタの
足部分を再ハンダ。
そしてコネクタの接触子側にパーツクリーナー(大阪魂)
を吹いて洗浄。
柔らかめのハブラシでぬぐっておきました。

すると・・・安定して充電しだしました。
コネクタの汚れが原因だったようです。

充電電流は0.7Aほど。
L18_20240315122101
5時間ほど経過したら、充電モニターの緑色LEDが
全点灯して充電完了。
L19_20240315122101
これで様子をみてもらいます。

電流を計るのに使ったツール。
  ・Arduino UNO(のチップ)を使ったUSB電流計
スプリング電極の抵抗測定。
  ・基板ショート・チェッカ、役に立つ

| | コメント (0)

2024年3月14日 (木)

割り込みの中でSerial.printを使うと・・・

割り込み処理の中でのdelayやSerila.print,lcd.print
  ↑この続き

割り込み処理の中でSerial.printを使ったら
どうなるのか、
具体的に見てもらいましょう。

こんなスケッチで確認

//   割り込みの中でSerial.printを使うと・・・
//  割込元はINT1 (D3)の↓エッジ
// テストパルス
#define D12_H (PORTB |= (1 << PB4)) // PB4 D12 H/L
#define D12_L (PORTB &= ~(1 << PB4)) // テストパルス
#define D13_X (PINB |= (1 << PB5)) // PB5(LED)トグル出力

/***** INT1↓エッジ *****/
void ISRint1(void)
{
char s[80]; // sprintf用文字バッファ
static uint32_t t, t0, t1, cnt;
D12_H;
t1 = micros(); // us時間
t = t1 - t0; // 経過時間
t0 = t1;
cnt++; // 割り込み回数
if(cnt > 99999999) cnt = 0L; // 8桁max
sprintf(s, "%08ld %8ldus", // 20文字
cnt, t);
Serial.println(s); // CR,LF付加で22文字(約23ms)
D12_L;
}

/***** SETUP *****/
void setup()
{
pinMode(3, INPUT_PULLUP); // INT1
pinMode(12, OUTPUT); // テストパルス
pinMode(13, OUTPUT); // LED
Serial.begin(9600); // シリアル
delay(100);
Serial.println("Test Serial Print");
attachInterrupt(1, ISRint1, FALLING); // INT1 ↓エッジ
}

/***** LOOP *****/
void loop()
{
while(1){
delay(5); // 5msでH/L
D13_X; // LEDをトグル
}
}

・INT1入力の↓エッジで割り込み。
・割り込み内では、
  割り込み回数をカウント。
  micros()を使って、パルス間隔を取得。
  回数と間隔をシリアル出力。
  CRとLFを入れて22文字。 22.92ms
  D12ポートをH/L。 割り込み処理時間が分かる。
・loopでは
  delayで5ms待ち。
  LEDポート(D13)をトグル出力。
  割り込み処理が長引くとこのパルスが止まる。
  正常なら100Hzのパルス。

出力文字数22文字で9600BPSだから約23ms。
この周期以上のINT1パルス入力なら、Serial.printでの
待ちは発生しません。

INT1の周期が23msを切ると、徐々にFIFOが詰まり出し、
割り込みの応答がおかしくなってきます。
割り込み処理にかかる時間が長くなると、他の割り込み、
(今回は計時用のタイマー0のオーバーフロー割り込み)
も影響を受け、正しい計時ができなくなってしまいます。

INT1の周期を22.8msにすると、パルス間隔はこんな具合に
変化します。

~~~~~~~~~~~~~~~~~~~~~
◆22.8ms周期のINT1パルス
 22文字なので文字列は約23msの長さ
Test Serial Print
割り込み回数 間隔
00000001 100172us (初回は不定)
00000002 22788us
00000003 22800us 最初は正常
00000004 22800us
 :
00000335 22800us
00000336 21776us FIFOが詰まり出して
00000337 22804us microsが正常に
00000338 22800us カウントできなくなる
00000339 21776us
00000340 21780us
 :
00000609 1296us
00000610 1324us
00000611 352us 割り込みが間に合わず
00000612 -672us 完璧にアウト
00000613 352us
00000614 348us
00000615 -668us
~~~~~~~~~~~~~~~~~~~~~

最初は22.8msを計測していますが、それが徐々に
詰まってきて(タイマー0が動かないので)、
612回目を過ぎるとアウトになっている様子
が捉えられました。

とうぜん、メインループ側も動かないのでD13パルス
(正常なら100Hz)も出てきません。

オシロでの観察波形です。
 上から(ch1→ch4)
  ch1:INT1入力 ↓エッジで割り込み
  ch2:LEDポート D13出力
  ch3:テスト用D12出力 割り込みでパルス
  ch4:TXD出力 アイドル中はHレベル

・シリアル出力が間に合って正常な時 
I000

・INT1にチャタリングを与えると・・・
I003

・その拡大
I004

Serial.printの処理がエライというのか、FIFOがちゃんと
働いて、文字の抜けはありません。
しかし、メインの処理が止まるのはやはり致命的。

割り込みの中でのSerial.print、いかがでしょうか。
「間に合えばエエやん」というのもご意見。
しかし、基本は書いたらアカんプログラムです。

※チャタリングの発生はこの回路で
「チャタリング除去回路」じゃなくって「チャタリング発生回路」をどうぞ

| | コメント (0)

2024年3月12日 (火)

割り込み処理の中でのdelayやSerila.print,lcd.print

(1)割り込みの中でのdelay()

そもそも割り込みの中で時間待ちするという発想が
おかしいが、delay()の動きの解説を。
   delay()のソースはwiring.cの中。
   millis()やmicros()もこの中。
   delayMicroseconds()もそばにある。
   delay()内では割込許可フラグを
   操作していない。

Arduino UNOのdelayはタイマー0のオーバーフロー割り
込みでカウントされる値を使って処理されている。
その周波数は16MHz÷64÷256で約976Hzで周期1.024ms。

delayの単位は1msだが、micros()でμ秒単位のスタート
時間を得て、そこからの経過ミリ秒をチェックして
時間待ちを行っている。

そのmicros()もタイマー0のオーバーフロー割り込みで
カウントされるtimer0_overflow_countの値をベースと
して、8bitのタイマー0カウンタの値(1カウント4usで
255が最大)を加算して経過時間を得ている。

割り込み禁止状態(割り込み処理の中)ではmicros()の
カウントが進まないため、delay(10)としても、実際に
遅延するのは1~2msとなる。
  ※delay()は割込禁止でも抜けるように
   なっているのがエライ。
delay(1)だとは1msほどは待ってくれるが、時間設定を
長くしても1~2msしかならない。

割り込み内での時間待ちは、割り込みの有効・禁止に
左右されないdelayMicroseconds()が使える。
ただし設定できる時間の最大は16383μ秒まで。
65535は設定できない。


(2)割り込みの中でのSerila.print()

Arduino UNO R3でのシリアル出力は割り込みで
処理される。
送出文字列は64文字のFIFOバッファに入れられて、
送信完了割り込みで順次出力される。

割り込みの中でSerial.printを使った時、割り込みの
頻度が大きくなって(周期が短い割り込み要因が入力
されるなどして)FIFOがいっぱいになったら、送信が
終わるまで割り込みの中で待たされることになって
しまい、割り込み処理から抜けるのが遅れてしまう。
そのため、割り込みだけでなく、メイン側の流れも
滞ってしまう。
  ※9600BPSなら1文字の送出に約1msかかる。
   FIFOに空きがあれば一瞬で抜けてくるが、
   いっぱいだと空くのを待つ。
シリアル受信を処理していたら、割り込みが遅れると
受信文字を落とすかもしれない。
タイマーへも影響する。


(3)割り込みの中でのlcd.print() 液晶表示

カーソル位置を指定して文字を表示するだけですぐに
数ミリ秒かかってしまうので、Serila.print()より
たちが悪い。
  ※Serila.print()はFIFOに空きがあればすぐの
   処理が終わる。

液晶モジュール制御のEパルスを出すだけで0.1msほど。
画面クリアで2ms待ち。
  ※busy読みしたら早くなるかとR/W線をつない
   でも、液晶ライブラリLiquidCrystaはlR/W=L
   にして無視してしまっているので、つなぐのは
   無意味。

割り込みで液晶をアクセスしてしまったら、メイン側での
表示と衝突してうまく表示できなくなってしまうし。

間違っても割り込みの中で使う関数じゃない。


(4)float計算

16MHzで走っているArduinoのATmega328、floatの加減算
だとそんなに重くならない。
float(4バイト)とlong(4バイト)で実測してみると、単純な
加減算だと10倍も違わない。
乗算も思いのほか早い。(乗算命令が活躍)
しかし、整数でも除算が遅い。
割り込み内での除算はしたくない。

 

割り込みの中では、時間がかかる(かもしれない)処理は
避けるのが基本。
   もたもたしない!
どうしてもというときは、他に影響が無いことを
確認して。


※実際に検証
2024年3月14日:割り込みの中でSerial.printを使うと・・・


| | コメント (0)

2024年3月10日 (日)

発掘! CP/M-2.2用ROMDISK

技術評論社のプロセッサ誌 1988年12月号に掲載してもらった
  CP/M-80用ROMディスクの製作
この元原稿(関連ソースと)が発掘できましたのでアップし
ておきます。

  でも【図】が発掘できてません。
  どこかのファイルの中に埋もれているはずなんですが・・・

CP/M-80の運用はフロッピディスクでした。
両面倍密で1.2Mバイト。
それをちょっとでもお手軽、高速にということで、
安価になってきたダイナミックRAMをつないで
RAMディスクをつなげてました。
  ※とうぜん手作り
そしてこの記事で紹介したのは、常用するプログラム
を「ROM」に入れて、高速に読み出しできるようにという
ROMディスク」です。
エディタやアセンブラなどの開発ツールをROMに入れて
おけば、いちいちフロッピにコピーする手間が無くなり
ます。 起動も一瞬。

この記事に含めていたのが同僚が作った「ICP」。
CP/MのコマンドプロセッサCCPの改良版です。
起動するプログラムの検索順序(RAMディスク、
ROMディスクに対応できるよう)や、ファイル消去
の「ERA」コマンドを拡張した「ERQ」コマンドで
ワイルドカードでの消去を「Y/N」で確認しながら
できるようにしてあります。

ハードの回路図が無いと、真似しては作れませんが
およその想像はしてもらえるかと。
プリセッタブルカウンタを使ってROMディスク、
RAMディスクのアドレスを生成。
そのアドレスデコーダはPALの16L8。
原稿txtの中にPALの式が入っていますが、
これだけでは何?でしょうなぁ。

   ・ダウンロード - romdisk.zip

回路図などが発見できればまた紹介します。

プロセッサ誌の目次(コピーして綴じていたのをスキャン)

| | コメント (0)

2024年3月 7日 (木)

発掘品 あれこれ

ジャンク箱を整理(5S、なに?それ?の仕事場なんで)していたら、
あれこれ発掘。
  ※発掘品を追記していきますんで。
  ※自分で使おうが売ろうが勝手にどうぞ。
  ※未使用品ですが、生死は不明。

「いる人」はコメントしてください。
  ※匿名でOK。 メールアドレスを記入。
  ※『どれが欲しい』と指示して。
  ※個数指定でも、「全部欲しい」でも。

お代は、「運賃+お駄賃」をビール券にして
郵送してください。
  ・運賃をお知らせします。
  ・クリックポストが使えるのなら185円で。
  ・お駄賃:缶ビール券1枚くらいの勘定で
    ※うまく売れたら還元してくださいな

※新しい発掘品はページの上部に載せます。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
◆3月7日
・岩通精密製ロータリースイッチ S22B2109D 4個
  2段(2回路)9接点 ノンショート型
箱入り新品状態で発掘。
  10接点じゃないのが残念。
S2201

S2202

「岡本無線」のカタログからこのスイッチの型番一覧を
ピックアップ。
S22b

ベロは10個あるんですが、切り替えは9個。
もう一つはコモン端子。
・・・10接点のつもりで買ったのが失敗で、
「下間はん、いるか?」っとうちに来たのかも。
これ→ディケード(抵抗)ボックス には使えないのが残念。

~~~~~~~~~~~~~~~~~~~~~~~~~
◆2月22日

・ディレーラインと発振器
Edl11

・TDK製 ディレーライン EDL-120 27個
  入力信号が120ns遅れて出てきます。
Edl
  なんかのタイミング調整に使った・・・

・KSS製 発振器 EXO3 12 24MHz 16個 →8個
  源発、1/2~1/256の周波数が出てきます。
Exo3_1
  これはお値打ちかも
秋月電子で14.31818MHzが120円

・東芝製 トランジスタアレー TD62309 100個
Jk10
16pinのDIP IC。 ↓で話題にしてました。
  ・2014年11月13日:低飽和出力タイプのトランジスタ・アレー
62309
16ピンなのに入っているのは6素子だけ。
  ULN2003だと7素子入ってるのに。


集合写真1
Jk11


・サイプレス 128kバイト RAM CY62128ELL (5V) 25個→19個
  (集合写真1、下側の)
128

・日立製 8kバイト RAM HM6264BLS10L 9個
  (集合写真1、中段左)
6264
  28ピンだけど細いんです。
  当時は珍しかった。


・TI製 VCO SN74LS626 18個
  (集合写真1、中段右)
626
電圧制御発振回路が2ch入ってます。


・FC製 binary up/downカウンタ SN74LS191 20個
  (集合写真1、上段右)
191
ずらっと並べて分周器を構成。
PLLで1/nするのに使える。
BCDだとデジスイッチを並べてってなことができるんですが。


・TI製 bin→BCD変換IC SN74185 11個
  (集合写真1、上段左)
185a
「LS」じゃない。ノーマルTTL。
  74184がBCD→bin変換用。
こうして使います。
185b
  ※入力B6と書いてるのB5ですな、

6ビットの2進値(0x00~0x3F)がBCD(00~63)に
なって出てきます。
ICを3つ使えば8bitの変換が可能。
185c
bin値(0x00~0xFF)が000~255のBCD値に。
このチップ、元は「7488」という256bitのTTL ROM。
電気食いです。
出力全Hで50mA。 全Lで62~99mA(max)と。
昔は・・・binで出てきたA-D値をBCDに変換して
表示するという用途。
先に「74141」を付けて、ニキシー管を点灯という
具合でしょう。
今ならマイコンの出番ですが、なにせ高速。
入れれば出るという早業。

集合写真2 (2024-02-26追加)
Hh11

・日立8bit マイコン 64pin SDIP HD63C03YP 6個 →ゼロ
  (集合写真2、上段)

 ROMレスのチップです。

・マイクロチップ PIC16F84A-20 6個
  (集合写真2、中段右)

 初期のPICマイコン。
 外部クロックあるいは外付け発振子がいるので
 ちょいとめんどう。


・TI製 ALS TTL バッファ SN74ALS244 16個
  (集合写真2、中段左)
244
・TI製 LS TTL 双方向バッファ SN74LS645 70個
  (集合写真2、下段右)
645


・TI製 LS TTL 双方向バッファ SN74LS640 90個
  (集合写真2、下段左)
640
これは反転タイプになってます。

 

| | コメント (13)

2024年3月 5日 (火)

試作など手組みには「TO-92」が便利だけど

デジキーからこんなメールが来てました。

・Part Life Status Notification

Manufacturer   TEXAS INSTRUMENTS
Description   IC REG LIN NEG ADJ 100MA TO92-3
Manufacturer Part Number  LM337LZ/NOPB
-------------
  End of Life

負電圧100mA出力の可変電圧3端子レギュレータLM337
そのTO-92パッケージのが終息すると。

TO-92や類似の3本足パッケージのデバイス、ほんとに
減ってきました。

正電圧100mAのLM317はまだ大丈夫。
負電圧でも0.5Aや1.5AのLM337も大丈夫。
  TO-92じゃないけど
中華メーカーが作っていそうですけど

 

| | コメント (0)

« 2024年2月 | トップページ | 2024年4月 »