2020年9月20日日曜日

デジタルポテンショメータ(MCP41010)のチェック

ここんとこ、パーツ収集に励んでま~す^^;

ある時、AliExpressを散歩してると、
デジタルポテンショメータなるものを見つけました。
これは買ってません^^;
AliExpress.com Product - 5pcs X9C103P DIP8 X9C103 DIP-8 9C103P DIP X9C103PIZ

この可変抵抗器をシリアル制御にしたようなものですが、
上のRENESAS X9C103は、100段階で、ちと少ないですね~
100段階でもいいのなら、1個20円程度と安価です。

で、8bitの分解能のがないかな~と探すと、ありました!
MCP41010:Single 10KΩ、SPI I/Fです。
ICに刻印がないですが、ここが安かったもので^^;
US$ 0.82(6% OFF、送料 $0.27)(3個では、送料 $0.37でした)
AliExpress.com Product - YUXINYUAN 1pcs MCP41010-I/P MCP41010 DIP DIP-8 new original Can be purchased directly

実物は、これ
まともなやつが届いております。

Datasheetは、このPDF
Single/Dual で10K、50K、100KΩの6種類あります。
Dualは、ステレオ等の音量調節用途とかが主流だと思います。

では、届いたのでチェックします。
ちょっとGoogle先生に尋ねて~

GitHubのここにMCP41010ライブラリがありますが、
ちょっとチェックだけなのでExampleの中を理解するのが面倒ですね~

なので、こっちにしました。
ライブラリも使ってなく、LEDを光らせて、実態配線図もあるので
素早くチェックするには丁度いいかなと^^;

スケッチそのままで、Arduino NANOで動作させて、
無事にLEDの輝度が変化してチェックが終わりました。

が、終わった後、Datasheet眺めてると
ワイパー電流定格が±1mAだ~(・o・)
ワイパーとはLEDを繋いでる摺動子に相当する端子で
LED ~ 220Ω ~ GND と接続されてるので
最大20mA位流れてしまって、完全に定格オーバーです(T_T)
作者さんには悪いけど、この回路は動かしてはいけないですね~
幸い壊れませんでしたが...
特にワイパーがVCCやGND側に近い時は、
入出力電流に気をつける必要がありますね~

ポテンショメータ部分は電気的に分離されてないので
2.7~5.5Vの範囲で使う必要があります。
5.5Vで10KΩだと、3mW程度、極小の可変抵抗器というところです。

SPIは、CS、SI、CLKの3本です。
Singleタイプ(MCP41xxx)は、8pin DIPで端子が足りんのですね~
DualのにはSOがあってデイジーチェーン接続できます。
DatsheetのBlock DiagramをSingle用に編集しました。
Wiper Register部とControl部は、絶縁されてません。

マーティーが入手した「MCP41010」
Singleタイプのピンアサインです。

Datasheetに2種類の使い方MODEが載ってます。
<RHEOSTAT MODE>
可変抵抗器として
特に抵抗値が低い場合、電流定格±1mAに注意が必要です。

<POTENTIOMETER MODE>
電圧分圧器として(所謂、ポテンショメーターです)
これは、V1:2.7~5.5Vを守れば、電流定格は超えないですね。

では、先の参考サイトのスケッチをちょっと変えて
抵抗値の変化を観ます。
このスケッチでは、void loop内の
・v=0 の時、A~W間抵抗値が最大(B~W間は最小)
・v=255 の時、 A~W間抵抗が最小(B~W間は最大)
になりました。
*********
int csPin = 2;                      // Chip Select on pin 2 of Arduino
int sckPin = 4;                     // Serial Clock on pin 4 of Arduino
int sdiPin = 5;                    // Serial Data Input on pin 5 of Arduino
byte address = B00010001;            // Command byte // 17
//byte address = 0x11;  // 17

void potify(byte val)
{
    digitalWrite (csPin, LOW); 
    spi_transfer(address);
    spi_transfer(val);
    digitalWrite(csPin, HIGH); 
}

void spi_transfer(byte bb)
{
    byte mask;
    for (int i = 7; i >= 0; i--)
    {
        mask = 0x01 << i;
        int v = !!(bb&mask);
        digitalWrite(sdiPin, v);
        digitalWrite (sckPin,HIGH);
        digitalWrite(sckPin, LOW);
    }
}

void setup() 
{
    pinMode(csPin, OUTPUT);
    pinMode(sckPin, OUTPUT);
    pinMode(sdiPin, OUTPUT);

    Serial.begin(9600);
    Serial.println("Ready!");
}

