matching drivers to MOSFETs

Thread Starter

strantor

Joined Oct 3, 2010
6,782
I found this application Note which is finally shedding some light on how to select the right driver for my MOSFET.
My Mosfet has a Ciss of 6540pF and I want to run PWM @ 20KHz.
I want to drive 6 of them in parallel, and still not sure if I will need 6 drivers or only one.
Anyway, the Application note has a nice chart for selecting one of their Drivers for a given Ciss, but I was thinking of going with a driver of a different brand, which has a max output of 11.4A.
The application note says at the bottom:
To match any MOSFET to its proper driver, use the chart above
(which will take care of the largest number of applications), or use
the simple formula: rise time (dt) = driver supply voltage (dV),
times capacitance (C), all divided by driver peak current (I);
restated:
dt = [(dV)xC]/I
I assume that dV in this formula is Vdd in the driver?
So, using the max (for the FAN3121 driver) of 18V, that would be my dv?
dt = (18V * .000,000,006,540)/11.4 = 10.3nS?
seems awefully low. too good to be true? I'm not sure I'm doing this right... plus I need to add a gate resistor. Lets say I add a 10Ω resistor (do I really need to go all the way to 10Ω?), which is going to limit current to 1.8A
then
(18V * .000,000,006,540)/1.8A = 1.1772μS?
That made a big difference. Not sure what size gate resistor to use. the application note shows in figure 4 2.2-22Ω; I would assume you would want to go with the smallest possible, but not sure.

Also I know I read somewhere that frequency plays a part in this, but the equation did not include frequency. AAAHH I don't know what's going on! (pulling my hair out)

Should I just go with the TC4422 that the application note suggests (10,000pF)?
 

shortbus

Joined Sep 30, 2009
10,045
The biggest problem with using one driver for multiple mosfets is the inductance and capacitance of the traces between the driver and the mosfets. A design note I think it was from IRF said to keep the trace under one inch, but under 5/8 inch was better. To me as cheap as drivers are, your better off using one smaller driver(sized to the mosfet) for each mosfet.

Remember in what your using it, for you really want/need reliability. I think the reason most of these DIY EV projects fail is from people trying to do more with less. Blowing $50 worth of mosfet to save buying $5 worth of drivers don't make sense to me:)
 

ian123

Joined Aug 24, 2011
73
I found this application Note which is finally shedding some light on how to select the right driver for my MOSFET.
My Mosfet has a Ciss of 6540pF and I want to run PWM @ 20KHz.
I want to drive 6 of them in parallel, and still not sure if I will need 6 drivers or only one.
Anyway, the Application note has a nice chart for selecting one of their Drivers for a given Ciss, but I was thinking of going with a driver of a different brand, which has a max output of 11.4A.
The application note says at the bottom:

I assume that dV in this formula is Vdd in the driver?
So, using the max (for the FAN3121 driver) of 18V, that would be my dv?
dt = (18V * .000,000,006,540)/11.4 = 10.3nS?
seems awefully low. too good to be true? I'm not sure I'm doing this right... plus I need to add a gate resistor. Lets say I add a 10Ω resistor (do I really need to go all the way to 10Ω?), which is going to limit current to 1.8A
then
(18V * .000,000,006,540)/1.8A = 1.1772μS?
That made a big difference. Not sure what size gate resistor to use. the application note shows in figure 4 2.2-22Ω; I would assume you would want to go with the smallest possible, but not sure.

Also I know I read somewhere that frequency plays a part in this, but the equation did not include frequency. AAAHH I don't know what's going on! (pulling my hair out)

Should I just go with the TC4422 that the application note suggests (10,000pF)?

if you want to dirve the mosfets in parrallel you can use one driver

the gate resistor is to limit the current on the driver so depeding on the voltage you use to run the driver then calculate the reisitor accordingly
ie:driver runs at 18v /1.8 = 10 ohms this means that the gate current will
run upto 1.8 amps which is the max for the driver therefore better to use
something in the region of 33 ohms which will give 800 ma to the gate

next the bootstrap cap should be +- three times the gate charge Qg
an irf 540 has a gate charge of 70nC 3 x 70nC =0.210uf
 

tom66

Joined May 9, 2009
2,595
Assume you need 10V to turn on each MOSFET.

The capacitance is 6.54nF, so the charge is Q = CV or 6.54x10^-8 coloumbs (65.4 nC.)

Q = I x t, or charge is current multiplied by time.

If your driver outputs a peak 11.4A, to charge 65.4nC it will take ~5.7 ns. Very fast.

