Resistor values for PWM on Half H-Bridge

Hi Guys,

I’m have made up a device that uses a half H-Bridge to control a motor. Of note, the “Run” mosfet is on PWM for speed control (the device will accelerate to a set speed, but will not vary from that speed), and the “Stop” mosfet is on / off only. Braking response and performance is important to the application.

The Arduino programming has a certain amount of freewheeling time between running and stopping to prevent shoot-through. I want to minimise the freewheeling time going from Run state to Stop state - which is currently 25ms. I am happy with the 50ms currently set for Stop to Run, but less downtime is desirable.

I’ve attached the circuit diagram I am using.

The motor pulls 20-30a stall current, so I have chosen some suitably rated P and N channel mosfets for the job. The P-channel is being driven by a smaller N-channel. I am using 100 ohm resistors from the arduino pins to the N-channel gates, and using 1k pull-up / down from the mosfet gates to whatever they are attached to.

I want to check the resistor values to see if they (particularly the pull up/down’s) are as tight as they could be. My feeling is that the 1k resistors are a little high and I could at least go to 470 or 220 ohms instead, and reduce the run to stop freewheeling time to 1 or 2ms…

But I would like some guidance from more knowledgeable people before I get too ambitious and fill the house with smoke.


Well I make the time constant for the upper pFET about 20us(*), so deadtime of 50us ought to be enough
(check the gate waveforms with a scope though)

The 1N5408 diode is not needed, this is a MOSFET bridge, power MOSFETs have body diodes.

For me this is a no-brainer - a MOSFET half-H-bridge = two nFETS + a half-h-bridge gate driver chip,
then you'll get sub 1us deadtime and by choosing the right gate driver you can assure this deadtime
is implemented in hardware (no more exploded MOSFETs during testing!)

Maybe take a peek at the IRS2004 datasheet, or FAN73832, or various other high/low MOSFET drivers
with deadtime implemented.

(*) datasheet says total gate charge 180nC, which with 10V across 1k will take 18us to charge to 63%

Oh my. Ok, so 1ns will be a fairly safe bet then. Motor supply voltage could be as low as 6v if I want to shag the batteries, but typically I will either cut it out at about 6.6v, or use a 3s battery instead.

I’ll have to check out the driver chips… Looks like the best option, but I will probably have to hunt around. IRS2004 looks ideal except for the potential lower voltage I run the motors at.

You'll need a clean low current 12V supply for any mosfet driver, this is completely independent of the motor
voltage, you can run the motors at 1V or 100V and it makes no difference with the standard high low
driver approach (assuming components are suitable voltage rated!).

There are a few lower voltage driver chips, they are more idiosyncratic though. Typical drivers cut out
into safe mode below about 10V.

May not be useable here - but you can brake a DC motor by shorting it out when you switch it off .
Suggest you google that if it helps