Electronic – BJT to aid switching a MOSFET

bjtmosfetmosfet-driver

I am trying out the following circuit, I want to use the Arduino so that I can more easily program pulses to drive my load. I was previously using a function generator (FG), but for some reason it won't save my programmed pulses and it's time consuming to have to individually program 100+ points each time I turn it on.

The previous circuit driven by the FG used two MOSFETs, as the FG had a higher output voltage, to switch the first one. So I switched it with the BJT thinking it should be similar, but I think I have over looked something.

As when I probe node A, I see 5 V from the Arduino for each pulse. However when I probe Node B, I see slightly less than 5 V.
When I expected a value closer to 10V.

schematic

simulate this circuit – Schematic created using CircuitLab

I am using the D13 pin on the Arduino as digital out, the other connections are the Vin and GND.
Admittedly the R1 may be a little high, could that be the cause?

Is this the right way to set up such a circuit, or have I missed or misunderstood something?

I saw another question where something similar was asked, and they were using a "push-pull configuration" with an N type and P type BJTs before the MOSFET. Would I need to do something similar or could a single BJT work?

The load (if relevant) is taking a 40V, with 20 A current, at a 2% duty cycle. Occasionally pushing it to double 80V, with 40 A at 1% duty cycle. Its to drive a coil to produce a magnetic pulse.

Best Answer

Here is one workaround:

  1. Connect the gate of the MOSFET to the collector of Q1.
  2. Connect Q1 to the 10V via a 1kOhm resistor.
  3. Connect emitter of Q1 to ground
    This way, the transistor can turn ON completely when driven by arduino.

When the transistor is OFF (base voltage is zero), the MOSFET will be ON (the gate is connected to 10 V via the 1 kOhm resistor.

When the transistor is ON (base voltage above 0,7 V), the MOSFET will be OFF as the gate shorts to ground. Notice the inversion?

If you do not want the inversion, you have to repeat the transistor logic again (adding Q2), so that voltage at Node A will be in sync with Gate control voltage.
enter image description here

enter image description here

Note: Arduino is assumed to be the Voltage source V2. I have intentionally given a tiny offset to the V2 supply so that one can see both on the graph clearly. ( i am not aware on how to create two different axis in circuit lab).


In your circuit, the transistor acts as a voltage follower. whatever is fed to the input will be presented at the output (Emitter pin). as you know, VBE of about 0.7 V is necessary for the transistor to turn ON. when you feed 5 V, the VBE is higher than 0.7 V and the transistor turns ON. as the current flow trhough the 100 ohm resistor, the voltage will develop. as th voltage starts to rise above 4.3V, the VBE drops below 0.7 V causing the transistor to turn off. Since, the transistor is now turning off, the current starts to reduce through the resistor. The voltage across the resistor drops. This provides a VBE higher than 0.7 V again and hence the transistor turns on again. This process repeats as long as the base voltage is kept higher than 0.7 V and hence the output also follows the base voltage (minus the diode drop - VBE drop).