Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to increase the current source/sink capacity of a digital PWM signal

  1. Jun 29, 2010 #1
    I would like to increase the maximum current that a PWM signal from a microcontroller can source/sink from +-25mA to +-500mA.

    The output should have the same peak-to-peak voltage (0 to 3.3V) and should not be inverted (i.e. follows the input). The PWM frequency is ~30kHz. I have looked into using an active push-pull output but the only configuration I can find is inverting. Since the output needs to follow the input, I need to invert the input. I found this chip with complementary mosfets that looks like it would work for the output stage: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=DMG1016V-7DICT-ND and this chip for the input BJT inverting stage: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MMDT2227MDICT-ND
    Here is my proposed circuit:

    The output stage mosfets have fairly small total gate charge of ~700pC each, so I think I could drive them directly with my microcontroller if I could find a non-inverting configuration.

    So my questions are:
    1. Will this circuit work?
    2. Is there a single chip solution?
    3. Is there a better circuit that would fit my needs (less components, cheaper, smaller footprint)?
    4. Is there anything that I am missing? Diodes, resistors, etc?

    Also, I do not have a specific load that I am driving, this is more of a generic output that can drive different load types. I would like to make this +-500mA source/sink PWM as similar to a uC output, but with larger current sourcing and sinking capacity.

    Thanks for the help.

    Attached Files:

    Last edited by a moderator: Apr 25, 2017
  2. jcsd
  3. Jul 3, 2010 #2
    The way you have your BJT's installed will get you high currents through the top emitter, on through it's base, into the bottom transistor's base and through it's emitter. That's about 1.2 volts drop and a very heavy current draw.

    It's too bad your not going for something with a bit less current or a bit more voltage.
    For less current, I'd just parallel up the outputs of some CMOS line drivers. Tie the outputs together through some 22 ohm resistors and viola' you can have 8 gates driving in parallel capable of a good 150ma. Just be sure the gates are driven by a, clean edge, or some may come on before the others and they'd fight each other at each transistion (that's what the resistors are for anyway)

    As for higher voltage, gate drivers can definitely deliver a punch, but finding one that operates with a 3.3 volt supply might be a challenge.

    As for this thing with two MOSFETs, you have to be careful that they don't both turn on during switching, or you'll have shoot through current through the MOSFETs. This causes RF noise, heat, general nastiness. You can probably rig a gate driver for each of the MOSFETs with a resistor, capacitor, diode combination, so that the FETs are turned on with a tiny delay (due to the charging of the RC) and turned off suddenly (discharging the C through the diode). As for driving the MOSFETs, if you use small ones, you can generally drive them from a CMOS gate.

    Best Luck,

    - Mike
  4. Jul 4, 2010 #3
    Thanks Mike, everything you say makes perfect sense. I am really glad that you explained the issue with my BJT configuration. I actually saw this configuration in Horowitz and Hill under the "Bad Circuit" section. The circuit was labeled as a follower, but it looked like an inverting circuit to me at the time, so I figured that it was a bad circuit because it did not follow the input. Now I see the issue, because of the forward voltage drops, both BJTs will always be biased and on. No doubt these transistors will burn up quickly. I guess this push-pull configuration works for mosfets because they are voltage controlled and do not have a forward voltage drop.

    You are right, my requirements are at odds with each other. I have opted to increase my output voltage to 0 to 5V. With this change, it looks like Microchip's MCP1402 gate driver should do the trick. I can drive it with my 3.3V signal and it can delivery +-500ma output at 0-5V. The one thing that I am unsure of is if I need to put two clamping diodes (one to 5V and one to gnd) on the output of the gate driver since I might be driving an inductive load. The output is never in a high impedance state so there should not be any inductive voltage kick and the chip has up to 500mA reverse current latch-up rating. So, do I need to put clamping diodes on the output? Is there any other additional circuitry/components that are need with the gate driver? As it stands now, I only have the gate driver chip with a couple of bypass caps.

    Thanks again for the help.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook