サイトマップ

回路の素101 003 アンプ:反転アンプ

回路の素101 003 アンプ:反転アンプ

2個の抵抗でゲインを調整することができる

回路図作成

以下の3条件の回路を作成する

  • 基本的な構成
  • 漏れ電流対策の抵抗追加
  • 容量性負荷対応で位相補償回路を追加



基本的な構成/漏れ電流対策

基本的な構成と、漏れ電流対策の抵抗を追加した構成で周波数特性をシミュレートした結果を表示する

import matplotlib.pyplot as plt
import numpy as np

from PyLTSpice import RawRead

fnames = [
    'PrimaryCircuit1-003_1.raw',
    'PrimaryCircuit1-003_2.raw'
]

fig = plt.figure(figsize=(8, 4))
ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2, sharex=ax1)

for i, fname in enumerate(fnames):
    name_ = 'circuit%d' % (i + 1)
    #rawファイルよりプロットに必要な情報を取得する
    run_raw_file = fname
    LTR = RawRead(run_raw_file)
    freq  = np.abs(LTR.get_trace('frequency').get_wave(0))
    Vout  = LTR.get_trace("V(vout)").get_wave(0)
    ax1.plot(freq, 20*np.log10(np.abs(Vout)),    label=name_)
    ax2.plot(freq, np.angle(Vout) / np.pi * 180, label=name_)

ax1.legend(fontsize=9); ax1.grid()
ax1.set_xlabel("[Hz]"); ax1.set_ylabel("Gain[dB]")
ax1.set_xscale('log')
ax1.set_ylim(15, 22)

ax2.legend(fontsize=9); ax2.grid()
ax2.set_xlabel("[Hz]"); ax2.set_ylabel("Phase[deg]")
ax2.set_xscale('log')

fig.tight_layout()

高域の特性は、オペアンプの仕様で決まっている
オペアンプ単体の特性(ボルテージフォロア)より、カットオフ周波数が下がっている
漏れ電流対応の抵抗の効果は、仕様では漏れ電流は20pA程度のため、ほぼ影響は見えない

容量性負荷への対応

通常/容量性負荷追加/位相補償回路追加 の3種類の周波数特性を比較する

from PyLTSpice import RawRead

LTR = RawRead('PrimaryCircuit1-003_3.raw')

fig = plt.figure(figsize=(8, 4))
ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2, sharex=ax1)

freq  = np.abs(LTR.get_trace('frequency').get_wave(0))

Vout  = LTR.get_trace("V(vout1)").get_wave(0)
ax1.plot(freq, 20*np.log10(np.abs(Vout)),    label='Vout1')
ax2.plot(freq, np.angle(Vout) / np.pi * 180, label='Vout1')

Vout  = LTR.get_trace("V(vout2)").get_wave(0)
ax1.plot(freq, 20*np.log10(np.abs(Vout)),    label='Vout2')
ax2.plot(freq, np.angle(Vout) / np.pi * 180, label='Vout2')

Vout  = LTR.get_trace("V(vout3)").get_wave(0)
ax1.plot(freq, 20*np.log10(np.abs(Vout)),    label='Vout3')
ax2.plot(freq, np.angle(Vout) / np.pi * 180, label='Vout3')

ax1.legend(fontsize=9); ax1.grid()
ax1.set_xlabel("[Hz]"); ax1.set_ylabel("Gain[dB]")
ax1.set_xscale('log')
ax1.set_ylim(15, 22)

ax2.legend(fontsize=9); ax2.grid()
ax2.set_xlabel("[Hz]"); ax2.set_ylabel("Phase[deg]")
ax2.set_xscale('log')

fig.tight_layout()

容量性負荷が追加されると、ゲインが高域に伸び、安定性が悪化する
位相補償回路で高域を遮断することで、安定性が改善する

参考文献

この記事は以下の書籍を参考にしましたが、
私の拙い知識で書いておりますので、誤り等ありましたらご指摘ください