During this 5.7 ns the losses in the MOSFET will be high. Approximating them is difficult, but you can get a rough estimate by taking the point between on and off - halfway on.

Say you are driving a 48V motor at 50A per MOSFET. When fully on, the MOSFET will dissipate 6W. Let's say the voltage drop across the fet is 24V and the motor is pulling half its current at this voltage, 25A. The MOSFET dissipates, at the half way point, around 600W. You are dissipating 600W for 5.7ns at 40kHz (twice your frequency, because rising and falling both lose power.) This incurs an additional ~0.14W switching loss, which isn't that significant, because the driver is very good and the MOSFET has a low gate capacitance.

In total you are dealing with ~6.2W per MOSFET in this scenario. To keep the MOSFETs cool, you'll need a heatsink with a thermal resistance of at most 21.2°C/W, assuming 40°C ambient.
 

Thread Starter

strantor

Joined Oct 3, 2010
6,782
The biggest problem with using one driver for multiple mosfets is the inductance and capacitance of the traces between the driver and the mosfets. A design note I think it was from IRF said to keep the trace under one inch, but under 5/8 inch was better. To me as cheap as drivers are, your better off using one smaller driver(sized to the mosfet) for each mosfet.

Remember in what your using it, for you really want/need reliability. I think the reason most of these DIY EV projects fail is from people trying to do more with less. Blowing $50 worth of mosfet to save buying $5 worth of drivers don't make sense to me:)
So if I used 6 dedicated drivers, and kept the traces from driver to gate each below 5/8" do you think I could get away with not using gate resistors? (purpose being to minimize switching times, not to skimp out on buying resistors::p)

Also by using 6 dedicated drivers, do you think I would still need to be careful about keeping the length of traces to my drivers equal length?

and one more... Is there any guarantee that the drivers themselves will have identical switching characteristics? maybe it's just pessimism, but I get the impression that any step I take to do this a better way will incur some new problem that defeats it.

Assume you need 10V to turn on each MOSFET.

The capacitance is 6.54nF, so the charge is Q = CV or 6.54x10^-8 coloumbs (65.4 nC.)
The datasheet lists Ciss @ 6.54nF, but then it lists Qg @ 120nC (170nC max). I'm just going to push the "I believe" button on this because I've read that these things depend on several parameters at the time of test, and that manufacturers also (simplified) just put whatever they want on datasheets.


Ok, so worst case scenario: Qg is 170nC, I am using a 2.2Ω gate resistor, drive voltage is 10V, I'm running 98% duty cycle, drawing 70A per FET (say my motor draws 420A connected directly to battery), battery voltage is 48V.

Q = I x t, or charge is current multiplied by time.

If your driver outputs a peak 11.4A, to charge 65.4nC it will take ~5.7 ns. Very fast.
so with a 2.2Ω resistor, gate charging current will be limited to 4.55A
with 170nC @ 4.55A:
170nC = 4.55A * t ... t=.000,000,037,36 ( 37.36nS)
During this 5.7 ns the losses in the MOSFET will be high. Approximating them is difficult, but you can get a rough estimate by taking the point between on and off - halfway on.

Say you are driving a 48V motor at 50A per MOSFET. When fully on, the MOSFET will dissipate 6W.
I'm guessing you got that figure by multiplying 50A * Rdson (.0024Ω) = .12V, and then .12V * 50A again, to get 6W?

So, if I got that right, then 70A * .0024Ω = .168V * 70A = 11.76W
Let's say the voltage drop across the fet is 24V and the motor is pulling half its current at this voltage, 25A. The MOSFET dissipates, at the half way point, around 600W.
so, 24v * 35A = 840W, ... and then that's where you lose me. can you explain what you did from here on out please good sir?
You are dissipating 600W for 5.7ns at 40kHz (twice your frequency, because rising and falling both lose power.) This incurs an additional ~0.14W switching loss, which isn't that significant, because the driver is very good and the MOSFET has a low gate capacitance.

In total you are dealing with ~6.2W per MOSFET in this scenario. To keep the MOSFETs cool, you'll need a heatsink with a thermal resistance of at most 21.2°C/W, assuming 40°C ambient.
 

tom66

Joined May 9, 2009
2,595
You should be okay without resistors. You could design a PCB with resistors but then put 0 ohm jumpers in place. Make sure to use low inductance resistors; preferably, do the whole lot SMD if you can.

