ICHIKEN で紹介されたアナログ・コンピュータのシミュレーション

ICHIKENで紹介されていたアナログ・コンピュータを下記の
https://www.falstad.com/circuit/circuitjs.html
回路シミュレータでシミュレーションしてみました。
ICHIKEN さんの紹介記事はこちらですので、ご参照ください。
[オペアンプを使ったアナログコンピュータを自作する【前編】](https://ichiken-engineering.com/analog_computer_part1/)

ばね ( ばね定数 : $K$ ) とダンパ ( 制動係数 : $D$ )に接続されたおもり ( 質量 : $M$ ) の運動方程式は、
$$\ddot y=-g-\frac{D}{M}\dot y-\frac{K}{M}y$$
で表され、これを解くアナログ・コンピュータは、オペアンプによる積分器を使用して、下図のような回路になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3549839/7a1b2daf-c986-7109-6051-b1ac654f8163.png)

$i_1=-\frac{1}{VR1}15~~\rightarrow\quad-g\quad$ に相当
$i_2=-\frac{1}{VR2}\dot y\quad\rightarrow\quad-\frac{D}{M}\dot y$ に相当
$i_3=-\frac{1}{VR3}y\quad\rightarrow\quad-\frac{K}{M}y$ に相当

これらの和である $\ddot y$ が一段目の積分器に入力されて $-\dot y$ が出力されます。$-\dot y$ は $1~\text{M}\Omega$で電流に変換され、二段目の積分器に入力されて $y$ が出力されます。$y$ は三段目の反転増幅器に入力され、$-y$ が出力されます。
VR1～VR3 の大小により、重力加速度、ダンパの制動力、ばねの強さが変わります。

|VR1|大|小|
|:-:|:-:|:-:|
|重力加速度|小|大|

|VR2|大|小|
|:-:|:-:|:-:|
|ダンパの制動力|小|大|
 
|VR3|大|小|
|:-:|:-:|:-:|
|ばねの強さ|小|大|

VR1～3 の値を中央値にしたときの、TP1 と TP2 のオシロスコープの波形を下図に示します。シミュレーションを開始するときは、シミュレータのサイドパネルの「リセット」ボタンを押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3549839/e92a422e-3dbf-5cdb-be50-f89c91a0963f.png)

◆シミュレータの簡単な使用法
- 右側サイドパネルの VR1～3 の スライダーで VR1～3 を可変できます。可変抵抗器のシンボルの上にマウス・ポインタを置いて、マウス・ホイールでも可変できます。
- マウス・ホイールで回路図全体を拡大縮小できます。
- Altキー + ドラッグで回路図全体を移動できます。
- マウス・ポインタをオシロスコープのプロットに近づけるとカーソルが現れて、そこの値が表示されます。
- オシロスコープ領域の境界付近にマウス・ポインタを置いて現れる水色のラインをドラッグすると、回路図領域とオシロスコープ領域の境界を上下に移動できます。

---

- シミュレーションを実行するには下記の回路ファイルをコピーして、シミュレータの File → Import From Text... で開くパネルに貼り付けてください。
```
$ 1 0.001 2.803162489452614 50 5 50 5e-11
a 416 304 512 304 8 15 -15 1000000 -0.00000609765655278664 0 100000
r 416 224 512 224 0 10000
w 512 304 512 224 0
w 416 288 416 224 0
g 416 320 416 336 0 0
g 224 304 224 320 0 0
a 224 288 320 288 8 15 -15 1000000 0.000006097778505917695 0 100000
r 320 288 416 288 0 10000
w 320 288 320 224 0
w 224 272 224 224 0
c 224 224 320 224 0 0.000001 0.6097839483702754 0.001
r 128 272 224 272 0 1000000
a 32 272 128 272 8 15 -15 1000000 6.158684444550579e-7 0 100000
c 32 208 128 208 0 0.000001 0.061587460313950244 0.001
w 32 256 32 208 0
w 128 272 128 208 0
g 32 288 32 304 0 0
w 32 256 0 256 0
w 128 208 128 160 0
w 0 256 0 160 0
w 512 304 512 368 0
w 0 256 0 368 0
r 0 368 272 368 0 100
R -160 320 -160 368 0 0 40 -15 0 0 0.5
368 128 160 160 160 1 0 TP1\s(\s-dy/dt\s)
368 320 224 320 176 1 0 TP2\s(\sy\s)
368 512 224 512 176 1 0 TP3\s(\s-y\s)
x 306 392 333 395 4 14 VR3
x 36 183 63 186 4 14 VR2
x -127 283 -100 286 4 14 VR1
174 -160 256 -80 224 1 250000 0.5 VR1
w -112 208 -64 208 0
w -64 208 -64 256 0
174 0 160 112 128 1 1000000 0.5 VR2
w 128 160 128 112 0
w 128 112 64 112 0
r -160 320 -160 256 0 1000
174 272 368 368 336 1 10000 0.5 VR3
w 368 368 512 368 0
w 320 320 368 320 0
w 368 320 368 368 0
w -64 256 0 256 0
x -49 249 -14 252 4 16 i1\s→
x -37 295 -2 298 4 16 i3\s↑
x -37 207 -2 210 4 16 i2\s↓
x -1 246 20 249 4 24 \sy
x -3 226 21 229 4 24 \s..
x 140 241 156 244 4 24 \s.
x 128 261 159 264 4 24 \s-y
x 320 271 341 274 4 24 \sy
x 520 312 552 315 4 24 -\sy
w 64 112 64 128 0
w -112 208 -112 224 0
w 320 320 320 336 0
o 24 16 0 x81216 0.0006103515625 0.1 0 2 2 0 24 3 0.05 0 TP1\s(\s-dy/dt\s)
o 25 16 0 x81216 20 0.1 0 2 0.5 0 25 3 0.05 0 TP2\s(\sy\s)
```