Hi,
I have built a high side switching circuit using a PNP BJT driven by an NPN BJT. The design intent is to switch 30 VDC (supplied by a boost converter) at 1-10 kHz using a 5V Arduino signal.
My rise times at 10 kHz look very good, but the fall times are slow. What is causing this? How can I reduce the fall times?
My circuit layout is here (Falstad) and I calculated the resistors below:
# SUPPLY
V_s = 30 # supply voltage
i_s_MAX = 0.120 # maximum forward current of pulse
# MICROCONTROLLER
V_MICRO = 5 # 3.3
# Q2: 2N3906, https://www.onsemi.com/pdf/datasheet/2n3906-d.pdf
V_CE_SAT_Q2 = 0.25 # 0.4 collector-emitter saturation voltage
V_BE_SAT_MIN_Q2 = 0.65 # minimum base-emitter saturation voltage
h_FE_MIN_Q2 = 100 # only relevant for amplifiers; use minimum
ODF_Q2 = 5 # overdrive factor to account for temperature changes and ensure we stay in saturation region
# Q1: 2N3904, https://www.onsemi.com/pdf/datasheet/2n3903-d.pdf
V_CE_SAT_Q1 = 0.2 # 0.4 collector-emitter saturation voltage
V_BE_SAT_MIN_Q1 = 0.65 # minimum base-emitter saturation voltage
h_FE_MIN_Q1 = 100
ODF_Q1 = 5 # overdrive factor to account for temperature changes and ensure we stay in saturation region
R_5 = (V_s-V_CE_SAT_Q2) / i_s_MAX # resistor connected between V_s and the Q2 collector to limit current through the load
R_5 = 247.9 -> select 270 Ω
i_B_Q2 = (i_s_MAX / h_FE_MIN_Q2) * ODF_Q2 # base current to saturate Q2
i_B_Q2 = 0.006 A
R_3 = (V_s-V_BE_SAT_MIN_Q2) / i_B_Q2 # resistor connected to Q2 base to limit current; use next lowest commonly available
R_3 = 4892.7 -> select 4700 Ω
i_B_Q1 = (i_B_Q2 / h_FE_MIN_Q1) * ODF_Q1
i_B_Q1 = 0.0003 A
R_1 = (V_MICRO-V_BE_SAT_MIN_Q1) / i_B_Q1 # resistor connected to Q1 base to limit current; use next lowest commonly available
R_1 = 14500 -> select 10k Ω
R_2 = 100e3 Ω
R_4 = 100e3 Ω
I have built a high side switching circuit using a PNP BJT driven by an NPN BJT. The design intent is to switch 30 VDC (supplied by a boost converter) at 1-10 kHz using a 5V Arduino signal.
My rise times at 10 kHz look very good, but the fall times are slow. What is causing this? How can I reduce the fall times?
My circuit layout is here (Falstad) and I calculated the resistors below:
# SUPPLY
V_s = 30 # supply voltage
i_s_MAX = 0.120 # maximum forward current of pulse
# MICROCONTROLLER
V_MICRO = 5 # 3.3
# Q2: 2N3906, https://www.onsemi.com/pdf/datasheet/2n3906-d.pdf
V_CE_SAT_Q2 = 0.25 # 0.4 collector-emitter saturation voltage
V_BE_SAT_MIN_Q2 = 0.65 # minimum base-emitter saturation voltage
h_FE_MIN_Q2 = 100 # only relevant for amplifiers; use minimum
ODF_Q2 = 5 # overdrive factor to account for temperature changes and ensure we stay in saturation region
# Q1: 2N3904, https://www.onsemi.com/pdf/datasheet/2n3903-d.pdf
V_CE_SAT_Q1 = 0.2 # 0.4 collector-emitter saturation voltage
V_BE_SAT_MIN_Q1 = 0.65 # minimum base-emitter saturation voltage
h_FE_MIN_Q1 = 100
ODF_Q1 = 5 # overdrive factor to account for temperature changes and ensure we stay in saturation region
R_5 = (V_s-V_CE_SAT_Q2) / i_s_MAX # resistor connected between V_s and the Q2 collector to limit current through the load
R_5 = 247.9 -> select 270 Ω
i_B_Q2 = (i_s_MAX / h_FE_MIN_Q2) * ODF_Q2 # base current to saturate Q2
i_B_Q2 = 0.006 A
R_3 = (V_s-V_BE_SAT_MIN_Q2) / i_B_Q2 # resistor connected to Q2 base to limit current; use next lowest commonly available
R_3 = 4892.7 -> select 4700 Ω
i_B_Q1 = (i_B_Q2 / h_FE_MIN_Q1) * ODF_Q1
i_B_Q1 = 0.0003 A
R_1 = (V_MICRO-V_BE_SAT_MIN_Q1) / i_B_Q1 # resistor connected to Q1 base to limit current; use next lowest commonly available
R_1 = 14500 -> select 10k Ω
R_2 = 100e3 Ω
R_4 = 100e3 Ω
Attachments
-
78.2 KB Views: 25
-
2.8 MB Views: 20