What you could do is create a PCB, then mount the MOSFETs on the PCB, then clamp the tabs of the MOSFET to a big metal place. Or you could add the MOSFETs to a heat plate, cut holes in the heatsink and mount the PCB on the bottom of the heat plate. It's essential to keep the lead to the gate short.

so, 24v * 35A = 840W, ... and then that's where you lose me. can you explain what you did from here on out please good sir?
I took the 840W and multiplied it by the time it would be on.

In your case this is 38ns * 840W peak * 40,000 switches per second = 1.27W.

This is just averaging out the power dissipation.

Then I used thermal resistances to work out heatsinking: here is a very good video on it.
 

shortbus

Joined Sep 30, 2009
10,045
The gate resistor is to reduce 'ringing' when the gate is turning off, more than anything else. Ringing is when the gate will actually turn back on and off again several times due to any inductance and capacitance in the connection between the gate and driver. If you look at the data sheet for mosfet drivers, most of them show a greater sink value than source value. This is also to stop the ringing. While a mosfet gate is ringing it is also heating its self up, due to it not being turned fully on or off.

The gate resistor is not used to control the current to the gate, just to stop the ringing. That is why a very small resistance value is used.
 

shortbus

Joined Sep 30, 2009
10,045
@strantor - Didn't know where to post this for you, and since this thread is active, this is where. Some more junk for you to spend countless hours reading. You said your head was ready to explode, make sure your wife gets a photo and posts it to the 'show your picture' thread when it does:)

http://ecomodder.com/forum/showthread.php/paul-sabrinas-cheap-diy-144v-motor-controller-6404.html

http://evdl.org/archive/#nabble-td433717

http://etischer.com/awdev/inverter.html

http://curtisinstruments.com/?fuseaction=cDatasheets.dspListDS&CatID=1 This last one, have a look at the manual for the 1231C/1221C While they don't give a schematic it does give a block diagram of the controller.
 

Thread Starter

strantor

Joined Oct 3, 2010
6,782
@strantor - Didn't know where to post this for you, and since this thread is active, this is where. Some more junk for you to spend countless hours reading. You said your head was ready to explode, make sure your wife gets a photo and posts it to the 'show your picture' thread when it does:)

http://ecomodder.com/forum/showthread.php/paul-sabrinas-cheap-diy-144v-motor-controller-6404.html

http://evdl.org/archive/#nabble-td433717

http://etischer.com/awdev/inverter.html

http://curtisinstruments.com/?fuseaction=cDatasheets.dspListDS&CatID=1 This last one, have a look at the manual for the 1231C/1221C While they don't give a schematic it does give a block diagram of the controller.
3rd link: Eric tischer; I have seen his site and studied it well; that was a few years ago. It was very inspiring then, but I don't think I'm ready to tackle AC yet. Funny thing, I recognized the drive he's using right off the batt; It's a eurotherm/SSD AC690+.. see the little guy in the picture?


It looks like he's hacked it and using the drive circuit, with all it's many features and functions to drive larger IGBTs. That's a good idea; I have an old 1hp yaskawa drive and a 2hp Emerson Unidrive SP, one of which would serve well I'm sure. The problem though is the pack voltage; which is (one of the reasons) Why I'm starting off with DC. I would need a 325VDC bus to run a 230V motor, or a 650VDC bus to run a 480V motor... just don't have the money.

but, you get me thinking.... What would happen if I tried to run a 230V 2hp 3ph motor with 3ph 48V 60hz?
 

Thread Starter

strantor

Joined Oct 3, 2010
6,782
The gate resistor is to reduce 'ringing' when the gate is turning off, more than anything else. Ringing is when the gate will actually turn back on and off again several times due to any inductance and capacitance in the connection between the gate and driver. If you look at the data sheet for mosfet drivers, most of them show a greater sink value than source value. This is also to stop the ringing. While a mosfet gate is ringing it is also heating its self up, due to it not being turned fully on or off.