void loop() 
{
    for (int i = 0; i <= 255; i++)
    {
        int v = i;
        Serial.print("v: ");Serial.print(v);Serial.println();
        potify(v);
        if (i==255)
          delay(2000);  //抵抗値最小の時、テスターの針を落ち着かせたいので
        else  
          delay(30);
    }
}
*********

実体配線図です。
Arduino NANOを使います^^;
抵抗値はアナログテスター(SANWA ZX-505)で!
 [NANO]・・・[MCP41010]
       D2    ・・・ 1pin:nCS
       D4    ・・・ 2pin:SCK
       D5    ・・・ 3pin:SI
       5V    ・・・ 4pin
      GND  ・・・ 8pin
5pin:PA0 ~ 6pin:PW0 間を観測します。
7pin:PB0・・・OPENです。

実際はこんな感じで・・・

ちなみに、テスターに付けてるテストクリップは、これです。
クリップにしては高いですが、細かい所にも届いて重宝します。
US$ 3.49(30% OFF、送料 $0.29)
AliExpress.com Product - Cleqee P1511B 2mm Female Plug to Internal Spring Test Hook Probe AWG Test Lead Kit Can connect the Digital Multimeter Probe

では、動画で!
テスター:x100レンジなので、抵抗目盛の100が、10KΩです。
これ以上速くするとテスターが追従できません(T_T)
昔~し使ってたCdsとLEDのアナログフォトカプラ思い出しました^^;

Codeと抵抗値の特性グラフがDatasheetに載ってます。
なかなかリニアに変化してくれるんですね。
マーティーが観たのは、RWAの方です。

