回路の素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()
容量性負荷が追加されると、ゲインが高域に伸び、安定性が悪化する
位相補償回路で高域を遮断することで、安定性が改善する
参考文献
この記事は以下の書籍を参考にしましたが、
私の拙い知識で書いておりますので、誤り等ありましたらご指摘ください