The gate resistor is not used to control the current to the gate, just to stop the ringing. That is why a very small resistance value is used.
Yes, I've read and understood that the resistor is to prevent ringing, but have yet to find any formula for calculating what size it should be; I have also read that the ringing is so fast that you might not even see it on a scope, so I'm wondering how critical it really is...also wondering if 11.4A is enough to just power through any such opportunity for ringing to occur. My conclusion (since I've searched high and low and not found a formula) is that it is dependent on the particular circuit as to what value the resistor should be and I'm just going to have to play around with it and see. I will try first with no resistor, and then go up from there ... or maybe that's no good since I won't be able to see the ringing on the scope.
 

Thread Starter

strantor

Joined Oct 3, 2010
6,782
You should be okay without resistors. You could design a PCB with resistors but then put 0 ohm jumpers in place. Make sure to use low inductance resistors; preferably, do the whole lot SMD if you can.

What you could do is create a PCB, then mount the MOSFETs on the PCB, then clamp the tabs of the MOSFET to a big metal place. Or you could add the MOSFETs to a heat plate, cut holes in the heatsink and mount the PCB on the bottom of the heat plate. It's essential to keep the lead to the gate short.



I took the 840W and multiplied it by the time it would be on.

In your case this is 38ns * 840W peak * 40,000 switches per second = 1.27W.

This is just averaging out the power dissipation.

Then I used thermal resistances to work out heatsinking: here is a very good video on it.
Ok, so 1.27W is my switching loss, plus I need to factor in my steady state loss for 98% duty cycle PWM, right?
so 11.76W (calculated previously, on-state dissipation) + 1.27W (switching loss = 13W

So if each mosfet dissipates 13W X6 mosfets, 78W total dissipated by the MOSFETs in my controller, while delivering (420A * 48V * 98%) 19.8KW to my motor? that's 99.6% efficiency... sounds too good to be true... Am I making a mistake in how to add the steady state loss to the switching loss?
 

tom66

Joined May 9, 2009
2,595
Ok, so 1.27W is my switching loss, plus I need to factor in my steady state loss for 98% duty cycle PWM, right?
so 11.76W (calculated previously, on-state dissipation) + 1.27W (switching loss = 13W

So if each mosfet dissipates 13W X6 mosfets, 78W total dissipated by the MOSFETs in my controller, while delivering (420A * 48V * 98%) 19.8KW to my motor? that's 99.6% efficiency... sounds too good to be true... Am I making a mistake in how to add the steady state loss to the switching loss?
That kind of efficiency is to be expected when using ultra low on-resistance fets and driving them well. The Prius inverter uses IGBT's and the inverter alone has a >99% efficiency @ 20kW/500V.
 

Thread Starter

strantor

Joined Oct 3, 2010
6,782
That kind of efficiency is to be expected when using ultra low on-resistance fets and driving them well. The Prius inverter uses IGBT's and the inverter alone has a >99% efficiency @ 20kW/500V.
Really?:eek: Well I'll hope for the best and expect a little worse (than calculated)
I guess that means I'm ready to move to the next step: PWM. My original plan was to use an Arduino to control this thing, but a little investigation today revealed that Arduino can only PWM @ 500Hz. I looked briefly at other means; 555 timers can for some reason only go from 15% to 85%; same for SMPS controllers. Found some PWM motor driver ICs with current limiting and other features; didn't look too closely at them, but the ones I did happen upon were H-bridge drivers and I don't need an H-bridge. I haven't used a PIC yet because I was too comfy with my arduino. Does a PIC sound like a good choice for motor controller? I need current limiting (current feedback, hall sensor?) Keep in mind I want to leave growing room. Some future features I had in mind: field weakening, dynamic current limiting (I.e. current limit kicks in after X amount of time of being X amount over the setpoint), variable PWM frequency, motor temp feedback, heat sink feedback, battery life, bla bla bla, you get the idea I want flexibility. Any suggestion welcome
thanks!
 

tom66

Joined May 9, 2009
2,595
Really?:eek: Well I'll hope for the best and expect a little worse (than calculated)
I guess that means I'm ready to move to the next step: PWM. My original plan was to use an Arduino to control this thing, but a little investigation today revealed that Arduino can only PWM @ 500Hz. I looked briefly at other means; 555 timers can for some reason only go from 15% to 85%; same for SMPS controllers. Found some PWM motor driver ICs with current limiting and other features; didn't look too closely at them, but the ones I did happen upon were H-bridge drivers and I don't need an H-bridge. I haven't used a PIC yet because I was too comfy with my arduino. Does a PIC sound like a good choice for motor controller? I need current limiting (current feedback, hall sensor?) Keep in mind I want to leave growing room. Some future features I had in mind: field weakening, dynamic current limiting (I.e. current limit kicks in after X amount of time of being X amount over the setpoint), variable PWM frequency, motor temp feedback, heat sink feedback, battery life, bla bla bla, you get the idea I want flexibility. Any suggestion welcome
thanks!
Well, you want a reliable, stable microcontroller.

I would say leave Arduino alone. It's a nice platform for prototyping, but it's too slow if you are using the general purpose library.

PICs are nice, especially the dsPIC33F series, some of which are available in DIP packages.

You will probably want some kind of feedback. Not just pure PWM. If the motor is running too slow at a given PWM, increase the PWM rate, and vice versa for too fast. This would mean the throttle would control the actual speed of the go cart, within reason. Feedback could be an optosensor and could also feed a tachometer.

So if you use a dsPIC33F, you can monitor the motor speed and use some clever math to figure out how to accelerate the motor to the desired speed. Some chips have several PWM modules. Monitoring current might be tricky. I'm not sure if pure averaging will work or if you will need an RMS converter. The current could be fed into the motor control loop to ensure that sudden acceleration doesn't exceed the limit of the MOSFETs or battery.

It would be a good idea to have redundancy, but for a go kart application it might be okay without it. The Prius has a Renesas controller in it, which has two redundant CPUs; if one fails (if only due to a cosmic ray, or a software fault), it switches over to the other. Still that doesn't help with the pedal getting stuck... :eek: You need an emergency stop, which will interrupt a contactor.

Heat sink temperature could be monitored using a diode or a 2N2222; the voltage slope is a very linear -2.1mV/°C.
 

Thread Starter

strantor

Joined Oct 3, 2010
6,782
Well, you want a reliable, stable microcontroller.

I would say leave Arduino alone. It's a nice platform for prototyping, but it's too slow if you are using the general purpose library.

PICs are nice, especially the dsPIC33F series, some of which are available in DIP packages.
I looked at the datasheet for that PIC and I'll tell you, I felt like I was looking down into another rabbit hole. I don't think I have the patience to tackle 2 steep learning curves in the same project. I may end up having to, but I really want to stay away from it if I have a choice. I didn't know what I was asking when I started asking about a PIC. If it's a lot simpler than the data sheet makes it look, please say so.
You will probably want some kind of feedback. Not just pure PWM. If the motor is running too slow at a given PWM, increase the PWM rate, and vice versa for too fast. This would mean the throttle would control the actual speed of the go cart, within reason. Feedback could be an optosensor and could also feed a tachometer.
for phase one of this project, I don't think I'll need feedback, but you may well prove me wrong. If I were going to put cruise control on it, then yeah I would need some feedback and proportional control (which I will later, but for now I just want to get it up and running). My thinking is that in a car or go kart, there is no such feedback a proportional control (except cruise control); all the control is in your foot.
So if you use a dsPIC33F, you can monitor the motor speed and use some clever math to figure out how to accelerate the motor to the desired speed. Some chips have several PWM modules. Monitoring current might be tricky. I'm not sure if pure averaging will work or if you will need an RMS converter. The current could be fed into the motor control loop to ensure that sudden acceleration doesn't exceed the limit of the MOSFETs or battery.
What I was reading here (section 10.1) made it sound pretty straight forward. Using a shunt resistor, they measure current during the PWM cycle and if it goes above setpoint, PWM is cut out. Things are never as simple as they seem though.
It would be a good idea to have redundancy, but for a go kart application it might be okay without it. The Prius has a Renesas controller in it, which has two redundant CPUs; if one fails (if only due to a cosmic ray, or a software fault), it switches over to the other. Still that doesn't help with the pedal getting stuck... :eek: You need an emergency stop, which will interrupt a contactor.
Yeah, I'm not bored enough yet to start making things redundant. that will probably be one of the last things I do, after I have a full-blown road going controller.


As far as PWM goes, I have been looking into other methods, such as analog circuitry. I read here (section 7.1) that a triangle wave generator and comparator can make PWM waveforms. I have a DAC chip I can use with my arduino to provide an analog reference to the comparator to vary the duty cycle. for current limiting, I was thinking I could run the PWM output of the comparator through a transistor. The arduino would monitor current via a hall sensor an turn off the transistor if current goes above X Amps. Do you think the arduino would be too slow to catch the overcurrent and cut off PWM? Does that sound like too much of a kludge?
 

Thread Starter

strantor

Joined Oct 3, 2010
6,782
More junk;

http://www.zeva.com.au/tech/controller_design/


http://www.evworks.com.au/tech/


While I can't give you the math behind my suggestion to use one driver to one mosfet, this is why it isn't good to drive many mosfets with one driver. And this was a well known commercial driver; http://www.zeva.com.au/tech/curtis/
Sweet, real world stuff. You'll be happy to hear that I have decided to use dedicated drivers. Your first link there is the first thing I found and what kicked this whole thing off.
 
Top