先のスケッチで書込値「v」(上のグラフのCode)を固定してみます。
PA0~PW0間を測定してます。PB0:OPENです。
v=255
*********
~~~前略~~~
void loop() 
{
    for (int i = 0; i <= 255; i++)
    {
        // int v = i;
        int v = 255;
~~~後ろ略~~~
*********

x100レンジで、100Ω

x1レンジで、95Ωってとこかな。

v=127
*********
~~~前略~~~
void loop() 
{
    for (int i = 0; i <= 255; i++)
    {
        // int v = i;
        int v = 127;
~~~後ろ略~~~
*********

x100レンジで、4.8KΩ、10KΩのほぼ1/2です。

v=0
*********
~~~前略~~~
void loop() 
{
    for (int i = 0; i <= 255; i++)
    {
        // int v = i;
        int v = 0;
~~~後ろ略~~~
*********

x100レンジで、9.5KΩ

MCP41010とArduino NANOは、
PCのUSBで給電していますが、電源OFFすると

ちょっと期待してたんですが、
抵抗値(Registerポジション)は記憶してないですね~(T_T)
4.8KΩと読めるので、10KΩのほぼ中央値で
上の「v=127」の時と同じ値です。

しかも、これがちと不思議で
アナログテスターで測るとレンジによって値が変わるんです(-_-;)
x10レンジ、1.2KΩ

x1Kレンジ、32KΩ
たぶん、Register部のMOS-FETがテスターの電圧で
微妙な動作をしてるのだと思います。
回路によっては、電源ON/OFFの過渡時も要注意かな?

Datasheetによると
動作状態でもVDDによりこんなに抵抗値が変化するようです。
これは、Code=00hなので、ほぼワイパー(摺動子部)だけの特性です。

もうちょっとDatasheetを眺めてると
抵抗器として使う時、温度係数が800ppm/℃
ん!? 1ppm=0.0001%なので~ 800ppm=0.08%
まあマーティー工房の工作では、大丈夫そうですね~^^;
ちなみに、ここに、
「炭素皮膜抵抗は一般的に-200ppm/℃~-800ppm/℃程度」
「金属皮膜抵抗は高精度品で±5ppm/℃、汎用品でも±100ppm/℃未満」だと。
可変抵抗器の温度係数は、なかなか見つかりませんね~
金属被膜の多回転トリマで±100~150ppm/℃辺りのようです。

5~50℃でみると、10KΩに対して500Ω程の変化かな。

これは、抵抗器モードで、
マーティーが観たRWAと逆のRWBですが、
抵抗値が小さくなると、温度係数が急に悪化してます。
1000ppm/℃=0.1%/℃、10℃差で1%、50℃差で5%
低抵抗でワイパー抵抗(摺動子の接触抵抗に相当)の影響が大きいです。
用途にもよりますが、気に留めておいた方がいいかな?
まあ、大抵は、下のポテンショメーター・モードで使うので...

そのポテンショメーター・モードでは、かなり小さい温度係数です。
Code:128のセンターで温度係数 0ppm/℃に調整されてるようです。

実は、具体的な使用先は決まってません(-_-;)
デジタルポテンショメータを見つけた時に、
最初に思いついたのがこれなので、10KΩにしてました。
この電源は、0~48V 10Aの可変で、
電圧調整を10KΩの可変抵抗器でやってるのです。
デジタルポテンショメータ(MCP41010)に置き換えて
PWM制御じゃなくて、SPI制御でDCのまま可変できるかな~?と^^;
US$ 32.29(50% OFF)

MCP41010の使用条件があるので、両端電圧を確認してみます。
外付け用のVRが付属しているので、付け替えて
オシロのプローブ当てましたが、赤が低圧側とは!(´-﹏-`;)

VRの両端電圧は、
左:出力0V時、≒4.8V
右:出力50.9V時、≒4.8V
きれいなDCで5Vに近いし、ポテンショメーター・モードになるので、
MCP41010の使用場所としてはドンピシャです!
約50Vで256stepなので、1step:0.2Vってことになります。
まあモーター制御だと電圧固定でPWM制御するのとどっちがいいか?
ということで、すぐにやる予定はないのですが...^^;

Datasheetの応用例の
こうゆうアンプも面白そうですね~

SPI制御で0.1~10倍の連続可変できるようです。
何に使えるかな~^^;

最近はこういう具合でパーツコレクションしてますが、
チェックの方が追いついてません(T_T)
使ったことないパーツを試すのは楽しいですね~^^;

お店の忘備録です。後で別のが必要になるかもなので...(-_-;)
価格は執筆時点の2020年9月調べです。

1個入り、Single 50KΩ:MCP41050は、ここが安そう。
US$ 2.49/2個(送料 $0.53)
AliExpress.com Product - 2pcs MCP41050-I/P DIP-8 MCP41050 DIP8 41050 DIP


Single 100KΩ:MCP41100 DIPタイプは、2軒だけのようで、
送料入れると1個で$3以上で高いです。
SOPの方が1/5の価格です。
US$ 2.77/5個(10% OFF、送料無料)
AliExpress.com Product - (5piece)100% New MCP41100 MCP41100-I 41100I sop-8 Chipset

DIP 2個とSOP 5個が同じ位の価格なので
この様な変換基板を使うのも手ですね~
US$ 0.18/10枚(10% OFF、送料 $0.52)
10枚つながってるので、手で折って切り離します。
ピンヘッダーが別途必要ですが...
AliExpress.com Product - 10pcs SOP8 turn DIP8 adapter plate SMD adapter plate

2個入りのDualタイプは、SO端子があるのでデイジーチェーン接続ができます。
Dual 10K:MCP42010のDIP
Dual 100KΩ:MCP42100のDIP
は、多くの店があったのでリンクしなくても大丈夫でしょう。

Dual 50K:MCP42050のDIPは、数店しかなく、ここが最安かな?

2020年9月12日土曜日

40万ビュー突破! \(^o^)/

ここんとこ諸事情により活動休止しておりますが~
工房を閉鎖したわけではありません^^;
まとまった時間が取れないとか理由は色々とあるのですが、
集中できないということは、スランプというやつかもです(-_-;)

ですが、ブログ自体の閲覧は下がることなく
お陰様で40万ビュー突破であります\(^o^)/

2017年3月~2020年9月で40万ページビュー突破であります\(^o^)/
3年以上もよく頑張ってこれたな~と思います。
皆様のご愛顧のお陰であります、誠にありがとうございます。m(_ _)m

では、恒例のGoogle Bloggerの分析結果です。
2017年3月からの全期間です。
2019年12月の30万レビュー突破は、こちら

7月頃、BloggerのGUIが変わって今ひとつ慣れません。
新GUIでは、20位まで見れるようになってます。
30万レビューの時「bCNCのインストール」が、1位に上昇して健在です。
CNCもすっかり大衆化してきたと思います。

相変わらず「扇風機の修理」「車の修理(ドアノブ交換 )」は、高順位です。
「扇風機の修理」の伸びは異常です。
それとも、経済低迷による勿体ない精神によるものでしょうかね~

<全期間順位>
急浮上したものが2つ
これは、2020年3月頃だったか「richlink.blogsys.jp」のこれで急増したようです。
単純なブックマーク代わりのリンクみたいで、
広告も何もなく、ここから単純にその投稿に直リンされてます。
何の為なのかよくわかりません。

もう一つは、
2020年3月頃、急に増えてて、
調べるとAPI Keyを入力しないとYouTubeが見れなくなってました。
で、その対策を7月に
を発刊しましたが、未だビュー数が3桁にもなってないので
急増した原因はこれではなかったということになります。
たぶん、新コロの緊急事態宣言が出された4~5月に急増して
その後も安定してビュー数が多いので
皆さん、お家でラズパイ工作が流行ってるんでしょうね~

ここ1ヶ月で見ると、前回30万レビューの時の真反対の夏なので
扇風機の修理」がダントツ1位です。
さすがに夏場は「電子冷蔵庫の修理」が4位です。
2位「ラズパイ・・・」、3位「ATtiny85・・・」は、
ここんとこ高順位キープです。

面白いのは
これは、4月末に急増して、5/10にピークが終わっているので、
明らかに外出自粛中にパーツの整理する方が増えたのではないかと^^;

国別も新GUIで、20位まで見れるようになりました。
完全シークレットなVPNだろう「不明な地域」が増えてます。
もしかしたらほとんど中国なのかも?
ちょっと前まで「香港」があったのですが、
期間を色々変えても全く出てこなくなってます。
中国と同様に閲覧制限されたのでしょうかね~(T_T)

沢山の方が見にきてくださり誠にありがとうございます。
コメント、ご助言、ご相談もいただき活力になっています。
お礼を申し上げると共に、今後とも宜しくお願いいたしますm(_ _)m

活動休止状態でビューだけ伸びるのも気が引けますね~(-_-;)
一応、時間ができたら、あれやりたい、これやりたいと
パーツだけはせっせと集めております^^;

2020年8月22日土曜日

LTSpice XVIIにOP-AMPを追加

ここんとこ纏まった時間が取れず工房活動が停滞気味で、
この内容でも数日かかってしまっております(T_T)

さて、LTSpiceは、どうやら2013年から使っておりますが、
たま~にしか使ってなくてWidowsXP機にしか入れてませんでした。
2014年にバージョンアップしたっきりないので、これです(-_-;)

で、やっとWindows10のマーティーPCに
Version VII 64bit版をInstallしました。
Install自体はごく普通でトラップもなかったので、記録は割愛です^^;

***2023.8.14追記***
[Windows7、8、10の64ビット版をダウンロード]バージョン17.1.10
から入手して別のMarty-PCに再Installしました。
「モデルの更新日:2023年8月12日」とあるのでホカホカの出来立てでした(^^)

Version情報はこれ
上の画面では「LTspice XVII・・・」は、サポート終了になってて
バージョン表示が「XVII」⇒「17.1.10」に変わっています。
ローマ時代は終わって、アラビア時代になるってことかな?
***追記ここまで***

起動画面はこれです。

ちなみに、WinXPの時のVersion IVは、これ!
違いは背景画像の有無だけで、アイコン類が変わってないので一安心です^^;

使い方は、専門のサイトにお任せするとして
ちょっと、OP-AMPのLM358を使いたくてModelを追加しましたが
案の定、手こずってしまったので記録しておきます(-_-;)

元祖はNS(Natioanl Semiconductor)ですが、今はTI製です。
わけあって、まずはNS製のSPICE Modelで登録します。
ちと探すのに苦労しましたが
ここに「LM358.mod」というファイルがありました。

TEXTファイルにコピペして、1箇所修正します。
変えなくてもいいようなのですが
マーティーは、*.lib名と同じにしたいのと「/」記号が気になるので
赤線部「LM358/NS」を

LM358_NS」に変更して
ファイル名「LM358_NS.lib」で保存します。
元のリンクが切れる可能性が高いので、
このさき登場する追加したModelとシンボルファイルを
Google Driveのここに入れてます。

んで、追加するわけですが~
ここでトラップに引っかかりました(-_-;)
てっきりInstallフォルダに入れるかと思いきや
Documentフォルダ配下に入れるんですね~
マーティーPCでは、
C:\Users\marty\Documents\LTspiceXVII\lib\sub\
配下に「mylib」フォルダを作成して
そこに「LM358_NS.lib」を入れなければならないのでした。
***2023.8.14追記***
LTSpice ver. 17.1.10では、
C:\Users\marty\AppData\Local\LTspice\lib\sub\
配下に「mylib」フォルダを作成する。
***追記ここまで***

次にシンボルを作っていきます。
LTSpice XVIIを起動して、[File]-[Open]で
C:\Users\marty\Documents\LTspiceXVII\lib\sym\OpAmps
の「opamp2.asy」を開きます。
注:これもDocumentフォルダ配下です。
***2023.8.14追記***
LTSpice ver. 17.1.10では、
C:\Users\marty\AppData\Local\LTspice\lib\sym\OpAmps
***追記ここまで***

これが開きます。

[Edit]-[Attributes]-[Edit Attributes]して

各項目に入力します。
■[SpiceModel]:
 先のLM358_NS.libを入れたフォルダを指定して
 「mylib\LS358_NS.lib」と入力します。
■[Value]:
 回路図に表示されるシンボル名(何でも可)
■[Value2]:
 LM358.lib内の「.SUBCKT」の後の名前と一致させます。
■[Description]:説明(何でも可)

シンボルができました。

次は、Pin Assignの確認です。
[View]-[Pin Table]すると

これが、出ます。
LM358_NS.libに記述されている番号なのですが、
In+、In-、V+、V-、OUT1、2、3、4、5順番で並びます。
最初、LM358_NS.libの中のPin番号と勘違いして悩まされました(-_-;)

「LM358_NS.lib」の「.SUBCKT」の行
1  2  99  50  28の意味は、コメントに書いてあり、
順番は、In+、In-、V+、V-、OUTになっいて
上の表と”順番”が一致してないといけないようです。
順番が違っている場合は、上の表の数字を変えて順番を合わせます
1  2  99  50  28の数値を上の表に入力してはダメなんですね(-_-;)
*.lib内の1  2  99  50  28の数値を変えると動かなくなります。
後の方に変えた場合の挙動もやってます(-_-;)

[File]-[Save As...]して

libと同じ名前「LM358_NS.asy」で保存します。
フォルダは、
C:\Users\marty\Documents\LTspiceXVII\lib\sym\OpAmps
になります。
***2023.8.14追記***
LTSpice ver. 17.1.10では、
C:\Users\marty\AppData\Local\LTspice\lib\sym\OpAmps
***追記ここまで***

右上の小さい[X]でシンボルの編集を閉じます。

試しに、5V片電源で非反転増幅器でシミュレーションしてみます。
ここまで随分時間がかかりましたが、上手くいきました\(^o^)/

ここで、設定を間違った体験(-_-;)を記録しておきます。
「LM358_NS.lib」内の「.SUBCKT」の後の数値に合わせて

[Spice Order]の番号を変更すると
シミュレーション時にこのエラーが出ます。

逆に「LM358_NS.lib」の方を
[Spice Order]の番号、1~5に合わせると

シミュレーションのエラーは出ませんが、まともな動作にならず
OUTが一直線で-1.4VのDCになりました。

つまり、*.asy の[SpiceOrder]と *.lib の.SUBCKTの数値は
合わせてはダメで、独立した意味を持っています。
In+、In-、V+、V-、OUT の順番だけを合わせる必要があるようです。
<*.asy の[SpiceOrder]>
<*.lib の.SUBCKT>

次にTIのModelを追加します。
TIのサイトのここから下の方に行って
「設計と開発」で「設計ツールとシミュレーション」の文字をクリック
下に出てくる
「LMx58_LM2904 PSPICE Model (Rev.A) 」をダウンロードします。
( その後、Rev.C になっています)

どうも、TIのサイトは中身がころころ変わっているようです。
執筆時点では、ファイル名「snom268a.zip」でした。
( その後、Rev.C では「snom268c.zip」でした)
解凍すると「LMx58_LM2904.CIR」がでてきます。
***2023.8.14追記***
LMx58_LM2904 PSpice Model (Rev. A) が
LMx58_LM2904 PSpice Model (Rev. C) にUpdateしてました。
中身の「LMx58_LM2904.CIR」の更新日付は、2021年7月1日で
変更点は、以下でした。
<1、2行目>(なぜかコメントは「Rev.B」)
* LMX58_LM2904 - Rev. A
* Created by Paul Goedeke; November 16, 2018
* LMX58_LM2904 - Rev. B
* Created by Paul Goedeke; November 16, 2018 - Revised by GPAMPS Team; 2021-06-29
<198行目>
C1  81 0 1  ⇒  C1  81 0 100e-9 
(1000000μF ⇒ 0.1μF )
MartyのGoogle DriveのModel は、更新しています。
***追記ここまで***

「LMx58_LM2904.CIR」をエディタで開きます。
.subckt LMX58_LM2904 IN+ IN- VCC VEE OUT
これは、番号ではないですね~
IN+ IN- VCC VEE OUTの順番は、NSと同じです。

LMx58 と LM2904 共通のようですが、分かり難いので
後の名前を「LM358_TI」に変更しました。
.subckt LM358_TI IN+ IN- VCC VEE OUT
で、ファイル名を「LM358_TI.lib」にして保存します。

シンボルは「LM358_NS」の時と同様に「opamp2.asy」を編集して
この様に入力して
「LM358_TI.asy」のファイル名で保存します。

1K~20MHzまでSWEEPして比較すると、違いがありますね~
V(out-ti):TI Model出力、 V(out-ns):NS Model出力
10MHz以上でTIの方、Gain -56dBで横ばいになってるのはなぜだろう?

***2023.8.14追記***
 ちなみに上のシミュレーションを
 「LMx58_LM2904 PSpice Model (Rev. C) 」でやってみましたが
 上の(Rev.A)との差はなさそうです。
 1000000μF ⇒ 0.1μF に修正されていた「C1」とやらは
 たぶんデカップリング・コンデンサなのでしょう。
 今までのシミュレーション結果は使えそうです(^^)
***追記ここまで***

200KHzでもこれだけ違いが出てます。
V(out-ti):TI Model出力、 V(out-ns):NS Model出力、 V(n003):入力
ちなみにマーティーの手持ちは、TIマーク品です。
TI Modelは、NSのに比べシミュレーションに時間かかります。

もう一つ
ANALOG DEVICESのAD822ANZってのを追加しておきます。
ここは、LTSpiceの本家であります。
下の方に行って

4種類あります。
「AD822」はデフォルトで入っているのですが
マーティーのは「AD822ANZ」なので、違いを見たかったのです。
2番目をクリックすると、

新規タブにAGREEMENTがでるのでACCEPTすれば、ダウンロードできます。
ファイル名「ad822a.cir」になってます。
TIのと同じです。

中身を見ると
「.SUBCKT」の行はこれなので、このまま使うことにします。
In+、In-、V+、V-、OUT の順番は、LM358と同じです。


C:\Users\marty\Documents\LTspiceXVII\lib\sub\mylib
にコピーします。
今回、*.cir のまま置いてみたら、*.libにしなくても大丈夫でした。
***2023.8.14追記***
LTSpice ver. 17.1.10では、
C:\Users\marty\AppData\Local\LTspice\lib\sub\mylib
***追記ここまで***

シンボルは、これまでと同様
LTSpice XVIIを起動して、「opamp2.asy」から作成して
この様に設定して、「AD822A.asy」で保存します。

前と同じこの非反転増幅器でテストします。

上:AD822A
下:AD822
意外と差が大きいですね~

実は、Rail To Rail 出力のOP-AMPが欲しくて
3種類(LM358、AD822A、TLC2262)AliExpressから入手してたのです。
LM358は、Rail To Railではないですが、3V動作で安価です。

最後のTLC2262は、TI社のサイトのここです。
「TLC2262, TLC2262A PSpice Model」をダウンロード
執筆時点では、ファイル名「SLOJ078.ZIP」でした。
中に4種類入っていたので
マーティーは、5V Level2 Model2の「tlc2262.5_2」を使ってます。

最後に入手したOP-AMPのAliExpressリンクです。
なかなか骨董品番が並んでますが、LM358は、ここで
US$ 0.72/20個(送料 $0.53)
AliExpress.com Product - 20PCS UA741 LM324 LM393 LM339 NE555 LM358 DIP LM358N LM324N LM339N LM393N NE555P UA741CN Amplifier Circuit new

AD822A
US$ 3.75/5個(送料 $0.53)
AliExpress.com Product - 5pcs AD822ANZ DIP-8 AD822AN DIP AD822 DIP8

TLC2262
US$ 0.59(5% OFF、送料 $0.31)
AliExpress.com Product - TLC2262CP TLC2262 2262 DIP-8 low- op-amp p new original DIP8 1PCS LinCMOS RAIL-TO-RAIL OPERATIONAL AMPLIFIERS

当分はシミュレーションで妄想かな^^;