サイトマップ

回路の素101 044 負電圧リミッタ

回路の素101 044 負電圧リミッタ

入力された信号の負側の電圧を制限する
保護回路に使われる

回路図作成

  • 基本的な構成

制限電圧は、GNDから順方向電圧降下  V_F 下がったところになる

今回のダイオードでは、  V_F = 0.5V ほど

応答性確認

シミュレーションを tranモード(デフォルト) で実行し、応答を見る

import matplotlib.pyplot as plt
import numpy as np

from PyLTSpice import RawRead

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

fname = 'PrimaryCircuit5-044.raw'
LTR = RawRead(fname)
x     = LTR.get_trace('time').get_time_axis(0)

tmp1  = LTR.get_trace('V(vin+)').get_wave(0)
ax1.plot(x * 1000, tmp1, label='Vin+')
tmp1  = LTR.get_trace('V(vout)').get_wave(0)
ax1.plot(x * 1000, tmp1, label='Vout')

tmp1  = LTR.get_trace('I(D)').get_wave(0)
ax2.plot(x * 1000, tmp1 * 1e6, label='I(D)')

ax1.legend(); ax1.grid()
ax1.set_xlabel('[ms]'); ax1.set_ylabel('[V]')

ax2.legend(); ax2.grid()
ax2.set_xlabel('[ms]'); ax2.set_ylabel('[uA]')

fig.tight_layout()

fig.savefig('PrimaryCircuit5-044_Graph1.png')

電圧が -0.5V ほどを下回ると、ダイオードに電流が流れて、出力電圧に制限がかかっている

改良された回路1

ダイオードを、小信号ショットキー・バリア・ダイオードに置き換える

 V_F = 0.2V とGND電圧に近くなる

応答性確認

import matplotlib.pyplot as plt
import numpy as np

from PyLTSpice import RawRead

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

fname = 'PrimaryCircuit5-044-2.raw'
LTR = RawRead(fname)
x     = LTR.get_trace('time').get_time_axis(0)

tmp1  = LTR.get_trace('V(vin+)').get_wave(0)
ax1.plot(x * 1000, tmp1, label='Vin+')
tmp1  = LTR.get_trace('V(vout)').get_wave(0)
ax1.plot(x * 1000, tmp1, label='Vout')

tmp1  = LTR.get_trace('I(D)').get_wave(0)
ax2.plot(x * 1000, tmp1 * 1e6, label='I(D)')

ax1.legend(); ax1.grid()
ax1.set_xlabel('[ms]'); ax1.set_ylabel('[V]')

ax2.legend(); ax2.grid()
ax2.set_xlabel('[ms]'); ax2.set_ylabel('[uA]')

fig.tight_layout()

fig.savefig('PrimaryCircuit5-044_Graph2.png')

設計通りの特性になっている

改良された回路2

ダイオードを、ツェナー・ダイオードに置き換える
ツェナー・ダイオードでは、負側だけでなく、正側もツェナー電圧  V_Z で制限できる

応答性確認

import matplotlib.pyplot as plt
import numpy as np

from PyLTSpice import RawRead

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

fname = 'PrimaryCircuit5-044-3.raw'
LTR = RawRead(fname)
x     = LTR.get_trace('time').get_time_axis(0)

tmp1  = LTR.get_trace('V(vin+)').get_wave(0)
ax1.plot(x * 1000, tmp1, label='Vin+')
tmp1  = LTR.get_trace('V(vout)').get_wave(0)
ax1.plot(x * 1000, tmp1, label='Vout')

tmp1  = LTR.get_trace('I(D)').get_wave(0)
ax2.plot(x * 1000, tmp1 * 1e6, label='I(D)')

ax1.legend(); ax1.grid()
ax1.set_xlabel('[ms]'); ax1.set_ylabel('[V]')

ax2.legend(); ax2.grid()
ax2.set_xlabel('[ms]'); ax2.set_ylabel('[uA]')

fig.tight_layout()

fig.savefig('PrimaryCircuit5-044_Graph3.png')

今回のダイオードの場合、  V_Z = 5.5V ,  V_F = 0.7V ほど

参考文献

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